赞
踩
本测试主要验证远程用户carol和网关moon使用ESP套件:NULL_AES_GMAC_256建立的仅认证的连接,在配置文件ipsec.conf中通过设置esp=aes256gmac-curve25519! 实现。本次测试拓扑如下:
carol的配置文件:ikev2/esp-alg-aes-gmac/hosts/carol/etc/ipsec.conf,内容如下,IKE使用256bit的AES加密算法,使用AES-XCBC验证算法和x25519(DH组31)。ESP连接仅使用AES256-GMAC验证算法。
config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 keyexchange=ikev2 ike=aes256-aesxcbc-x25519! esp=aes256gmac-x25519! conn home left=PH_IP_CAROL leftfirewall=yes leftcert=carolCert.pem leftid=carol@strongswan.org right=PH_IP_MOON rightsubnet=10.1.0.0/16 rightid=@moon.strongswan.org auto=add
以下carol主机的strongswan配置文件:ikev2/esp-alg-aes-gmac/hosts/carol/etc/strongswan.conf,与以上配置相关的插件有:aes,curve25519,xcbc等。
# /etc/strongswan.conf - strongSwan configuration file
charon {
load = random nonce aes sha1 sha2 md5 pem pkcs1 curve25519 gmp x509 curl revocation xcbc stroke kernel-netlink socket-default updown
}
网关moon的配置文件:ikev2/esp-alg-aes-gmac/hosts/moon/etc/ipsec.conf以及strongswan.conf配置文件,内容与以上carol主机的配置基本相同,不在列出。
配置文件:ikev2/esp-alg-aes-gmac/pretest.dat,内容为通常的ipsec连接的启动语句。
配置文件:ikev2/esp-alg-aes-gmac/evaltest.dat内容如下。首先测试语句检查moon网关和carol主机上连接的建立情况。之后,在主机carol上执行ping主机alice的命令,测试连通性,测试数据使用字符串deadbeef,在之后的tcpdump抓包中将在此看到此内容。
moon:: ipsec status 2> /dev/null::rw.*ESTABLISHED.*moon.strongswan.org.*carol@strongswan.org::YES
carol::ipsec status 2> /dev/null::home.*ESTABLISHED.*carol@strongswan.org.*moon.strongswan.org::YES
moon:: ipsec status 2> /dev/null::rw.*INSTALLED, TUNNEL::YES
carol::ipsec status 2> /dev/null::home.*INSTALLED, TUNNEL::YES
carol::ping -c 1 -s 120 -p deadbeef PH_IP_ALICE::128 bytes from PH_IP_ALICE: icmp_.eq=1::YES
moon:: ipsec statusall 2> /dev/null::NULL_AES_GMAC_256::YES
carol::ipsec statusall 2> /dev/null::NULL_AES_GMAC_256::YES
carol::ip xfrm state::aead rfc4543(gcm(aes))::YES
moon:: ip xfrm state::aead rfc4543(gcm(aes))::YES
在moon网关和carol主机上查看ipsec statusall和ip xfrm state命令的执行结果,检查strongswan进程和内核中的连接信息。以下为moon网关上ipsec statusall的输出。可见其中的子连接rw{1}中的字符串:NULL_AES_GMAC_256。
Connections:
rw: 192.168.0.1...%any IKEv2
rw: local: [moon.strongswan.org] uses public key authentication
rw: cert: "C=CH, O=strongSwan Project, CN=moon.strongswan.org"
rw: remote: uses public key authentication
rw: child: 10.1.0.0/16 === dynamic TUNNEL
Security Associations (1 up, 0 connecting):
rw[1]: ESTABLISHED 1 second ago, 192.168.0.1[moon.strongswan.org]...192.168.0.100[carol@strongswan.org]
rw[1]: IKEv2 SPIs: f819b195ea0bc480_i bf6f7ec0af065e87_r*, public key reauthentication in 54 minutes
rw[1]: IKE proposal: AES_CBC_256/AES_XCBC_96/PRF_AES128_XCBC/CURVE_25519
rw{1}: INSTALLED, TUNNEL, reqid 1, ESP SPIs: ca83d06a_i ce9bde40_o
rw{1}: NULL_AES_GMAC_256, 148 bytes_i (1 pkt, 1s ago), 148 bytes_o (1 pkt, 1s ago), rekeying in 15 minutes
rw{1}: 10.1.0.0/16 === 192.168.0.100/32
以下为ip xfrm state命令在moon网关上的输出内容。配置文件中指定的aes256gmac算法为AEAD(Authenticated Encryption with Associated Data)的一种实现。
src 192.168.0.1 dst 192.168.0.100
proto esp spi 0xce9bde40(3466321472) reqid 1(0x00000001) mode tunnel
replay-window 0 seq 0x00000000 flag af-unspec (0x00100000)
aead rfc4543(gcm(aes)) 0x600f81ac0b37c77244384ccc5497f28c5ceb75c808e0b2880f1a0d308aeec32760c59a95 (288 bits) 128
src 192.168.0.100 dst 192.168.0.1
proto esp spi 0xca83d06a(3397636202) reqid 1(0x00000001) mode tunnel
replay-window 32 seq 0x00000000 flag af-unspec (0x00100000)
aead rfc4543(gcm(aes)) 0xa4f589a0a183ce2315aa87b550a41267fa83ed3ba7a9ff79060cc4a573eeb4385a9184fd (288 bits) 128
以下为测试中carol主机ping主机alice的报文。可见其中ESP头部之后的IP头,如目的IP:10.1.0.10,以及报文内容:deadbeef。此报文仅进行了验证未加密。
strongswan测试版本: 5.8.1
END
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。