SSL的流程及體系結構
Secure Socket Layer,為Netscape所研發(fā),用以保障在Internet上數(shù)據傳輸?shù)陌踩?,利用?shù)據加密(Encryption)技術,可確保數(shù)據在網絡上的傳輸過程中不會被截取及竊聽。一般通用的規(guī)格為40 bit的安全標準,美國則已推出128 bit的更高安全標準。只要3.0版本以上的I.E.或Netscape瀏覽器即可支持SSL。當前版本為3.0。它已被廣泛地用于Web瀏覽器與服務器之間的身份認證和加密數(shù)據傳輸。SSL協(xié)議位于TCP/IP協(xié)議與各種應用層協(xié)議之間,為數(shù)據通訊提供安全支持。SSL協(xié)議可分為兩層: SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據封裝、壓縮、加密等基本功能的支持。 SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實際的數(shù)據傳輸開始前,通訊雙方進行身份認證、協(xié)商加密算法、交換加密密鑰等。
SSL的體系結構中包含兩個協(xié)議子層,其中底層是SSL記錄協(xié)議層(SSL Record Protocol Layer);高層是SSL握手協(xié)議層(SSL HandShake Protocol Layer)。
SSL記錄協(xié)議層的作用是為高層協(xié)議提供基本的安全服務。SSL記錄協(xié)議針對HTTP協(xié)議進行了特別的設計,使得超文本的傳輸協(xié)議HTTP能夠在SSL運行。記錄封裝各種高層協(xié)議,具體實施壓縮解壓縮、加密解密、計算和校驗MAC等與安全有關的操作。SSL握手協(xié)議層包括SSL握手協(xié)議(SSL HandShake Protocol)、SSL密碼參數(shù)修改協(xié)議(SSL Change Cipher Spec Protocol)、應用數(shù)據協(xié)議(Application Data Protocol)和SSL告警協(xié)議(SSL Alert Protocol)。握手層的這些協(xié)議用于SSL管理信息的交換,允許應用協(xié)議傳送數(shù)據之間相互驗證,協(xié)商加密算法和生成密鑰等。SSL握手協(xié)議的作用是協(xié)調客戶和服務器的狀態(tài),使雙方能夠達到狀態(tài)的同步。
服務器認證階段:1)客戶端向服務器發(fā)送一個開始信息“Hello”以便開始一個新的會話連接;2)服務器根據客戶的信息確定是否需要生成新的主密鑰,如需要則服務器在響應客戶的“Hello”信息時將包含生成主密鑰所需的信息;3)客戶根據收到的服務器響應信息,產生一個主密鑰,并用服務器的公開密鑰加密后傳給服務器;4)服務器恢復該主密鑰,并返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務器。用戶認證階段:在此之前,服務器已經通過了客戶認證,這一階段主要完成對客戶的認證。經認證的服務器發(fā)送一個提問給客戶,客戶則返回(數(shù)字)簽名后的提問和其公開密鑰,從而向服務器提供認證。SSL協(xié)議提供的安全通道有以下三個特性:機密性:SSL協(xié)議使用密鑰加密通信數(shù)據。可靠性:服務器和客戶都會被認證,客戶的認證是可選的。完整性:SSL協(xié)議會對傳送的數(shù)據進行完整性檢查。從SSL 協(xié)議所提供的服務及其工作流程可以看出,SSL協(xié)議運行的基礎是商家對消費者信息保密的承諾,這就有利于商家而不利于消費者。在電子商務初級階段,由于運作電子商務的企業(yè)大多是信譽較高的大公司,因此這問題還沒有充分暴露出來。但隨著電子商務的發(fā)展,各中小型公司也參與進來,這樣在電子支付過程中的單一認證問題就越來越突出。雖然在SSL3.0中通過數(shù)字簽名和數(shù)字證書可實現(xiàn)瀏覽器和Web服務器雙方的身份驗證,但是SSL協(xié)議仍存在一些問題,比如,只能提供交易中客戶與服務器間的雙方認證,在涉及多方的電子交易中,SSL協(xié)議并不能協(xié)調各方間的安全傳輸和信任關系。在這種情況下,Visa和 MasterCard兩大信用卡公司組織制定了SET協(xié)議,為網上信用卡支付提供了全球性的標準。