您当前的位置:   首页 > 新闻中心
了解代码签名如何影响您的组织
发布时间:2023-03-01 08:28:58   阅读次数:

image.png

当开发人员对其程序进行代码签名(Code Sign)时,正在交付的可执行文件已进行数字签名。程序的消费者将完整的签名视为代码在传输到安装到消费者设备上期间未被修改的证据。这个签名起到了一种“蜡封”的作用。代码签名需要应用数字签名来使用公钥加密分发文件


需要代码签名

今天,互联网是分发、访问和使用软件的主要方式——几乎您计算机上的每个应用程序都可能是在线下载的。这种媒体的广泛使用也增加了犯罪活动的风险。


例如,黑客和互联网罪犯可能会窃取可执行文件的源代码,向其中添加恶意软件,然后使软件易于在线发现和分发。自然地,该恶意软件会感染所有下载并安装该文件的用户。


代码签名可防止这种情况发生。您的操作系统会阻止任何程序的安装,而无需在您下载和安装时先验证是否存在代码签名证书。如果此时缺少来自受信任供应商的证书,用户会收到通知,他们可以决定是否继续安装。


代码签名的工作

  1. 对于开发者

    创建者必须首先创建一个可用于加密数据的特殊私钥。根据公钥密码学背后的理论,私钥-公钥对是可用于加密和解密的加密技术的集合。创建密钥对后,公钥将发送到证书颁发机构(CA),这是一个颁发证书的信誉良好的组织。


    CA 在将他们的公钥附加到数字签名证书之前确认开发人员的合法性,开发人员证明他们是密钥的合法所有者。申请证书的开发人员会收到 CA 发回的公钥和证书。

    数字签名证书
  2. 对于消费者

    在安装程序之前,大多数消费者操作系统都设置为检查是否存在代码签名证书。请求安装时,操作系统首先验证证书的有效性,然后使用来自 CA 的公钥解密摘要。


为软件开发所做的更改

在软件开发过程中使用的项目(文档、文件、脚本、库等)被称为中间制品。这些人工制品应在整个开发周期中签名,以防止除授权创建者以外的任何人进行修改。


开发人员可以在他们的开发环境中修改文件或脚本,对其进行代码签名,然后将签名的工件保存在他们的存储库中以备将来使用。这些中间制品的代码签名有助于防止黑客在整个构建过程中引入不需要的组件。现代软件开发方法中使用了许多不同的组件。


如果恶意软件渗透到这些组件中的任何一个,则可能会发生重大漏洞。您的软件开发团队必须考虑到这一点。因此,您的软件开发团队必须对他们用来创建软件的所有中间制品进行代码签名。


代码签名的好处

  • 帮助验证开发人员的身份,促进交易双方的信任。

  • 提供证据证明软件没有被篡改或干扰,并且正在以其预期的方式使用。

  • 允许开发人员在更多平台上分发——鉴于主要平台强制代码签名作为发布前的强制性步骤。


代码签名的最佳实践

  1. 执行代码完整性检查

    开发人员签入的任何代码都必须使用他们的签名密钥进行数字签名。为确保最终发布的代码未经修改,必须检查所有开发者签名。完成所有这些检查后,应签署并发布最终版本。验证源代码的完整性是帮助确保软件更新不受篡改且可供客户安全使用的关键步骤。


  2. 将密钥存储在高度安全的位置

    在密钥存储方面,企业犯的最大错误之一是将密钥保存在硬盘驱动器、开发人员的个人计算机或内置服务器上。此错误可以为攻击者提供广泛的机会来获取您的私钥并破坏多个系统。始终保持您的代码签名密钥非常安全的加密区域,例如 FIPS 140-2 Level 3这个级别的HSM硬件安全模块/加密机),以防止这种危险 。HSM极难被破坏,因为它们是防篡改的。它可以保证不会导出任何私钥,并且没有其他人可以访问或不正确地使用代码签名密钥。


  3. 轮换密钥

    有时,组织倾向于使用相同的密钥来签署跨不同产品线和业务的发布。这根本不是一个好主意。您使用代码签名密钥签名的所有版本都有被黑客入侵的风险。相反,定期更换密钥是明智的。此外,使用不同且独立的密钥来签署跨 DevOps 团队的各种版本。


结论

代码签名证书对于用户的信任和确保源代码的完整性至关重要。此外,它还可以让您确保您的应用程序不会受到网络攻击。越来越多的网络攻击和庞大的应用程序市场意味着您必须在安全方面做好准备。


揽阁信息提供的Thales Luna HSM拥有FIPS 140-2 Level 3和CC EAL4+两项认证;Thales ProtectServer HSM拥有FIPS 140-2 Level 3认证。欢迎联系我们获取相关资料。




揽阁信息可提供的部分安全产品和解决方案信息

联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:


您还可以得到揽阁信息所提供的优质服务。

揽阁信息 · 值得您信赖的信息安全顾问!


相关阅读

购买咨询电话
021-54410609