IKE 키 교환 원리
수동으로 SA 를 구축하는 것은 구성이 복잡하며, I nitiator 주소의 동적 변화를 지원하지 않으며, 노후화되지 않으며, 안전전 등에 불리한 단점이 있습니다. 이 섹션에서는 동적 협상의 이점과 IKE 와 IPSec 간의 관계에 대해 설명합니다.
(1) 구성의 복잡성을 줄입니다. IKE 동적 협상 모드에서는 SPI, 인증 키, 암호화 키 등의 매개변수가 자동으로 생성되지만 수동 모드에서는 SA 나가는 방향과 들어오는 방향에 따라 별도로 지정해야 합니다.
(2) 재생 방지 기능을 제공합니다. IPSec 는 AH 또는 ESP 보고 헤더의 일련 번호를 사용하여 재생을 방지합니다 (동일한 일련 번호를 가진 패킷은 허용되지 않음). AH 또는 ESP 헤더의 일련 번호가 넘칠 때 (최대값에 도달하여 더 이상 아래로 번호를 매길 수 없으며 새 라운드의 번호 다시 매기기가 필요함), 재생 방지를 위해 SA 를 다시 구축해야 합니다. 이 프로세스에는 IKE 프로토콜의 협조가 필요하므로 수동 모드에서는 재생 방지 기능이 지원되지 않습니다.
(3) 협상 개시자 (예: PPP) 주소의 동적 변경을 지원합니다. E-dial 인터넷 액세스), 수동 모드는 지원되지 않으며 양쪽 끝이 모두 셔틀을 통해 인터넷에 액세스하는 경우에만 적용됩니다.
(4) 온라인 인증 및 인증 센터 (CA) 의 피어 ID 에 대한 중앙 집중식 관리를 지원하여 IPSec 의 대규모 배포에 도움이 되지만 수동 모드는 온라인 인증을 지원하지 않습니다.
(5) IKE 협상을 통해 설정된 s a 는 수명 주기가 있어 실시간으로 업데이트할 수 있어 SA 가 깨지는 위험을 줄이고 보안을 강화할 수 있습니다.
라이프 사이클이 지정된 시간이나 프로세스에 도달하면 SA 가 무효화됩니다. IKE 는 SA 가 만료되기 전에 피어를 위해 새로운 SA 를 협상합니다. 새로운 SA 가 협상된 후 피어는 즉시 새로운 SA 를 사용하여 통신을 보호합니다. 라이프 사이클을 정의하는 방법에는 두 가지가 있습니다.
IKE 프로토콜은 isakmp (internet security association and key management protocol) 에서 정의한 프레임워크를 기반으로 합니다. UDP500 포트에 해당하는 UDP 기반 애플리케이션 계층 프로토콜입니다. IPSec 에 자동 협상 및 키 교환 및 SA 구축 서비스를 제공하여 IPSec 사용 및 관리를 단순화합니다.
사실 IKE 는 별도의 프로토콜이 아니며 isakmp (인터넷 보안 협회 및 키 관리 프로토콜), oakley (oakley 키 결정 프로토콜, Aulick 키 결정 프로토콜) 및 skeme (인터넷 보안 키 교환 메커니즘) 의 세 가지 프로토콜을 포함합니다. ISAKMP 는 주로 IKE 피어 간의 협력 관계를 정의하여 IKE SA 를 설정합니다. OakLey 프로토콜은 IPSec 키 자료를 생성 및 교환하고 지원되는 보안 프로토콜을 포함한 IPSec 매개변수를 조정하는 프레임워크입니다. SKEM E 프로토콜은 IKE 키 교환 방식을 결정하며 주로 DH (Diffie-Hellman) 알고리즘을 사용합니다.
IKE 와 IPSec (AH 및 ESP 프로토콜 포함) 의 관계는 다음 그림과 같습니다. IKE 는 UDP 위의 애플리케이션 계층 프로토콜 (AH 와 ESP 는 네트워크 계층 프로토콜) 이며 IPSec 의 신호 프로토콜입니다. IKE 협상은 IPSec 에 대한 SA 를 설정하고 설정된 매개변수와 생성된 키를 IPSEC 에 전달합니다. IPSec 은 IKE 가 설정한 SA 를 사용하여 IP 메시지를 암호화하거나 인증합니다.
피어 간에 IKE SA 가 설정되면 IKE SA 가 IPSec 터널을 보호하는 경우 AH, ESP 보안 프로토콜 등의 구성 매개변수에 따라 IPSec 터널 내 피어 간의 데이터 보안 전송을 위해 IPSec SA 쌍을 협상합니다.
IKE 프로토콜은 현재 IKEv 1 과 IKEv2 의 두 가지 버전으로 제공됩니다. IKEv 1 edition 은 IPSec 에 대한 키를 협상하고 최종적으로 IPSec SA 를 구축하는 두 단계를 사용합니다. 1 단계, 통신 쌍방은 IKE 자체에서 사용하는 보안 통로 (터널) 를 설립하기로 협의했다. 즉, IKE SA 한 쌍을 세우는 것이다. 2 단계에서는 인증과 보안을 통해 보호되는 이 보안 채널을 사용하여 터널에서의 데이터 보안 전송을 보호하는 IPSec SA 쌍을 설정합니다. IKEv2 버전은 협상 프로세스를 단순화하여 한 번의 협상에서 직접 IPSec 키를 생성하고 IPSec SA 를 생성할 수 있습니다.
먼저 IKE 가 SA 생성 과정에서 사용하는 IKE SA 및 IPSec SA 를 포함한 몇 가지 보안 메커니즘에 대해 알아보겠습니다. 나중에 구체적인 IKE 협상 프로세스를 사용합니다.
IPSec 응용 프로그램이 인터넷과 같은 공용 네트워크에서 안전하게 통신할 수 있는 이유는 터널링과 피어-투-피어 데이터 전송 과정 전반에 걸쳐 다양한 보안 메커니즘의 보호를 받을 수 있기 때문입니다. 이와 관련하여 IKE 를 사용한 자동 키 교환 및 협상도 가능합니다. IKE 자체에는 안전하지 않은 네트워크에서 안전하게 인증 및 키 배포를 수행할 수 있는 자체 보호 메커니즘이 있기 때문입니다. 구체적으로 다음과 같은 측면에 반영된 안전 보호.
IKE 를 사용하여 피어 간의 정보 교환을 할 때는 먼저 상대방의 합법성, 즉 인증 문제를 식별해야 한다. IKE 에서 사전 공유 키 PSK (사전 공유 키) 인증, RSA 디지털 인증서 (rsa-signature 또는 RSA 디지털 서명) 인증 및 RSA 디지털 봉투 인증 등 피어 ID (피어의 IP 주소 또는 이름) 를 결정하는 데 사용할 수 있는 메커니즘은 비교적 포괄적입니다.
디지털 봉투에서 발신자는 대칭 키 (발신자가 미리 무작위로 대칭 키를 생성해야 함) 를 사용하여 전송할 메시지에 디지털 서명을 한 다음 수신자의 공개 키로 이 대칭 키 (이 부분을 디지털 봉투라고 함) 를 암호화한 다음 암호화된 대칭 키를 디지털 서명 메시지와 함께 수신자에게 보냅니다. 수신자가 수신하면 먼저 자신의 개인 키로 디지털 봉투를 열고 발신자의 대칭 키를 받은 다음 원래 디지털 서명된 메시지를 대칭 키로 해독하여 발신자의 디지털 서명이 정확한지 확인합니다. 맞으면 인증이 통과됩니다. 그렇지 않으면 인증에 실패합니다.
사전 공유 키 인증 방법의 경우 한 피어가 여러 피어에 대응하는 경우 각 피어에 대해 사전 공유 키를 구성해야 합니다. 작업량이 많기 때문에 소규모 네트워크에서 쉽게 설정할 수 있지만 보안이 낮습니다. 디지털 인증서 사용은 보안이 높지만 대규모 네트워크에서 사용할 수 있도록 CA 에서 디지털 인증서를 발급해야 합니다. 장치가 국가 암호 관리국의 요구 사항을 충족해야 하는 경우 디지털 봉투 인증 (국가 암호 관리국이 요구하는 hash 알고리즘 SM3 필요) 을 사용합니다. 이 인증 방법은 IKEv 1 의 마스터 모드 협상 중에만 지원됩니다.
위에서 언급한 인증에 사용된 키는 모두 IKE 인증 키에 속하며 지원되는 알고리즘은 MD5, SHA 1, SHA2-256, SHA2-384, SHA2-51입니다. MD5 알고리즘에서는 128 비트 키를 사용하고, SHA- 1 알고리즘에서는 160 비트 키를 사용하며, SHA2-256, SHA2-384, sha2-384 이들 사이의 보안 순서는 sm3 >;; Sha2-512 > SHA2-384 & gt;; SHA2-256 & gt;; Sha1> MD5. 일반 보안 요구 사항의 경우 MD5 및 SHA 1 대신 SHA2-256, SHA2-384 및 SHA2-5 12 를 인증 알고리즘에 사용하는 것이 좋습니다. 보안 요구 사항이 특히 높은 곳에서는 SM3 알고리즘을 사용할 수 있습니다.
위의 인증 키 (사전 공유 키 및 공용/개인 키 포함) 와 인증서는 인증을 위해 발신자의 "인증 데이터" 로 상대방에게 전송됩니다.
IPSec 의 데이터 암호화 메커니즘은 주로 두 가지 측면에 사용됩니다. 하나는 인증을 위해 전송된 데이터 정보 (예: * * * 공유 키, 인증서, 인증 키 등) 를 보호하는 것입니다. ) IKE 협상 단계에서 다른 하나는 IPSec 터널이 설정된 후 터널에서 전송되는 사용자 데이터를 보호하는 것입니다. 그러나 여기서 말하는 데이터 암호화 메커니즘은 대칭 키 메커니즘을 사용합니다. 즉, 암호화 및 암호 해독은 앞서 설명한 디지털 인증서 인증 및 디지털 서명 응용 프로그램에서 사용된 비대칭 키 시스템이 아닌 동일한 키를 사용합니다.
IKE 가 지원하는 암호화 알고리즘으로는 DES, 3DES, AES- 128, AES- 192, AES-256, sm/kloc-0 이 있습니다 DES 알고리즘은 56 비트 키를 사용하고 3DES 는 168 비트 키, AES- 128, AES- 192, AES-256 을 사용합니다 이러한 암호화 알고리즘의 보안 수준은 sm4 >;; Smi1> AES-256 & gt;; AES- 192 > AES- 128 > 3DES & gt 권장 des, AES-256, AES-1 비대칭 키 시스템은 일반적으로 RSA 또는 DSA (디지털 서명 알고리즘) 암호화 알고리즘을 사용합니다.
Diffie-HeLlman 알고리즘은 공개 키 알고리즘입니다. 통신 쌍방은 일부 데이터를 교환하기만 하면 쌍방이 공유하는 키를 계산할 수 있으며, 키를 전송할 필요가 없다. 또한 제 3 자가 양 당사자가 키를 계산하는 데 사용하는 모든 교환 데이터를 가로채더라도 실제 키를 계산하기에 충분하지 않습니다.
DH 는 IKE 동적 협상 시 새로운 IPSec SA 에서 사용하는 키를 재생성하는 데 주로 사용됩니다. 이는 이전 단계에서 생성된 키 생성 자료에 의존하지 않고 일련의 데이터 교환을 통해 양 당사자가 공유하는 키를 최종 계산할 수 있기 때문입니다. 그러나 DH 는 쌍방 신분에 대한 정보를 제공하지 않아 교환된 데이터가 합법적인 당사자에게 전송될지 여부를 확인할 수 없다. 제 3 자는 도청 된 데이터를 통해 양 당사자와 키를 협상하여 통신을 즐기고 정보를 얻고 전송할 수 있습니다. 따라서 IKE 는 피어의 ID 를 인증하기 위해 IKE 인증이 필요합니다.
PFS (premote forward neights) 는 보안 기능입니다. 즉, 한 키가 해독된 후에는 다른 키의 보안에 영향을 주지 않습니다. 이러한 키 사이에는 파생 관계가 없기 때문입니다.
이 장의 뒷부분에서 알 수 있듯이 IPSec SA 의 키는 IKE SA 의 키에서 파생됩니다. IKE SA 협상은 하나 이상의 파생 IPSec SA 쌍을 생성할 수 있기 때문에 IKE 의 키가 도난당할 때 공격자가 충분한 정보를 수집하여 IPSec SA 의 키를 불법적으로 내보낼 수 있습니다. 이는 안전하지 않습니다. IPSec 생성 단계에서 PFS 가 활성화된 경우 추가 DH 교환을 수행하여 새로운 독립 실행형 IPSec SA 를 생성하여 IPSec SA 키의 보안을 보장할 수 있습니다.
위에서 설명한 대로 IKEvl 버전을 생성하는 최종 IPSecSA 는 IKESA 와 IPSecSA 를 각각 설정하는 두 단계가 필요합니다. 이 섹션에서는 먼저 첫 번째 단계를 소개합니다.
IKEvl 1 단계의 최종 목표는 피어 간에 보안 채널을 만들고 피어에 대한 IKESA 를 설정하는 것입니다. 이 단계에서 IKE 피어는 상호 인증을 수행하고 동일한 세션 키를 결정합니다. 이 단계에서는 Diffie-Hellman (DH) 알고리즘이 키 교환을 통해 IKE SA 를 구축하여 2 단계 협상 프로세스를 안전하게 보호해야 합니다.
IKEvl 버전에서 IKE SA 의 생성 프로세스에는 기본 모드와 집계 모드의 두 가지 교환 모드가 있습니다. 다음은 따로 소개하겠습니다.
IKEv 1 마스터 모드에서 IKE SA 를 설정하는 동안 6 개의 정보를 사용하는 양방향 메시지 교환이 세 번 있었습니다. 스왑 프로세스는 그림과 같습니다.
이 6 개의 메시지는 실제로 일반적으로 3 단계로, 각 단계에는 2 개의 번호가 인접한 메시지가 포함되어 있습니다.
첫 번째 단계는 메시지 1 과 ②, 터널 양끝의 피어가 서로 구성된 IKE 정책을 교환하여 서로 채택할 IKE 보안 정책을 약속하는 것을 말한다. 양측이 동일한 보안 정책을 채택해야만 상대방의 암호화된 데이터를 식별하고 상대방의 신분을 정확하게 인증할 수 있기 때문이다.
두 번째 단계는 메시지 ③ 및 ④, 즉 등체 교환 매개변수 정보 (DH public value, nonce 등) 에 해당합니다. ) DH 알고리즘을 통해 두 끝에서 동일한 일련의 * * * 공유 키를 설정합니다. 주로 2 단계 협상을 위한 인증 키 및 협상 데이터에 대한 암호화 키를 포함합니다.
세 번째 단계는 메시지 ⑤ 및 ⑤ 에 해당하며, 이전에 생성된 암호화 키를 사용하여 자신의 ID (예: IP 주소 또는 피어 이름) 및 인증 데이터 (예: 사용된 인증 방법의 키 또는 인증서 데이터) 를 상대방에게 전송하고 해당 인증 방법을 사용하여 피어 간에 인증을 수행합니다. 마지막으로 IKE SA 의 설립이 완료되었습니다.
정식 메시지 교환 전에 개시자와 수신자는 먼저 각 개별 협상 교환 메시지를 식별하는 데 사용되는 자체 쿠키 (ISKMP 헤더에서는 재생 및 DoS 공격을 방지) 를 계산해야 합니다. RFC 는 소스/타겟 IP 주소, 소스/타겟 포트 번호, 로컬에서 생성된 난수, 날짜 및 시간을 해시하여 쿠키를 생성할 것을 권장합니다. 쿠키는 IKEv 1 버전의 쿠키, IKEv2 버전의 쿠키는 IKE 의 SPI (보안 매개변수 인덱스) 인 IKEV1버전의 쿠키, IKEV2 버전의 쿠키가 IKE 의 SPI (보안 매개변수 인덱스) 인 IKE 협상에서 정보를 교환하는 고유 IK 가 됩니다.
아래에 위에서 언급한 여섯 가지 소식을 상세히 소개하겠습니다.
Savage 모드는 그림과 같이 세 가지 정보만 사용합니다. 메시지 1 과 2 는 피어 간의 IKE 보안 정책을 협상하고 DH 공개 키, 필요한 보조 정보 및 ID 정보 (일반적으로 IP 주소로 식별되지 않고 호스트 이름으로 식별됨) 를 교환하는 데 사용됩니다.
마스터 모드와 비교했을 때, savage 모드는 교환된 정보의 양을 줄이고 협상 속도를 높였지만, ID 정보 및 인증 데이터를 암호화하지 않았습니다. 양 당사자가 ID 정보를 보낼 때 암호화되지 않았기 때문입니다 (메시지 ① 및 ② 에 해당) (그러나 마스터 모드에서 전송된 ID 정보 및 인증 데이터는 암호화되어 메시지 ⑤ 및 ⑤ 에 해당). 야인 모델은 신분 보호를 제공하지는 않지만, 특정 네트워크 환경 요구 사항을 충족시킬 수 있다.
IPSec 터널에 NAT 장치가 있을 때 NAT 트래킹 기능을 켜야 합니다. NAT 변환으로 엔드 투 엔드 IP 주소가 변경됩니다. Savage 모드는 IP 주소 인식에 의존하지 않으므로 사전 공유 키 인증을 사용해야만 savage 모드에서 NAT 통과를 수행할 수 있습니다. I nitiator 의 P 주소가 고정되지 않거나 예측할 수 없는 경우 양 당사자가 사전 * * 키 인증을 사용하여 IKE SA 를 만들려면 야만적인 모드만 사용할 수 있습니다.
I nitiator 가 응답자의 정책을 알고 있거나 응답자의 정책에 대한 포괄적인 이해를 가지고 있는 경우 야만적인 모드를 사용하면 IKE SA 를 더 빨리 만들 수 있습니다.
Ikev 1 의 두 번째 단계는 첫 번째 단계를 기준으로 한 쌍의 sa 를 최종적으로 구축하는 것입니다. 첫 번째 단계에는 단 하나의 모드, 즉 빠른 모드만 있습니다. 빠른 모드 협상은 SA 에 의해 보호되며 전체 협상 프로세스는 그림과 같습니다.
빠른 모드 협상 과정에서 주로 다음과 같은 IPSec 보안 정책을 결정합니다.
위에서 합의한 후 인바운드 및 아웃바운드 통신에 각각 사용되는 두 개의 PSec SA 가 설정됩니다.
메시지 1 과 ② 의 IPSec 보안 권장사항에는 보안 프로토콜, SPI, IPSec 패키징 모드, PfS (옵션), IPSec SA 수명 등이 포함됩니다. 이 두 메시지에는 IP 주소 및 전송 계층 포트, 인증 데이터 (사용된 인증 메커니즘의 키 및 인증서 포함) 등의 상호 ID 정보도 포함됩니다. ), nonce (재생 방지를 위한 난수, 비밀번호 생성 자료로도 사용되며 PFS 가 활성화된 경우에만 사용됨). 수신자는 수신된 상대 데이터를 사용하여 암호화 키를 생성하고 메시지 ③ 는 확인 메시지입니다. 발신자가 이 단계에서 이미 소식을 받았다는 것을 확인함으로써 응답자는 정식으로 소통할 수 있다는 것을 알게 되었다.
IKEv 1 2 단계, 최소한 6 개 이상의 메시지를 교환해야 결국 한 쌍의 PSec SA 를 만들 수 있다. IKEv2 는 보안을 보장하면서 전송 및 교환되는 메시지 수를 줄이고 구현하기 쉽습니다.
IKEv2 는 IKEv 1 의 대부분의 속성을 유지하며 IKEv 1 의 일부 확장 속성 (예: NAT 보행시선) 은 IKEv2 프로토콜의 일부로 IKEv2 프레임워크를 도입했습니다. IKEV 1 과 달리 IKEv2 의 모든 메시지는 I nitiator 가 보낸 메시지를 확인하는 요청-응답 형식으로 쌍으로 나타납니다. 지정된 시간 내에 확인 메시지가 수신되지 않은 경우 I nitiator 는 메시지를 재전송해야 보안을 향상시킬 수 있습니다.
IKEv2 는 서비스 거부 공격도 방어할 수 있다. IKEv 1 에서 네트워크의 공격자가 메시지를 계속 재생할 때 응답자가 응답하려면 계산을 거쳐야 하므로 디바이스 리소스가 소모되어 응답자에 대한 DoS 공격이 발생합니다. KEv2 에서는 응답자가 요청을 받은 후 계산에 급급하지 않고, 먼저 I nitiator 에게 쿠키 유형 Notify 하중 (즉, 특정 값) 을 보내고, 둘 사이의 통신은 F 쿠키와 I nitiator 간의 대응을 유지하여 DoS 공격을 효과적으로 방어해야 합니다.
IKEv2 는 초기 교환, 하위 서비스 프로토콜 교환 생성 (Create _Child _SA 교환) 및 정보 교환이라는 세 가지 유형의 교환을 정의합니다. IKEv2 는 초기 교환을 통해 IKE SA 와 첫 번째 IPSec SA 쌍의 협상 및 설립을 완료할 수 있습니다. 한 쌍 이상의 IPSec SA 를 구축해야 하는 경우 각 IPSec SA 값 쌍을 한 번만 추가하면 하위 SA 교환을 만들 수 있습니다 (IKEv 1 을 사용하는 경우 하위 SA 생성에는 두 단계가 더 필요합니다).
IKEv2 의 초기 교환은 IKEv 1 의 첫 번째 단계에 해당합니다. 초기 교환에는 그림과 같이 두 번의 교환에 대한 네 가지 메시지가 포함되어 있습니다. 메시지 1 과 ② 는 첫 번째 교환에 속하며 IKE SA 의 매개변수를 일반 텍스트로 협상합니다. 주로 암호화 알고리즘을 협상하고 nonce 값을 교환하며 DH 교환을 완료하여 암호화된 키 자료를 생성하고 후속 교환을 확인합니다. 메시지 ③ 와 ④ 은 2 차 교환, 신분 인증 (신분 정보 교환 및 데이터 확인), 처음 두 메시지 인증 및 IPSec SA 매개 변수 협상은 모두 암호화를 통해 이루어집니다.
초기 스왑이 완료되면 어느 한쪽이 하위 SA 스왑 생성을 시작할 수 있으며 해당 스왑의 개시자와 초기 스왑의 개시자가 다를 수 있습니다. 교환은 초기 교환이 완료된 후 수행되어야 하며, 교환 메시지는 초기 교환에서 협상한 키로 보호됩니다.
하위 SA 를 만드는 교환에는 IKE SA 가 여러 IPSec SA 또는 IKE 를 만드는 것을 재협상하는 두 가지 메시지가 포함되어 있습니다. 이는 IKEv 1 의 두 번째 단계에 해당합니다. PFS 지원이 필요한 경우 추가 DH 교환을 위한 하위 SA 교환을 만들고 IPSEC SA 를 감히 설정할 수 있는 새 키를 설정할 수 있습니다.
통신 쌍방의 키 협상 과정에서 한쪽은 특정 오류나 이벤트가 발생했음을 알리기 위해 상대방에게 제어 정보를 보내려고 할 수 있습니다. 이를 위해서는 "통지 교환 프로세스" 를 통해 수행되어야 합니다.
그림 2- 15 와 같이 알림 교환은 피어 간에 오류 메시지, 삭제 메시지 또는 알림 정보와 같은 제어 정보를 전달하는 데 사용됩니다. 정보 메시지를 받는 당사자는 응답해야 하며 응답 메시지에는 페이로드가 포함되지 않을 수 있습니다. 알림 스왑은 초기 스왑 이후에만 발생할 수 있으며, 해당 제어 정보는 IKE SA (IKES A 로 보호됨) 또는 sub-SA (sub-SA 로 보호됨) 일 수 있습니다.