加密套件:密碼,演算法以及安全設置
隨著HTTPS的普及,SSL加密慢慢也廣為人知。說到加密一次,就不得不提一個詞語——「密碼」。密碼這個片語雖然普通,但是對於加密來說是十分重要的一部分。
什麼是加密密碼?
密碼這一詞,在SSL行業角度來說密碼是演算法,具體的說,他們是執行加密與相對應解密的一個組合,這需要依賴計算機的處理能力。但密碼最早出現是用于軍事方面,古羅馬凱撒皇帝通過獨特的方式與將領進行軍事通信,這個獨特的方式就是凱撒密碼。
隨著時間的轉移,密碼變得越來越複雜,但其背後的原理邏輯還是不變的。無論是凱撒密碼,還是第二次世界大戰的密文,或今天所用的演算法,都是把一些信息通過特殊的方式進行重新編輯,只有目標人群才能閱讀並理解。
兩種密碼
從最終目標分析,SSL加密的加密演算法有兩種,對稱性和非對稱性。首先取決於執行的加密類型,然後就是對稱或非對稱加密。
對稱加密涉及一對密鑰,或者顧名思義,這對密鑰是對稱關係,它們的功能分別是加密與解密。在瀏覽器和伺服器之間的加密Web連接中可看到這一點。SSL證書通過身份驗證和SSL握手完成後,瀏覽器和伺服器交換對稱的「會話密鑰」,以便在訪問期間安全地進行通信。雖然這些會話密鑰在起作用,但它們使用正是對稱密碼。
相反,使用非對稱加密時,瀏覽器和伺服器是不同的兩個密鑰,最明顯的例子是在SSL握手過程中使用的公鑰/私鑰對。一個密鑰加密,另一個密鑰解密。這種加密需要不同種類的密碼,即不對稱演算法。
普通密碼
一般,在加密中使用的多種不同的密碼結合。SSL使用的加密方式,不是僅使用一個演算法,而是多種演算法組合,這種組合方式被稱為「加密套件」。
目前,網路安全技術人員正向這種概念深入研究,堅信日後將會在這個領域取得成功。但目前了解的對稱與非對稱加密類型,正研究不同的密碼和它們所服務的函數,然後討論如何構建一個加密套件。
下面是一些密碼和其他演算法的例子:
密鑰交換
Key Exchange
RSA公鑰加密演算法是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。是目前使用廣泛的非對稱加密演算法。
Diffie-Hellman(DH)
以Whitfield Diffie和Martin Hellman命名。這是一個公鑰主要用於交換密鑰的公共通道。像DH這樣的方法之前,必須以物理形式傳輸密鑰。
Elliptic Curve Diffie-Hellman(ECDH)
一種密鑰協商協議,使雙方使用橢圓曲線密鑰對,建立共享密鑰(直接用作密鑰或通過公共渠道安全地導出密鑰)。
PSK
通常寫為TLS-PSK,這是一種提供基於在各方之間交換的共享對稱密鑰的安全通信的密碼。
加密密碼
AES
高級加密標準,又名Rijndael,是NIST批准的加密密碼,塊為128位,對稱密鑰長度是為128, 192位或256位。
Camellia
與AES相似的對稱密鑰的分組密碼,由NTT和Mitsubishi在日本開發,經ISO / IEC,歐盟和日本CRYPTREC項目批准。
ARIA
這是另一個類似於AES的分組密碼,ARIA是由2003年在韓國的一組研究人員開發的。
數據完整性/認證
基於哈希的認證碼(HMAC)
這是一種消息認證,使用加密散列來驗證消息並確保數據完整性,認為SHA-256。
認證加密
AE或認證加密在單個編程介面下的數據上提供保密性,完整性和認證保證。通常與塊密碼一起使用。
顯然,這並不是一個完整的列表,還有幾十個密碼。下面將介紹密碼套件,再介紹。
什麼是加密套件?
加密套件是用於在SSL / TLS握手期間協商安全設置的演算法的組合。在ClientHello和ServerHello消息交換之後,客戶端發送優先順序列表的密碼支持套件。然後,伺服器使用從列表中選擇的密碼套件進行響應。
加密套件為以下組合:
密鑰交換演算法(RSA,DH,ECDH,PSK)
認證演算法(RSA,DSA)
批量加密演算法(AES,Camellia,ARIA)
消息認證碼演算法(SHA-256)
這裡是一個加密套件的例子:
TLS _ECDHE_ RSA _ WITH_AES_128_GCM _ SHA256
TLS是協議。從ECDHE開始,在握手期間,密鑰將通過臨時ECDHE進行交換。RSA是認證演算法。AES_128_GCM是批量加密演算法。SHA-256是散列演算法。
大多數瀏覽器和伺服器都有各自支持的密碼套件列表,兩者將在握手過程中進行優先順序比較,以確定使用的安全設置。
最後作為TLS 1.3最終版本,這一切都會改變。雖然以前SSL / TLS通過TLS 1.2版本是使用上訴描述的加密套件模板,但1.3版本的加密套件將會有所改變,因為它們僅用於協商加密和HMAC演算法。
因為1.3加密套件的結構與之前的版本不同,所以它們與舊的TLS版本不能進行互換。
要點總結
密碼是演算法,用於加密和解密。它們可以是對稱的或不對稱的,這取決於它們支持的加密類型。
加密套件是用於在SSL / TLS握手期間協商安全設置的密碼的命名組合。在握手期間,客戶端和伺服器交換密碼套件的優先順序列表,並決定兩者最佳支持的套件。
在TLS 1.3中,加密套件的結構將改變。
文章翻譯thesslstore
文章轉載 :https://www.trustauth.cn/news/security-news/21583.html
點擊展開全文
※散列演算法:SHA-1,SHA-2和SHA-256之間的區別 上
※散列演算法:SHA-1,SHA-2和SHA-256之間的區別 下
※Chrome將Presentation API遷移到HTTPS
※DNS被攻擊怎麼辦?
※修復CVE-2017-9805漏洞的解決方案
TAG:數安時代GDCA |