반응형

Cryptographic hash function
임의 길이의 메시지와 고정된 길이의 output을 매핑함 (Message Digest)
특징
- 단방향 함수 : m을 H(m)으로 하는 것은 가능하지만, H(m)을 통해 m을 뽑아낼 순 없다.
종류
1. MD5
2. SHA-1
3. SHA-256
...
작동 방식
1. 512 bit만큼 padding을 진행한다. (16 words, 64 octets)
2. 메시지를 512bit 단위로 처리하여 Message Digest를 생성한다.
Birthday attack
Hash 함수의 bit수가 낮을수록 Hash 함수 결괏값이 같은 값이 나올 확률이 높다 -> H(m1) = H(m2)
[ Hash Collision ]
512bit는 되어야 함.
Message Authentication Code (MAC)
메시지 진위 여부를 체크하는 코드 (Secret key로 생성한 데이터 조각)
Integrity를 보장해준다.
작동 방식
송신자가 메시지와 생성한 코드(MAC)를 전송하고, 수신자는 동일한 대칭키로 해당 MAC을 검증하여 메시지의 무결성을 확인한다.

적용
- File integrity check
- OS image check
- Source code integrity
One Time Password
OTP는 사용자가 단 한 번만 사용할 수 있는 일회용 비밀번호이다. Hash function으로 OTP를 생성할 수 있다.
종류
- Time-synchronized
- 시간에 기반하여 OTP를 생성하는 방법
- 작동 방식
- 클라이언트와 서버가 serial number를 공유한다.
- 클라이언트가 time, serial number, key를 가지고 해시화하여 서버에 넘겨준다.
- 서버는 이를 받아서, 현재 시각 + serial number + key를 가지고 해시화하여 받은 메시지와 비교한다.
- OTP 유효 시간이 너무 길면 보안상 위험하고, 짧으면 로그인 실패 확률이 높다.

2. Hash Chain 방식
고객만 key를 아는게 아니라, 은행도 key를 알고 있는 것이 보안상 문제! 따라서 hash 함수값을 넘겨주자!
- 작동 방식
- 클라이언트가 Secret Key (s)를 생성한다.
- client가 f(f(f(...f(s)))) = fn(s)를 계산하여 server와 공유한다. 서버는 fn(s)를 저장한다.
- 이후 로그인 시에 클라이언트는 서버에게 fn-1(s)를 계산하여 넘겨준다.
- 서버는 f(fn-1(s)) = fn(s)를 계산하여 일치하는지 검증한다. 일치하면 서버는 fn-1(s)를 저장한다.

3. Challenge-response 방식
- 작동방식
- Client와 Server가 secret S를 공유한다.
- server는 random number (challenge)를 클라이언트에게 전송한다.
- client는 서버로 받은 challenge와 키를 이용하여 H(challenge|S)를 생성한다.
- server도 동일한 방식으로 H(challenge|S)를 생성하고, client가 보낸 값과 비교.
반응형
'Computer Science > 정보 보호와 시스템 보안' 카테고리의 다른 글
Chapter 6 - Security Protocol (TLS) (1) | 2024.10.24 |
---|---|
Chapter 5 - Cryptography (Applied Cryptography) (0) | 2024.10.24 |
Chapter 4 - Cryptography (Public key algorithm) (3) | 2024.10.24 |
Chapter 2 - Cryptography (Symmetric Key) (0) | 2024.10.24 |
Chapter 1 - Introduce (0) | 2024.10.24 |