IKEv1のpreshared-keyはどのように使われているのか
ふと、IKEv1のPreshared-key(事前共有鍵)認証で設定したキーは、ISAKMP SA作成時のパケットのどこに載っているのか気になった。(載っているもんだと思っていた。)
別件でstrongswanを使いそうな予感がしていたので、たいして書籍等調べもせず「GNS3のルータとstrongswan間でIPsec通信させて、ISAKMPのパケットを見ればわかるだろう」という安直な考えから、とりあえず両者の設定を行った。
各種バージョン
GNS3: 1.5.2 ゲストOS: Centos7.2 strongswan: 5.5.0
設定(Cisco)
show runの抜粋。
crypto isakmp policy 10 encr aes authentication pre-share group 5 crypto isakmp key cisco address 172.16.10.2 crypto isakmp keepalive 30 periodic crypto ipsec transform-set TS esp-aes esp-sha-hmac mode tunnel crypto map cmap 10 ipsec-isakmp set peer 172.16.10.2 set transform-set TS match address cryptoacl interface GigabitEthernet2/0 ip address 192.168.1.1 255.255.255.0 negotiation auto interface GigabitEthernet3/0 ip address 172.16.10.1 255.255.255.0 negotiation auto crypto map cmap ip route 192.168.2.0 255.255.255.0 172.16.10.2 ip access-list extended cryptoacl permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
設定(strongswan)
ipsec.conf
config setup conn %default ikelifetime=1440m keylife=60m rekeymargin=3m keyingtries=1 keyexchange=ikev1 authby=secret conn ciscoios ikelifetime=1440m left=172.16.10.2 leftsubnet=192.168.2.0/24 leftid=172.16.10.2 leftfirewall=yes right=172.16.10.1 rightsubnet=192.168.1.0/24 rightid=172.16.10.1 auto=add ike=aes128-sha1-modp1536 esp=aes128-sha1
ipsec.secrets
172.16.10.1 172.16.10.2 : PSK "cisco"
結果
Wiresharkでパケットを眺めていても全然わからなかった。ものの本によるとSKEYIDという鍵がpreshared-keyから生成されているらしいけど、それがどこにあるのかもよくわからない。
まだまだ勉強が足りないようなので、まずは調べてみる。