인터넷 키 교환
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
인터넷 키 교환(IKE)은 인터넷 프로토콜 보안(IPsec)을 위한 키 관리 프로토콜로, 보안 연결을 설정하고 관리하는 데 사용된다. 1998년 IETF에서 처음 정의되었으며, IKEv2는 2005년에 발표되어 2014년에 인터넷 표준으로 승격되었다. IKE는 사용자 공간의 데몬과 커널의 IPsec 스택으로 구성되며, UDP 포트 500을 사용하여 보안 연관을 설정한다. IKEv1은 두 단계로 구성되며, IKEv2는 RFC 문서 통합, 모빌리티 지원, NAT 통과 지원, 메시지 교환 간소화 등 여러 개선 사항을 포함한다. IKE는 윈도우, 리눅스, BSD 등 다양한 운영 체제에서 구현되며, 오픈 소스 구현도 존재한다. IKE는 NSA에 의해 악용될 수 있다는 의혹과 다운그레이드 공격, 낮은 엔트로피 암호 사용으로 인한 취약점을 가지고 있다.
더 읽어볼만한 페이지
인터넷 키 교환 | |
---|---|
일반 정보 | |
![]() | |
종류 | 보안 프로토콜 |
기능 | 보안 연결 설정 |
관련 프로토콜 | IPsec ISAKMP |
상세 정보 | |
개발 | 시스코 시스템즈, RSA 시큐리티 |
최초 출시 | 1998년 |
최신 버전 | IKEv2 (RFC 7296) / 2014년 10월 |
표준 | RFC 2409, RFC 4306, RFC 4718, RFC 5282, RFC 5996, RFC 7296 |
2. 역사
인터넷 엔지니어링 태스크 포스(IETF)는 1998년 11월, 일련의 RFC 문서들을 통해 인터넷 키 교환(IKE)을 처음 정의했다. RFC 2407은 ISAKMP에 대한 인터넷 IP 보안 해석 도메인을 정의했고,[4] RFC 2408은 인터넷 보안 연관 및 키 관리 프로토콜(ISAKMP)을 정의했으며,[5] RFC 2409는 인터넷 키 교환(IKE) 자체를 정의했다.[6]
인터넷 엔지니어링 태스크 포스(IETF)는 1998년 11월 RFC 2407[4], RFC 2408[5], RFC 2409[6]를 통해 인터넷 키 교환(IKE)을 처음 정의했다. 이후 2005년 12월 RFC 4306[7]에서 버전 2(IKEv2)로 업데이트되었고, 몇 차례의 수정을 거쳐 2014년 10월 RFC 7296[9]으로 인터넷 표준이 되었다. IETF의 상위 조직인 인터넷 협회(ISOC)는 이 표준들에 대한 저작권을 인터넷 커뮤니티에서 자유롭게 사용할 수 있도록 유지하고 있다.
2005년 12월, RFC 4306을 통해 IKE는 버전 2(IKEv2)로 업데이트되었다.[7] 이후 2006년 10월에는 RFC 4718을 통해 일부 공개된 세부 사항들이 명확해졌고,[8] 2010년 9월에는 RFC 5996이 발표되어 이전 문서들의 내용을 통합하고 추가적인 명확화를 제공하며 IKEv2를 업데이트했다.[9] 마침내 2014년 10월, RFC 7296으로 게시되면서 IKEv2는 제안 표준에서 인터넷 표준으로 승격되었다.
IETF의 상위 조직인 인터넷 협회(ISOC)는 이러한 표준들에 대한 저작권을 인터넷 커뮤니티가 자유롭게 사용할 수 있도록 유지하고 있다.
3. 구성
대부분의 IPsec 구현은 사용자 공간에서 실행되는 IKE 데몬과 실제 IP 패킷을 처리하는 커널의 IPsec 스택으로 구성된다. 사용자 공간 데몬은 IPsec 엔드포인트 주소, 키, 인증서와 같이 필요한 구성 정보를 담고 있는 저장소에 쉽게 접근할 수 있다. 반면에 커널 모듈은 성능상의 이유로 최소한의 부하로 패킷을 효율적으로 처리할 수 있다.
IKE 프로토콜은 일반적으로 UDP 500번 포트를 사용한다. 양쪽에서 ISAKMP SA를 생성하기 위해 일반적으로 2~3번의 왕복을 거쳐 4~6개의 패킷이 필요하다. 이 과정을 통해 협상된 키 자료(예: AES 키, 보호할 IP 엔드포인트 및 포트를 식별하는 정보, 생성된 IPsec 터널의 유형 등)는 커널의 IPsec 스택에 제공된다. IPsec 스택은 이 정보를 바탕으로 관련 IP 패킷을 가로채고 필요에 따라 암호화 또는 복호화를 수행한다. 패킷 가로채기 방식은 구현에 따라 다양하다.
IKEv1은 1단계와 2단계의 두 단계로 구성된다.[10] IKEv2는 IKEv1의 여러 문제점을 개선하고 기능을 확장한 버전이다.
3. 1. IKEv1 단계
IKE 1단계의 목적은 디피-헬만 키 교환 알고리즘을 사용하여 추가적인 IKE 통신을 암호화하기 위한 공유 비밀 키를 생성하고, 이를 통해 안전하고 인증된 통신 채널을 설정하는 것이다. 이 협상을 통해 하나의 단일 양방향 ISAKMP 보안 연관이 생성된다.[11] 인증은 사전 공유 키 (공유 비밀), 서명, 또는 공개 키 암호화를 사용하여 수행할 수 있다.[12] 1단계는 주 모드 또는 공격적 모드로 작동한다. 주 모드는 피어의 신원과 공유 키의 해시를 암호화하여 보호하지만, 공격적 모드는 그렇지 않다.[10]
IKE 2단계에서는 IKE 피어들이 1단계에서 설정된 보안 채널을 사용하여 IPsec과 같은 다른 서비스에 대한 보안 연관을 협상한다. 이 협상 결과, 최소 두 개의 단방향 보안 연관(인바운드 하나, 아웃바운드 하나)이 생성된다.[13] 2단계는 퀵 모드에서만 작동한다.[10]
3. 2. IKEv2 개선 사항
IKEv2 프로토콜은 2005년 RFC 4306의 부록 A에 설명되어 있으며, 기존 IKE의 여러 문제점을 개선하였다. 주요 개선 사항은 다음과 같다.
DoS 공격 방어 메커니즘의 예시는 다음과 같다. '''HostA'''의 SPI가 `A`이고 '''HostB'''의 SPI가 `B`라고 가정한다.
HostA -------------------------------------------------- HostB
|HDR(A,0),sai1,kei,Ni--------------------------> |
| <----------------------------HDR(A,0),N(cookie)| (HostB가 부하 상태일 경우)
|HDR(A,0),N(cookie),sai1,kei,Ni----------------> | (HostA가 쿠키 포함 재전송)
| <--------------------------HDR(A,B),SAr1,ker,Nr| (HostB가 인증 후 응답)
만약 '''HostB'''(응답자)가 수많은 미완료 IKE 연결 시도(반개방 상태)를 겪고 있다면, 암호화되지 않은 `IKE_SA_INIT` 응답 메시지에 `COOKIE` 알림(Notification)을 포함하여 '''HostA'''(개시자)에게 보낸다. 그리고 '''HostA'''가 이 쿠키 값을 포함하여 `IKE_SA_INIT` 요청을 다시 보내도록 요구한다. 이는 개시자가 실제로 응답자로부터 오는 IKE 응답을 수신하고 처리할 수 있는 유효한 호스트인지 확인하는 절차이다.
4. 프로토콜 확장
IETF ipsecme 워킹 그룹은 IKEv2 프로토콜을 현대화하고 대규모 운영 환경에 더 잘 적용하기 위해 여러 확장 기능을 표준화했다. 주요 확장 기능은 다음과 같다.
- '''IKE 세션 재개''': 통신 오류 발생 시, 전체 IKE 설정 과정을 다시 거치지 않고 중단된 IKE/IPsec "세션"을 빠르게 복구하는 기능이다 (RFC 5723).
- '''IKE 리다이렉트''': 들어오는 IKE 요청을 다른 서버로 넘겨주어, 여러 IKE 엔드포인트 간의 간단한 로드 밸런싱을 가능하게 한다 (RFC 5685).
- '''IPsec 트래픽 가시성''': 인증은 되었지만 암호화되지 않은 ESP 패킷에 특별한 표시를 하여, 침입 탐지 시스템과 같은 중간 장비가 네트워크 트래픽 흐름을 더 쉽게 분석할 수 있도록 돕는다 (RFC 5840).
- '''상호 EAP 인증''': EAP만을 사용하여 양쪽 IKE 장치 모두를 인증하는 기능이다. 인증서 없이도 최신 비밀번호 기반 인증 방식을 사용할 수 있도록 하는 것이 목표이다 (RFC 5998).
- '''빠른 충돌 감지''': IKE 통신 상대방 장치의 연결 끊김(충돌)을 감지하는 데 걸리는 시간을 최소화한다 (RFC 6290).
- '''고가용성 확장''': IPsec 엔드포인트 클러스터와 통신 상대방 간의 IKE/IPsec 프로토콜 동기화를 개선하여, 장애 조치 발생 시 연결 끊김 가능성을 줄인다 (RFC 6311).
5. 구현
IKE는 윈도우 2000, 윈도우 XP, 윈도우 서버 2003, 윈도우 비스타 및 윈도우 서버 2008의 IPsec 구현의 일부로 지원된다.[15] ISAKMP/IKE 구현은 시스코와 마이크로소프트가 공동으로 개발했다.[16]
마이크로소프트의 윈도우 7 및 윈도우 서버 2008 R2는 'VPN 재연결' 기능( '애자일 VPN'이라고도 함)을 통해 IKEv2 (RFC 7296) 및 MOBIKE (RFC 4555)를 부분적으로 지원한다.
리눅스에서는 Libreswan, Openswan 및 strongSwan과 같은 여러 오픈 소스 구현이 존재한다. 이들은 KLIPS 또는 XFRM/NETKEY 커널 기반 IPsec 스택에 대한 IKE 데몬을 제공하여 SA(보안 연관)를 설정하고 관리한다. XFRM/NETKEY는 버전 2.6부터 사용할 수 있는 리눅스 커널 네이티브 IPsec 구현이다.
BSD 계열 운영체제 역시 OpenBSD 암호화 프레임워크 (OCF)를 통해 IPsec과 IKE 데몬을 구현한다. OCF는 암호화 가속기 지원을 용이하게 하며, 최근 리눅스로도 포팅되었다.
많은 네트워크 장비 공급업체들은 자체 IKE 데몬(및 IPsec 구현)을 만들거나 서로의 기술 스택을 라이선스하여 사용한다.
IKEv2의 여러 구현이 있으며, IPsec 인증 및 상호 운용성 테스트를 다루는 일부 회사들은 IKEv2 테스트를 위한 워크샵을 개최하고 업데이트된 인증 요구 사항을 갖추기 시작했다.
다음은 IKEv2의 주요 오픈 소스 구현 목록이다.
구현체 이름 | 개발 주체/관련 프로젝트 |
---|---|
OpenIKEv2[17] | - |
strongSwan | - |
Libreswan | - |
Openswan | - |
Racoon | KAME 프로젝트 |
iked[18] | OpenBSD 프로젝트 |
6. 취약점
2014년 독일 언론 슈피겔이 공개한 유출된 NSA 발표 자료에 따르면, IKE가 IPsec 트래픽을 해독하기 위해 알려지지 않은 방식으로 악용되고 있으며, ISAKMP도 마찬가지라는 주장이 제기되었다.[19] 로그잼 공격을 발견한 연구원들은 1024비트 디피-헬만 그룹을 해독하는 것이 VPN 서버의 66%, 상위 100만 HTTPS 도메인의 18%, SSH 서버의 26%를 공격할 수 있게 만들며, 이는 NSA 유출 내용과 일치한다고 주장했다.[20] 그러나 이 주장은 2015년 에일 로넨과 아디 샤미르의 논문 "불완전한 순방향 비밀성에 대한 비판적 검토"[21]와 Libreswan 프로젝트의 폴 워터스가 쓴 2015년 기사 "VPN의 66%는 실제로 깨지지 않았다"에서 반박되었다.[22]
또한, 여러 보안 구성을 협상할 수 있도록 허용하는 IPsec VPN 설정은 IKEv1과 IKEv2 모두에서 제안된 구성들 사이의 중간자 공격(MITM)을 이용한 다운그레이드 공격에 취약할 수 있다.[23] 이러한 공격은 더 엄격한 보안 구성을 사용하고, 여러 서비스 접근 지점에 클라이언트 시스템을 신중하게 분리함으로써 완화할 수 있다.
IKE 표준의 두 버전(IKEv1, IKEv2) 모두 낮은 엔트로피(추측하기 쉬운) 암호를 사용하면 오프라인 사전 공격에 취약하다. 특히 IKEv1의 경우, 메인 모드와 공격적인 모드 모두 이 취약점의 영향을 받는다.[24][25][26]
참조
[1]
문서
The Internet Key Exchange (IKE), RFC 2409, §1 Abstract
[2]
간행물
RFC 3129: Requirements for Kerberized Internet Negotiation of Keys
http://tools.ietf.or[...]
Internet Engineering Task Force
2001-06
[3]
간행물
RFC 4322: Opportunistic Encryption using the Internet Key Exchange (IKE)
http://tools.ietf.or[...]
Internet Engineering Task Force
2001-06
[4]
간행물
The Internet IP Security Domain of Interpretation for ISAKMP
[5]
간행물
Internet Security Association and Key Management Protocol (ISAKMP)
[6]
간행물
The Internet Key Exchange (IKE)
[7]
간행물
Internet Key Exchange (IKEv2) Protocol
2005-12
[8]
간행물
IKEv2 Clarifications and Implementation Guidelines
2006-10
[9]
간행물
Internet Key Exchange (IKEv2) Protocol
2010-09
[10]
문서
"RFC 2409 The Internet Key Exchange (IKE)"
Internet Engineering Task Force (IETF)
[11]
문서
"RFC 2409 The Internet Key Exchange (IKE)"
Internet Engineering Task Force (IETF)
[12]
문서
"RFC 2409 The Internet Key Exchange (IKE)"
Internet Engineering Task Force (IETF)
[13]
문서
"RFC 4306 Internet Key Exchange (IKEv2) Protocol"
Internet Engineering Task Force (IETF)
[14]
문서
"RFC 4306: Internet Key Exchange (IKEv2) Protocol"
Internet Engineering Task Force (IETF)
[15]
웹사이트
Internet Key Exchange: Internet Protocol Security (IPsec): Technet
https://technet.micr[...]
[16]
웹사이트
Using IPSec in Windows 2000 and XP, Part 1
http://www.securityf[...]
2009-12-24
[17]
웹사이트
OpenIKEv2
https://github.com/O[...]
2023-06-21
[18]
웹사이트
iked(8) - OpenBSD manual pages
http://man.openbsd.o[...]
2023-06-21
[19]
간행물
Fielded Capability: End-to-end VPN SPIN9 Design Review
http://www.spiegel.d[...]
NSA via 'Der Spiegel'
[20]
학회
Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice
https://weakdh.org/i[...]
2015-10
[21]
웹사이트
Critical Review of Imperfect Forward Secrecy
http://www.wisdom.we[...]
2015-10
[22]
웹사이트
66% of VPN's are not in fact broken
https://nohats.ca/wo[...]
2015-10
[23]
웹사이트
Downgrade Resilience in Key-Exchange Protocols
https://eprint.iacr.[...]
2016-01
[24]
웹사이트
Authentication Vulnerabilities in IKE and Xauth with Weak Pre-Shared Secrets
http://skysrv.pha.jh[...]
1999-10-02
[25]
웹사이트
Great Cipher, But Where Did You Get That Key
http://blogs.cisco.c[...]
2011-07-05
[26]
서적
The Dangers of Key Reuse: Practical Attacks on IPsec IKE
https://www.usenix.o[...]
2018-08
[27]
문서
The Internet Key Exchange (IKE), RFC 2409, §1 Abstract
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com