프로토콜
1) 개요
VPN 는 암호화된 데이터를 주고 받으므로 데이터를 주고 받기 전에 반드시 암호키를 주고 받는다.
키교환 알고리즘 데이터 교환 알고리즘
ISAKMP -------------------> AH(MMAC-MD5. HMAC-SHA1 인증 알고리즘) 이나
ESP(DES(56bit)나 3DES(168bit) 암호화 알고리즘)
2) ISAKMP(IPSec Key Exchange and Mangement Protrocols )
ISAKMP는 약자에서도 알수 있듯이 보안협상 (Security Association)과 Key Exchange 관리 등 전반적인 것들을 병합하기 위하여 설계된 프로토콜이다. IPSec을 이용할 때에 통신 하려고 하는 Peer들간에 보안 협상을 하게 되는데 이때 SA을 서로 교환하고 결정하는 과정 중에 쓰이는 것이 바로 ISAKMP이다. ISAKMP는 SA를 개설, 변경, 삭제하는 작업을 수행하고 각종 보안 알고리즘을 지원하여 원활한 상위 계층 통신을 지원하며 보안 알고리즘 변경이 용이하다. 현재 IPSec에서 Key Exchange와 SA개설 시에 이 프로토콜을 이용하는데, 실제 프로토콜은 IKE을 이용하고 Packet 포맷은 ISAKMP의 패킷 포맷을 따른다. ISAKMP 해더 포맷은 아래와 같다 (rfc2408). 프로토콜은 UDP 500 을 사용한다.
3) AH(Authentication Header)
AH(Authentication Header)는 받은 데이터의 근원지를 인증하며 데이터의 무결성을 보장한다. 이를 위해 MMAC-MD5. HMAC-SHA1과 같은 인증 알고리즘을 사용한다. 그리고 IP 패킷 각각에 대해서 무결성을 확인할 수 있다. 또한 AH에 일련번호를 부여하여서 재전송공격(Replay Attack)을 방지할 수 있다.
AH는 IP패킷의 IP헤더 뒤에 AH를 추가함으로써 인증을 보장한다. 트렌스포트모드(Transport Mode)는 원래 IP해더의 출발지, 목적지를 그대로 유지하는 방법이며, 터널모드(Tunnel Mode)는 새로운 IP 헤더를 만들어서 원래의 IP 패킷 모두를 AH의 페이로드로 만드는 방법으로, 어느 한 쪽이 IPSec 게이트웨이 일 때 사용할 수 있으며 내부 IP 헤더를 보호할 수 있다. AH는 IP 51 을 사용한다.
4) ESP (Encapsulation Security Payload)
ESP (Encapsulation Security Payload)는 IP 네트워크에 대한 비밀성과 무결성을 제공한다. 이것은 IP 패킷을 암호화하여 데이터 전송 시 비밀성을 보장하게 되는 것이다. ESP는 AH와 달리 패킷 자체를 DES(56bit)나 3DES(168bit) 암호화 방식을 사용, 암호화함으로써 데이터의 기밀성을 제공한다. ESP 역시 데이터의 근원지를 인증하고 재전송 공격(Replay attack)을 방지 할 수 있다.
트랜스포트 모드에서 ESP의 기능은 원래의 IP 페이로드만을 보호하고, 원래의 IP 헤더는 보호하지 않지만, 터널 모드에서는 원래 IP 헤더와 IP 페이로드를 보호하고, 새로운 IP 헤더는 보호하지 않는다. 또한 트랜스포트 모드는 데이터그램과 원래의 IP 헤더는 계속 유지되고, 원래 IP 데이터그램의 페이로드와 ESP 트레일러가 암호화 된다. 자신의 IP 헤더의 기록은 인증되거나 암호화되지 않아서 바깥쪽 헤더에 있는 주소 정보는 데이터 그램이 전송되는 동안 공격자가 볼 수 있다. 반면, 터널 모드에서는 새로운 IP 헤더가 만들어져서, 원래 IP 데이터그램과 ESP 트레일러(Trailer)는 암호화된다. 그러므로 전송되는 동안 공격자가 헤더의 내용을 볼 수 없다. ESP 는 IP 50 을 사용한다.



