AES 암호화 완벽 가이드: 작동 원리, 성능, 보안성
가장 널리 쓰이는 대칭 암호화 표준 AES
AES(Advanced Encryption Standard)는 현재 가장 대중적이고 널리 채택된 대칭 암호화 알고리즘입니다. 벨기에 암호학자 빈센트 라임엔(Vincent Rijmen)과 조안 다멘(Joan Daemen)이 개발했습니다. 제대로 구현만 된다면 현재로선 깨뜨릴 수 없습니다.
암호화의 기본
암호화는 데이터를 원래 의미를 알 수 없는 형태로 변환해, 권한 있는 사용자만 해독할 수 있게 합니다. 키(key)라는 숫자를 기반으로 한 수학적 함수로 데이터를 뒤섞고, 복호화는 같은 키(대칭)나 다른 키(비대칭)로 역과정을 수행합니다.
AES 개발 배경
1976년 미국 표준국(NBS)이 DES(Data Encryption Standard)를 채택했습니다. IBM이 만든 56비트 키 대칭 알고리즘으로 20년간 잘 쓰였으나, 프로세서 성능 향상으로 브루트포스 공격에 취약해졌습니다. 일부 연구자는 48시간 만에 DES를 크랙했습니다.
이에 NIST가 1997년 AES 개발을 시작해 전 세계 로열티 프리 표준을 목표로 했습니다. 수백 개 알고리즘 중 '라인다엘(Rijndael)'을 2001년 최종 선정했습니다. ANSI, Java, C에서 엄격히 테스트해 소프트웨어/하드웨어 양쪽 주요 공격에 견딤을 검증했습니다.
AES 작동 원리
DES의 56비트 키와 달리 AES는 128, 192, 256비트 키를 사용합니다. 치환-치환 네트워크 기반 반복 암호로, 입력 대체(치환)와 비트 섞기(순열) 같은 연결된 연산 시리즈를 수행합니다.
암호화 5단계
- 라운드 키 추가: 초기 키를 평문 블록에 XOR 연산으로 추가
- 바이트 치환: 미리 정해진 테이블(S-box)로 입력 바이트 치환
- 행 이동: 2행 1칸, 3행 2칸, 4행 3칸 왼쪽 시프트
- 열 섞기: 특수 수학 함수로 각 열 변환, 완전히 새 바이트로 대체
- 라운드 키 추가: 행렬을 128비트로 보고 라운드 키와 XOR
2~5단계를 반복합니다. 반복 횟수는 키 크기에 따라: 128비트 9회, 192비트 11회, 256비트 13회. 각 라운드마다 알고리즘 강화. 루프 후 추가 라운드 1회(열 섞기 제외).
복호화
모든 연산을 역순으로 수행: 역 라운드 키 추가, 역 행 이동, 역 바이트 치환, 각 라운드마다 역 열 섞기, 역 행 이동, 역 바이트 치환, 역 라운드 키 추가 순서로 진행. 마지막에 초기 라운드 키 추가(암호화 1단계) 역연산으로 원본 메시지 복원.
성능
AES는 DES보다 훨씬 빠르고 지수적으로 강력해 고처리량/저지연이 필요한 다양한 애플리케이션, 하드웨어, 펌웨어에 이상적입니다. 8비트 스마트카드부터 고성능 컴퓨터까지 광범위한 하드웨어에서 뛰어난 성능.
AMD, 인텔 등 주요 CPU 제조사가 AES 명령어 세트를 프로세서에 통합. 측면 채널 공격 저항성도 향상. 라이젠 및 코어 i7/i5/i3에서 10 GB/s 이상 처리량, 구형 펜티엄 M에서 약 60 Mbit/s.
보안성
2000년 표준 확정 이래 암호학자들이 지속 분석 중. AES-128에 대한 이론적/측면 채널 공격 발표됨.
- 2009년 8라운드 AES-128 대상 알려진 키 공격(표준은 10라운드) - 상대적 경미한 위협
- 연관 키 공격 - 잘못 구현된 프로토콜만 위협
주요 위험: 측면 채널 공격 - 알고리즘 약점이 아닌 구현체 정보(전력 소비, 타이밍, 전자기 누설 등) 이용. 프로세서 메모리 캐시 상태 모니터링으로 AES-128 키 추출 사례 존재. 데이터 누출 경로 차단이나 누출 정보와 알고리즘 과정 분리 등으로 완화 가능.
잠재적 공격에도 불구하고 모든 AES 버전은 여전히 높은 보안성 유지. 제대로 구현된 AES는 현재 깨뜨릴 수 없음. 세계 최고 슈퍼컴퓨터도 128비트 AES 키 브루트포스에 800경 년 이상 소요. 256비트 키는 3.31×10⁵⁶ 연산 필요(우주 원자 수와 유사).
응용 사례
- 압축 도구: WinZip, RAR, UltraISO
- 디스크 암호화: BitLocker, VeraCrypt, FileVault 등
- 무선 보안: IEEE 802.11i(WPA2)가 AES-128 CCM 모드 사용
- 메신저: 페이스북 메신저, 시그널, 왓츠앱, 구글 알로 등 메시지 암호화에 AES 사용