Encryption

如何使用關聯數據密碼套件辨識經過身份驗證的加密

  • August 6, 2017

我對 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

我有一些問題:

  1. 您能幫我從那些不提供的密碼套件中辨識出提供關聯數據 (AEAD) 身份驗證加密的密碼套件嗎?
  2. GCM 和 Poly1305 密碼是否指示 AEAD 而其他密碼不提供?你能列出所有的AEAD算法嗎?
  3. AE密碼套件總是必須也是前向保密密碼套件嗎?還是沒有將兩者聯繫起來的關係?
  4. 認證加密 (AE) 是否與 AEAD 相同?或者它們是不同的術語?

您能幫我從那些不提供的密碼套件中辨識出提供關聯數據 (AEAD) 身份驗證加密的密碼套件嗎?

所有這些都明確命名gcm或是chacha20_poly1305AEAD 密碼套件。其他使用 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(即使這樣,轉換也很簡單)。

引用自:https://crypto.stackexchange.com/questions/50646