重新哈希:对代码签名另一种认识(下)

代码签名与传统签名一样,是为了表明合法身份。为了实现数字签名证书的独一无二的特性,数字签名自带有加密。然后通过计算机对签名进行身份验证,辨别其是否合法。当计算机识别到代码签名为合法的,则表明该代码是由合法的签名者发布。

另外,代码签名证书还具有确保代码的真实性和完整性。具体表现为:

真实性-告诉用户软件代码的来源。代码签名证书由签名证书私钥和公钥证书两部分组成。私钥用于代码的签名,公钥用于私钥签名的验证和证书持有者的身份识别。

完整性-保护文件不被恶意修改。证书中的公钥解密散列创建下载的应用程序的新哈希值,将新哈希与原证书签名的哈希进行比较,如果两个哈希值相匹配,用户就可知道该应用程序自签署后尚未被修改。

因此,代码签名可以防止大量依赖未经授权,恶意修改代码,欺骗性软件和专用恶意软件的攻击。

时间戳

时间戳是代码签名证书的重要部分。

与SSL证书一样,代码签名证书也有时效性,一般以年为单位,最长的有效期为三年。当代码签名证书到最后期限,就会自动失效。证书过期后,不能用于签署任何新的可执行文件。

时间戳是添加到签名的附加信息,在签署代码时通知设备的签名是否有效。与签名的其余部分一样,它也受密码保护。允许设备在签名时与有效期内进行比较。如果在证书有效期内完成签名,一切正常。签名将永久有效(因为加密标准会改变,因此签名最终失效。但这种情况并不经常发生。)

支持多平台

代码签名支持网络全平台,包括Windows,OS X,iOS,Android,Java,Linux,Adobe AIR或任何其他主要平台上开发应用程序,皆可使用代码签名。

为了提升网络安全,越来越多的平台进行强制签名。开发者在iOS,Android或OS X的官方应用商店中发布软件,必须签署代码。例如,Windows要求所有的驱动程序签名,即Microsoft Office宏和Firefox扩展也需要签名。

当用户下载尚未签名的软件时,计算机系统就会向用户发出“未知”或“不可信”出版商的警告,大大降低用户体验。因此,为了提升用户体验,避免运行可执行代码的风险,数安时代(GDCA)建议开发者使用代码签名证书。

如何获取、使用代码签名证书

获取和使用代码签名证书可以分为五个主要步骤:

购买证书 -选择可信的CA机构,根据使用时间、以及使用者身份选定代码签名证书。

验证身份- CA机构根据申请资料对申请者进行身份的审核验证。申请流程根据个人以及单位有所差异。

安装代码签名证书 – 根据使用的平台,安装步骤有所差异。在一些平台上,签名工具就可处理安装和签名。还有另一种情况,需要明确将获取的代码签名证书先导入到“信任商店”,然后才能开始使用证书。

申请签署 – 签署的应用程序是添加数字签名的位置。每个平台都有均有专门的工具使用。然后检查开发环境或平台的文档,查看签名。

分发应用程序 -用户运行该软件时,他们将被赋予你的身份,并且能够相信他们正在运行你提供的合法软件。开发者可以通过互联网,CD,闪存驱动器或任何其他方式选择分发软件。

上一篇:

相关新闻

春节服务
在线客服
QQ咨询
工作时间:周一至周五9:00-18:00
QR code