반응형
메시지 인증 코드
- 메시지의 정당성을 검증하기 위해 메시지와 함께 전송되는 값을 말한다.
- 데이터가 변하지 않았다는 것을 증명하기 위해 원문을 사용해 MAC값을 생성한다.
원문에 해당하는 MAC값은 하나밖에 없으며, 원문이 변조되면 MAC값 또한 바뀌게 된다. - 송신자는 데이터와 해당 데이터의 MAC값을 함께 보내며 수신자는 이를 확인해 변조 여부를 확인한다.
MAC값 또한 변조될 수 있기 때문에 MAC값은 암호화하여 전송한다. - MAC는 데이터와 송/수신자가 공유하는 키 2개의 입력으로 고정 bit 길이로 만들어진다.
- MAC는 블록 암호나 해시 함수에 기반을 두기 때문에 전자 서명보다 빠르다.
- MAC는 송/수신자 간 키를 공유할 필요가 있으며, 키 배송 문제가 발생한다.
변경 감지 코드(MDC, Modification Detection Code)와 메시지 인증 코드
- MDC는 데이터의 무결성을 보장하는 기술이다. 수신자는 받은 데이터로부터 새로운 MDC를 생성하여 송신자에게 받은 MDC와 비교한다. 이 두 값이 동일하다면 해당 메시지는 변경되지 않았다는 것이다.
- MDC의 문제점은 무결성을 증명할 수는 있지만 누가 보냈는지에 대한 메시지의 출원지 인증이 불가능하다는 점이다. 해당 문제를 해결하기 위해서는 MAC를 사용해야 한다.
- MAC는 무결성은 물론이고 올바른 송신자에게 온 것을 인증한다. MDC와 MAC의 차이는 송신자와 수신자 간의 비밀 값이 포함된다는 것이다.
MAC의 종류
축소 MAC
- 최종 MAC을 생성하기 위해 두 단계의 해시 함수를 거친다.
- 키와 메시지로 1차 다이제스트를 생성하고, 키와 1차 다이제스트를 사용해 최종 다이제스트를 생성한다.
HMAC(Hash-based MAC)
- SHA와 같은 일방향 해시함수를 이용하여 MAC를 구성하는 방법이다.
- SHA 뿐만 아니라 다른 강한 일방향 해시 함수라면 뭐든지 HMAC에 이용할 수 있다.
CBC-MAC(Cipher Block Chaining MAC)
- 블록 암호 운용 방식 중 하나인 CBC모드와 유사한 방법이다.
- 대칭 키 암호를 N번 사용해서 N개의 평문 블록에서 하나의 MAC을 생성하는 방법이다.'
- HMAC과 달리 해시 함수를 사용하지 않는다
CMAC(Cipher-based MAC)
- CBC-MAC의 보안 논점을 해결하기 위해 만들어진 방식이다.
- CBC-MAC과 같은 종류의 데이터 인증과 무결성을 제공하지만, 수학적으로는 보다 안전하다.
CCM(Counter with CBC-MAC)
- CTR과 CBC-MAC을 통합한 방식으로 동일한 키의 사용으로 기밀성과 무결성(인증)을 보장한다.
- CCM의 핵심적인 알고리즘 구성요소는 AES, CTR 모드, CBC-MAC이다.
- NIST에 의하여 IEEE802.11 WiFi 무선 근거리 통신망의 보안 요구사항을 지원하기 위하여 표준화되었다. 3
GCM(Galois/Counter)모드
- CTR 모드에 인증 기능을 추가한 방식이다.
- CTR 모드가 암호문을 생성함과 동시에 '이 암호문은 올바른 암호화를 거쳐 만들어진 것이다'라는 것을 증명할 정보를 만들어낸다.
- 적극적 공격자가 암호문을 위조해도 이를 알아낼 수 있다.
MAC의 문제
제 3자 증명
MAC은 공유키를 사용하기 때문에 MAC값을 계산할 수 있는 것은 송/수신자뿐이다. 즉, 송/수신자 간의 통신 중에는 MAC값을 계산한 것이 상대방이라는 것을 증명할 수 있다. 하지만 제 3자는 이를 증명할 방법이 없다. 이는 따로 전자서명을 사용해 해결해야 한다.
부인방지
재전송 공격
반응형
'공부 > 정보보안기사' 카테고리의 다른 글
접근 제어 / 접근 통제 모델(Access Control Model) (0) | 2019.10.30 |
---|---|
인증 (0) | 2019.09.02 |
PKI(public key infrastructure) (0) | 2019.08.24 |
전자서명 (0) | 2019.08.22 |
정보보안 / 정보보호(Information Security) (0) | 2019.07.20 |
댓글