1. 암호화 해시 함수(cryptographic hash function)
해시 함수의 일종으로, 해시 값으로부터 원래의 입력값과의 관계를 찾기 어려운 성질을 가지는 경우를 의미한다.
2. 암호화 해시 함수의 성질
(1) 역상 저항성(프리이미지 저항성, 약 일방향성)
주어진 해시 값에 대해, 그 해시 값을 생성하는 입력값을 찾는 것이 계산상 어렵다. 즉, 제 1 역상 공격에 대해 안전해야 한다. 이 성질은 일방향함수와 연관되어 있다.
-> 해시함수 h와 y=h(M)이 있을 때 y=h(M')를 만족하는 M'을 찾기 어렵다.
(2) 제 2 역상 저항성(제2프리이미지 저항성, 강 일방향성, 약한 충돌 저항성)
입력 값에 대해, 그 입력의 해시 값을 바꾸지 않으면서 입력을 변경하는 것이 계산상 어렵다. 제 2 역상 공격에 대해 안전해야 한다. (즉, 메시지를 쉽게 위조할 수 없어야 한다.)
-> 해시함수 h와 y=h(M)이 있을 때, h(M)=h(M')를 만족하는 M'을 찾기 어렵다.
(3) 충돌 저항성 (강한 충돌 저항성)
해시 충돌에 대해 안전해야 한다. 같은 해시 값을 생성하는 두 개의 입력값을 찾는 것이 계산상 어려워야 한다.
-> 해시함수 h와 y=h(M)이 있을 때, M≠M'이지만 h(M)=h(M')인 M과 M'을 찾기 어렵다.
즉, 입력값과 해시 값에 대해서, 해시 값을 망가뜨리지 않으면서 입력값을 수정하는 공격에 대해 안전해야 한다. 이러한 성질을 가지는 해시 값은 원래 입력값을 의도적으로 손상시키지 않았는지에 대한 검증 장치로 사용할 수 있다.
순환 중복 검사(CRC)와 같은 몇몇 해시 함수는 암호 안전성에 필요한 저항성을 가지지 않으며, 우연적인 손상을 검출할 수는 있지만 의도적인 손상의 경우 검출되지 않도록 하는 것이 가능하기도 하다. 가령, 유선 동등 프라이버시(WEP)의 경우 암호화 해시 함수로 CRC를 사용하나, CRC의 암호학적 취약점을 이용한 암호공격이 가능하다는 것이 밝혀져 있다.
3. 용도
: 무결성 검증, 소프트웨어 변경 검출, 패스워드 암호화 등
부인방지는 불가능! -> 인증 필요
4. 해시함수 종류 정리
(1) MD (메시지 다이제스트)
MD2 -> MD4 -> MD5로 강화되었으나, 128비트의 다이제스트(출력 비트)는 너무 짧아 사용되지 않는다.
(2) SHA (Secure Hash Algorithm)
미국 국가안보국(NSA)에서 설계되었으며 미국 국가 표준으로 지정되었다.
최초의 함수는 SHA로 불리었으나 이후 설계된 함수와 구분하기 위해 SHA-0이라고도 불린다.
SHA-0 이후 SHA-1이 발표되었으며, 그 이후 4종류의 변형인 SHA-224, SHA-256, SHA-384, SHA-512가 발표되었다. 이들을 SHA-2라고도 한다.
SHA-1은 SHA 함수 중 가장 많이 쓰이고 있으나 짧은 출력 비트로 인해 공격이 발견되어 SHA-2를 사용할 것을 권고한다. 하지만 이후에도 SHA-2는 SHA-1과 같은 방법으로 공격될 것으로 보여서, 미국 국립표준기술연구소는 SHA-3를 공모하여 2015년 8월 5일 SHA-3 암호화 해시 함수 표준을 발표하였다.
(3) RIPEMD (RACE Integrity Primitives Evaluation Message Digest)
MD4를 기반으로 개발한 암호화 해시 알고리즘이다.
RIPEMD, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320 등 5가지 종류가 있다.
SHA 계열보다 많이 사용되고 있지는 않지만, 암호화폐에서 사용된다.
(4) HAS-160 (Hash Algorithm Standard)
한국정보진흥원이 개발한 암호화 해시 함수로, SHA-1을 기반으로 만들었다.
현재 해시 함수 안전성의 권고 기준인 112비트를 만족하지 않기 때문에 더 이상 사용하지 않는 것을 권고한다.
(5) LSH
2014년 국내에서 개발된 암호화 해시 함수로, 메시지 인증, 사용자 인증, 전자서명 등 다양한 암호 응용 분야에 활용 가능한 국가 표준이다.
다양한 SW 환경에서 국제 표준(SHA2/3) 대비 2배 이상의 성능을 가진다.
LSH-224, LSH-256, LSH-384, LSH-512가 있다.
5. 공격 방법
무차별 공격, 일치블록 연쇄공격, 중간자 연쇄공격, 고정점 연쇄공격, 차분 연쇄공격
6. 해시함수 관련 기타 개념
(1) 비둘기집 원리: n+1개의 물건을 n개의 상자에 넣을 때 적어도 어느 한 상자에는 두 개 이상의 물건이 들어 있다는 원리를 말한다.
(2) 생일 패러독스: N명 중 적어도 2명의 생일이 일치할 확률이 의외로 높음
참고자료:
https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%99%94_%ED%95%B4%EC%8B%9C_%ED%95%A8%EC%88%98
https://ko.wikipedia.org/wiki/MD5
https://ko.wikipedia.org/wiki/SHA
https://ko.wikipedia.org/wiki/SHA-3
http://wiki.hash.kr/index.php/RIPEMD
https://ko.wikipedia.org/wiki/HAS-160
https://seed.kisa.or.kr/kisa/algorithm/EgovHASInfo.do
https://ko.wikipedia.org/wiki/LSH_(%ED%95%B4%EC%8B%9C_%ED%95%A8%EC%88%98)
알기사 알기쉬운 정보보안기사&산업기사 필기편
'정보보안' 카테고리의 다른 글
MAC (메시지 인증 코드) (0) | 2020.09.23 |
---|---|
전자서명 (0) | 2020.09.23 |
공개키(비대칭키) 암호 방식 (0) | 2020.09.23 |
Diffie-Hellman 키 교환 (0) | 2020.09.23 |
블록 암호 알고리즘 정리 (0) | 2020.09.23 |