有没有办法配置 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-VpnConnectionIPsecConfiguration
PowerShell 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
威尔·斯奈德