認證加密
認證加密(英語:Authenticated encryption,AE)和帶有關聯數據的認證加密(authenticated encryption with associated data,AEAD,AE的變種)是一種能夠同時保證數據的保密性、 完整性和真實性的一種加密模式。這些屬性都是在一個易於使用的編程介面下提供的。
人們觀察發現安全地將保密模式與認證模式組合可能是容易出錯和困難的,於是認證加密應運而生。[1][2] 這一點已由許多實際攻擊證實,這些攻擊通過對身份驗證(包括SSL與TLS)的不正確實現或缺失,引入到了生產協定和應用程式中。[3]
在2000年左右,圍繞這個概念進行了一些努力。特別是,2000年Charanjit Jutla發表IACBC和IAPM模式,引發了人們對這些模式的強烈興趣。[4] ISO/IEC 19772:2009已經對六種不同的認證加密模式(即OCB 2.0,Key Wrap, CCM, EAX,Encrypt-then-MAC(EtM)和GCM)進行了標準化。[5] 在NIST的徵集下開發了更多的模式。[6] 海綿函數可以在雙工模式下使用,提供經過認證的加密。[7]
認證加密的方法
編輯Encrypt-then-MAC (EtM)
編輯首先對明文進行加密,然後根據得到的密文生成訊息鑑別碼(MAC)。密文和它的MAC一起傳送。例如IPsec。EtM是ISO/IEC 19772:2009規定的六種認證加密方法中的一種。[5]這是唯一可以達到認證加密安全性最高定義的方法,但這只有在使用的MAC「強不可偽造」時才能實現。[8]2014年11月,EtM的傳輸層安全性協定(TLS)和資料包傳輸層安全(DTLS)擴充已經作為RFC 7366發佈。各種EtM密碼套件也存在於SSHv2中(例如hmac-sha1-etm@openssh.com)。
Encrypt-and-MAC (E&M)
編輯基於明文生成MAC,並且明文在沒有MAC的情況下被加密。明文的MAC和密文一起傳送。用於例如SSH。E&M方法本身並未被證明是「強不可偽造」的。[8]
MAC-then-Encrypt (MtE)
編輯基於明文生成MAC,然後將明文和MAC一起加密以基於兩者生成密文。密文(包含加密的MAC)被傳送。MtE方法本身並未被證明是「強不可偽造」的。用於例如SSL/TLS。[8]儘管有理論上的安全性,但對SSL/TLS進行更深入的分析將保護模型化為MAC-then-pad-then-encrypt,即明文先填充到加密函數的塊大小。填充錯誤通常會導致接收方發現可檢測到的錯誤,從而導致密文填塞攻擊(Padding oracle attack),如Lucky Thirteen attack。
參見
編輯參考文獻
編輯- ^ "people had been doing rather poorly when they tried to glue together a traditional (privacy-only) encryption scheme and a message authentication code (MAC)", in: M. Bellare; P. Rogaway; D. Wagner. A Conventional Authenticated-Encryption Mode (PDF). NIST. [March 12, 2013]. (原始內容存檔 (PDF)於2011-10-19).
- ^ "it is very easy to accidentally combine secure encryption schemes with secure MACs and still get insecure authenticated encryption schemes", in: T. Kohno; J. Viega & D. Whiting. The CWC Authenticated Encryption (Associated Data) Mode (PDF). NIST. [March 12, 2013]. (原始內容存檔 (PDF)於2011-10-19).
- ^ Failures of secret-key cryptography (PDF). Daniel J. Bernstein. [March 12, 2013]. (原始內容 (PDF)存檔於2013-04-18).
- ^ Jutl, Charanjit S. Encryption Modes with Almost Free Message Integrity. Cryptology ePrint Archive: Report 2000/039. IACR. 2000-08-01 [2013-03-16]. (原始內容存檔於2012-08-19).
- ^ 5.0 5.1 Information technology -- Security techniques -- Authenticated encryption. 19772:2009. ISO/IEC. [March 12, 2013]. (原始內容存檔於2016-04-16).
- ^ Encryption modes development. NIST. [April 17, 2013]. (原始內容存檔於2017-09-04).
- ^ The Keccak Team. Duplexing The Sponge (PDF). [2018-01-29]. (原始內容 (PDF)存檔於2017-08-22).
- ^ 8.0 8.1 8.2 Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm. M. Bellare and C. Namprempre. [April 13, 2013]. (原始內容存檔於2018-01-23).
- 一般性
- Bellare, M.; Namprempre, C., T. Okamoto , 編, Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm, Extended abstract in Advances in Cryptology: Asiacrypt 2000 Proceedings, Lecture Notes in Computer Science (Springer-Verlag), 2000, 1976: 531 [2018-01-29], ISBN 978-3-540-41404-9, doi:10.1007/3-540-44448-3_41, (原始內容存檔於2018-01-23)