VPN 작동원리 #1 에서 AH 헤더와 ESP 헤더 그리고 SA의 정의에 대해 살펴보았으니 이제 SA를 생성 혹은 협의하는 과정, 다시 말해 터널을 생성하고 데이터를 암호화할 키를 교환하는 과정을 보고자 합니다. 바로 Internet Key Exchange입니다.
Internet Key Exchange(키 교환 복합 프로토콜, 이하 IKE)는 IPSec의 SA 생성을 위한 복합 프로토콜입니다. '복합 프로토콜'이라 부른 이유는 IKE가 새롭게 설계한 프로토콜이 아닌 ISAKMP(Internet Security Association and Key Management Protocol)라는 키 교환 프로토콜의 구조와 설계, 메시지 포멧을 명시한 프로토콜을 기반으로 OKALEY, SKEME와 같은 키 교환 프로토콜을 결합하여 만들 프로토콜이기 때문입니다.
IKE는 두 개의 과정으로 나뉩니다. IKE Phase 1(ISAKMP SA)와 IKE Phase 2(IPSec SA)로 말이죠
IKE Phase 1 에서는
성능면에서 Diffie-Hellman Key의 생성은 느리고 무겁습니다. 이 단계의 결과는 IKE 2단계의 키와 방법에 대한 합의인 IKE SA입니다. 아래 그림은 IKE 1단계에서 발생하는 프로세스를 보여줍니다.
Diifi-Hellman protocol, DH protocol은 공개 키를 분배하는 방안이다.
데이터를 동일한 키로 암호화, 복호화한다는 상황을 가정해보자. 사용하는 키를 통신을 주고 받는 쪽과 주고 받아야하는데 이 키는 어떻게 안정하게 주고 받을 수 있을까?
1976년 11월에 스탠퍼드에서 Whitfield Diffie와 Martin Hellman이 발표한 논문에서 공개 키를 분배하는 방법을 발표하였고, 이 방식은 아직도 대부분 통신방식에서 이용하게 된다. https에서도 이 DH키를 통해서 데이터를 암호화, 복호화하여 주고 받게 된다.
참고
https://sc1.checkpoint.com/documents/R81/WebAdminGuides/EN/CP_R81_SitetoSiteVPN_AdminGuide/Topics-VPNSG/IPsec-and-IKE.htm
https://aws-hyoh.tistory.com/163
https://velog.io/@jungbumwoo/%EB%94%94%ED%94%BC-%ED%97%AC%EB%A8%BC-DH-key-Diffie-Hellman-protocol-%EC%9D%B4%EB%9E%80
https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange