단방향 해싱 알고리즘의 기초 특성

  1. 단방향 해싱 알고리즘은 입력으로 이진 데이터들의 흐름을 받는다. 그 데이터는 다음 종류 중 하나일 수 있다: 암호, 파일, 하드디스크에 저장된 이미지, 네트워크의 패킷, 디지털 녹음으로부터 얻은 0과 1의 값들. 혹은 그냥 연속적인 디지털 입력 값.
  2. 이 알고리즘은 결과물로 입력받은 이진 데이터들을 대표하는 깔끔한 형태의 메시지를 생산한다.
  3. 생산된 결과물만 가지고 입력받은 이진 데이터들을 결정할 수는 없다. 즉, 결과물만 가지고 원래의 이진 데이터 흐름을 복원하는 것은 불가능하다.
  4. 어떤 임의의 결과물을 생산해내는 이진 데이터들의 입력값을 만드는 것은 불가능하다.
  5. 이진 데이터의 단 하나의 비트만 바꾸더라도 유일한 결과의 메시지가 생산된다.
  6. 임의의 어떤 두 이진 데이터는 같은 결과를 만들어낼 수 없다.

잘 알려진 암호화 해싱 알고리즘

이미 많은 알고리즘들이 깔끔한 형태의 메시지를 생산한다. 다음은 이미 잘 알려진 유명한 알고리즘들의 예이다.

알고리즘 창시자 길이(비트) 관련 표준안
MD5 Ronald Rivest 128 RFC 1321
SHA-1 NSA and published by NIST 160 FIPS Pub 180
SHA-2 NSA and published by NIST 224
256
384
512
FIPS Pub 180-2
FIPS Pub 180-3
FIPS PUB 180-4
RIPEMD-160 Hans Dobbertin 160 Open Academic Community
SHA-3 Guido Bertoni, Joan Daemen, Michael Peeters and Gilles Van Assche 224, 256, 384, 512 FIPS-180-5

단방향 해싱 알고리즘의 단점은 무엇인가?

MD5 알고리즘은 오늘날도 쓰이고 있고, 많은 어플리케이션에서 ‘속도, 편의성, 호환성’에 맞춰 자신들에게 맞는 알고리즘을 선택하여 단방향 해싱 알고리즘을 사용한다. MD5 알고리즘의 해킹 위험과 충돌의 가능성이 늘어남에 따라, 많은 단체들은 MD5의 사용을 포기하고 SHA-2 알고리즘으로 옮겨가는 추세이다 (256 비트나 512 비트가 가장 많이 사용된다). SHA-1은 MD5 알고리즘과 같은 취약점을 가져서 사용되지 않는다.
 SHA-2로부터 SHA-3으로의 이전에 대한 고려는 아직까진 미래의 일이며, 넓게 사용되기까지 몇 년은 더 기다려야 할 듯 하다. SHA-3은 하드웨어의 성능 향상을 위하여 기존과는 완전히 다르게 디자인되었다 (속도나 파워 소모적 측면). 따라서 임베디드 환경이나 모바일 기기에 적합할 것이다.


단방향 해싱 알고리즘이 포렌식에서 최적으로 사용된 경우는?

  • 증거 보존: 디지털 데이터를 수집한 경우 (예를 들자면 범죄 현장에서 용의자의 디스크 복제본을 만든 경우), 모든 내용들, 즉 모든 이진 비트들은 오직 하나의 유일한 해싱 값을 만들어낸다. 만일 단방향 해싱 알고리즘을 계산한 결과값이 원래의 값과 같다면, 증거물이 수정되지 않았음을 증명할 수 있다. 이것은 당연히 원래의 계산된 해시 값이 안전하게 보존되었음을 전제로 한다.
  • 검색: 단방향 해싱 값은 알려진 파일 객체들을 검색하는데에 사용되어져왔다.
  • 블랙 리스트: 검색과 같이, 악의적 목적 파일들의 리스트를 작성하여 이미 잘 알려진 악성 코드들이나 사이버 무기 등의 해시 리스트를 작성하여 검출해 내는 것이 가능하다.
  • 화이트 리스트
  • 변화 감지: 파일을 다운로드 받는 경우, 해당 파일이 도중에 패킷이 손실되거나 변조되지 않고 원본과 일치하는지 등을 검사하는 데에 사용된다. (md5sum)