有数字签名的软件就一定值得用户信任吗
如果您问答“是的”,那就错了!
请大家参考 微软网站的有关代码验证机制文章,简单地讲:就是给软件代码加上数字签名,仅用来保证:
(1) 真实性 ( authenticity ) :让用户确信此软件的来源 ( 软件开发商的真实性 );
(2) 完整性 ( integrity ) :确保软件发布后没有被篡改。
看看以下截图就能理解以上两点,当您从 MSN中国 网站上下载和安装 MSN 保护盾( http://im.live.cn/safe/ )时,系统会告诉你此软件的发行者是 上海美斯恩网络通讯技术有限公司,你是否运行此软件,你自己定,缺省按钮是“不运行”,并提醒你“此类文件类型可能危害您的计算机。请仅运行来自您信任的发行者的软件”!这就是正确答案!而国内大部分杀毒软件公司认为只要有数字签名就是信任软件而就直接放行,这绝对是误区。
请大家注意,此文标题反过来讲就是正确的:没有数字签名的软件是绝对不能轻易信任的!请记住:一定不能安装没有数字签名的软件,否则您的电脑就极有可能不是您的了!
还是看Windows在运行没有数字签名的软件是提示什么,如下图所示,会提示“发行者:未知发行者”,并显示一个红色的叉号警告:此文件没有包含有效的数字签名以验证其发行者;而有数字签名的则是黄色问号警告。
对于ActiveX控件,如果没有数字签名,则Windows 直接拦截不允许运行: