AES-GCM 모드 (AES-GCM (Galois/Counter Mode))

정보보안학
한 줄 정의: AES-GCM은 대칭키 블록암호 AES를 카운터 모드로 동작시켜 데이터를 암호화하면서 동시에 갈루아 필드 연산 기반 메시지 인증 태그를 생성하는 인증암호(AEAD) 방식입니다.

쉽게 풀면

편지를 봉투에 넣어 봉인하면서 동시에 봉투에 위조 방지 도장을 찍는 것과 비슷합니다. AES-GCM은 내용을 암호화하는 동시에 누군가 봉투를 열어 내용을 바꿨는지 확인할 수 있는 인증 코드를 함께 붙여줍니다. 그래서 암호화와 무결성 검증을 한 번에 처리할 수 있어 효율적입니다. 일반 웹사이트가 HTTPS로 통신할 때 흔히 이 방식이 쓰입니다.

왜 중요한가

기밀성과 무결성을 동시에 보장하는 인증암호(AEAD) 방식은 현대 보안 프로토콜의 기본 요건이기 때문에, 정보보안학 논문에서는 TLS, VPN, 저장장치 암호화 등 다양한 시스템의 성능과 안전성을 평가할 때 AES-GCM을 표준 비교 대상으로 자주 다룹니다. 또한 하드웨어 가속(AES-NI) 유무에 따른 처리 속도 차이도 중요한 연구 주제입니다.

논문에서는 이렇게 쓰입니다

"본 연구에서는 TLS 1.3 환경에서 AES-GCM과 ChaCha20-Poly1305의 처리량을 비교 측정하였다."

두 인증암호 방식의 실제 성능 차이를 실험으로 검증하는 문맥입니다.

"제안하는 IoT 경량 프로토콜은 AES-128-GCM을 채택하여 통신 오버헤드를 최소화하였다."

자원이 제한된 환경에서도 효율적으로 적용 가능한 인증암호로 선택되었음을 설명하는 문맥입니다.

조금 더 깊게 보면

GCM은 AES를 카운터(CTR) 모드로 사용해 평문을 암호문으로 변환하고, 갈루아 필드 GF(2^128) 상의 곱셈 연산(GHASH)을 이용해 인증 태그를 계산합니다. 초기화 벡터(IV, nonce)는 절대 재사용되어서는 안 되며, 재사용 시 인증 안전성이 심각하게 훼손될 수 있습니다. 인텔 등 최신 프로세서의 AES-NI 명령어 지원으로 소프트웨어 구현도 매우 빠르게 동작합니다.

주의할 점

같은 키로 동일한 nonce를 두 번 사용하면 암호문 및 인증 태그의 안전성이 무너지므로, 구현 시 nonce 생성 방식을 엄격히 관리해야 합니다.

관련 용어