새소식

반응형
밥벌이/정보 보호

해시 함수(Hash Function)

  • -
반응형
  • 개요
    • 임의 길이의 메시지를 일정 길이(120비트, 160비트 등)로 출력하는 함수
    • 함수가 단방향인 경우를 메시지 다이제스트라고 함
    • 메시지의 정확성이나 무결성을 중시하는 업무에 사용
    • 메시지의 무결성이나 사용자 인증을 사용하는 전자 서명에는 필수
         
  • 특성
    • 성능을 위해 계산 효율이 양호해야 함
    • 안정성을 위해 단방향성이어야 함
      • 해시 값 H로부터 h(M) = H되는 메시지 M을 찾는 것이 불가능
      • 주어진 입력에 대해 같은 출력을 내는 다른 값을 찾는 것이 계산상 불가능
    • 충동 회피성
      • 같은 출력을 내는 임의의 서로 다른 두 입력 메시지를 찾는 것이 계산상으로 불가능해야 함
      • 내부 부정 방지용
         
  • 해시 함수의 종류
    널리 사용되는 함수로는 128비트 다이제스트를 생성하는 MD5(Message Digest 5)와 160 비트 다이제스트를 생성하는 SHA(Secure Hash Algorithm), HAS(Hash Algorithm Standard)-160 등이 있음
    • MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년에 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안했다.
      1996년에 MD5의 설계상 결함이 발견되었다. 이것은 매우 치명적인 결함은 아니었지만, 암호학자들은 해시 용도로 SHA-1와 같이 다른 안전한 알고리즘을 사용할 것을 권장하기 시작했다. 2004년에는 더욱 심한 암호화 결함[1]이 발견되었고. 2006년에는 노트북 컴퓨터 한 대의 계산 능력으로 1분 내에 해시 충돌을 찾을 정도로 빠른 알고리즘이 발표[2]되기도 하였다. 현재 MD5 알고리즘을 보안 관련 용도로 쓰는 것은 권장하지 않으며, 심각한 보안 문제를 야기할 수도 있다. 2008년 12월에는 MD5의 결함을 이용해 SSL 인증서를 변조하는 것이 가능하다는 것이 발표되기도 했다
    • SHA(Secure Hash Algorithm, 안전한 해쉬 알고리즘) 함수들은 서로 관련된 암호학적 해쉬 함수들의 모음이다. 이들 함수는 미국 국가 안전 보장국(NSA)이 1993년에 처음으로 설계했으며 미국 국가 표준으로 지정되었다. SHA 함수 군에 속하는 최초의 함수는 공식적으로 SHA라고 불리지만, 나중에 설계된 함수들과 구별하기 위하여 SHA-0이라고도 불린다. 2년 후 SHA-0의 변형인 SHA-1이 발표되었으며, 그 후에 4종류의 변형, 즉 SHA-224, SHA-256, SHA-384, SHA-512가 더 발표되었다. 이들을 통칭해서 SHA-2라고 하기도 한다.
      SHA-1은 SHA 함수들 중 가장 많이 쓰이며, TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용되고 있다. SHA-1은 이전에 널리 사용되던 MD5를 대신해서 쓰이기도 한다. 혹자는 좀 더 중요한 기술에는 SHA-256이나 그 이상의 알고리즘을 사용할 것을 권장한다.
    • HAS-160 : 정보 처리 시스템 및 정보 통신망 환경에서 임의의 길이의 비트 열을 고정된 길이(160비트)의 출력 값인 해시 코드로 압축시키는 해시 알고리즘 표준. 해시 알고리즘은 데이터 무결성 및 메시지 인증 등에서 사용되는 함수로서 디지털 서명에서 송신자 외의 제3자에 의한 문서 위조를 방지하는 부인 방지 서비스를 제공하기 위한 필수적인 요구 조건이다. 해시 알고리즘은 크게 블록 암호 알고리즘과 전용 해시 알고리즘으로 나눌 수 있는데, HAS-160은 전용 해시 알고리즘을 이용한 것으로, 덧붙이기, 분할, 반복 연산의 과정을 거쳐 임의의 길이를 가지는 입력 메시지를 512비트의 블록 단위로 처리하여 160비트를 출력으로 낸다.
반응형

'밥벌이 > 정보 보호' 카테고리의 다른 글

일회용 패드(One Time Pad)  (0) 2010.08.13
TLS와 WTLS(Wireless Transport Layer Security)  (0) 2010.08.13
DRM(Digital Right Management)  (0) 2010.08.13
SSL(Secure Socket Layer)  (0) 2010.08.13
정보 보호 분류  (0) 2010.08.12
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.