在上一章的测试中,可以看到提示中包含了******* WARNING *******: all encryption and authentication features disabled -- all data will be tunnelled as cleartext这句话,表明由于没有认证,所以×××隧道中的流量都是明文的。


*****预共享密钥可以用于小型×××网络,如果数量多起来的话配置会非常麻烦********

现使用最简单的预共享密钥进行加密

先来生成密钥,在Centos上使用如下命令可在当前目录下生成一个2048bit的密钥文件secret.key

/usr/local/sbin/open*** --genkey --secret secret.key

文件内容如下

#

# 2048 bit Open××× static key

#

-----BEGIN Open××× Static key V1-----

18111a27e319a4efc2e538d134e6fd3c

2348893fad5d59deba0f52053b5fda08

7d9b38854e8bbbb861cd733dcc8b79f1

7af85a7a20fa31677f8f1b132f2e6e29

5d46d25e1e7d35c5d067887ceb966a9a

22a9fa8c73eb74a0bbbcb05221fedd03

2272433c3d1306143051d8a8c4bf90d7

c00382b72781a9cbc5d69eb7ceebef4d

ed3ce5255bd1a8ca38ea47390c0c71ec

c1770c4422e5c2bdeba18d3843a3b46a

bc62dd5234bc0eb21156739bf906dad3

2f31db872aa317a9758433d9185c2152

3d3caa7bb47acb26e6828346ba14066b

58b5dbfc02eb48e6a3dfc2ec0ed04a57

d1b4e149d56e82b41019cf75e5e6653d

26dc496761e742b4ec594f2be26d66cf

-----END Open××× Static key V1-----


对称加密

Client与Server之间的流量都使用同一个密钥进行加密,这个密钥就是secret.key文件,具体来说,是把整个key的内容划分成四个部分(如上四个颜色块)

CentOS上

/usr/local/sbin/open*** --ifconfig 172.16.5.1 255.255.255.0 --dev tap --secret secret.key

Win7上

open*** --ifconfig 172.16.5.2 255.255.255.0 --dev tap --secret c:\secret.key --remote coosh.net

无论是客户端还是服务器端,任何方向的数据,均使用18111a27e319a4efc2e538d134e6fd3c来做加解密用的CIPHER key,使用5d46d25e1e7d35c5d067887ceb966a9a22a9fa8c来做加解密HMAC key。


非对称加密

服务器Centos端上的命令如下(--verb 7是debug命令,可以不写)

/usr/local/sbin/open*** --ifconfig 172.16.5.1 255.255.255.0 --dev tap --secret secret.key 0 --verb 7

客户端Win7上的命令如下

open*** --ifconfig 172.16.5.2 255.255.255.0 --dev tap --secret secret.key 1 --verb 7 --remote coosh.net

服务器端有四个key,分别是

加密CIPHER key:18111a27e319a4efc2e538d134e6fd3c

加密HMAC key:5d46d25e1e7d35c5d067887ceb966a9a22a9fa8c

解密CIPHER key:ed3ce5255bd1a8ca38ea47390c0c71ec

解密HMAC key:3d3caa7bb47acb26e6828346ba14066b58b5dbfc

客户端也有四个key,分别是

加密CIPHER key:ed3ce5255bd1a8ca38ea47390c0c71ec

加密HMAC key:3d3caa7bb47acb26e6828346ba14066b58b5dbfc

解密CIPHER key:18111a27e319a4efc2e538d134e6fd3c

解密HMAC key:5d46d25e1e7d35c5d067887ceb966a9a22a9fa8c


万变不离key文件的内容。

==========================================================

如果不需要加密和HMAC,可以使用--auth none参数,方便排错。