인증된 암호 방식
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
인증된 암호 방식은 기밀성과 인증을 함께 처리하여 보안을 강화하는 암호화 방식이다. 2000년대 초반부터 표준화 노력이 진행되어, ISO/IEC 19772:2009에서 여러 방식이 표준으로 채택되었으며, 이후 NIST의 요청에 따라 추가적인 방식들이 개발되었다. 인증된 암호 방식은 암호화, 복호화 인터페이스를 제공하며, 헤더를 통해 기밀성은 없지만 인증이 필요한 데이터를 보호할 수 있다. 주요 방식으로는 Encrypt-then-MAC (EtM), Encrypt-and-MAC (E&M), MAC-then-Encrypt (MtE)가 있으며, AEAD(Associated Data)는 관련 데이터를 포함하여 메시지의 무결성을 보장한다. 또한, 키 커밋 AEAD는 다른 키로 복호화 시 오류를 발생시켜 보안을 더욱 강화한다.
더 읽어볼만한 페이지
- 대칭 키 암호 - 쇄도 효과
쇄도 효과는 암호화 알고리즘에서 입력의 작은 변화가 출력의 큰 변화를 유발하는 현상으로, 엄격한 쇄도 기준(SAC)과 비트 독립성 기준(BIC)을 통해 평가되며, 고차 일반화는 암호 시스템의 안전성 향상에 기여한다. - 메시지 인증 코드 - HMAC
HMAC(Keyed-Hash Message Authentication Code)는 공유된 비밀 키와 암호화 해시 함수를 사용하여 메시지의 무결성을 검증하는 메시지 인증 코드로서, IPsec, SSH, TLS, JSON 웹 토큰 등 다양한 보안 프로토콜에서 활용된다. - 메시지 인증 코드 - Poly1305
Poly1305는 16바이트 비밀 키와 메시지를 입력으로 받아 16바이트 해시값을 출력하는 메시지 인증 코드 알고리즘으로, 카터-웨그만 구조에 기반하여 OpenSSH, 구글 Chrome, 안드로이드 등에서 메시지 인증 및 암호화에 활용되며 빠른 계산 속도와 효율적인 작동이 특징이다.
인증된 암호 방식 | |
---|---|
개요 | |
유형 | 암호화 |
목적 | 기밀성 및 무결성 보장 |
상세 정보 | |
대칭 키 | AEAD |
비대칭 키 | RSA |
관련 용어 | 암호 메시지 인증 코드 디지털 서명 |
방법 | |
대칭 키 암호화 | CCM GCM CWC EAX IAPM OCB |
인증 암호화 시스템 | Salsa20 ChaCha20 Poly1305 버터플라이 Gimli MORUS 케착 |
대회 | |
CAESAR | CAESAR |
2. 역사
인증된 암호화의 필요성은 보안적으로 분리된 ''기밀성'' 및 ''인증'' 블록 암호 작동 모드를 안전하게 결합하는 것이 오류가 발생하기 쉽고 어려울 수 있다는 관찰에서 비롯되었다.[1][2] 이는 부정확한 구현 또는 인증 부족으로 인해 프로덕션 프로토콜 및 응용 프로그램에 도입된 여러 실제 공격으로 확인되었다.[3]
인증 암호화 방식의 일반적인 프로그래밍 인터페이스는 다음과 같은 기능을 제공한다.
2000년경, 올바른 구현을 보장하는 모드를 표준화하려는 노력이 여러 차례 진행되었다. 특히, 가능한 보안 모드에 대한 강력한 관심은 2000년에 Charanjit Jutla의 무결성 인식 CBC 및 무결성 인식 병렬화 가능 모드 IAPM의 출판으로 촉발되었다[4] ( OCB 및 연대기[5] 참조).
오프셋 코드북 모드 2.0, Key Wrap, CBC-MAC을 이용한 카운터, 암호화 후 인증 후 변환, Encrypt-then-MAC, 갈루아/카운터 모드를 포함한 여섯 가지 서로 다른 인증된 암호화 모드가 ISO/IEC 19772:2009에 표준화되었다.[6] 더 많은 인증된 암호화 방법이 NIST의 요청에 따라 개발되었다.[7] Sponge function은 이중 모드로 사용되어 인증된 암호화를 제공할 수 있다.[8]
Bellare와 Namprempre (2000)는 암호화 및 MAC 기본 요소의 세 가지 구성을 분석하여, 메시지를 암호화하고 그 후 암호문에 MAC을 적용하는 것(Encrypt-then-MAC 방식)은 두 기능이 최소한의 필수 속성을 충족하는 경우, 적응형 선택 암호문 공격에 대한 보안을 암시한다는 것을 입증했다. Katz와 Yung은 이 개념을 "위조 불가능한 암호화"라는 이름으로 조사했으며, 이는 선택 암호문 공격에 대한 보안을 의미한다는 것을 증명했다.[9]
2013년에는 인증된 암호화 모드의 설계를 장려하기 위해 CAESAR 공모전이 발표되었다.[10]
2015년에는 ChaCha20-Poly1305가 GCM의 대체 AE 구성으로 IETF 프로토콜에 추가되었다.
3. 프로그래밍 인터페이스
''헤더'' 부분은 기밀성은 불필요하지만 인증이 필요한 네트워킹 또는 스토리지 메타데이터에 대한 인증 및 무결성 보호를 제공하기 위한 것이다.
4. 인증 암호화 방식
인증 암호화는 크게 세 가지 방식으로 구현될 수 있다.
- Encrypt-then-MAC (EtM): 평문을 암호화하고, 그 결과로 나온 암호문으로 MAC을 계산한다. 암호문과 MAC을 함께 전송한다. ISO/IEC 19772:2009에 따른 표준 방식[26]이며, IPsec 등에서 사용된다. 사용되는 MAC이 "강력한 위조 불가"[30]여야 하지만, 이 방식을 통해 최고 수준의 안전성을 확보할 수 있다. 2014년 11월에 TLS 및 DTLS의 확장으로서 EtM이 권고되었다.

- Encrypt-and-MAC (E&M): 평문으로 MAC을 계산하고, 평문은 암호화한다. 암호문과 MAC을 함께 전송한다. SSH나 Grain 128a 등에서 사용된다. E&M 자체는 강력한 위조 불가능으로 증명되지 않았지만[30], 약간의 수정을 통해 SSH를 강력한 위조 불가능으로 만들 수 있다고 알려져 있다.[31]
- -|]]|thumb|right]]
- MAC-then-Encrypt (MtE): 평문으로 MAC을 계산하고, 평문과 MAC을 합쳐 암호화한다. 암호화된 평문과 MAC을 포함한 암호문이 전송된다. SSL/TLS 등에서 사용된다. MtE 자체는 강한 위조 불가능으로 증명되지 않았지만[30], 크라브치크는 SSL/TLS 구현이 강한 위조 불가능임을 증명하였다. SSL/TLS는 MtE와 동시에 사용하는 인코딩 덕분에 사실상 안전하다.[32]
4. 1. Encrypt-then-MAC (EtM)
평문은 먼저 암호화된 다음, 결과로 생성된 암호문을 기반으로 MAC이 생성된다. 암호문과 MAC이 함께 전송된다. EtM은 ISO/IEC 19772:2009에 따른 표준 방식이다.[6] 이는 AE에서 최고 수준의 보안을 달성할 수 있는 유일한 방식이지만, 사용된 MAC이 "강력한 위조 방지"일 때만 가능하다.[15]
IPsec은 2005년에 EtM을 채택했다.[16] 2014년 11월, TLS 및 DTLS는 RFC 7366을 통해 EtM에 대한 확장을 받았다. SSHv2에도 다양한 EtM 암호화 제품군이 존재한다(예: hmac-sha1-etm@openssh.com).
4. 2. Encrypt-and-MAC (E&M)
평문 기반으로 MAC(메시지 인증 코드)를 생성하고, MAC 없이 평문을 암호화한다. 평문의 MAC과 암호문을 함께 전송한다. 예를 들어, SSH에서 사용된다.[17] E&M 방식 자체가 강력한 위조 방지 기능이 있는 것으로 증명되지 않았지만,[15] SSH에 약간의 수정을 적용하여 이 방식을 사용하더라도 강력한 위조 방지 기능을 갖도록 하는 것이 가능하다.[18]
4. 3. MAC-then-Encrypt (MtE)

MtE 방식은 평문을 기반으로 MAC(Message Authentication Code, 메시지 인증 코드)를 생성한 다음, 평문과 MAC을 함께 암호화하여 암호문을 생성한다. 암호문(암호화된 평문과 MAC 포함)은 전송된다. TLS 1.2 이전의 모든 SSL/TLS 암호 제품군이 MtE 방식이었다.[19]
MtE는 그 자체로는 강력한 위조 방지 기능을 입증하지 못했다.[15] SSL/TLS 구현은 MtE 메커니즘과 함께 사용된 인코딩으로 인해 실제로 안전하다는 것을 보여준 크라브치크에 의해 강력한 위조 방지 기능이 입증되었다.[20] 그러나 크라브치크의 증명에는 초기화 벡터(IV)의 무작위성에 대한 결함 있는 가정이 포함되어 있다. 2011년 BEAST 공격은 무작위성이 아닌 체인 IV를 악용하여 TLS 1.0 이하의 모든 CBC 알고리즘을 무너뜨렸다.[21]
또한, SSL/TLS에 대한 심층적인 분석에서는 보호 기능을 MAC-then-pad-then-encrypt, 즉 평문이 먼저 암호화 기능의 블록 크기로 채워지는 것으로 모델링했다. 패딩 오류는 종종 수신자 측에서 감지 가능한 오류를 초래하며, 이는 패딩 오라클 공격(예: 럭키 서틴)으로 이어진다.
5. 관련 데이터 인증 암호화 (AEAD)
AEAD는 AE의 변형으로, 암호화될 데이터에 인증 및 무결성이 모두 필요한 경우 사용된다. AEAD는 "연관 데이터"(AD, 추가적인 비기밀 정보)를 암호문과 표시될 컨텍스트에 결합하여, 유효한 암호문을 다른 컨텍스트로 잘라내어 붙여넣기 하려는 시도(Cut-and-Paste Attack)를 방지한다.[1]
이는 네트워크 패킷과 같이, 헤더는 데이터 무결성과 가시성을 요구하고 페이로드는 기밀성을 요구하는 경우에 유용하다. 또한 진정성도 필요하다.[1]
AEAD는 메시지에 "연관 데이터"(AD, 추가적인 비기밀 정보, 즉 "추가 인증 데이터", AAD)를 포함할 수 있도록 하는 인증 암호화(AE)의 변형이다. 수신자는 연관 데이터와 메시지의 기밀 정보 모두의 무결성을 확인할 수 있다. AD는 예를 들어 네트워크 패킷에서 헤더가 라우팅을 위해 표시되어야 하지만 페이로드는 기밀이어야 하고 둘 다 데이터 무결성과 메시지 인증이 필요한 경우에 유용하다. AEAD의 개념은 로가웨이(2002)에 의해 공식화되었다.[1]
6. 키 커밋 AEAD
기존 AE 방식은 일반적으로 '''키 커밋'''을 제공하지 않아, 다른 키로 복호화했을 때 오류가 발생한다는 보장이 없다.[11] 2021년 현재, 매우 널리 사용되는 GCM을 포함한 대부분의 기존 AE 방식은 올바른 키(KA)뿐만 아니라 다른 키를 사용하여 일부 메시지를 오류 없이 해독할 수 있도록 허용한다. 두 번째 (잘못된) 키(KM)를 사용하여 해독된 평문은 부정확하지만, 인증 태그는 여전히 일치한다. 이러한 속성을 가진 메시지를 제작하려면 맬러리가 이미 KA와 KM을 모두 가지고 있어야 하므로, 이 문제는 순전히 학문적인 관심사처럼 보일 수 있다.[11] 그러나 특수한 상황에서는 취약한 구현에 대한 실제 공격이 수행될 수 있다. 예를 들어, 신원 인증 프로토콜이 암호 기반 키를 사용하는 메시지의 성공적인 복호화를 기반으로 하는 경우, 맬러리가 취약한 잠재적 암호와 연관된 1000개의 서로 다른 키를 사용하여 성공적으로 복호화될 단일 메시지를 제작할 수 있다면 암호 검색 속도를 거의 1000배까지 증가시킬 수 있다.
이러한 공격을 완화하기 위해 ''키 커밋 AEAD''를 사용할 수 있다. 이는 제작된 메시지가 존재하지 않도록 한다. AEGIS는 (AES 명령어 집합이 존재한다면) 빠른 키 커밋 AEAD의 한 예이다.[12] 기존 AEAD 방식에 키 커밋을 추가하는 것도 가능하다.[13][14] 키 커밋은 2010년대에 Abdalla et al.과 Farshim et al.에 의해 "강력한 암호화"라는 이름으로 처음 연구되었다.
참조
[1]
웹사이트
A Conventional Authenticated-Encryption Mode
http://csrc.nist.gov[...]
NIST
2013-03-12
[2]
웹사이트
The CWC Authenticated Encryption (Associated Data) Mode
http://csrc.nist.gov[...]
NIST
2013-03-12
[3]
웹사이트
Failures of secret-key cryptography
https://cr.yp.to/tal[...]
Daniel J. Bernstein
2013-03-12
[4]
웹사이트
Encryption Modes with Almost Free Message Integrity
https://eprint.iacr.[...]
International Association for Cryptologic Research
2013-03-16
[5]
간행물
The Software Performance of Authenticated-Encryption Modes
https://web.cs.ucdav[...]
International Association for Cryptologic Research
2011-03-01
[6]
웹사이트
Information technology -- Security techniques -- Authenticated encryption
https://www.iso.org/[...]
ISO/IEC
2013-03-12
[7]
웹사이트
Encryption modes development
http://csrc.nist.gov[...]
NIST
2013-04-17
[8]
웹사이트
Duplexing The Sponge
http://sponge.noekeo[...]
[9]
서적
Fast Software Encryption (FSE): 2000 Proceedings
[10]
웹사이트
CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness
https://competitions[...]
2013-03-12
[11]
간행물
Partitioning Oracle Attacks
https://www.usenix.o[...]
2021
[12]
웹사이트
The AEGIS Family of Authenticated Encryption Algorithms
https://cfrg.github.[...]
[13]
웹사이트
Key Committing AEADs
https://eprint.iacr.[...]
2020
[14]
웹사이트
Key Committing AEADs
https://crypto.stack[...]
2024-02-21
[15]
웹사이트
Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm
https://cseweb.ucsd.[...]
M. Bellare and C. Namprempre
2013-04-13
[16]
간행물
Separate Confidentiality and Integrity Algorithms
https://tools.ietf.o[...]
Internet Engineering Task Force (IETF)
2018-09-12
[17]
간행물
Data Integrity
https://tools.ietf.o[...]
Internet Engineering Task Force (IETF)
2018-09-12
[18]
웹사이트
Breaking and Provably Repairing the SSH Authenticated Encryption Scheme: A Case Study of the Encode-then-Encrypt-and-MAC Paradigm
https://homes.cs.was[...]
ACM Transactions on Information and System Security
2021-08-30
[19]
간행물
Record Payload Protection
https://tools.ietf.o[...]
Internet Engineering Task Force (IETF)
2018-09-12
[20]
웹사이트
The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)
https://www.iacr.org[...]
H. Krawczyk
2013-04-13
[21]
웹사이트
Here Come The ⊕ Ninjas
https://tlseminar.gi[...]
2011-05-13
[22]
웹사이트
A Conventional Authenticated-Encryption Mode
http://csrc.nist.gov[...]
NIST
2013-03-12
[23]
웹사이트
The CWC Authenticated Encryption (Associated Data) Mode
http://csrc.nist.gov[...]
NIST
2013-03-12
[24]
웹사이트
Failures of secret-key cryptography
http://cr.yp.to/talk[...]
Daniel J. Bernstein
2013-03-12
[25]
웹사이트
Encryption Modes with Almost Free Message Integrity
https://eprint.iacr.[...]
International Association for Cryptologic Research
2013-03-16
[26]
웹사이트
Information technology -- Security techniques -- Authenticated encryption
http://www.iso.org/i[...]
ISO/IEC
2013-03-12
[27]
웹사이트
Encryption modes development
http://csrc.nist.gov[...]
NIST
2013-04-17
[28]
웹사이트
Duplexing The Sponge
http://sponge.noekeo[...]
2013-11-30
[29]
웹사이트
CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness
http://competitions.[...]
2013-03-12
[30]
웹사이트
Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm
http://cseweb.ucsd.e[...]
M. Bellare and C. Namprempre
2013-04-13
[31]
웹사이트
OpenSSH 6.1 からの変更点
http://www.unixuser.[...]
春山征吾
2013-12-01
[32]
웹사이트
The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)
http://www.iacr.org/[...]
H. Krawczyk
2013-04-13
[33]
웹인용
A Conventional Authenticated-Encryption Mode
http://csrc.nist.gov[...]
NIST
2013-03-12
[34]
웹인용
The CWC Authenticated Encryption (Associated Data) Mode
http://csrc.nist.gov[...]
NIST
2013-03-12
[35]
웹인용
Failures of secret-key cryptography
https://cr.yp.to/tal[...]
Daniel J. Bernstein
2013-03-12
[36]
웹인용
Encryption Modes with Almost Free Message Integrity
https://eprint.iacr.[...]
IACR
2013-03-16
[37]
웹인용
Information technology -- Security techniques -- Authenticated encryption
https://www.iso.org/[...]
ISO/IEC
2013-03-12
[38]
웹인용
Encryption modes development
http://csrc.nist.gov[...]
NIST
2013-04-17
[39]
웹인용
Duplexing The Sponge
http://sponge.noekeo[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com