개인정보 보호 및 보안
6분

일회용 패드란? 암호화와 로그인 OTP의 차이

일회용 패드의 XOR 연산과 새로운 무작위 키, 완전 비밀성의 의미, 키 재사용의 위험, 로그인 OTP와의 차이를 알아보세요.

LOCK.PUB
게시일:
일회용 패드란? 암호화와 로그인 OTP의 차이

일회용 패드(one-time pad)는 메시지와 길이가 같은 비밀 무작위 키로 메시지를 암호화하는 방식입니다. 암호화할 때마다 새로운 패드 부분을 사용하며, 엄격한 조건을 충족하면 공격자가 암호문을 보더라도 메시지에 관한 추가 정보를 얻지 못합니다.

OTP라는 약어는 로그인할 때 쓰는 일회용 비밀번호나 인증 코드를 뜻하기도 합니다. 암호화용 일회용 패드, 로그인 OTP, 한 번만 열리는 링크는 서로 다른 문제를 해결합니다.

진정한 일회용 패드의 조건

이진 방식으로 n비트 메시지를 암호화하려면 새로운 비밀 패드 n비트가 필요합니다.

  • 패드를 균등하게 뽑아야 합니다. 가능한 모든 n비트 키의 선택 확률이 같아야 합니다.
  • 메시지 및 다른 패드 부분과 독립적으로 생성해야 합니다.
  • 관찰자에게 패드가 알려지지 않도록 해야 합니다.
  • 각 패드 부분은 메시지 하나를 암호화하는 데만 사용해야 합니다. 다른 암호화에 겹치는 부분을 재사용하면 안 됩니다.

이 조건들은 Mike Rosulek의 일회용 패드 장에서 설명하는 보안 증명의 전제입니다. 외우기 쉬운 문구나 반복되는 키는 이 조건을 충족하지 못합니다.

4비트 XOR 예시

⊕로 표시하는 XOR는 두 비트가 같으면 0, 다르면 1을 만듭니다. 메시지와 패드를 결합해 암호화하고, 같은 패드를 한 번 더 적용해 복호화합니다.

단계 연산 결과
암호화 1010 ⊕ 0110 1100
복호화 1100 ⊕ 0110 1010

여기서 메시지는 1010, 패드는 0110, 암호문은 1100입니다. XOR를 반복하면 패드가 상쇄됩니다. 이는 수학적 원리를 보여 주는 예시이며, 실제 메시지 전송에는 안전한 키 관리와 인증도 필요합니다.

완전 비밀성이 실제로 뜻하는 것

Claude Shannon의 원 논문 10절에서 완전 비밀성은 관찰자가 암호문을 알게 된 뒤에도 각 메시지에 부여하는 확률이 달라지지 않는다는 뜻입니다.

모든 메시지의 확률이 같아야 한다는 뜻은 아닙니다. 길이가 같은 어떤 메시지가 원래 더 그럴듯했다면, 암호문을 본 뒤에도 더 그럴듯할 수 있습니다. 암호문이 추가 증거를 제공하지 않는다는 의미입니다. 일반적인 고정 길이 모델은 통신 시점, 참여자, 메시지 길이까지 숨기지는 않습니다.

패드 재사용이 보장을 깨뜨리는 이유

길이가 같은 두 메시지에 동일한 패드 K를 쓰면 C1 = M1 ⊕ K, C2 = M2 ⊕ K가 됩니다. 두 암호문을 결합하면 K가 상쇄됩니다.

C1 ⊕ C2 = M1 ⊕ M2

공격자는 두 메시지 사이의 관계를 알게 됩니다. 이것만으로 두 원문 전체가 자동으로 드러나는 것은 아닙니다. 하지만 원문의 일부를 알고 있다면 해당 패드 부분과 다른 메시지의 대응 부분을 알아낼 수 있습니다. 예측 가능한 문서 구조도 추측을 검증하는 데 도움이 될 수 있습니다.

수식만으로 해결되지 않는 실무상의 한계

양쪽은 충분한 양의 비밀 패드를 미리 공유해야 합니다. 저장된 패드를 보호하고, 어느 위치까지 사용했는지 동기화하며, 사용한 부분이 다시 쓰이지 않도록 관리해야 합니다. 전송하는 정보량이 늘수록 배포해야 할 키도 늘어나며, XOR 연산 자체는 이 문제를 해결하지 못합니다.

패드만으로는 무결성이나 발신자 인증을 제공하지 않습니다. 암호문의 한 비트를 바꾸면 복호화된 메시지의 대응 비트도 바뀌지만, 이를 알리는 경고는 내장되어 있지 않습니다. 기밀성만으로는 누가 보냈는지, 메시지가 변조되었는지 확인할 수 없습니다.

일회용 패드, 로그인 OTP, 1회 열람 링크 비교

용어 목적 ‘일회용’의 의미
일회용 패드 메시지 내용 암호화 패드 부분을 한 번의 암호화에만 사용
로그인 OTP 인증 수단을 소지했는지 확인 생성된 코드를 유효 기간 안에 한 번만 수락
1회 열람 링크 서비스를 통한 접근 제한 비밀번호로 한 번 성공적으로 열면 새로운 열람 차단

NIST 인증 수단 지침 3.1.4절은 인증 수단의 비밀값과 시간값 또는 카운터를 이용해 만드는 로그인 OTP를 설명합니다. 이 코드는 인증에 쓰이며 메시지를 암호화하는 패드는 아닙니다.

LOCK.PUB과의 관계

LOCK.PUB의 One-Time Secret은 접근 정책을 적용하는 도구입니다. 일회용 패드를 구현한 것이 아니며, 서버가 메모 평문을 처리하므로 종단간 암호화나 영지식 방식도 아닙니다. 올바른 비밀번호로 내용을 한 번 표시하면 새로운 열람을 차단하지만, 저장된 내용이 즉시 삭제되거나 다운로드, 스크린샷 등 이미 만든 사본이 회수되지는 않습니다.

실제 공유 방법은 비밀 메모 가이드를 참고하세요. 텍스트 암호화 가이드에서는 텍스트를 보호할 때 살펴볼 사항을 설명합니다.

자주 묻는 질문

일회용 패드는 절대 해독할 수 없나요?

이상적인 방식은 전제 조건 아래에서 완전 비밀성을 제공합니다. 패드 노출, 부분 재사용, 단말기 침해, 변조 문제는 별도로 고려해야 합니다.

짧은 시드로 진정한 패드를 만들 수 있나요?

안전한 의사난수 생성기는 짧은 시드를 긴 마스크로 확장하고, 특정 가정 아래 계산적 보안을 제공할 수 있습니다. 하지만 출력이 가능한 모든 긴 비트열에 균등하게 분포하지는 않으므로 일회용 패드의 완전 비밀성은 제공하지 않습니다.

‘일회용’이면 메시지가 사라진다는 뜻인가요?

패드에서는 키의 사용 방식을, 링크에서는 접근 방식을 뜻합니다. 이 표현만으로 삭제가 보장되거나 누군가 이미 만든 사본이 없어지는 것은 아닙니다.

메모 생성

메모 생성

관련 키워드

일회용 패드
원타임 패드란
일회용 패드와 OTP 차이
일회용 패드란? 암호화와 로그인 OTP의 차이 | LOCK.PUB Blog