複製鏈接
請複製以下鏈接發送給好友

ssl

鎖定
SSL(Secure Sockets Layer 安全套接層協議),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層應用層之間對網絡連接進行加密。
中文名
安全套接字協議
外文名
Secure Sockets Layer
縮    寫
SSL
應    用
傳輸層對網絡連接進行加密

ssl解析

Secure Socket Layer,為Netscape所研發,用以保障在Internet上數據傳輸的安全,利用數據加密(Encryption)技術,可確保數據在網絡上的傳輸過程中不會被截取及竊聽。一般通用的規格為40 bit的安全標準,美國則已推出128 bit的更高安全標準。只要3.0版本以上的I.E.或Netscape瀏覽器即可支持SSL。
當前版本為3.0。它已被廣泛地用於Web瀏覽器與服務器之間的身份認證和加密數據傳輸。
SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。 SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。

ssl提供服務

1)認證用户和服務器,確保數據發送到正確的客户機服務器
2)加密數據以防止數據中途被竊取;
3)維護數據的完整性,確保數據在傳輸過程中不被改變。

ssl服務器類型

1. Tomcat 5.x
4. Apache 2.x
5. IBM HTTP SERVER 6.0 [1] 

ssl工作流程

服務器認證階段:
1)客户端向服務器發送一個開始信息“Hello”以便開始一個新的會話連接;
2)服務器根據客户的信息確定是否需要生成新的主密鑰,如需要則服務器在響應客户的“Hello”信息時將包含生成主密鑰所需的信息;
3)客户根據收到的服務器響應信息,產生一個主密鑰,並用服務器的公開密鑰加密後傳給服務器;
4)服務器回覆該主密鑰,並返回給客户一個用主密鑰認證的信息,以此讓客户認證服務器。
用户認證階段:在此之前,服務器已經通過了客户認證,這一階段主要完成對客户的認證。經認證的服務器發送一個提問給客户,客户則返回(數字)簽名後的提問和其公開密鑰,從而向服務器提供認證。
SSL協議提供的安全通道有以下三個特性:
機密性:SSL協議使用密鑰加密通信數據。
可靠性:服務器和客户都會被認證,客户的認證是可選的。
完整性:SSL協議會對傳送的數據進行完整性檢查。
從SSL 協議所提供的服務及其工作流程可以看出,SSL協議運行的基礎是商家對消費者信息保密的承諾,這就有利於商家而不利於消費者。在電子商務初級階段,由於運作電子商務的企業大多是信譽較高的大公司,因此這問題還沒有充分暴露出來。但隨着電子商務的發展,各中小型公司也參與進來,這樣在電子支付過程中的單一認證問題就越來越突出。雖然在SSL3.0中通過數字簽名數字證書可實現瀏覽器和Web服務器雙方的身份驗證,但是SSL協議仍存在一些問題,比如,只能提供交易中客户與服務器間的雙方認證,在涉及多方的電子交易中,SSL協議並不能協調各方間的安全傳輸和信任關係。在這種情況下,Visa和 MasterCard兩大信用卡公司組織制定了SET協議,為網上信用卡支付提供了全球性的標準。

sslSSL的體系結構

SSL的體系結構中包含兩個協議子層,其中底層是SSL記錄協議層(SSL Record Protocol Layer);高層是SSL握手協議層(SSL HandShake Protocol Layer)。SSL的協議棧如圖1所示,其中陰影部分即SSL協議。 [2] 
圖1 圖1
SSL記錄協議層的作用是為高層協議提供基本的安全服務。SSL記錄協議針對HTTP協議進行了特別的設計,使得超文本的傳輸協議HTTP能夠在SSL運行。記錄封裝各種高層協議,具體實施壓縮解壓縮、加密解密、計算和校驗MAC等與安全有關的操作。
SSL握手協議層包括SSL握手協議(SSL HandShake Protocol)、SSL密碼參數修改協議(SSL Change Cipher Spec Protocol)、應用數據協議(Application Data Protocol)和SSL告警協議(SSL Alert Protocol)。握手層的這些協議用於SSL管理信息的交換,允許應用協議傳送數據之間相互驗證,協商加密算法和生成密鑰等。SSL握手協議的作用是協調客户和服務器的狀態,使雙方能夠達到狀態的同步。

sslSSL記錄協議

SSL記錄協議(Record Protocol)為SSL連接提供兩種服務。 [2] 
(1)保密性:利用握手協議所定義的共享密鑰對SSL淨荷(Payload)加密。
(2)完整性:利用握手協議所定義的共享的MAC密鑰來生成報文的鑑別碼(MAC)。
SSL的工作過程如下。
(1)發送方的工作過程為:
從上層接受要發送的數據(包括各種消息和數據);
對信息進行分段,分成若干記錄;
使用指定的壓縮算法進行數據壓縮(可選);
使用指定的MAC算法生成MAC;
使用指定的加密算法進行數據加密;
添加SSL記錄協議的頭,發送數據。
(2)接收方的工作過程為:
接收數據,從SSL記錄協議的頭中獲取相關信息;
使用指定的解密算法解密數據;
使用指定的MAC算法校驗MAC;
使用壓縮算法對數據解壓縮(在需要進行);
將記錄進行數據重組;
將數據發送給高層。
SSL記錄協議處理的最後一個步驟是附加一個SSL記錄協議的頭,以便構成一個SSL記錄。SSL記錄協議頭中包含了SSL記錄協議的若干控制信息。

sslSSL的會話狀態

會話(Session)和連接(Connection)是SSL中兩個重要的概念,在規範中定義如下。 [3] 
(1)SSL連接:用於提供某種類型的服務數據的傳輸,是一種點對點的關係。一般來説,連接的維持時間比較短暫,並且每個連接一定與某一個會話相關聯。
(2)SSL會話:是指客户和服務器之間的一個關聯關係。會話通過握手協議來創建。它定義了一組安全參數。
一次會話過程通常會發起多個SSL連接來完成任務,例如一次網站的訪問可能需要多個HTTP/SSL/TCP連接來下載其中的多個頁面,這些連接共享會話定義的安全參數。這種共享方式可以避免為每個SSL連接單獨進行安全參數的協商,而只需在會話建立時進行一次協商,提高了效率。
每一個會話(或連接)都存在一組與之相對應的狀態,會話(或連接)的狀態表現為一組與其相關的參數集合,最主要的內容是與會話(或連接)相關的安全參數的集合,用會話(或連接)中的加密解密、認證等安全功能的實現。在SSL通信過程中,通信算法的狀態通過SSL握手協議實現同步。
根據SSL協議的約定,會話狀態由以下參數來定義:
(1)會話標識符:是由服務器選擇的任意字節序列,用於標識活動的會話或可恢復的會話狀態。
(2)對方的證書:會話對方的X.509v3證書。該參數可為空。
(3)壓縮算法:在加密之前用來壓縮數據的算法。
(4)加密規約(Cipher Spec):用於説明對大塊數據進行加密採用的算法,以及計算MAC所採用的散列算法。
(5)主密值:一個48字節長的秘密值,由客户和服務器共享。
(6)可重新開始的標識:用於指示會話是否可以用於初始化新的連接。
連接狀態由以下參數來定義:
(1)服務器和客户器的隨機數:是服務器和客户為每個連接選擇的用於標識連接的字節序列。
(2)服務器寫MAC密值:服務器發送數據時,生成MAC使用的密鑰,長度為128 bit。
(3)客户寫MAC密值,服務器發送數據時,用於數據加密的密鑰,長度為128 bit 。
(4)客户寫密鑰:客户發送數據時,用於數據加密的密鑰,長度為128 bit。
(5)初始化向量:當使用CBC模式的分組密文算法是=時,需要為每個密鑰維護初始化向量。
(6)序列號:通信的每一端都為每個連接中的發送和接收報文維持着一個序列號。

sslhttps介紹

HTTPS(Hypertext Transfer Protocol Secure安全超文本傳輸協議
它是由Netscape開發並內置於其瀏覽器中,用於對數據進行壓縮和解壓操作,並返回網絡上傳送回的結果。HTTPS實際上應用了Netscape的安全套接字層(SSL)作為HTTP應用層的子層。(HTTPS使用端口443,而不是像HTTP那樣使用端口80來和TCP/IP進行通信。)SSL使用40 位關鍵字作為RC4流加密算法,這對於商業信息的加密是合適的。HTTPS和SSL支持使用X.509數字認證,如果需要的話用户可以確認發送者是誰。
https是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,https的安全基礎是SSL,因此加密的詳細內容請看SSL。
它是一個URI scheme(抽象標識符體系),句法類同http:體系。用於安全的HTTP數據傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,它被廣泛用於萬維網上安全敏感的通訊,例如交易支付方面。
限制
它的安全保護依賴瀏覽器的正確實現以及服務器軟件、實際加密算法的支持.
一種常見的誤解是“銀行用户在線使用https:就能充分徹底保障他們的銀行卡號不被偷竊。”實際上,與服務器的加密連接中能保護銀行卡號的部分,只有用户到服務器之間的連接及服務器自身。並不能絕對確保服務器自己是安全的,這點甚至已被攻擊者利用,常見例子是模仿銀行域名的釣魚攻擊。少數罕見攻擊在網站傳輸客户數據時發生,攻擊者嘗試竊聽數據於傳輸中。
商業網站被人們期望迅速儘早引入新的特殊處理程序到金融網關,僅保留傳輸碼(transaction number)。不過他們常常存儲銀行卡號在同一個數據庫裏。那些數據庫和服務器少數情況有可能被未授權用户攻擊和損害。 [4] 

ssl應用

extended validation ssl certificates翻譯為中文即擴展驗證(EV)SSL證書,該證書經過最徹底的身份驗證,確保證書持有組織的真實性。獨有的綠色地址欄技術將循環顯示組織名稱和作為CA的GlobalSign名稱,從而最大限度上確保網站的安全性,樹立網站可信形象,不給欺詐釣魚網站以可乘之機。
對線上購物者來説,綠色地址欄是驗證網站身份及安全性的最簡便可靠的方式。在IE7.0、FireFox3.0、Opera 9.5等新一代高安全瀏覽器下,使用擴展驗證(EV)SSL證書的網站的瀏覽器地址欄會自動呈現綠色,從而清晰地告訴用户正在訪問的網站是經過嚴格認證的。此外綠色地址欄臨近的區域還會顯示網站所有者的名稱和頒發證書CA機構名稱,這些均向客户傳遞同一信息,該網站身份可信,信息傳遞安全可靠,而非釣魚網站
參考資料