본문으로 건너뛰기

AES-256 암호화, 쉽게 설명

거의 모든 앱이 AES-256을 내세웁니다. 정말 중요한 질문은 키가 어디에 있느냐입니다.

2 분 분량최종 검토

요약

AES는 NIST가 발표한 암호화 표준이고, AES-256은 256비트 키를 쓰는 버전입니다. 경우의 수가 너무 많아 전부 시도해 볼 수 없습니다. GCM은 AES를 쓰는 방식 중 하나로, 변조까지 감지합니다. 알고리즘이 이렇게 강력하기 때문에, 앱의 실제 보안은 키 관리에 달려 있습니다. 누가 키를 갖고, 어디에 저장하며, 무엇으로 여느냐입니다.

핵심 정리

  • AES-256: NIST 표준, 128비트 블록, 256비트 키.
  • GCM은 무결성 검사를 더합니다. 변조된 데이터는 복호화되지 않습니다.
  • 키를 허술하게 관리하면 강력한 암호도 아무것도 지키지 못합니다.

AES란

AES(Advanced Encryption Standard)는 미국 국립표준기술연구소(NIST)가 2000년에 선정하고 FIPS 197로 규정한 블록 암호입니다. 비밀 키를 써서 데이터를 128비트 블록 단위로 변환합니다. 표준에는 AES-128, AES-192, AES-256의 세 버전이 있으며, 숫자는 키의 비트 길이입니다.

AES는 당신의 iPhone을 포함해 어디에나 있습니다. 암호를 설정하면 데이터 보호가 켜지고, iPhone의 데이터가 256비트 AES로 암호화됩니다.

256비트면 충분한 이유

256비트 키는 2²⁵⁶가지 값을 가질 수 있습니다. 전부 시도하는 것은 컴퓨터가 빨라진다고 해결될 문제가 아니라, 실제로 할 수 있는 일의 범위를 아득히 넘어섭니다. 그래서 잘 만든 시스템에 대한 실제 공격은 암호를 뚫는 대신 우회합니다. 키, 키를 여는 암호, 또는 복호화된 동안의 데이터를 노립니다.

GCM이 더하는 것

암호만으로는 데이터를 숨길 수는 있어도 누군가 바꿨는지는 알 수 없습니다. NIST SP 800-38D에 규정된 GCM(Galois/Counter Mode)은 인증된 암호화입니다. 암호화된 데이터와 함께 태그를 만들어, 데이터나 태그가 바뀌었다면 손상되거나 조작된 내용을 내놓는 대신 복호화가 실패합니다.

GCM에는 엄격한 규칙이 하나 있습니다. 매번 암호화를 시작할 때 쓰는 값, 즉 논스나 IV는 같은 키로 절대 반복되면 안 됩니다. 신중한 구현은 매번 새 값을 만듭니다.

진짜 질문은 키 관리

'AES-256'은 자물쇠가 튼튼하다는 것만 알려 줄 뿐, 키를 어디에 두는지는 아무것도 말해 주지 않습니다. 앱에 대해 훨씬 많은 것을 알려 주는 질문은 다음과 같습니다.

  • 누가 키를 갖고 있나요? 회사가 이메일로 접근을 재설정해 줄 수 있다면, 그 회사나 그 회사를 침해한 누군가가 당신의 데이터에 닿을 수 있습니다.
  • 어디에 저장되나요? 데이터 옆에 저장된 키나 짧은 PIN에서 만든 키는 약점이 됩니다.
  • 무엇으로 여나요? 기기의 보안 하드웨어와 당신만 아는 비밀로 보호된 키는 공격하기가 훨씬 어렵습니다.
  • 비밀을 잊으면요? 정직한 답에는 고객 지원 요청이 아니라 당신이 보관하는 복구 키가 들어 있습니다.

각 파일

고유한 AES-256-GCM 키

금고 키

모든 파일 키를 감쌈

Secure Enclave

내 패턴으로 열림

파일마다 고유한 키가 있습니다. 금고 키가 이 키들을 모두 감싸며, 이 금고 키는 Secure Enclave 안에서 내 패턴으로만 풀 수 있습니다.

Latent의 적용 방식

Latent는 파일마다 고유한 AES-256-GCM 키로 암호화합니다. 이 키들은 금고 키로 감싸지고, 금고 키는 iPhone의 Secure Enclave에 있는 키로 보호되어 당신의 패턴이나 암호로 잠금 해제됩니다. 금고가 잠기면 키는 메모리에서 지워집니다. 다른 누구도 사본을 갖고 있지 않습니다. 9단어 복구 문구가 유일한 여분이며, 그것은 당신만 갖고 있습니다.

출처

  1. NIST — FIPS 197, Advanced Encryption Standard (AES)
  2. NIST — SP 800-38D, Galois/Counter Mode (GCM) and GMAC
  3. Apple — Set a passcode on iPhone

당신의 것은 당신만의 것으로.

자유롭게 써 보고, 자유롭게 떠나세요.