공개키 기반 Kerberos 인증과 IPSec VPN 보안을 위한 구현 방법
초록
본 논문은 Kerberos V5의 PKINIT_AS 확장을 이용해 공개키 암호화를 적용한 사용자 인증 체계를 제안하고, 이를 GSSAPI‑krb 메커니즘과 연계하여 IPSec VPN 환경에서 안전한 인터넷 서비스를 제공하는 구현 방법을 제시한다.
상세 분석
Kerberos는 전통적으로 대칭키 기반 티켓팅 시스템으로, 초기 인증 단계에서 비밀키를 사전에 공유해야 하는 한계가 있다. 이러한 문제를 해결하기 위해 RFC 4556에서 정의된 PKINIT(Pre‑Authentication using Public Key Cryptography) 메커니즘이 도입되었으며, 본 논문은 PKINIT_AS(AS‑based PKINIT) 방식을 중심으로 설계된 인증 프로토콜을 상세히 기술한다. 먼저 클라이언트는 X.509 인증서를 이용해 KDC(public key)에게 인증 요청을 전송하고, KDC는 클라이언트의 인증서와 CRL을 검증한 뒤, 클라이언트의 공개키로 암호화된 티켓‑그랜팅 티켓(TGT)을 반환한다. 이 과정에서 사용된 RSA‑OAEP와 ECDSA 서명은 기존 Kerberos가 제공하던 DES‑CBC보다 높은 보안성을 제공한다.
논문은 또한 GSSAPI‑krb 인터페이스를 확장하여 PKINIT 기반 티켓을 직접 활용하도록 구현하였다. 기존 GSSAPI는 Kerberos V5의 티켓을 투명하게 전달하는 데에 초점을 맞추었지만, 공개키 기반 사전 인증 정보를 포함시키기 위해 메커니즘 OID와 토큰 포맷을 수정하였다. 이를 통해 애플리케이션 레이어에서 별도의 인증 로직 없이도 PKINIT 티켓을 이용한 상호 인증이 가능해졌다.
보안 서비스 측면에서는 IPSec VPN에 PKINIT‑Kerberos를 적용함으로써, IKE Phase 1에서 전통적인 사전 공유키(PSK) 대신 공개키 기반 인증을 수행한다. 논문은 IKEv2와의 호환성을 유지하면서, EAP‑TLS와 연동한 인증 흐름을 설계하고, 이후 ESP 단계에서 Kerberos‑derived 세션 키를 사용해 트래픽을 암호화한다. 이 접근법은 키 관리 비용을 크게 감소시키고, 인증서 폐기 시 즉시 인증이 차단되는 특성을 제공한다.
성능 평가에서는 RSA‑2048과 ECC‑P256 두 가지 키 길이를 비교했으며, PKINIT을 도입한 경우 인증 지연이 평균 45 ms에서 78 ms 사이로 증가했지만, 전체 VPN 연결 시간에 미치는 영향은 2 % 미만에 머물렀다. 또한, 대규모 사용자 환경에서 인증서 기반 인증이 중앙 KDC에 부하를 분산시키는 효과를 확인하였다.
결론적으로, 본 연구는 공개키 기반 Kerberos 인증을 IPSec VPN에 자연스럽게 통합함으로써, 기존 대칭키 기반 인증의 취약점을 보완하고, 관리 효율성과 보안 수준을 동시에 향상시킬 수 있음을 입증한다.
댓글 및 학술 토론
Loading comments...
의견 남기기