SSL

二、SSL介紹(Secure socket Layer & Security Socket Layer)



  一個應用程序的安全需求在很大程度上依賴於將如何使用該應用程序和該應用程序將要保護什麼。不過,用現有技術實現強大的、 一般用途的安全通常是可能的。認證就是一個很好的示例。



  當顧客想從 Web 站點購買某個產品時,顧客和 Web 站點都要進行認證。顧客通常是以提供名字和密碼的方式來認證他自己。 另一方面,Web 站點通過交換一塊簽名數據和一個有效的 X‧509 證書(作為 SSL 握手的一部分)來認證它自己。 顧客的瀏覽器驗證該證書並用所附的公用密鑰驗證簽名數據。一旦雙方都認證了,則交易就可以開始了。



  SSL 能用相同的機制處理服務器認證(就如在上面的示例中)和客戶機認證。 Web 站點典型地對客戶機認證不依賴 SSL ─ 要求用戶提供密碼是較容易的。而 SSL 客戶機和服務器認證對於透明認證是完美的, 對等機 ─ 如 p2p 應用程序中的對等機之間一定會發生透明認證。



  安全套接字層(Secure Sockets Layer(SSL)) ,SSL 是一種安全協議,它為網絡(例如因特網)的通信提供私密性。SSL 使應用程序在通信時不用擔心被竊聽和篡改。 SSL 實際上是共同工作的兩個協議:“SSL 記錄協議”(SSL Record Protocol)和“SSL 握手協議” (SSL Handshake Protocol)。“SSL 記錄協議”是兩個協議中較低級別的協議,它為較高級別的協議, 例如 SSL 握手協議對數據的變長的記錄進行加密和解密。SSL 握手協議處理應用程序憑證的交換和驗證。



  當一個應用程序(客戶機)想和另一個應用程序(服務器)通信時,客戶機打開一個與服務器相連接的套接字連接。然後, 客戶機和服務器對安全連接進行協商。作為協商的一部分,服務器向客戶機作自我認證。客戶機可以選擇向服務器作或不作自我認證。 一旦完成了認證並且建立了安全連接,則兩個應用程序就可以安全地進行通信。按照慣例,我將把發起該通信的對等機看作客戶機, 另一個對等機則看作服務器,不管連接之後它們充當什麼角色。



  名為 A 和 B 的兩臺對等機想安全地進行通信。在我們簡單的 p2p 應用程序的環境中,對等機 A 想查詢對等機 B 上的一個資源。 每個對等機都有包含其專用密鑰的一個數據庫(名為 keystore)和包含其公用密鑰的證書。密碼保護數據庫的內容。 該數據庫還包含一個或多個來自被信任的對等機的自簽名證書。 對等機 A 發起這項事務,每臺對等機相互認證,兩臺對等機協商採用的密碼及其長度並建立一個安全通道。完成這些操作之後, 每個對等機都知道它正在跟誰交談並且知道通道是安全的。 SSL (Secure socket Layer)安全套接層協議主要是使用公開密鑰體制和X‧509數字證書技術保護信息傳輸的機密性和完整性, 它不能保證信息的不可抵賴性,主要適用於點對點之間的信息傳輸,常用Web Server方式。



  安全套接層協議(SSL,Security Socket Layer)是網景(Netscape)公司提出的基於WEB應用的安全協議,它包括:服務器認證、 客戶認證(可選)、SSL鏈路上的數據



  完整性和SSL鏈路上的數據保密性。對於電子商務應用來說,使用SSL可保證信息的真實性、 完整性和保密性。但由於SSL不對應用層的消息進行數字簽名,因此不能提供交易的不可否認性,這是SSL在電子商務中使用的最大不足。 有鑒於此,網景公司在從Communicator 4‧04版開始的所有瀏覽器中引入了一種被稱作“表單簽名(Form Signing)”的功能, 在電子商務中,可利用這一功能來對包含購買者的訂購信息和付款指令的表單進行數字簽名,從而保證交易信息的不可否認性。綜上所述, 在電子商務中採用單一的SSL協議來保證交易的安全是不夠的,但採用"SSL+表單簽名"模式能夠為電子商務提供較好的安全性保證。

沒有留言: