본문으로 건너뛰기

형식 검증된 AES-XTS: s2n-bignum에 합류한 최초의 AES 알고리즘

AWS 연구진이 저장 데이터 암호화 표준인 AES-XTS의 Arm64 어셈블리 구현을 HOL Light로 수학적 무결성을 증명하고 s2n-bignum 라이브러리에 통합했다.

섹션별 상세

01
AES-XTS는 디스크 및 데이터베이스와 같은 저장 데이터 보호를 위한 표준 암호화 모드로, 128비트 블록 단위 처리와 가변 길이 대응을 위한 암호문 훔치기 기법을 사용한다.
02
기존 Arm64 어셈블리 구현은 성능 최적화를 위해 5배 루프 언롤링과 복잡한 포인터 조작을 포함하고 있어 수동 검토만으로는 보안 결함이 없음을 보장하기 어려웠다.
03
연구팀은 정형 검증을 용이하게 하기 위해 루프 구조를 단순화하고 모든 라운드 키를 레지스터에 상주시키는 방식으로 코드를 재설계하여 제어 흐름을 명확하게 개선했다.
04
SLOTHY 슈퍼옵티마이저를 활용해 명령어를 재배치함으로써 AWS Graviton 프로세서에서 성능을 유지하거나 소폭 향상시켰으며, 특히 최신 비순차적 실행 파이프라인에 최적화했다.
05
HOL Light 상호작용형 정리 증명기를 사용하여 어셈블리 수준에서 IEEE 1619 표준 명세와 실제 구현이 일치함을 수학적으로 증명했으며, 이는 s2n-bignum 라이브러리 내 최대 규모의 증명 기록이다.
06
검증 과정에는 루프 불변량 설정과 기호 시뮬레이션이 사용되었으며, 이를 통해 모든 가능한 입력 값에 대해 버퍼 오버리드와 같은 오류가 없음을 보장한다.

용어 해설

AES-XTS
데이터 저장 장치 암호화를 위한 블록 암호화 모드이다. 위치 기반 트윅(Tweak)과 암호문 훔치기 기법을 사용하여 데이터 크기를 유지하면서도 동일한 데이터가 다른 위치에서 다른 암호문으로 생성되도록 보장한다.
정형 검증(Formal Verification)
시스템이나 알고리즘이 특정 수학적 명세를 충족함을 논리적으로 증명하는 과정이다. 단순한 테스트와 달리 모든 가능한 입력 값에 대해 오류가 없음을 수학적으로 보장하여 보안 결함을 원천 차단한다.
HOL Light
고차 논리(Higher-Order Logic)를 기반으로 하는 상호작용형 정리 증명기이다. 매우 작은 신뢰 커널을 가지고 있어 증명 과정의 오류 가능성을 최소화하며, 복잡한 암호화 알고리즘의 어셈블리 수준 검증에 사용된다.
암호문 훔치기(Ciphertext Stealing)
마지막 데이터 블록이 표준 크기보다 작을 때 이전 블록의 일부를 활용하여 패딩 없이 암호화하는 기법이다. 암호문 크기를 평문과 동일하게 유지해야 하는 디스크 암호화 환경에서 필수적이다.
루프 불변량(Loop Invariant)
프로그램의 루프가 실행되는 동안 항상 참으로 유지되는 수학적 성질이다. 반복적인 연산이 포함된 알고리즘의 정확성을 정형 검증할 때 루프의 시작과 끝에서 상태가 올바름을 증명하는 핵심 도구이다.
슈퍼옵티마이저(Superoptimizer)
주어진 기능을 수행하는 가장 효율적인 명령어 시퀀스를 찾기 위해 모든 가능성을 탐색하거나 제약 조건 해결사를 사용하는 도구이다. 이 글에서는 Arm 코드를 최적화하는 SLOTHY가 사용되었다.

기술

  • HOL Light
  • SLOTHY
  • s2n-bignum
  • AES-256-XTS
  • Arm64

활용 사례

  • EBS 볼륨 암호화
  • Nitro 카드 보안
  • DynamoDB 데이터 보호

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 21.수집 2026. 03. 21.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.