인증 암호 (Authenticated Cipher) [작성중]

MAC을 이용한 인증 암호화 (Authenticated Encryption using MACs)

MAC을 이용한 인증 암호화는 메시지에 대한 암호화 과정과 메시지 인증 코드 생성을 함께 수행한다. 두 과정의 수행 시점에 따라서 다음과 같이 세분화 할 수 있다.

암호화 및 MAC (Encrypt-and-MAC)

P
E
MAC
C
T

암호문과 MAC 인증값을 따로 계산하는 방법이다.
P에 관한 정보가 새어나가는 약점이 있지만, SSH에서 사용하는 등 여전히 많은 시스템에서 사용되고 있다.

MAC 후 암호화 (Mac-then-Encrypt)

P
E
MAC
C

P의 인증값을 먼저 계산하고나서 P와 인증값을 연결한 메시지를 암호화 한다.
Encrypt-and-MAC 과는 달리 인증값이 암호문 안에 들어가므로 인증값으로부터 평문에 관한 정보를 알아낼 수 있는 위험이 없어진다. 이 방식은 TLS 프로토콜에 쓰이고 있다.

암호화 후 MAC (Encrypt-then-Mac)

P
E
C
MAC
T

이 방식은 우선 메시지가 손상되었는지 여부를 복호화 하고 검증해봐야 하는 위 두 방식과는 달리, 복호화 전에 MAC을 계산해서 메시지의 손상 여부를 확인 가능하다는 장점이 있다. 이로 인해, 공격자가 악의적인 데이터를 만들어서 전송하고 싶다면 MAC부터 깨야 한다.
이 방식은 IPSec에서 사용되고 있다.
(SSH와 TLS가 왜 이방식을 안쓰느냐…는.. 만들어질때는 다른 방식들이 더 적합했기도 했고, 이론적인 약점들이 실제 취약점으로 반드시 이어지지는 않기때문이기도 하다고 한다.)

[작성중]

Share