SSL(SecureSocketLayer)是netscape公司設計的主要用於web的安全傳輸協議IETF()將SSL作了標準化,即RFC2246,並將其稱為TLS(TransportLayerSecurity)wap論壇()在TLS的基礎上做了簡化,提出了WTLS協議(WirelessTransportLayerSecurity),以適應無線的特殊環境。利用金鑰演算法在互聯網上提供端點身份認證與通訊保密,其基礎是公開金鑰基礎設施(PKI)難度&缺點◦公開金鑰基礎設施普遍商業運營◦需花大錢購買用途◦預防竊聽、干擾、消息偽造SSL是一個介於HTTP協議與TCP之間的一個可選層,其位置大致如下:---------|HTTP|---------|SSL|---------|TCP|---------|IP|---------請求協商出一份加密密鑰,並用此密鑰來加密與webserver的443端口建立連接GET/index.htmHTTP/1.1對稱加密◦RSA、Diffie-Hellman、DSA及Fortezza非對稱加密◦RC2、RC4、IDEA、DES、TripleDES及AES單向散列函數◦MD5及SHA對稱加密◦分組密碼將明文按一定的位長分組,明文組經過加密運算得到密文組,密文組經過解密運算,還原成明文組。◦序列密碼利用少量的密鑰,通過某種複雜的運算,產生大量的偽隨機位流,用於對明文位流的加密非對稱加密單向散列函數對稱加密非對稱加密◦簡單的說就是加密密鑰與解密密鑰不同,分私鑰和公鑰。這種方法大多用於密鑰交換,RSA便是一個我們熟知的例子。單向散列函數對稱加密非對稱加密單向散列函數◦由於信道本身的干擾和人為的破壞,接受到的信息可能與原來發出的信息不同,一個通用的辦法就是加入校驗碼。用戶端支援的密碼演算法清單壓縮方法最高協定版本稍後將被使用的亂數ClientHelloServer端伺服器選擇的連接參數ServerHello用戶端支援的密碼演算法清單壓縮方法最高協定版本稍後將被使用的亂數ClientHelloServer端伺服器選擇的連接參數ServerHello交換證書(依靠被選擇的公開金鑰系統)A:我想和你安全的通話,我這裡的對稱加密算法有DES,RC5,密鑰交換算法有RSA和DH,摘要算法有MD5和SHA。B:我們用DES-RSA-SHA這對組合好了。這是我的證書,裡面有我的名字和公鑰,你拿去驗證一下我的身份(把證書發給A)。目前沒有別的可說的了。A:(查看證書上B的名字是否無誤,並通過手頭早已有的CA的證書驗證了B的證書的真實性,如果其中一項有誤,發出警告並斷開連接,這一步保證了B的公鑰的真實性)(產生一份秘密消息,這份秘密消息處理後將用作加密密鑰,加密初始化向量和hmac的密鑰。將這份秘密消息-協議中稱為per_master_secret-用B的公鑰加密,封裝成稱作ClientKeyExchange的消息。由於用了B的公鑰,保證了第三方無法竊聽)我生成了一份秘密消息,並用你的公鑰加密了,給你(把ClientKeyExchange發給B)注意,下面我就要用加密的辦法給你發消息了!(將秘密消息進行處理,生成加密密鑰,加密初始化向量和hmac的密鑰)[我說完了]B:(用自己的私鑰將ClientKeyExchange中的秘密消息解密出來,然後將秘密消息進行處理,生成加密密鑰,加密初始化向量和hmac的密鑰,這時雙方已經安全的協商出一套加密辦法了)注意,我也要開始用加密的辦法給你發消息了![我說完了]A:[我的秘密是...]B:[其它人不會聽到的...]在InternetExplorer的!使用者所看到的畫面