반응형
자.. 이번엔 HMAC에 대해 알아봅시다.
그래.. 비밀키를 이용한 해시함수를 사용한 MAC 인증 이게 HMAC이라고 했다.
일방향 해시함수를 이용해서 메세지 인증코드를 구성하는 방식 중 하나인데,
수정하지 않고 쓸 수 있는 해시 함수들을 만든다. 특히 소프트웨어에서 잘 돌아가고
코드를 무료로 제공하고 널리 쓰일 수 있도록 하기 위해 고안되었다.
딱히 정해진 해시함수를 사용하는 것은 아니지만 주로 SHA-1 을 사용하는데,
이 SHA-1 알고리즘이 MAC을 위해서 고안된 것이 아니기 때문에 바로 사용하는 것이 불가능하다.
그래서 SHA-1을 MAC으로 사용할 수 있도록 해주어야 한다.
일단 K+ 저놈은 키 값이다.
그냥 키가 아니라 패딩문자 0으로 [키][padding] 이렇게 채워져 있는 것.
i pad는 아이패드가 아니라.. 입력 패딩이란 말, 00110110 패턴이 계속해서 나타나는 패딩 문자임.
o pad는 출력 패딩, 01011100 패턴이 계속해서 나타나는 패딩 문자이다.
먼저 패딩한 키 K+와 ipad를 XOR 연산하여 메세지와 합친다.
그 후, 초기화 백터와 합친걸 HASH 함수를 돌린다 (SHA-1 이나 MD-5 같은)
마찬가지로 K+와 opad를 XOR 연산하여 나온 값을 앞 과정에서 한 것과 결합한다.
그걸 다시 해시함수로 돌려. 그럼 HMAC이 나온다.
반응형
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
사용자 인증 (User Authentication) 종류 (0) | 2021.04.16 |
---|---|
해시 충돌 탐지 - Birthday attack (0) | 2021.04.16 |
해시 함수 (HASH Functions) (0) | 2021.04.16 |
메세지 인증 (Message Authentication) (0) | 2021.04.16 |
공개키의 분배 (Public-Key Distribution) (0) | 2021.04.16 |