대칭키 암호 방식
대칭키 암호 방식은 통신 당사자들이 동일한 비밀 키를 사용하여 데이터를 보호하고 복구함으로써 기밀성, 무결성 및 인증을 고속으로 제공하는 체계를 연구합니다.
Definition
대칭키 암호 방식은 암호화 및 복호화(또는 태깅 및 검증) 작업이 동일한 비밀 키를 사용하거나, 합법적인 당사자들 간에 미리 공유된, 서로 쉽게 파생될 수 있는 두 개의 키를 사용하는 암호학 분야입니다.
Scope
이 분야는 단일 공유 비밀 키에 의존하는 암호학적 원시 요소(cryptographic primitives)를 다룹니다: 블록 암호 및 그 운용 모드, 스트림 암호, 암호학적 해시 함수, 메시지 인증 코드. 이러한 원시 요소들이 어떻게 구성되는지, 그들이 목표로 하는 보안 목표(구별 불가능성, 충돌 저항성, 위조 불가능성), 그리고 그들이 저항해야 하는 암호 분석 공격을 다룹니다. 이는 키 쌍을 사용하는 공개키 방식(공개키 암호 방식에서 다룸)과 이러한 원시 요소들 위에 구축된 상호작용 프로토콜(암호학적 프로토콜에서 다룸)은 제외합니다.
Sub-topics
Core questions
- 고정된 공유 비밀 키가 어떻게 임의로 긴 메시지를 기밀성과 무결성을 가지고 보호할 수 있는가?
- 어떤 설계 원칙(혼돈 및 확산)이 암호를 암호 분석에 저항하게 만드는가?
- 운용 모드를 통해 블록 암호가 어떻게 안전한 암호화 방식으로 전환되는가?
- 어떤 보안 정의가 '안전한' 대칭키 방식을 구별하며, 이들은 어떻게 형식화되는가?
- 해시 함수와 메시지 인증 코드를 통해 무결성과 인증은 어떻게 제공되는가?
Key concepts
- 공유 비밀 키
- 블록 암호
- 스트림 암호
- 운용 모드
- 암호학적 해시 함수
- 메시지 인증 코드
- 혼돈 및 확산
- 의사 난수 순열
- 인증된 암호화
Key theories
- 혼돈 및 확산
- 안전한 암호를 위한 섀넌의 설계 원칙: 혼돈은 키와 암호문 간의 관계를 가능한 한 복잡하게 만들고, 확산은 각 평문 비트의 영향을 많은 암호문 비트에 퍼뜨려 통계적 분석을 무력화합니다.
- 의사 난수 순열 및 함수
- 현대 대칭키 보안은 블록 암호를 의사 난수 순열로, 키가 있는 해시를 의사 난수 함수로 취급하여 모델링됩니다. 이는 어떤 효율적인 공격자에게도 진정한 난수와 계산적으로 구별할 수 없는 객체입니다.
- 선택 평문 공격 하의 구별 불가능성
- 대칭키 암호 방식은 효율적인 공격자가 선택한 평문의 암호문을 얻을 수 있더라도, 자신이 선택한 두 메시지의 암호문을 추측하는 것보다 더 잘 구별할 수 없다면 안전하다고 할 수 있습니다.
Clinical relevance
대칭키 암호 방식은 배포된 보안의 핵심 요소입니다: AES는 디스크 암호화, Wi-Fi (WPA), TLS 세션의 대량 데이터를 보호합니다. HMAC과 AES-GCM은 API 요청과 네트워크 패킷을 인증합니다. 해시 함수는 비밀번호 저장, 파일 무결성 검사, 블록체인의 기반이 됩니다. 대칭키 연산은 공개키 연산보다 훨씬 빠르기 때문에, 실제 프로토콜은 대칭 세션 키를 설정하기 위해서만 공개키 방식을 사용하고, 실제 데이터 전송에는 대칭키 암호 방식에 의존합니다.
Evidence & guidelines
표준화된 원시 요소들은 실제 적용에 있어 핵심적입니다: AES (FIPS 197), SHA-2 및 SHA-3 (FIPS 180-4, FIPS 202), HMAC (FIPS 198-1)은 NIST 승인된 주요 선택지입니다. DES, RC4, MD5, SHA-1과 같은 레거시 원시 요소들은 알려진 암호 분석 취약점 때문에 사용이 권장되지 않습니다.
History
대칭키 암호화는 고전적인 치환 및 전치 암호부터 제2차 세계 대전의 로터 기계에 이르기까지 가장 오래된 형태의 암호 방식입니다. 섀넌의 1949년 논문은 이에 엄격한 정보 이론적 기반을 제공했습니다. 데이터 암호화 표준(1977)은 공개적이고 표준화된 블록 암호를 도입했으며, 결국 그 노후화로 인해 2000년 Rijndael이 우승한 공개 AES 경쟁으로 이어졌습니다. 병행 연구를 통해 표준화된 해시 함수(MD 및 SHA 계열)와 메시지 인증 코드가 개발되었습니다.
Key figures
- Claude Shannon
- Horst Feistel
- Joan Daemen
- Vincent Rijmen
- Jonathan Katz
- Yehuda Lindell
Related topics
Seminal works
- shannon1949
- katz2020
- menezes1996
Frequently asked questions
- 공개키 암호 방식이 키 분배 문제를 해결한다면 왜 대칭키 암호 방식을 사용하는가?
- 대칭키 연산은 훨씬 빠르고 암호문 확장을 발생시키지 않으므로 실제 데이터를 보호하는 데 사용됩니다. 공개키 암호 방식은 일반적으로 대칭키를 안전하게 합의하는 데만 사용되며, 그 후에는 대칭키 암호 방식이 주요 작업을 수행합니다.
- 암호화만으로 데이터를 안전하게 유지하기에 충분한가?
- 아닙니다. 암호화는 기밀성을 제공하지만 무결성은 제공하지 않습니다. 공격자는 탐지되지 않고 암호문을 변조할 수 있습니다. 현대의 관행은 암호화와 메시지 인증 코드를 결합하거나, AES-GCM과 같은 인증된 암호화 모드를 사용하여 기밀성과 무결성을 모두 보장합니다.