昨天从openvpn.net下载OpenVPN for Windows的安装包,但发现下载的链接地址并不是OpenVPN网站给出的
http://openvpn.net/release/openvpn-2.1.1-install.exe
而是自动跳转为
http://211.162.62.164:9205/9274E4439E219711FCAD0664C8A134395BF33CF0483068041EC8AFB4C302B71B0F1129DBF9F792B819D6319E0/openvpn.net/release/openvpn-2.1.1-install.exe
经过一翻“空想”,估计是长宽自行做了openvpn.net的下载镜像。
由于openvpn.net只给出了安装包的GnuPG Signature(数字签名),出于安全因素和对GnuPG的一点兴趣,看了一些关于GnuPG的文章:《个人数据安全 (1):用GnuPG保护个人隐私数据》、《GPG(pgp)加解密中文完整教程》,基本懂得怎么使用GnuPG了。本文内容也是参考以上两篇文章。
GnuPG (英文:GNU Privacy Guard, 简称:GPG) 是一份开放源代码的PGP加密自由软件。GnuPG依照由IETF订定的OpenPGP技术标准设计。 GnuPG用于加密、数字签名及产生非对称密钥对的软件。
在Windows下使用GnuPG
-
GnuPG:提供了一系列实现加密、解密、签名、证书管理等功能的命令行工具。GnuPG Shell和GPGee都需要借助GnuPG才能工作
-
GnuPG Shell:GnuPG Shell是GnuPG的一个图形前端,可以较为方便地完成证书管理的工作。GnuPG Shell当然也可以用于文件的加密、解密和签名操作,但是其使用不如GPGee那样来得简单直接。
-
GPGee:GPGee全称为GPG explorer extension。它在Windows Explorer的右键菜单中增加了GPG相关的菜单项,使得用户可以非常方便地执行加密、解密和签名操作。但GPGee不提供GnuPG证书的管理功能,因此建议和GnuPG Shell配合使用。
按顺序把以上三个软件都安装以后,GPGee需做做简单的配置,选中GPGee菜单中的「Configure」,有三个文件路径需要配置。
- Gnupg主程序:即GnuPG安装目录下的gpg.exe
- 公钥密钥环:位于%APPDATA%\gnupg\pubring.gpg
- 私钥密钥环:位于%APPDATA%\gnupg\secring.gpg
其中两个密钥环文件用于存储和管理GnuPG系统中所有已知的公钥和私钥。
对GnuPG数字签名进行验证
由于GnuPG采用非对称加密,验证数字签名前必须拿到对应的公钥!
- 把OpenVPN的安装包(openvpn-2.1.1-install.exe)和对应的GnuPG数字签名文件(openvpn-2.1.1-install.exe.asc)放在同一目录。
- 用鼠标右击 openvpn-2.0.9-install.exe.asc →「GPGee」→「Verify/Decrypt」。因为是初次验证OpenVPN的数字签名,所以提示缺少OpenVPN的公钥:Key ID为1FBF51F3。
-
从密钥服务器(Key Server)导入Key ID为1FBF51F3的公钥。命令为「gpg.exe –recv-keys 1FBF51F3」。也可以用GnuPG Shell →「Server」→「Retrieve Keys」→(Key ID)→输入1FBF51F3,但在我这里不成功。
-
再次用鼠标右击 openvpn-2.0.9-install.exe.asc →「GPGee」→「Verify/Decrypt」。打√表示文件通过数字签名验证,但提示我没有对此公钥选择信任级别。
必须对导入的公钥进行有效确认:指纹采样(fingerprint)
上面提到:我没有对此公钥选择信任级别。因为从网络上导入公钥,有存在伪造的可能性。我们可以通过指纹采样(fingerprint)来确保我们拿到的公钥是可靠的。因为我没有在openvpn.net上找到它公钥的指纹采样,所以以TrueCrypt的公钥为例。
TrueCrypt公钥指纹采样(官方页面):C5F4 BAC4 A7B2 2DB8 B8F8 5538 E3BA 73CA F0D6 B1E0
指纹采样可以用GnuPG Shell查看,但是不知什么原因,我这里通过GnuPG Shell查看指纹采样数值并不正确。
而通过GnuPG命令行查看是正确的,命令如下:gpg.exe –fingerprint Key ID
对于通过指纹采样的公钥我们可以把它的信任级别设定为“Ultimately”。
公钥的指纹采样数值是正确的并且文件通过数字签名验证,这样说明文件的完整性是完好的,没有被第三方篡改。
海邦达天原国际货运有限公司(又称:邦联集团,Air sea group)的台湾人邢台明(台湾身份证号:A104503012)与台湾人邢冠楷(台湾身份证:A126905181,二人系父子关系)在.