資訊與網路安全技術第 八章 安全性網頁系統       下一頁

 

第八章 安全性網頁系統

 鈴、、鈴、『春嬌!我是志明!咱明晚去西門町看電影好麼?』『好啦!志明…..;『按怎是你?世雄』『哎!罔市妳來做啥?』。(怎會這樣呢?)

8-1 安全網頁系統架構

內容:

  • 8-1-1 網頁系統簡介

  • 8-1-2 網頁系統的安全考量

  • 8-1-3 Secure Web 的運作程序

8-1-1 網頁系統簡介

全球資訊網』(World Wide Web, WWW[3] 是目前電子商務最主要的應用系統,它是由『瀏覽器』(Brower)與『網頁伺服器』(Web Server)所構成。不同版本的瀏覽器(IE Netscape)可以瀏覽各種系統底下的網頁系統(如 Apache IIS);也就是說,瀏覽器與網頁伺服器之間只要透過標準程序(如 HTMLHTTP),便可達成之間的通訊行為,而不論兩者軟體是安裝何種系統(如 Win 2k Unix/Linux)之上。因此,WWW 可以說是整合異質電腦之間的最佳利器。基本上,透過瀏覽器可以瀏覽網頁上所提供的資訊,近年來,更成為商業上交易的工作平台。客戶透過瀏覽器查閱廠商所提供的資訊,亦可直接在網站上購買所需的產品。如此一來,僅有文字的敘述文件,並不能滿足客戶需要;為了增加瀏覽的效果,瀏覽器整合了聲音、文字、影像、以及動畫等等,使其成為多媒體的應用環境。不僅如此,瀏覽器為了能整合各種應用,同時還崁入多個應用系統及通訊協定,如FTPNewsBBS JavaJava ScriptActive XFlashMedia Play、等等,因而使 WWW 系統更加多采多姿。

然而瀏覽器終究的目標,是要成為各種應用系統的工作平台,除了必須具有文字、聲音、影像、動畫等功能外,雙方性與多工性傳輸功能也是不可或缺的。亦是,致使瀏覽器可以隨時傳送訊息給不同的伺服端,並要求各種應用需求。然而多個伺服端也可同時回應訊息給同一個瀏覽器。總而言之,我們希望能將 WWW 應用環境儘量接近於人的實際環境,只要透過瀏覽器操作,如身歷其境般,從事所期望的應用。譬如,一個『人』利用瀏覽器的影音播放軟體選擇所欲收看影片,就如此『人』已經進入電影院看電影一樣,當這個『人』看完電影之後,也可以透過瀏覽器賞閱百貨公司產品,更進一步,可以購買所喜愛的產品;此情此景尤如『人』看完電影接著去逛街一樣,上述種種僅需仰賴瀏覽器便可以達成。

我們知道可以崁入不同應用系統的環境,這表示它具有相當高的相容性;不容置疑,相容性越高的系統,其安全防護能力相對越低。由此可見,瀏覽器非但僅是一個非常複雜的應用軟體,安全性是相當脆弱的,所以利用它來從事電子商務,是一件非常危險的工作。但話說回來,瀏覽器的方便性又讓我們愛不釋手,如何建構一個安全性的 Web 系統,將是一件既嚴肅且重要的事件。

8-1-2 網頁系統的安全考量

還未介紹 SSL 協定之前,我們先以一個範例說明電子商務上可能發生的問題,以及 SSL 協定提供何種功能來補救它。圖 8-1 中,假如Alice 小姐透過瀏覽器瀏覽到某一家網路商店,並且向該網站(Bob 網站)訂購一個花瓶。正當 Alice 選定產品後,並輸入信用卡號碼(進入 https://),且待Bob 網站收到信用卡後會將它轉送到 Alice 所屬的銀行,接下來,銀行確定信用卡無誤後,再將該費用轉帳到 Bob 的帳戶,同時回應一個確認的訊號給 Bob 網站,Bob 網站再透過郵寄方式將 Alice 所訂購的產品寄給它;如此整個交易算完成了。

8-1 電子商務範例

上述的交易行為看起來非常簡單,其實存在許多危險性行為,分述如下:

  • 如何確認持卡人:客戶只要輸入信用卡便可以採購商品,這是一件非常有爭議的問題。譬如,Alice 的小孩利用它的信用卡在網站採購商品,然而 Alice 並不知情,待信用卡帳單寄到時,Alice 如不承認這筆交易,難免會發生嚴重的紛爭。再者,如果 Alice 的信用卡號碼已被他人知道(這種情況應該很普遍,也很容易),別人利用此號碼到網站去購物,有誰能知道呢?甚至,駭客利用 Alice 信用卡號碼採購了許多東西,並寄到 Alice 家,Alice 又要如何來否認呢?

  • 如何確認網站:Bob 網站是否是合法的?說不定 Bob 網站是虛設的,Alice 輸入信用卡號碼後,根本拿不到所採購的產品。再者,若駭客竄改 DNS 伺服器,將 Bob 網站(假設是一個著名的網站)轉址到另一個網站,Alice 的貨款已被駭客取走,但還認為是 Bob 網站欺騙了她。

  • 訊息傳輸是否安全:電子商務大多是透過網路傳輸來達成各種交易行為,這些訊息在網路上傳輸,任何人都可以輕易由網路上截取資料。譬如,Alice 的信用卡號碼欲透過網路傳送給 Bob 網站,不幸若遭駭客盜取其信用卡號碼,則可能進一步盜取其帳款。

針對上述三種可能發生之不安全現象,SSL 也提供三種安全機制來克服,分述如下:

    • 客戶端認證(Client AuthenticationSSL 提供一種機制來讓伺服器認證所欲通訊對方的身分。透過客戶端認證機制,伺服器可以確定客戶的確實身分,以防他人假冒身分。譬如,銀行欲將客戶的存款資料下載給客戶時,必須確定連線中客戶的身分無誤。

    • 伺服端認證(Server AuthenticationSSL 必須提供一種機制,好讓客戶端確定連線中伺服端的真正身分。譬如,客戶端傳送信用卡號碼給伺服端時,必須確定伺服端真正的身分,以免遭受到詐騙。

    • 加密連線(Encrypted Connection:在 SSL 連線中的傳輸資料都必須經過加密處理,作為達到資料隱密性功能,以防資料於網路傳輸中被盜取。

另外要強調一點的是,目前並非每一部電子商務網站都具有上述三個功能,但加密連線功能是不容或缺的。功能強一點的網站可能包含伺服端認證功能,最完善的網站則需再包含客戶端認證功能。隨著與日俱增的應用環境需求,除了可以選擇是否加入伺服端認證與客戶端認證之外,也可經由雙方協議出加密功能的強度如何。基本上,隱密性強度愈強的加密處理,相對其加密與解密演算法的負荷就愈重,但其中也牽涉到通訊效益的問題。

8-1-3 Secure Web 的運作程序

所謂『安全性網頁系統』(Secure Web,即是將 SSL/TLS 安全機制植入 Web 系統中,具有認證雙方身份,以及建立安全連線的功能。在電子商務環境裡,認證身份大多採用數位憑證。圖 8-2 即是 Secure Web 的運作程序,首先雙方交換憑證以確認身份(訊號 (1) (2))。客戶與伺服端之間互相確認身份之後,必須再互相交換鑰匙材料(訊號 (3) (4))。雙方再利用所交換的材料來製作出一把會議鑰匙,協議會議鑰匙的方法大多採用 Diffie-Hellman 演算法(請參考第四章),以後雙方便利用此鑰匙來通訊(訊號 (5))。

8-2 安全性網頁系統的運作程序

雙方建立會議鑰匙之後,這把鑰匙便是雙方共享的秘密鑰匙,所採用的加密方法也是秘密鑰匙演算法(如 DES)。接下來,如何將上述的動作整合一個完整的協定,讓客戶端與網頁伺服器兩者來共同遵循與運作,以達成『安全性網頁系統』(Secure Web System)的環境。

基本上,SSL 必須架設在 TCP 協定之上,也就是說,僅能使用於連接導向的傳輸服務。但為了銜接各種應用系統,針對各系統有其專屬埠口,並以前置『安全性』(Secure來標示與原來系統之間的不同,如表 11-1 所示。

11-1 SSL 機制之傳輸埠口(節錄)

應用系統協定

傳輸埠口

   

https

443/tcp

具有 SSL 安全機制的 HTTP

ssmtp

465/tcp

具有 SSL 安全機制的 SMTP

snews

563/tcp

具有 SSL 安全機制的 NEWS

ssl-ldap

636/tcp

具有 SSL 安全機制的 LDAP

spop3

995/tcp

具有 SSL 安全機制的 POP3

翻轉工作室:粘添壽

 

 

資訊與網路安全技術

 

 

翻轉電子書系列: