加密保護協定

在系統認證過程中,客戶端傳送一個訊息到伺服器,伺服器以進行自認證的訊息回響客戶端。客戶端和伺服器完成額外的會話密鑰交換,結束整個認證會話過程。當認證完成後,在伺服器端與客戶端使用在認證過程中建立的對稱密鑰的安全通信就被稱為加密保護協定。

加密保護協定

在系統認證過程中,客戶端傳送一個訊息到伺服器,伺服器以進行自認證的訊息回響客戶端。客戶端和伺服器完成額外的會話密鑰交換,結束整個認證會話過程。當認證完成後,在伺服器端與客戶端使用在認證過程中建立的對稱密鑰的安全通信就被稱為加密保護協定。

常見的可用於加密保護協定的有TLS和SSL。

TLS/SSL

當需要把機密數據傳送到非信任網路時,就會遇到安全性問題。此時,可以使用 TLS/SSI( Transport Layer Security/ Secure Sockets Layer,傳輸層安全/安全套接字層)對伺服器和客戶端進行身份認證,同時還可以對通信雙方的數據進行加密。SSL協定2.0/3.0版本和PCT( Private Communications Transport,專用通信傳輸)協定都是基於公鑰加密技術的,是在 Schannel( Security Channel,安全通道)認證協定套件中提供的。所有安全通道協定都是基於客戶端/伺服器模式的。

說明:安全通道是微軟安全程式包的一部分,提供身份認證服務,以便在容戶和伺服器之間提供安全的通信。 Windows安全程式包是實現安全套接字層(SSL)和輸層安全(TLS)Internet標準身份認證協定的安全支持提供程式(SSP)。 Schannel技術支持以下公鑰基礎協定:SSL2.0/3.0、TLS1.0和PCT1.0。

TLS/SSL其實包括了兩種協定,即TLS和SSL。TLS構建於公鑰基礎設施基礎之上,使用公/私鑰對來為數據提供加密和完整性檢查,使用X.509證書進行身份認證。TLS協定目前最高版本為1.0,SSL的最高版本為3.0。TLS1.0是在SSL3.0基礎上開發而成的。TLS1.0和SSL3.0主要功能和工作原理方面均基本相同。因為TLS是由IETF發布的公開標準,所以可以得到廣泛的支持。將來會全面替代SSL許多安全協定,如 Kerberos v5是依據單個密鑰對數據進行加解密的。所以,這些協定要依靠安全的密鑰交換。在 Kerberos v5協定中,是通過從KDC(密鑰分配中心)得到的令牌來實現的。這就要求每個使用 Kerberos協定的用戶在KDC中註冊,這對於像用戶來自全球,擁有數百萬用戶的電子商務網站來說,是非常不切實際的。TLS信賴的是公鑰基礎設施(PKI),使用兩個密鑰對數據進行加密、解密。當使用其中一個進行加密時,就必須使用另一個來進行解密。這樣的加密原理的好處就是不需要提供安全的密鑰交換。

PKI中的私鑰只能由註冊者擁有,公鑰則可以公布於眾。如果某人要傳送私密訊息到密鑰擁有者,則可以使用接收者的公鑰對數據進行加密,然後接收者可以使用其私鑰對數據進行解密。密鑰對還可以用於進行數據完整性檢查。密鑰擁有者可以在傳送數據前附上用白己私鑰進行的簽名。創建一個包括計算數據哈希,並用私鑰加密數據的數字簽名。任何擁有傳送數據者公鑰的人都可通過解密數據簽名來驗證數據是來自正確的傳送者。另外,接收者可以使用與傳送者相同的算法對接收到的數據進行哈希計算,如果計算的結果與附加在數據簽名上的哈希一致,則接收者可以確認數據在傳送過程中沒有被修改。

在有多個伺服器為客戶端提供認證的情況下,TLS/SSL不需要在域控制器(如微軟的 Windows活動目錄服務)或者資料庫中保存伺服器密鑰。客戶端使用可信任的根證書頒發機構發的證書(在安裝了 Windows Server2003系統後就自動裝載)來確認伺服器的可信任性,所以,除非用戶需要由伺服器來認證,用戶在建立與伺服器之間的安全連線前並不需要創建相應賬戶。

TLS和SSL協定廣泛套用於Web覽器和Web伺服器之間(也就是通常所說的B/S模式,實際上就是客戶端/伺服器(C/S)模式)基於HTTPS協定的網際網路安全傳輸。TLS/SSL也可以套用於其他套用層協定,如FTP、LDAP和SMTP協定。 TLS/SSI可以為像通過網際網路這樣的公共網路進行的網路通信提供伺服器身份認證、客戶端身份認證和數據完整性檢查等安全措施。另外,它不僅可套用於有線網路,目前在WLAN無線網路傳輸中也有類似的擴展安全傳輸標準一WTLS。

TLS與SSL的區別

IEIF開發的TLS1.0是在網景公司開發的SSL3.0基礎(實際上更接近SSL3.1)上開發的,是對SSL3.0的改進,所以它們之間存在緊密的聯繫。但SSL3.0和TLS1.0之間仍存在一些細微的差別。而且儘管差別很小,但兩者仍不可完全互換。如果通信雙方不能同時支持這兩個協定,則他們會協商一個都支持的協定來實現安全通信。

TLS1.0相對SSL3.0的主要改進如下:在TLS中是以加密哈希的HMAC( Hash Message Authentication Code,哈希訊息認證代碼)算法替代了SSL訊息的MAC( Message Authentication Code,訊息認證代碼)算法。HMAC比MAC更加安全,是在MAC基礎上增強了完整性值的檢查,而且哈希功能使得訊息的破解難度更大;TLS是在RFC2246中定義的標準,SSL是網景公司開發的技術;在TS中添加了許多新的報警訊息;在TS中,不總是需要包括來自根CA的證書,可以使用信任的第三方中間認證方式。因為SSL是網景公司開發的技術,不是通用標準,所以它只能使用來自根CA的證書;TLS需要指定與塊密碼算法一起使用的填充塊值,但微軟TLS中使用的RC4算法是一種流密碼,所以這種修改也不是固定的;TLS RFC中不包括 Fortezza算法,因為 Fortezza算法還沒有對公眾開放。

說明:Fortezza是OSI協定簇的成員,它也有加密程式,但最少系用56位元編碼密鑰,較之SSL及PCT所用的40位元編碼密鑰安全得多。除此之外, Fortezza的優勝之處是加入了為驗證過程而設的令牌( token)新功能。兩者在一些訊息欄位中存在細微的差別。

相關概念

電子商務Web站的SSL安全交易

這是SSL在瀏覽器和Web伺服器之間座用的一種典型套用。例如,在一個電子商務商店站點上,客戶要提供他們的信用卡號。SSL協定首先要確保Web站點的證書是有效的,然後傳送客戶信用卡信息當作密碼文本。在這種套用中,服務證書是網站自己的、可信任的,而通過證書進行的身份認證則僅對伺服器進行。此時, TLS/SSL協定必須在Web頁面上得到支持,如數據交易時所用的訂單頁面。

在SSL安全Web網站的客戶端身份認證

在這種套用中,客戶端和伺服器上CA發的證書首先要互信。在安全通道中,客戶端證書可以一對一或者多對一地映射到可以由“ Active Directory用戶和計算機”控制台管理的Windows Server2003用戶或計算機賬戶上。這樣,用戶可以在Web站點上進行身份認證,而無需提供用戶賬戶和密碼。

多對一映射有多個用處,例如你有幾個用戶要進行商業機密訪問,則可以創建一個組,把用戶證書映射到這個組中,然後給予這個組適當的訪問許可權在一對一映射中,在客戶登錄時,伺服器便具有客戶端證書的副本,由伺服器來對證書標識進行校驗,一對一映射是個人保密的典型套用,如銀行站點僅允許有許可權的個體對當前賬戶進行瀏覽。

遠程訪問

在這種套用中,遠程交換通常是使用安全通道的。當用戶遠程登錄到你的 Windows系統或網路時,你可以使用 TLS/SSL技術提供身份認證和數據加密保護,用戶可以更加安全地在家裡、旅途中訪問他們的郵件或者企業套用,降低泄露私密信息到網際網路其他用戶的風險。

相關詞條

熱門詞條

聯絡我們