보안기사/필기

기사자격증(알기사, 해시함수의 응용1)

3년안에 내집 마련 2019. 1. 15. 17:15
반응형

해시함수

1. 임의의 길이의 입력값을 고정된 해시값으로 출력

 

2. 다대일 대응 충돌이 일어날 수 밖에 없음 비둘기집 원리

비둘기집 원리 : n+1마리의 비둘기가 n개의 비둘기집에 들어갈 경우 적오도 한 비둘기집에는 두 마리의 비둘기가 들어가있다는 원리

 

3. 일방향성을 가짐 충돌 내성을 가질 필요가 있음

충돌 내성 : 충돌 발견이 어려운 성질

 

4. msg 값이 달라지면 해시 값도 달라짐

 

5. 해시함수의 보안 요구 사항

- 1. 프리이미지 저항성 2. 2 프리이지 저항성, 3. 충돌 저항성

- 프리이미지 저항성 : y값이 주어질 때 y = h(x)에 해당하는 x값을 찾기 어려워야한다.

- 2 프리이미지 저항성 : msg를 쉽게 위조할 수 없는 성질, 공격자가 x를 알고 있는 상태에서 h(x) = h'(x), x=x'일 때 x'를 찾기 어려워야 한다.

- 충돌 저항성 : 아무것도 주어지지 않을 때 h(x) = h'(x)일 때 (x,x')을 찾기 어려워야 한다.

 

6. 해시함수의 특성

1. 고속계산 - 성능의 조건

2. 약 일방향성 - y=h(x)에서 x를 찾는 것이 어려워야 한다.

3. 강 일방향성 - y= h(x) h(x')일 때 x !=x'를 찾는 것이 어려워야 한다.

4. 충돌 회피성 - y = h(x) = h(x')일 때 (x,x') 찾는 거이 어려워야 한다.

2,3,4는 안정성의 조건이고 2,3은 역함수 계산 방지를 위한 조건이고 4은 부인방지를 위한 조건이다.

 

7. 해시함수의 관계

- 충돌 저항성은 제 2프리이미지 저항성을 보장한다.

- 프리이미지 저항성과 제 2 프리이미지 저항성은 서로 보장하지 않는다.

- 충돌 저항성은 프리이미지 저항성을 보장하지 않는다.

 

 

8. 해시함수의 종류 - 키가 있는 해시함수, 키가 없는 해시함수

8-1. 키가 없는 해시함수 : 블록암호로 구성, 전용 해시함수, 모듈 연산기초 해시함수

8-1-1 전용해시함수 : SHA-1, HAVAL, RIPEMD

SHA-1, HAVAL-128,160, HAVAL = MD4를 기반으로 만들어졌다.

MD5 : 512비트의 입력값을 128비트의 값으로 출력

충돌 내성을 갖기에는 길이가 짧고, 생일 공격에 취약

생일공격 : 강한충돌내성(순서쌍(x,x')을 찾는공격을 막는 것)을 깨려는 공격

8-1-1-1 SHA 함수 : DSS에서 사용하기 위해 NIST에서 개발

SHA 함수는 SHA-1, SHA-2, SHA-3가 있다.

SHA-2 함수에는 SHA-224, 256,384,512가 있다.

SHA-1 함수와 SHA-2 함수 비교

구분

SHA-1

SHA-224

SHA-256

SHA-384

SHA-512

MD 길이

160

224

256

384

512

최대msg길이

264-1

264-1

264-1

2128-1

2128-1

블록길이

512

512

512

1024

1024

워드길이

32

32

32

64

64

단계

80

64

64

80

80

 

8-1-1-2 기타함수

- Tiger :SHA-1, MD5보다 속도가 빠른 함수, 64비트 시스템에서 수행하기 위해 함수 개발

- HAVAL : 1024비트의 블록을 128,160,192,224,256비트의 MD로 출력

- HAS-160 : 한국에서 개발한 해시함수로써 512bit의 입력값으로 160 bit 출력

8-1-1-3 키가 없는 해시함수들의 비교

항목

MD5

SHA-1

RIPEMD-160

Digest 길이

128

160

160

처리단위

512

512

512

단계수

64(16*4)

80(20*4)

160(20*4*2)

최대 msg 길이

무한

264-1

264-1

앤디언

리틀 앤디언

빅 앤디언

리틀 앤디언

 

8-1-2 모듈연산 기반 해시함수

- H/W, S/W에서 사용가능

- 속도가 느리고 안정성을 보장 할 수 없음

 

8-2 키를 사용하는 해시함수

- 키를 사용하는 해시함수는 msg 인증 기능을 가진 함수

- 함수 자체의 안정성과 키의 비밀성에 안정성을 두고 있다.

- 블록암호에 기반을 둔 메시지 인증 알고리즘은 CBC모드를 이용한다.

 

9. 암호학적으로 해시함수의 응용

1. 무결성 점검

- 메시지 또는 문서의 무결성을 보장하기 위해 해시함수를 사용한다.

- 새로운 msg 다이제스트와 이전 msg 다이제스트를 비교 하였을 때 값이 일치하면 원래 msg가 변경되지 않았다는 것을 알 수 있다.

 

2. S/W 변경여부 확인

- 일방향 해시함수를 이용해 HASH 값을 비교해서 S/W 변경여부를 확인한다.

3. 메시지 인증 코드(MAC)

- 키가 있는 해시함수에서 주로 사용

- , 수신자간에 정보 인증, 비밀키를 공유하기 위해 사용

4. 전자서명

 

10. 랜덤 오라클 모델

- 임의의 길이를 갖는 메시지 + 오라클 = MD

- 이미 다이제스트가 존재하는 메시지가 주어지면, 저장되어 있던 다이제스트를 제공

- 새로운 msg에는 새로운 다이제스트가 생성 모든 다이제스트는 독립적이어야 함

오라클이 다이제스트를 만들기 위해서는 공식이나 알고리즘을 이용하면 안된다.

- 랜덤 오라클의 공격난이도

1. 프리이미지, 2 프리이미지 공격 : 2n

2. 충돌 저항성 : 2n/2

 

11. 해시함수의 공격

- 무차별공격 : 약한 충돌을 깨기 위함으로써 모든 값을 다 대입해서 msg를 알아내기 위한 공격

- 일치블록 연쇄공격 : h(x)와 같은 해시값 x'를 대입해 사용

- 중간자 연쇄 공격 : 해시 중간값에 대한 충돌쌍을 찾는 공격(특정 포인트를 공격대상으로 한다.)

- 고정점 연쇄블럭 : 메시지 블로과 연쇄블럭 쌍을 얻게되면 연쇄변수가 발생하는 특정 지점에서 동등한 블록 xi를 메시지 중간에 삽입해도 전체 해시값이 변하지 않는 것을 이용한 공격

- 차분 연쇄공격

12. 일방향 해시함수로 해결할 수 없는 문제

- 일방향 해시함수로는 거짓행세를 검출하지 못한다. MAC전자서명으로 인증을 해야 한다.

반응형