보안 데이터를 교환하려면 두 컴퓨터 사이에 약정을 맺어야 합니다. SA(보안 연결)라고 하는 이 약정에서 두 컴퓨터는 정보 교환 및 보호 방법에 동의합니다.

키는 보안 데이터 읽기, 수정 또는 확인에 필요한 비밀 코드 또는 숫자입니다. 키는 데이터를 보안하기 위해 알고리즘(수학적 프로세스)과 함께 사용됩니다. IPsec에서는 키를 사용하는 두 개의 단계 또는 모드가 있습니다. 주 모드가 먼저 실행되고 양쪽에서 안전한 방식으로 키 정보를 교환하는 데 사용할 수 있는 공유 마스터 키가 생성됩니다. 빠른 모드에서는 마스터 키를 사용하여 데이터 무결성이나 암호화에 사용되는 하나 이상의 세션 키 설정을 보안합니다.

Windows에서는 키 생성을 자동으로 처리하고 보호를 최대화하는 다음 키 속성을 구현합니다.

중요

IP 보안 정책 스냅인은 Windows Vista 및 이후 버전의 Windows를 실행하는 컴퓨터에 적용할 수 있는 IPsec 정책을 만드는 데 사용할 수 있지만 이후 버전의 Windows를 실행 중인 컴퓨터에서 사용 가능한 새 보안 알고리즘과 기타 새 기능은 사용하지 않습니다. 이러한 컴퓨터에 대해 IPsec 정책을 만들려면 고급 보안이 포함된 Windows 방화벽 스냅인을 사용합니다. 고급 보안이 포함된 Windows 방화벽 스냅인은 이전 버전의 Windows에 적용할 수 있는 정책을 만들지 않습니다.

동적으로 키 다시 만들기

IPsec은 동적으로 키 다시 만들기라는 방법을 사용하여 통신 중 새 키의 생성 빈도를 제어합니다. 통신은 블록 단위로 보내고 각 데이터 블록은 서로 다른 키로 보안됩니다. 이렇게 하면 통신의 일부와 해당되는 세션 키를 알아낸 공격자라도 통신의 나머지 부분은 알아낼 수 없습니다. 이러한 요청 시 보안 협상 및 자동 키 관리 서비스는 RFC 2409에 정의된 IKE(Internet Key Exchange)를 사용하여 제공됩니다.

IPSec을 사용하여 새 키의 생성 빈도를 제어할 수 있습니다. 값이 구성되지 않으면 기본 간격으로 키가 자동으로 다시 생성됩니다.

키 길이

키 길이가 1비트씩 늘어날 때마다 사용 가능한 키 수는 두 배로 증가하기 때문에 키를 알아내기가 점점 더 어려워집니다. IPsec은 짧거나 긴 키 길이를 허용하기 위해 여러 알고리즘을 제공합니다.

키 자료 생성: Diffie-Hellman 알고리즘

보안 통신을 사용하려면 네트워크를 통해 키를 보내 보안을 손상시키지 않고 두 컴퓨터에서 같은 공유 키(빠른 모드 또는 세션 키)를 얻을 수 있어야 합니다.

DH(Diffie-Hellman 알고리즘)는 키 교환에 사용되는 알고리즘 중 가장 오래되고 안전한 알고리즘 중 하나입니다. 양쪽에서 공개적으로 키 정보를 교환하며 Windows에서는 해시 함수 서명을 통해 이 정보를 추가로 보호합니다. 어느 당사자도 실제 키를 교환한 적은 없습니다. 그러나 키 자료를 교환하면 각 당사자가 동일한 공유 키를 생성할 수 있습니다.

양쪽이 교환한 DH 키 자료는 DH 그룹이라고 하는 768, 1024 또는 2048비트의 키 자료를 기반으로 할 수 있습니다. DH 그룹의 수준은 DH 교환에서 계산되는 키 수준에 비례합니다. 길이가 더 긴 키와 결합된 강력한 DH 그룹을 사용하면 키를 알아내는 계산의 난이도가 높아집니다.

참고

IKE 보안 알고리즘 대화 상자에서 768비트는 낮음(1) 설정에 해당하고 1024비트는 중간(2) 설정에 해당합니다.

IPsec은 DH 알고리즘을 사용하여 다른 모든 암호화 키에 대한 키 자료를 제공합니다. DH는 인증을 제공하지 않습니다. Microsoft Windows의 IPsec 구현에서는 DH 교환 후 ID가 인증되어 제3자의 공격으로부터 보호됩니다.

키 보호

다음 기능은 마스터 및 세션 키의 기본 프라임 번호(키 자료)와 키 강도를 향상시킵니다.

키 수명

키 수명은 새 키의 생성 방법이 아닌 생성 시기를 결정합니다. 동적으로 키 다시 만들기 또는 키 다시 생성이라고도 하는 키 수명을 사용하면 지정된 간격이 지난 후에 키를 강제로 다시 생성할 수 있습니다. 예를 들어 통신하는 데 10,000초가 걸리고 키 수명을 1,000초로 지정하면 통신을 완료하는 데 10개의 키가 생성됩니다. 이렇게 하면 공격자가 통신의 일부를 해독할 수 있더라도 통신의 나머지 부분은 보호됩니다. 키 수명은 마스터 및 세션 키에 모두 지정할 수 있습니다. 키 수명에 도달할 때마다 SA도 다시 협상됩니다. 또한 키를 새로 고치거나 다시 생성합니다. 단일 키로 처리되는 데이터의 양은 100MB를 넘지 않아야 합니다.

세션 키 새로 고침 제한

빠른 모드 세션 키에서 반복적으로 키를 다시 만들면 Diffie-Hellman 공유 암호가 손상될 수 있으므로 빠른 모드 세션 키 새로 고침 제한이 사용됩니다.

예를 들어 컴퓨터 A의 Alice가 컴퓨터 B의 Bob에게 메시지를 보낸 다음 잠시 후에 Bob에게 다른 메시지를 또 보냅니다. SA가 최근에 설정되었으므로 동일한 세션 키 자료가 다시 사용될 수 있습니다. 이러한 상황이 발생하는 횟수를 제한하려면 세션 키 새로 고침 제한을 낮게 설정합니다.

마스터 키 전달 완전 보안(PFS)을 사용하면 빠른 모드 세션 키 새로 고침 제한이 사용되지 않습니다. 세션 키 새로 고침 제한을 1로 설정하는 것은 마스터 키 PFS를 사용하는 것과 같습니다. 주 모드 마스터 키 수명 및 빠른 모드 세션 키 새로 고침 제한을 둘 다 지정할 경우 제한에 처음 도달할 때 키가 다시 만들어집니다. 기본적으로 IPsec 정책에서는 세션 키 새로 고침 제한을 지정하지 않습니다.

Diffie-Hellman 그룹

DH(Diffie-Hellman) 그룹은 DH 교환에 대한 기본 프라임 번호(키 자료)의 길이를 결정하는 데 사용됩니다. DH 교환에서 파생되는 키 강도는 부분적으로 프라임 번호가 기반을 두는 DH 그룹의 강도에 따라 다릅니다.

각 DH 그룹은 사용할 키 자료의 길이를 정의합니다. 그룹 1은 768비트의 키 자료를 보호하고 그룹 2는 1024비트를 보호하며 그룹 3은 2048비트를 보호합니다. 대형 그룹이 사용되면 DH 교환으로 결정되는 결과 키가 커져 공격자가 알아내기 어려워집니다.

IKE는 IKE 보안 알고리즘 대화 상자에 구성된 설정을 기반으로 사용할 그룹을 협상하여 두 피어 사이에 DH 그룹이 일치하지 않아 협상을 실패하는 일이 없도록 합니다.

세션 키 PFS를 사용하면 첫 번째 빠른 모드 SA 협상에서 새 DH 키가 협상됩니다. 새 DH 키가 협상되면 세션 키는 마스터 키에 대해 수행되는 DH 교환에 더 이상 의존하지 않습니다.

시작 컴퓨터에서 세션 키 PFS를 사용하고 있다고 해서 응답 컴퓨터에서도 세션 키 PFS를 사용해야 하는 것은 아닙니다. 그러나 시작 컴퓨터에서 세션 키 PFS를 사용하지 않고 응답 컴퓨터에서 세션 키 PFS를 사용하고 있으면 협상이 실패합니다.

DH 그룹은 주 모드 및 빠른 모드 SA 협상에 대해 모두 동일합니다. 세션 키 PFS를 사용하면 DH 그룹을 주 모드 SA 협상의 일부로 설정하더라도 빠른 모드 세션 키를 설정하는 동안 다시 만드는 모든 키에 영향을 줍니다.

전달 완전 보안

PFS는 키 수명과 달리 새 키의 생성 시기가 아닌 생성 방법을 결정합니다. 특히 PFS는 단일 키가 노출되더라도 전체 통신이 아닌 해당 키로 보호되는 데이터에만 액세스가 가능하도록 합니다. 이렇게 하기 위해 PFS는 모든 모드에서 전송을 보호하는 데 사용되는 키가 추가 키를 생성하는 데 사용될 수 없도록 합니다. 또한 사용되는 키가 특정한 키 자료에서 파생되었으면 해당 자료는 다른 키 생성에 사용할 수 없습니다.

주 모드 마스터 키 PFS에는 재인증과 많은 리소스가 필요합니다. 마스터 키 PFS를 사용하면 IKE에서 ID를 다시 인증해야 하므로 Kerberos V5 인증 프로토콜을 사용하여 인증할 경우 도메인 컨트롤러에 대한 오버헤드가 증가합니다. 따라서 빠른 모드 협상이 발생할 때마다 새로운 주 모드 협상이 필요합니다.

빠른 모드 세션 키 PFS는 다시 인증하지 않고도 사용할 수 있으며 리소스도 많이 필요하지 않습니다. 세션 키 PFS를 사용하면 DH 교환으로 새로운 키 자료가 생성됩니다. 세션 키 PFS에는 네 개의 메시지만 필요하고 인증이 필요하지 않습니다.

PFS는 SA 협상의 일부가 아니므로 양쪽 피어에서 모두 사용하지 않아도 됩니다. 응답 컴퓨터에 PFS가 필요하고 송신 컴퓨터의 빠른 모드 SA가 만료되면 송신 컴퓨터의 메시지만 거부되고 새 협상이 필요하게 됩니다. 송신 컴퓨터에서는 주 모드 SA가 만료되어 다시 협상이 이루어집니다. 마스터(주 모드) 및 세션(빠른 모드) 키에 대해 PFS를 따로 설정할 수 있습니다.

키 교환

보안 데이터를 교환하려면 두 컴퓨터 사이에 약정을 맺어야 합니다. 이 약정(SA)에서 두 컴퓨터는 정보 교환 및 보호 방법에 동의합니다.

두 컴퓨터 사이에 이 약정을 맺기 위해 IETF(Internet Engineering Task Force)에서 다음을 수행하는 IKE 보안 연결 및 키 교환 해결 방법을 설정했습니다.

  • 보안 연결 관리를 중앙에서 수행하여 연결 시간을 줄입니다.

  • 정보 보안에 사용되는 공유 비밀 키를 생성 및 관리합니다.

이 프로세스는 컴퓨터 사이의 통신을 보호할 뿐만 아니라 회사 네트워크에 대해 보안 액세스를 요청하는 원격 컴퓨터도 보호합니다. 또한 이 프로세스는 보안 게이트웨이에서 마지막 대상 컴퓨터에 대한 협상을 수행할 때마다 실행됩니다.

정의된 보안 연결

SA는 협상된 키, 보안 프로토콜 및 SPI(보안 매개 변수 색인)의 조합으로 송신 컴퓨터와 수신 컴퓨터 간의 통신 보호에 사용되는 보안을 정의합니다. SPI는 SA에서 식별하는 고유 값으로 수신 컴퓨터에 있는 여러 보안 연결을 구분하는 데 사용됩니다. 예를 들어 컴퓨터가 동시에 여러 컴퓨터와 보안 상태에서 통신하고 있으면 여러 보안 연결이 있을 수 있습니다. 이는 해당 컴퓨터가 여러 클라이언트에 서비스를 제공하는 파일 서버이거나 원격 액세스 서버일 때 흔히 발생합니다. 이 경우 수신 컴퓨터는 SPI를 사용하여 들어오는 패킷을 처리하는 데 사용할 SA를 결정합니다.

주 모드 SA

보안 통신을 성공적으로 수행할 수 있도록 IKE에서는 2단계 작업을 수행합니다. 보안 협상 중 두 컴퓨터에서 동의한 암호화 및 인증 알고리즘을 사용하여 각 단계를 수행하는 동안 기밀성과 인증이 보장됩니다. 두 단계의 임무를 구분하여 키를 신속하게 만들 수 있습니다.

첫 번째 단계에서는 두 컴퓨터 사이에 인증된 보안 채널을 설정합니다. 이것을 주 모드 SA라고 합니다. IKE는 이 교환 중에 필요한 ID 보호를 자동으로 제공합니다.

다음 단계에서는 주 모드 협상을 설명합니다.

  1. 정책 협상 - 다음 네 개의 필수 매개 변수가 주 모드 SA의 일부로 협상됩니다.

    • 암호화 알고리즘(DES 또는 3DES)

    • 해시 알고리즘(MD5 또는 SHA1)

    • 인증 방법(Kerberos V5 인증 프로토콜, 인증서 또는 미리 공유한 키 인증)

    • 기본 키 자료에 사용할 DH(Diffie-Hellman) 그룹(768비트 낮음(그룹 1), 1024비트 중간(그룹 2) 또는 2048비트 높음(그룹 3))

    • 인증서나 미리 공유한 키를 인증에 사용하면 컴퓨터 ID가 보호됩니다. 그러나 Kerberos V5 인증 프로토콜을 사용하면 인증 중에 전체 ID 페이로드의 암호화가 이루어질 때까지 컴퓨터 ID는 암호화되지 않습니다.

  2. 공개 값의 DH 교환. 실제 키가 교환되지 않습니다. 공유 비밀 키를 생성하는 DH 키 결정 알고리즘에 필요한 정보만 교환됩니다. 이 교환 후에 각 컴퓨터의 IKE 서비스는 인증 보호에 사용되는 마스터 키를 생성합니다.

  3. 인증. 컴퓨터에서 DH 키 교환을 인증하려고 시도합니다. DH 키 교환을 인증하지 않으면 통신이 제3자의 공격을 받기 쉽습니다. 인증에 성공하지 못하면 통신을 계속할 수 없습니다. 협상 알고리즘 및 방법과 함께 마스터 키를 사용하여 ID를 인증합니다. ID 유형, 포트 및 프로토콜을 포함하여 전체 ID 페이로드는 두 번째 단계에서 DH 교환으로 생성된 키를 사용하여 해시되고 암호화됩니다. 사용된 인증 방법에 상관없이 ID 페이로드는 수정 및 해석할 수 없도록 보호됩니다.

    송신 컴퓨터는 수신 컴퓨터에 잠재적인 보안 연결을 요청합니다. 응답 컴퓨터는 이 요청을 수정할 수 없습니다. 만약 이 요청이 수정될 경우 송신 컴퓨터는 수신 컴퓨터의 메시지를 거부합니다. 수신 컴퓨터는 요청을 수락하는 응답 또는 대안이 있는 응답을 보냅니다.

    이 단계에서 보낸 메시지에는 5회 반복되는 자동 다시 시도 주기가 있습니다. 다시 시도 주기가 끝나기 전에 응답을 받으면 표준 SA 협상이 시작됩니다. IPsec 정책에서 허용할 경우 보안되지 않은 통신은 잠시 후 시작됩니다. 이 동작을 낮은 수준으로 보안 연결이라고 합니다. 통신이 낮은 수준으로 보안 연결되더라도 보안 통신 협상은 5분 간격으로 시도됩니다.

    교환할 수 있는 횟수에는 제한이 없습니다. 설정될 수 있는 SA 수는 시스템 리소스에 의해서만 제한됩니다.

빠른 모드 SA

이 단계에서는 SA가 IP 보안 드라이버 대신 협상됩니다.

다음 단계에서는 빠른 모드 협상을 설명합니다.

  1. 정책 협상이 일어납니다. IPsec 컴퓨터는 데이터 전송 보안을 위해 다음 요구 사항을 교환합니다.

    • IPsec 프로토콜(AH 또는 ESP)

    • 무결성 및 인증을 위한 해시 알고리즘(MD5 또는 SHA1)

    • 요청할 경우 암호화 알고리즘(DES 또는 3DES)

    공통의 약정이 성립되고 두 SA가 설정됩니다. 하나는 인바운드 통신용 SA이고 다른 하나는 아웃바운드 통신용 SA입니다.

  2. 세션 키 자료가 새로 고쳐지거나 교환됩니다. 협상될 경우 IKE가 키 자료를 새로 고치고 패킷 무결성, 인증 및 암호화를 위해 새 공유 키가 생성됩니다. 키를 다시 만들어야 할 경우 주 모드 협상에서 설명한 대로 두 번째 DH 교환이 발생하거나 원래 DH 키 새로 고침이 사용됩니다.

  3. SA와 키가 SPI와 함께 IP 보안 드라이버에 전달됩니다. 데이터 보안을 위한 보안 설정 및 키 자료의 빠른 모드 협상은 주 모드 SA에서 보호됩니다. 첫 번째 단계에서 ID 보호를 제공하므로 두 번째 빠른 모드 단계에서는 데이터를 보내기 전에 키 자료를 새로 고쳐 보호합니다. 키를 다시 만들어야 할 경우 IKE에서 추가 DH 교환을 위해 키 교환 페이로드를 수용할 수 있습니다. 즉, 마스터 키 PFS를 사용합니다. 그렇지 않으면 IKE가 주 모드에서 완료된 DH 교환의 키 자료를 새로 고칩니다.

    빠른 모드 결과로 각각 자체 SPI와 키가 있는 보안 연결 쌍이 만들어집니다. 하나는 인바운드 통신용 SA이고 다른 하나는 아웃바운드 통신용 SA입니다.

    메시지용 다시 시도 알고리즘은 주 모드 협상에서 설명한 프로세스와 유사합니다. 그러나 이러한 프로세스가 두 번째 또는 그 이후의 협상 중에 어떤 이유로 시간이 초과되어 동일한 주 모드 SA에서 연결이 끊어지면 주 모드 SA의 재협상이 시도됩니다. 설정된 주 모드 SA 없이 이 단계의 메시지가 수신되면 해당 메시지는 거부됩니다.

    여러 빠른 모드 SA 협상에 단일 주 모드 SA를 사용하면 프로세스의 속도가 빨라집니다. 주 모드 SA가 만료되지 않으면 다시 협상하여 다시 인증할 필요가 없습니다. 수행될 수 있는 빠른 모드 SA 협상 횟수는 IPsec 정책 설정으로 결정됩니다.

    참고

    동일한 주 모드 SA에서 키를 필요 이상으로 다시 만들면 공유 비밀 키가 알려진 일반 텍스트 공격에 취약해질 수도 있습니다. 알려진 일반 텍스트 공격은 공격자가 알려진 일반 텍스트에 따라 암호화된 데이터에서 암호화 키를 알아내려고 하는 스니퍼 공격입니다.

SA 수명

마스터 키 PFS를 사용하지 않으면 주 모드 SA가 캐시되어 여러 빠른 모드 SA 협상을 사용할 수 있게 됩니다. 마스터 키 또는 세션 키가 키 수명에 달하면 SA가 다시 협상됩니다. 또한 키를 새로 고치거나 다시 생성합니다.

주 모드 SA의 기본 제한 시간이 경과하거나 마스터 또는 세션 키 수명이 다 되면 응답 컴퓨터에 삭제 메시지가 전송됩니다. IKE 삭제 메시지는 응답 컴퓨터에 주 모드 SA의 만료를 알립니다. 이렇게 하면 만료된 주 모드 SA에서 새로운 빠른 모드 SA가 추가로 만들어지지 않습니다. IPsec 드라이버에 키 수명에 달할 때까지 경과한 초 또는 바이트 수가 있으므로 IKE에서 빠른 모드 SA는 만료되지 않습니다.

마스터 및 세션 키에 전혀 다른 키 수명을 설정할 때는 주의합니다. 예를 들어 주 모드 마스터 키 수명을 8시간으로 설정하고 빠른 모드 세션 키 수명을 2시간으로 설정하면 주 모드 SA가 만료된 후 거의 2시간 동안은 빠른 모드 SA가 그대로 유효하게 남아 있을 수 있습니다. 이러한 상황은 주 모드 SA가 만료되기 바로 전에 빠른 모드 SA가 만들어질 때 발생합니다.