Information Security/Info.Security

인증하기-HASH

petitCoding 2011. 5. 13. 10:22

인증하기- HASH

정보보안에서 처음 기본적으로 배우는 개념중 하나가 "인증" 이다.

A가 B에게 어떠한 정보를 보낼 때, 그 정보가 변경되지 않았는지(무결성),A가 B에게 보낸 것이 확실한지 등을 검사하기 위한 방법이 바로 "인증"이라 할 수 있다.
인증을 하기 위해서 HASH, MAC, HMAC 등 여러 가지 방법들이 사용되는데, 오늘은 그중 인증의 가장 기본적인 방식인 HASH에 대해 알아보려 한다.

Hash는 특정 키 값 없이 MD5나 SHA-1등의 알고리즘을 이용해 해시값을 생성하여 A가 보내고자 하는 메시지에 이 해시값을 붙여 B에게 전송하는 방법이다. 이 때 B는 메시지가 올바르게 왔는지 확인하기 위해 A가 보낸 데이터를 동일한 알고리즘으로 다시 해시하여 A가 붙인 해시값과 자신이 검사한 해시값이 일치하는지 검사한다. 다음 그림을 보면 이해가 쉽다.

1.
A의 전송 내용

 

  MESSAGE

 

MESSAGE를 HASH

 

  HASH값을 MESSAGE뒤에 부착

 

 MESSAGE

 HASH 값

 

A -->>>>전송-->>> B

 

2. B의 수신 내용

 

 MESSAGE

 HASH 값

 

  MESSAGE만 분리

 

MESSAGE를 HASH

 

 결과값과 위의HASH값을 비교

 

 

대표적으로 사용되는 HASH 알고리즘에는 MD5나 SHA-1이 있다.

MD5 (Message Digest Algorithm)
RFC 1321에 정의되어 있다. (바로가기)
일정길이의 메시지를 입력값으로 받아 128비트의 해시값을 출력값으로 돌려주는 알고리즘으로, 동일한 메시지에 대해서 오직 하나의 HASH값만을 생성한다는 특징이 있다.

SHA-1 (Secure Hash Algorithm)
RFC3714에 정의되어 있다. (바로가기)
SHA 중에서 가장 많이 쓰이는 알고리즘으로 TLS나 SSL, IPSec등의 보안 프로토콜에서 함께 사용되고 있다.
SHA-1은 160비트의 해시값을 출력한다.

반응형

'Information Security > Info.Security' 카테고리의 다른 글

CRLF Injection  (0) 2011.05.13
가상 사설망, VPN.  (0) 2011.05.13
대칭키 암호화  (0) 2011.05.13
네트워크 공격  (0) 2011.05.13
요즘 자주 이슈화 되는 DDoS 공격  (2) 2011.05.11