인증된 암호화

Authenticated encryption

Authenticated Encryption(AE; 인증 암호화) 및 Authenticated Encryption with Associated Data(AED; 관련 데이터 인증 암호화)[1]는 데이터의 기밀성과 신뢰성을 동시에 보장하는 암호화 형식입니다.

프로그래밍 인터페이스

AE 구현을 위한 일반적인 프로그래밍 인터페이스는 다음과 같은 기능을 제공합니다.

  • 암호화
    • 입력: 일반 텍스트, 및 선택적으로 암호화되지 않지만 인증 보호의 대상이 되는 일반 텍스트의 헤더.
    • 출력: 암호 및 인증 태그(메시지 인증 코드 또는 MAC).
  • 복호화
    • 입력: 암호, , 인증 태그 및 선택적으로 헤더(암호화 중에 사용되는 경우).
    • 출력: 보통 텍스트 또는 인증 태그가 지정된 암호 텍스트 또는 헤더와 일치하지 않는 경우 오류.

헤더 부분은 기밀성이 필요 없지만 신뢰성이 요구되는 네트워킹 또는 스토리지 메타데이터에 대한 신뢰성과 무결성 보호를 제공하기 위한 것입니다.

역사

인증 암호화의 필요성은 별도의 기밀성과 인증 블록 암호 운영 모드를 안전하게 조합하는 것이 오류 발생 및 [1][2]어려울 수 있다는 지적에서 비롯되었습니다.이는 잘못된 구현 또는 인증 부족(SSL/[3]TLS 포함)으로 인해 프로덕션 프로토콜 및 애플리케이션에 도입된 여러 가지 실제 공격에서 확인되었습니다.

2000년경에는 올바른 구현을 보장하는 표준 모드의 개념을 중심으로 많은 노력이 전개되었습니다.특히 2000년에 Charanjit Jutla의 무결성 인식 CBC 및 무결성 인식 병렬화 IAPM 모드가[4] 발표되면서 보안 모드에 대한 관심이 높아졌습니다(OCB 및 연대[5] 참조).6개의 다른 인증 암호화 모드(오프셋코드북 모드 2.0, OCB 2.0, 키랩, CBC-MAC, CCM을 사용카운터, 암호화인증 후 변환, EAX, encrypt-then-MAC, EtM 및 Galois/counter mode, GCM)가 ISO 197에서 표준화되었습니다.[6]NIST의 [7]요청에 따라 보다 인증된 암호화 방법이 개발되었습니다.스펀지 기능을 듀플렉스 모드로 사용하여 인증된 [8]암호화를 제공할 수 있습니다.

Bellare와 Namprempre(2000)는 암호화와 MAC 프리미티브의 3가지 구성을 분석하여 메시지를 암호화하고 그 후 암호문에 MAC를 적용하는 것(암호화 후 MAC 접근법)은 두 함수가 최소한의 필수 속성을 충족한다면 적응형 선택된 암호문 공격에 대한 보안을 의미함을 입증했습니다.Katz와 Yung은 "위조할 수 없는 암호화"라는 이름으로 이 개념을 조사했고 이것이 선택된 [9]암호문 공격에 대한 보안을 의미함을 증명했습니다.

2013년에는 인증 암호화 [10]모드 설계를 장려하기 위해 CAESER 대회가 발표되었습니다.

2015년, ChaCha20-Poly1305는 IETF 프로토콜에서 GCM의 대체 AE 구조로 추가되었다.

관련 데이터에 의한 인증 암호화(AED)

AEAD는 수신자가 메시지 [11]내의 암호화된 정보와 암호화되지 않은 정보의 무결성을 모두 확인할 수 있도록 하는 AE의 변형입니다.AED는 유효한 암호문을 다른 컨텍스트에 "컷 앤 페이스트"하려는 시도가 검출되고 거부되도록 관련 데이터(AD)를 암호문 및 암호문이 나타나는 컨텍스트에 바인드합니다.

예를 들어 헤더의 가시성을 필요로 하는 네트워크 패킷이나 프레임에 의해 payload는 기밀성을 필요로 하며 둘 다 무결성신뢰성을 필요로 합니다.

인증된 암호화에 대한 접근법

Encrypt-then-MAC(EtM)

EtM 어프로치

처음에 플레인텍스트가 암호화되고 다음으로 생성된 암호문을 기반으로 MAC가 생성됩니다.암호문과 그 MAC 가 함께 송신됩니다.예를 들어 [12]IPsec에서 사용됩니다.ISO/IEC 1972:[6]2009에 따른 표준 방법.이것은 AE에서 보안의 최고 정의에 도달할 수 있는 유일한 방법이지만, 이것은 사용되는 MAC가 "강력하게 용서할 수 없는"[13] 경우에만 실현됩니다.2014년 11월 EtM용 TLS 및 DTLS 확장자는 다음과 같이 공개되었습니다. RFC7366.SSHv2에는 다양한 EtM 암호 스위트도 존재합니다(예: ).

키 분리는 필수입니다(암호화와 키 해시에는 구별 키를 사용해야 합니다).그렇지 않으면 [citation needed]사용하는 특정 암호화 방식 및 해시 함수에 따라 안전하지 않을 수 있습니다.

암호화 및 MAC(E&M)

E&M 어프로치

MAC는 평문을 기반으로 생성되며 평문은 MAC 없이 암호화됩니다.보통 텍스트의 MAC와 암호 텍스트가 함께 전송됩니다.예를 들어 [14]SSH에서 사용됨. E&M 접근 방식 [13]자체가 강하게 용서할 수 없는 것으로 입증되지 않았지만,[15] 접근 방식에도 불구하고 SSH를 강하게 용서할 수 없도록 몇 가지 사소한 수정을 SSH에 적용할 수 있다.

MAC-then-Encrypt(MtE)

MTE 어프로치

MAC는 평문을 기반으로 생성되며, 평문과 MAC는 함께 암호화되어 양쪽을 기반으로 암호문을 생성합니다.암호문(암호화된 MAC 포함)이 송신됩니다.AED는 [16]SSL/TLS에서 사용됩니다.MtE 어프로치 자체는 [13]강하게 용서할 수 없는 것으로 증명되지 않았지만 Krawczyk는 SSL/TLS가 [17][dubious ]MtE 메커니즘과 함께 사용되고 있기 때문에 실제로는 안전한 것을 증명했습니다.이론적인 보안에도 불구하고 SSL/TLS의 심층적인 분석에서는 보호를 MAC-pad-encrypt로 모델링했습니다.즉, 일반 텍스트는 우선 암호화 기능의 블록 크기에 맞게 패딩됩니다.패딩 에러는 수신측에서 검출 가능한 에러를 발생시키는 경우가 많아, 결과적으로 Lucky Teen과 같은 패딩 오라클 공격의 원인이 됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b M. Bellare; P. Rogaway; D. Wagner. "A Conventional Authenticated-Encryption Mode" (PDF). NIST. Retrieved March 12, 2013. people had been doing rather poorly when they tried to glue together a traditional (privacy-only) encryption scheme and a message authentication code (MAC)
  2. ^ T. Kohno; J. Viega & D. Whiting. "The CWC Authenticated Encryption (Associated Data) Mode" (PDF). NIST. Retrieved March 12, 2013. it is very easy to accidentally combine secure encryption schemes with secure MACs and still get insecure authenticated encryption schemes
  3. ^ "Failures of secret-key cryptography" (PDF). Daniel J. Bernstein. Archived from the original (PDF) on April 18, 2013. Retrieved March 12, 2013.
  4. ^ Jutl, Charanjit S. (2000-08-01). "Encryption Modes with Almost Free Message Integrity". Cryptology ePrint Archive: Report 2000/039. Proceedings IACR EUROCRYPT 2001. IACR. Retrieved 2013-03-16.
  5. ^ T. Krovetz; P. Rogaway (2011-03-01). "The Software Performance of Authenticated-Encryption Modes" (PDF). Fast Software Encryption 2011 (FSE 2011). IACR.
  6. ^ a b "Information technology -- Security techniques -- Authenticated encryption". 19772:2009. ISO/IEC. Retrieved March 12, 2013.
  7. ^ "Encryption modes development". NIST. Retrieved April 17, 2013.
  8. ^ The Keccak Team. "Duplexing The Sponge" (PDF).
  9. ^ Katz, J.; Yung, M. (2001). B. Schneier (ed.). Unforgeable Encryption and Chosen Ciphertext Secure Modes of Operation. Fast Software Encryption (FSE): 2000 Proceedings. Lecture Notes in Computer Science. Vol. 1978. pp. 284–299. doi:10.1007/3-540-44706-7_20. ISBN 978-3-540-41728-6.
  10. ^ "CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness". Retrieved March 12, 2013.
  11. ^ "NIST Issues First Call for 'Lightweight Cryptography' to Protect Small Electronics". 2018-04-18. Retrieved 2019-09-04.
  12. ^ "Separate Confidentiality and Integrity Algorithms". RFC 4303. Internet Engineering Task Force (IETF). Retrieved 2018-09-12.
  13. ^ a b c "Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm". M. Bellare and C. Namprempre. Retrieved April 13, 2013.
  14. ^ "Data Integrity". RFC 4253. Internet Engineering Task Force (IETF). Retrieved 2018-09-12.
  15. ^ Bellare, Mihir; Kohno, Tadayoshi; Namprempre, Chanathip. "Breaking and Provably Repairing the SSH Authenticated Encryption Scheme: A Case Study of the Encode-then-Encrypt-and-MAC Paradigm" (PDF). ACM Transactions on Information and System Security. Retrieved 30 August 2021.
  16. ^ "Record Payload Protection". RFC 5246. Internet Engineering Task Force (IETF). Retrieved 2018-09-12.
  17. ^ "The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)" (PDF). H. Krawczyk. Retrieved April 13, 2013.
일반

외부 링크

  • NIST: 모드 개발
  • 인증 암호화 모드 선택 방법