요약
- RFC 1319는 MD2를 임의 길이의 메시지를 128비트 지문, 즉 축약값으로 변환하는 함수로 기술한다.
- 이 RFC는 이를 전자 서명 응용을 위한 것으로 규정하고, 축약값 충돌 및 지정된 축약값 대상에 대한 당대의 추정치를 제시하며, 알고리즘이 추가 분석을 아직 요했다고 밝힌다.
- 축약값의 일치는 명명된 알고리즘과 바이트에 대한 계산 결과일 뿐이다. 그 자체로 서명, 신원, 키 보유 증명, 전송 기록, 수신 확인, 타임스탬프 또는 권한 부여 결정이 아니다.
작은 숫자는 큰 사건을 요약하지 않았다
축약값이 해결하는 문제는 우아하다. 길이가 고정되지 않은 메시지를 고정된 표현으로 비교하거나 다루는 것이다. RFC 1319는 MD2가 임의 길이의 메시지를 받아 128비트 결과를 산출한다고 말한다. 이 간결성은 유용하다. 그러나 그것이 결과를 바이트들의 전기를 만들어 주지는 않는다.
축약값이 이미 '이 바이트들이 이 값을 산출했다'는 의미를 가지려면 최소한 바이트들 또는 정확히 명명된 표현, 알고리즘, 계산한 구성 요소, 결과, 그리고 해석 맥락을 보존해야 한다. 같은 텍스트가 표시된다고 해서 같은 입력이 보장되지 않는다. 문자 인코딩, 줄바꿈, 전송 디코딩, 캡슐화, 정규화가 알고리즘에 제공되는 바이트열을 바꿀 수 있다. 입력 없이 보존된 값은 부재하는 바이트열에 대한 단정으로 남는다. 나중에 후보 바이트열을 비교하는 데 쓸 수는 있지만, 입력이나 그 경로를 재구성하지는 못한다.
여기서 '지문'이라는 말은 계산의 은유다. 메시지를 사람으로 바꾸지 않는다. RFC 1319는 신원 레지스트리도, 인증서도, 키 보유자도, 발신자도, 수신자도 정의하지 않는다. 익숙한 단어라는 이유로 이 모델에 그러한 행위자가 추가될 수는 없다.
MD2는 바이트 변환을 지칭했다
RFC는 값을 산출하는 데 필요한 처리를 기술한다. 결과 16바이트를 추출하기 전의 패딩, 체크섬, 48바이트 내부 버퍼가 그것이다. 이 세부 사항은 단지 구현의 문제가 아니다. 지문이 특정 입력과 특정 절차에 속한다는 사실을 상기시킨다.
따라서 문서의 예제들은 검증 벡터다. 명시된 입력에 대해 같은 결과를 재현하는 구현은 자신의 계산에 대한 근거를 가진다. 그러나 저자, 네트워크 전파, 수신에 대한 증명을 가지지는 않는다. 테스트 벡터는 함수를 검증할 뿐, 메시지의 역사를 검증하지 않는다.
이 한계는 어떤 시스템이 '같은 파일'을 가졌다고 말할 때도 드러난다. 같은 이름, 같은 렌더링, 같은 논리적 내용이 반드시 같은 바이트가 해시되었다는 뜻은 아니다. 계산이 봉투 대상이었는지, 추출된 페이로드 대상이었는지, 디코딩된 내용 대상이었는지, 정규화된 표현 대상이었는지를 명시해야 한다. 그렇지 않으면 두 독자가 같은 대상을 비교한다고 믿으면서 실제로는 서로 다른 두 계층을 비교할 수 있다.
기대된 저항성은 신원을 만들지 않았다
RFC 1319는 같은 축약값을 내는 두 메시지를 만들기 어렵게 하고, 미리 선택된 목표 값에 대한 메시지를 만들기 어렵게 하는 목표를 설명한다. 1992년의 추정치는 첫 문제에 대해 대략2^64연산, 두 번째에 대해2^128수준이었다. 같은 RFC는 MD2가 비교적 새로워 추가 분석이 필요하다고 명시한다.
이 문장들은 좁은 질문에 답한다. 기술된 알고리즘 아래에서 특정 메시지 치환에 어떤 난이도가 기대되는가? 그것은 '누가 메시지를 만들었는가?', '누가 값을 공개했는가?', '바이트들은 언제 유통되었는가?', '누가 결과를 수용했는가?'에 답하지 않는다. 출처를 알 수 없는 경로로 얻은 사본에 대해 값이 올바르게 계산될 수 있다. 공표된 값이 인증되지 않은 페이지에서 나올 수 있다. 후보는 값이 기록된 뒤에 만들어졌을 수 있다. 이런 역사 중 어느 것도 128비트에 인코딩되어 있지 않다.
충돌 저항성과 귀속은 서로 다른 문제를 다룬다. 전자는 특정 치환을 어렵게 만드는 것을 추구한다. 후자는 단정과 신원 사이의 독립적 연결, 즉 레지스트리, 키, 정책 또는 검증 절차를 요구한다. MD2는 비밀 키 연산을 정의하지 않는다. 따라서 그런 키의 보유를 증명할 수 없다. 동의, 부인 방지, 행위 권한을 산출하지 않는다.
RFC의 추정치를 시간을 초월한 보편적 판정으로 읽는 것도 똑같이 부정확할 것이다. 그 추정치는 명시적 경고와 함께 1992년 텍스트에 속한다. 역사 기사는 RFC가 다루지 않는 현재 환경에 대한 결론을 빌려오는 대신, 당시의 기대와 불확실성을 보존해야 한다.
서명 응용은 자신의 사실들을 추가했다
MD2가 전자 서명 응용을 위한 것이라는 말이 MD2가 서명한다는 뜻은 아니다. 그런 응용에서 축약값은 다른 연산의 입력이 될 수 있으며, 그 연산에는 자체 서명 알고리즘, 비밀 키, 생성된 서명, 공개 키, 검증, 그리고 키와 주장된 신원 사이의 연결 규칙이 있다.
이 순서가 조사를 보호한다. 먼저 정의된 바이트들이 MD2에 입력된다. 다음으로, 어떤 구성 요소가 별개의 스킴에 따라 서명할 수 있다. 다음으로, 검증자가 공개 키로 그 서명을 확인할 수 있다. 다음으로, 디렉터리나 신뢰 규칙이 이 키가 어느 이름, 어느 조직, 어느 권위를 대표하는지 설명할 수 있다. 마지막으로, 응용이 이 단정이 행위를 승인하기에 충분한지 판단한다. 전송과 제3자에 의한 수신은 완전히 별개의 사건으로 남을 수 있다.
혼란은 성급한 문장에서 들린다. '해시가 문서에 서명했다', '지문이 발신자를 증명한다', '다이제스트가 수신을 증명한다'. 각 문장은 계산으로 시작해 다른 레지스트리에서 결론을 빌려온다. 서명은 키와 연결된 단정을 추가할 수 있다. 그러나 키의 신원을 자동으로 대체하지는 않는다. 검증된 신원이 수신을 대체하지 않는다. 수신이 권한 부여 결정을 대체하지도 않는다.
일치는 한정된 비교로 남아야 했다
발신자가 사본을 보존하고 보관소가 다른 사본을 보존한다고 하자. 두 입력에 같은 MD2 절차를 적용해 같은 값이 나오면, 이 관찰은 유용하다. 이 입력들에 대해 계산이 일치했다는 것이다. 그러나 이 결과는 보관소가 그 사본을 이 발신자에게서 받았다는 것을 증명하지 않는다. 보관소는 다른 곳에서 얻었을 수 있고, 발신자는 사후에 만들었을 수 있으며, 이 시나리오들을 구분할 수 있는 데이터는 수집되지 않았을 수도 있다.
같은 추론은 다운로드 옆에 인쇄된 값에도 적용된다. 그 값은 후보 사본이 산출해야 할 값을 가리킨다. 그러나 그 값을 공개한 페이지를 자동으로 인증하지는 않는다. 별도 채널, 서명, 신뢰 레지스트리가 이 문제를 다룰 수 있지만, 축약값은 비교 대상으로 남는다.
따라서 올바른 보존은 복수적이다. 원시 바이트 또는 명시적으로 기술된 표현, 알고리즘 식별자, 계산된 값, 계산 주체와 계산 시점, 그리고 존재하는 경우 서명과 검증 기록, 그리고 키 신원의 근거, 전송 기록, 수신, 사용 결정. 이 요소들은 서로 혼합되지 않으면서 상호 뒷받침될 수 있다.
RFC의 침묵은 부정적 확인이 아니었다
RFC 1319는 활성 구현, 키 보유자, 인증서 정책, 시간 서비스, 네트워크 경로, 수신자를 지명하지 않는다. 이는 그런 데이터를 가진 환경이 없다는 증명이 아니다. 알고리즘 사양이 그 데이터의 출처가 아니라는 것만 증명한다.
축약값의 불일치에도 같은 절제가 필요하다. 불일치는 후보 입력과 기대 값이 명시된 계산 아래에서 맞지 않음을 가리킨다. 그 자체로 악의, 전송 장애, 저장 오류를 증명하지는 않는다. 입력이 디코딩, 정규화, 절단, 다르게 포장되거나 잘못 라벨링되었을 수 있다. 축약값은 비교 실패를 알릴 뿐이며, 원인을 설명하려면 표현과 경로의 기록이 필요하다.
따라서 RFC 1319의 강점은 그 좁음에 있다. 지문은 바이트 비교를 실행 가능하게 만든다. 그러나 동시에 서명, 신분증, 수신 확인, 정책 결정이기를 요구받는 순간 그 정밀성을 잃는다.
출처와 증거 한계
이 기사는RFC 1319,The MD2 Message-Digest Algorithm(1992년 4월)에 근거한다. 이 문서는 임의 길이 입력, 128비트 MD2 결과, 충돌 및 지정된 목표에 대한 난이도 기대, 서명 응용에서의 예정된 사용, 이후 분석에 대한 경고를 확립한다. 그러나 현재의 암호학적 안전성, 특정 구현, 서명, 서명자 신원, 키 보유, 인증서 상태, 신뢰할 수 있는 시간, 출처, 전송, 저장, 수신, 권한 부여, 부인 방지, 응용 결과는 확립하지 않는다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





