요약
- 1994년 12월의 RFC 1751은 128비트 암호키를 사람이 읽을 수 있게 적는 방법을 제안했다. S/Key의 고정된 영어 단어 2048개 목록을 이용해 64비트 절반마다 여섯 단어를 만들었다.
- 공통 단어 목록은 다른 구현이 같은 열두 단어를 같은 키로 되돌리게 했다. 문서에는 사람이 직접 기억하기 좋은 문장을 구성하면 추측하기 쉬운 키를 만들 수 있다는 경고도 실렸다.
비트를 읽는 눈은 기계의 눈이 아니었다
네트워크 장비는 긴 비트열을 정확히 비교한다. 운영자는 종이에 적힌 문자를 읽고, 말하고, 콘솔에 입력한다. 한 글자만 뒤바뀌어도 작업이 멈춘다. RFC 1751은 이 평범한 접점에서 출발했다. SNMPv2 보안 프로토콜은 128비트 비밀키가 쓰이는 인증의 한 예였다. McDonald가 겨냥한 것은 그 키를 사람이 다루는 방법이었다.
전례는 S/Key에 있었다. 64비트 값을 길이 한 글자에서 네 글자인 영어 단어 여섯 개로 표시했다. 사전에는 2048개 단어가 고정돼 있었다. 여섯 번의 선택은 66비트 공간을 제공해 64비트 값과 확인용 여유를 담았다. 붙어 있는 16진수보다 띄어 쓴 짧은 단어는 눈으로 대조하고 입으로 읽기 쉽다. 프로그램은 그 단어들을 다시 원래 값으로 변환한다.
RFC 1751은 기존 방법을 두 번 실행했다. key2eng는 128비트 키를 앞뒤 64비트로 나눠 각각 여섯 단어로 바꾼다. eng2key는 열두 단어에서 다시 원래 키를 만든다. 문서의 예시는 “RASH BUSH MILK LOOK BAD BRIM”으로 시작한다. 문장으로는 어색하기 그지없다. 하지만 그 어색함이 키를 고른 뒤 표현으로 변환했다는 사실을 드러낸다. 사람이 먼저 멋진 문구를 고른 결과가 아니다.
사전을 하나로 고정한 이유는 구현 간 교환이었다. 언어마다 다른 목록을 쓰면 같은 비트도 다른 단어가 되고, 프로그램 사이에서 읽기와 복원이 어긋난다. 이미 쓰이던 목록은 ISO-646의 변하지 않는 문자 부분을 사용했고 설치된 이용 사례도 있었다. 한국어를 쓰는 운영자도 짧은 영어 단어를 받는다. 현지어보다 양쪽 기계의 같은 표가 우선한 설계였다.
안전성 문제는 순서를 거꾸로 할 때 나타난다. 추측하기 어려운 값을 먼저 만들고 단어로 인쇄하면, 단어는 운반용 표면이다. 사람이 먼저 기억하기 쉬운 문장을 만들고 그것을 키로 쓰면, 비밀의 출처가 인간의 취향으로 좁아진다. RFC는 문장처럼 생긴 단어열을 대상으로 하는 사전 공격을 경고했다. 열두 단어라는 같은 외형이 키를 고른 방식까지 같게 만들지는 않는다.
McDonald는 참조 변환 코드와 단어 목록을 문서에 실었다. 구현자들은 같은 128비트가 같은 열두 단어로 나오고, 다시 정확히 같은 128비트로 돌아가는지 확인할 수 있었다. 사람에게 친절한 표현이 기계 사이에서도 일치해야 하는 것이다. 단어가 편하다는 이유로 서로 다른 값을 읽어 버리면, 오류를 줄이려 만든 표기가 새로운 오류의 원인이 된다.
이 RFC가 만든 것은 비밀을 고르는 마법이 아니라 일하기 좋은 손잡이다. 장비는 긴 키를 사용하고 사람은 짧은 단어를 옮긴다. 공통 사전이 둘 사이의 왕복을 보장한다. 키를 정하는 일은 단어를 보여 주기 전 단계에 남았다. 손잡이는 들기 편해야 하지만, 들고 있는 자물쇠의 비밀까지 대신 정해 주지는 않는다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





