Prove(증명)과 Verify(검증)
- 증명 : 송신자가 수신자에게 메세지를 인증 받는 행위
- 검증 : 수신자가 송신자의 메세지를 검사하는 행위
- Alice가 Bob에게 메시지를 보내고, Bob이 Alice의 메시지를 검사한다고 하자.
- Alice는 Bob에게 메시지가 변하지 않았다는 것을 "증명"하게 되며, Alice를 증명자 (Prover) 라고 부른다.
- Bob은 Alice가 보낸 메시지가 변하지 않았다는 것을 "검증"하게 되며, Bob을 검증자 (Verifier) 라고 부른다
메세지 인증 코드 (MAC)
- 해시 함수 사용
- 입력 : 메세지, 공유하는 키
- 출력 : 고정 비트 길이의 코드
- 프로세스
- Alice와 Bob 공유하고 있는 키 K와 해시 함수 H()가 있다고 하자
- Alice가 Bob에게 메시지 M을 보낼 때, MAC ← H (K||M)연산을 수행한다
- Alice가 Bob에게 M과 MAC을 보낸다
- Bob H (K||M)을 계산하여 MAC과 값이 같은지 비교해본다
HMAC
- MAC보다 더 뛰어난 보안성을 가진 메세지 인증 방법 필요
- 설계 목표
- 암호 알고리즘을 사용하면 속도가 느려짐 → 해시 함수만 이용해 기술 구현
- 해시 함수는 시중에 나와 있는 것을 그대로
- 사용하던 해시 함수에 보안 문제가 있어서 바꾸어야 할 경우를 대비하여 해시 함수 변경이 용이
MAC 운영에서의 추가 이슈
- MAC은 대칭키를 사용하기 때문에 키를 어떻게 공유할 것인가가 문제
- 키 배송 문제의 해결 방법
- 공개 키 암호
- Diffie-Hellman 키 교환
- 키 배포 센터
- 키를 안전한 방법으로 별도로 보내기
- 인증 문제는 해결되었지만 재전송 공격의 위험이 있음
MAC의 사용 예시
- SWIFT : 은행 사이
- IPSec : IP에 보안 기능 추가
- SSL/TLS : 안전한 웹 사용을 위해
MAC에서 발생 가능한 공격 - Reply Attack
- MAC은 메세지와 키가 입력으로 들어가며 인증할 때도 메세지와 키만을 이용
- 누가 보냈는지 확인하지 않았는데 이로 인해 Reply attack이 발생 가능
Reply Attack을 방지하기 위한 방법
- Sequence Number 이용
- MAC에 송/수신자에 동기화 되어 있는 번호를 추가 입력하여 서로 전송
- Timestamp 이용
- 위 Sequence number가 들어갈 자리에 현재 시각과 관련된 값인 Timestamp 값을 넣는다
- 정해진 시간대에 M||h가 유효하므로 공격자가 재전송 공격을 수행하는 것이 거의 불가능
- 그러나 공격자가 그 시간대 내에 공격을 수행하면 성공 가능
- Challenge and Response 방식
- 비표 이용 방식
- 문제를 내면 문제에 대한 답 생성
- Alice가 Bob에게 메세지를 보내기 전에 Bob이 난수R을 생성하여 Alice 전송
- Alice는 MAC을 계산할 때 난수도 같이 입력하여 계산
- 공격자가 Alice가 보낸 메세지를 도청해서 재사용한다 해도 Bob은 새로운 난수를 보내줄 것이기 때문에 인증 실패
- 이 난수를 Challenge, 또는 비표(Nonce)
- 난수가 challenge, h가 response
MAC의 한계
- 제 3자에게 증명하기
- 공유키를 가진 사람만이 메세지 검증 가능
- 그 외의 사람들은 메세지 검증 불가능
- 부인 방지 불가능
- Alice가 제 3자에게 자신이 보낸 메세지가 아니라고 부인할 수 있음
- 위 문제점들은 디지털 서명으로 보완 가능
'Computer Science > Network Security' 카테고리의 다른 글
[CS][알기 쉬운 정보보호개론 3판] Chapter11. 인증서 (0) | 2023.12.06 |
---|---|
[CS][알기 쉬운 정보보호개론 3판] Chapter10. 디지털 서명 (0) | 2023.12.06 |
[CS][알기 쉬운 정보보호개론 3판] Chapter08. 일방향 해시함수 (0) | 2023.12.06 |
[CS][알기 쉬운 정보보호개론 3판] Chapter07. 하이브리드 암호 시스템 (1) | 2023.10.17 |
[CS][알기 쉬운 정보보호개론 3판] Chapter06. 공개키 암호 (2) | 2023.10.17 |