Encryption
如何使用關聯數據密碼套件辨識經過身份驗證的加密
我對 AEAD 密碼套件有一些疑問,需要澄清一下。在以下密碼套件列表中:
dhe_rsa_aes_128_sha dhe_rsa_aes_256_sha ecdhe_ecdsa_aes_128_gcm_sha256 ecdhe_ecdsa_aes_128_sha ecdhe_ecdsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_256_sha ecdhe_ecdsa_chacha20_poly1305_sha256 ecdhe_rsa_aes_128_gcm_sha256 ecdhe_rsa_aes_128_sha ecdhe_rsa_aes_256_gcm_sha384 ecdhe_rsa_aes_256_sha ecdhe_rsa_chacha20_poly1305_sha256 rsa_aes_128_sha rsa_aes_256_sha rsa_des_ede3_sha
我有一些問題:
- 您能幫我從那些不提供的密碼套件中辨識出提供關聯數據 (AEAD) 身份驗證加密的密碼套件嗎?
- GCM 和 Poly1305 密碼是否指示 AEAD 而其他密碼不提供?你能列出所有的AEAD算法嗎?
- AE密碼套件總是必須也是前向保密密碼套件嗎?還是沒有將兩者聯繫起來的關係?
- 認證加密 (AE) 是否與 AEAD 相同?或者它們是不同的術語?
您能幫我從那些不提供的密碼套件中辨識出提供關聯數據 (AEAD) 身份驗證加密的密碼套件嗎?
所有這些都明確命名
gcm
或是chacha20_poly1305
AEAD 密碼套件。其他使用 TLS 預設值,即 MAC-then-encrypt 與 CBC。AE密碼套件總是必須也是前向保密密碼套件嗎?
沒有技術原因迫使這種情況發生。事實上RFC 5487定義
TLS_PSK_WITH_AES_128_GCM_SHA256
了使用 AES-GCM (AEAD) 但不提供前向保密。如果您在這裡不接受 PSK 套件作為答案,RFC 5288定義了TLS_RSA_WITH_AES_128_GCM_SHA256
,它使用 RSA 密鑰傳輸(因此不提供前向保密)。然而,AEAD 就是一些人所說的“現代加密”。因此,它通常與其他“現代加密”配對,這通常意味著您更喜歡將前向保密與 AEAD 套件一起使用,並且只有非前向保密用於回退,畢竟,實施 AES-GCM 的客戶還將擁有所有其他現代加密貨幣,例如 ECDHE。
認證加密 (AE) 是否與 AEAD 相同?或者它們是不同的術語?
技術上是的。AE 方案只需要對明文進行認證加密,AEAD 方案也需要對數據進行認證,所以每個 AEAD 方案也是一個 AE 方案,反之則不然。然而,實際上,我不知道實際使用的任何方案是 AE 但不是 AEAD(即使這樣,轉換也很簡單)。