IT 그리고 정보보안/Knowledge base

HMAC 인증 (Hashed Message Authentication Code)

plummmm 2021. 4. 16. 06:20
반응형

자.. 이번엔 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이 나온다.

반응형