如何验证为众信息系统软件公司的软件包的完整性?


为众信息系统软件公司所提供的软件包都有一个SHA2算法的三百八十四位检查和。但由于黑客一旦能更改我们的软件包,更改SHA2算法的三百八十四位检查和就更容易了,所以,为了增强我们的软件包的完整性保护,能在受到黑客攻击后,检测到非法的软件包修改,我们为这些检查和生成了一种验证码。

下面是我们网页上所显示的一个软件的例子:


asftp-3.3_SunOS.sparc-m64.wzpkg size:259561 sha384sum:
K2GyF8Spq0xb8xdQ1lqYgVTVxGkiYk/zhxxR/vKwVobJzEtTnbB3EUjBQxuL4smh 
Cert:f.P/kOipUhvgM7a$EmkVKsIFDcrY7NmSXoX2c.


第二行是该软件包的三百八十四位检查和,而第三行则是它的验证码。

为了能验证这组信息是否被篡改了,我们在wzpkgadm软件包中带了一个程序---/usr/local/bin/pkgcertvfy

使用的方法有二种:

  1. 将三百八十四位检查和及验证码这二行内容一字不差的放入一个文件中,然后以该文件作为标准输入运行pkgcertvfy:

cat file|pkgcertvfy

  1. 运行pkgcertvfy, 将三百八十四位检查和作为第一参数,以单引号括住的验证码为第二参数:

pkgcertvfy 三百八十四位检查和 '验证码'


wzpkgadm软件包也提供了生成SHA2 三百八十四位检查和的程序:/var/wzpkg/pkgsum, 您可用它来生成所下载的软件包的检查和,与我们网页上所说的值做比较,若不符,则或是下载错误,或是软件包被篡改,都不可用。而在三百八十四位检查和相符的情况下,则需要进一步检查这个检查和是否与验证码相符,若不符,则也不能用。