Windows 10 IKEv2 IPSec VPN 客户端和 DH Group15 (modp3072) 或更高版本

Windows 10 IKEv2 IPSec VPN 客户端和 DH Group15 (modp3072) 或更高版本

有没有办法配置 Windows 10 VPN 客户端以使用 DH Group 15 / Group15(modp3072)或更高版本进行密钥交换?

我有些苦恼,CNSA 指定使用 DH Group 15(modp3072)或更高版本,但 Windows 10 VPN 客户端仅支持最高 DH Group 14(modp2048),根据我的研究,这仍然被认为是安全的,但它不完全是 CNSA。

我知道 Windows 10 VPN 客户端支持 CNSA 允许的 ECP384,但我无法让 Windows 10 VPN 客户端使用我的 RSA X.509 证书连接到我的 strongSwan IPSec VPN 服务器,因为显然 Windows 10 VPN 客户端是硬编码的,要求使用 ECDSA 证书来使用 ECP384 进行密钥交换。

我得出的结论是,我应该用 ECDSA X.509 证书替换我的 RSA X.509 证书,以便 Windows 10 客户端可以使用 ECP384 进行密钥交换。

答案1

不,如果你想要更强大的 DH 密钥交换,你必须切换到 ECP384。因为-DHGroup如果Set-VpnConnectionIPsecConfigurationPowerShell cmdlet 是准确的,目前仅支持以下 DH 组:

  • 组 1 (modp768)
  • 组2(modp1024)
  • 组 14 (modp2048)
  • ECP256
  • ECP384
  • 组24 (modp2048s256)

正如您所提到的,使用 ECP DH 目前意味着必须使用 ECDSA 证书,至少对于机器证书认证而言(参见例如这张票在 strongSwan 问题跟踪器上)。对于通过 EAP-TLS 的用户证书,情况可能并非如此。

答案2

ecdsa,谢谢您的回复,这正是我所猜测的答案。我最终成功生成了新的 ECDSA CA 密钥和 CACERT 以及 384 位 ECDSA X.509 客户端证书,在我的 Windows 10 计算机上安装了 ECDSA X.509 客户端证书,并配置了 Windows 10 VPN 客户端和我的 strongSwan VPN 服务器以使用 IKEv2 DHGroup ECP384 密钥交换和符合 CNSA 标准的 AES256GCM 加密。我在这里发布了最终使它为我工作的相关命令和配置文件部分,希望它们能够帮助其他想要做我所做的事情的人。

Powershell 命令行配置:

PS C:\WINDOWS\system32> Set-VpnConnectionIPsecConfiguration -ConnectionName "WSL VPN (X.509)" -AuthenticationTransformConstants GCMAES256 -CipherTransformConstants GCMAES256 -EncryptionMethod GCMAES256 -IntegrityCheckMethod SHA384 -PfsGroup ECP384 -DHGroup ECP384 -PassThru -Force


AuthenticationTransformConstants : GCMAES256
CipherTransformConstants         : GCMAES256
DHGroup                          : ECP384
IntegrityCheckMethod             : SHA384
PfsGroup                         : ECP384
EncryptionMethod                 : GCMAES256

ipsec.conf:

# ipsec.conf - strongSwan IPsec configuration file

config setup
        charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2,  mgr 2"
        uniqueids=no

conn %default
        fragmentation=yes
        forceencaps=yes
        dpdaction=clear
        dpddelay=300s
        rekey=no
        reauth=no
        mobike=yes

conn roadwarrior-ECDSA
        auto=add
        compress=yes
        type=tunnel
        keyexchange=ikev2

        ike=aes256-prfsha384-prfsha256-sha384-sha256-ecp384-ecp256-modp3072-modp2048,aes256gcm16-prfsha384-prfsha256-sha384-sha256-ecp384-ecp256-modp3072-modp2048!
        esp=aes256-prfsha384-prfsha256-sha384-sha256-ecp384-ecp256-modp3072-modp2048,aes256gcm16-prfsha384-prfsha256-sha384-sha256-ecp384-ecp256-modp3072-modp2048!

        left=%defaultroute
        leftid=mail.example.com
        leftsubnet=0.0.0.0/0
        leftcert=vpnHostKeyECDSA.pem
        leftsendcert=always
        leftfirewall=yes

        right=%any
        rightid=%any
        rightsourceip=192.168.109.0/24
        rightdns=192.168.110.222,8.8.8.8,8.8.4.4
        rightsendcert=never
        rightfirewall=yes
        auto=route

来自 strongSwan 日志的片段:

roadwarrior-ECDSA[286]: ESTABLISHED 5 hours ago, 192.168.110.222[mail.example.com]...1.2.3.4[C=US, O=Will Snyder Industries, [email protected]]
roadwarrior-ECDSA[286]: IKEv2 SPIs: 41caec74d5829bc8_i 34766237017aa128_r*, rekeying disabled
roadwarrior-ECDSA[286]: IKE proposal: AES_GCM_16_256/PRF_HMAC_SHA2_384/ECP_384
roadwarrior-ECDSA{638}:  INSTALLED, TUNNEL, reqid 135, ESP in UDP SPIs: ca9791fe_i 66112426_o
roadwarrior-ECDSA{638}:  AES_GCM_16_256/ECP_384, 1841739 bytes_i (12768 pkts, 0s ago), 21381073 bytes_o (17487 pkts, 0s ago), rekeying disabled
roadwarrior-ECDSA{638}:   0.0.0.0/0 === 192.168.109.50/32

威尔·斯奈德

相关内容