分类
知识中心

证书生命周期

那些发送电子邮件或运行网站的人的真实性每天都受到质疑,因为攻击者会假装成他们不会破坏互联网用户的敏感数据。证明这种真实性的最简单方法是使用数字证书。数字证书利用只有密钥对的创建者才能拥有的密钥对,从而证明他们是他们所说的人。证书还由称为证书颁发机构或 CA 的受信任颁发机构创建和签名。CA利用信任链,回到原始CA,该CA保持离线和安全,以确保它不会受到损害。

但是,证书不仅仅是创建并提供给用户的。它们遵循一个重要的生命周期,该生命周期用于保护和续订证书,因此可以持续使用它们,而不必担心攻击者窃取它们并掩盖自己是证书的所有者。对证书颁发机构创建的证书的信任始于保证其证书生命周期得到良好管理并且不受损害。证书生命周期的实现非常重要,因为它等同于颁发证书的用户的身份。

分类
知识中心

什么是证书签名请求文件(CSR)?

证书签名请求 (CSR) 是用户申请证书(如 SSL/TLS 证书)时转发给证书颁发机构 (CA) 的编码文本块。CSR 是在将安装证书的服务器上创建的。CSR 包括域名、组织名称、位置和国家/地区等信息。该请求还包含公钥,该公钥将与生成的证书相关联,并且同一服务器还生成私钥。在开发证书时,CA只会使用公钥,私钥应该保存并保密,因为私钥是公钥的密钥对,如果我们丢失私钥,证书将不起作用。

什么是证书签名请求文件(CSR)?

CSR文件包括下面信息:

  • 域名:服务器的完全限定域名 (FQDN),如 www.ert7.com。
  • 组织名称:组织的法定名称,例如“北京天威诚信电子商务服务有限公司”。
  • 组织单位:组织的部门,如 IT 部门。
  • 城市/地点:组织所在的城市,例如北京/青岛。
  • 州/县/地区:如北京/山东
  • 国家:如中国
  • 电子邮件地址:用于与组织联系的电子邮件地址,例如 ssl@ert7.com
  • 公钥:将与证书关联的公钥。
分类
知识中心

什么是证书信任链?

证书信任链是指从您拥有的证书一直到根 CA 的证书列表。组织可能信任的根 CA 只有少数几个。如果我们需要信任证书,我们还需要信任该证书的颁发者和该证书的颁发者,依此类推。这种情况一直持续到我们找到根 CA,其中检查其证书并确定它是否受信任。如果根 CA 具有有效且受信任的证书,则所有中间 CA 和服务器的证书都将自动被视为有效。

分类
公司新闻

代码签名证书私钥保护升级措施延期通知

CA/B论坛最新消息,原定于2022年11月15日起执行的代码签名证书私钥保护升级措施,将延期至2023年6月1日,期间用户可在天威诚信继续按照现有规则申请和使用代码签名证书

此次变更旨在加强对代码签名证书私钥的保护。按CA/B论坛规定,2023年6月1日以后,普通(OV)代码签名证书密钥对必须在达到FIPS 140-2 Level2 或EAL4+通用标准以及更高标准的硬件加密模块中生成并存储。

具体变更方式如下:

变更前:对于普通代码签名证书,天威诚信获取到用户的CSR后,将其提交至CA进行数字签名后生成证书,再通过邮件的方式将证书发送给用户,无需硬件介质。

变更后:自2023年6月1日起,购买普通代码签名证书将和EV代码签名证书一样,证书由天威诚信签发并存储在预配置的USB Key上,再通过邮寄的方式将USB Key寄送给用户。

需要注意的是,此次升级只针对普通(OV)代码签名证书。EV代码签名证书及2023年6月1日前签发的普通代码签名证书不受影响。

同时,已经使用代码签名证书或EV代码签名证书签名且加盖时间戳的软件不受影响并长期有效。

代码签名证书是提供软件开发者可以进行代码软件数字签名的认证服务。通过对代码的数字签名可以消除软件在Windows系统被下载安装时弹出的“不明开发商”安全警告,保证代码完整性和不被恶意篡改,使软件开发者信息对下载用户公开可见,从而建立良好的软件品牌信誉度。

可以预见的是,代码签名私钥存储新规开始执行后,OV代码签名证书将从“软证书”变为“硬证书”,更有助于降低私钥泄漏的可能性。

为避免此次代码签名证书私钥保护升级带来的不便,天威诚信提醒有需要的用户提前做好计划和工作安排,天威诚信可为用户提供各主流厂商的代码签名证书以及相应的USBkey寄发和更换服务。

分类
知识中心

谁使用代码签名?

代码签名证书用于任何商业打包和分发的软件中。受信任的应用程序商店(如 IOS 应用商店或 Google Play 商店)需要对在其平台上分发软件进行代码签名。除非使用代码签名,否则许多消费者不会下载软件,因此即使不在知名平台上的开发人员也会实现代码签名。有几种不同类型的证书可供使用,具体取决于要分发的软件与哪些系统配合使用。桌面证书包括微软、Java、微软办公软件、VBA和 Adobe AI。移动证书的示例包括“视窗手机”、“视通专用企业”、“已验证的 Java”、“安卓”和“酿造”。

代码签名证书软件的一些示例包括:应用程序、Windows 软件更新、苹果软件、微软 Office VBA 对象和宏、.jar、.air 和 .airi 文件以及任何类型的可执行文件。对于 IOS 应用程序,代码签名使用 X 代码。要将软件上传到 Itunes 存储区,用户必须拥有有效的 Apple 开发者 ID 和有效的证书或个人资料,Xcode 才会对软件进行签名。要集成应用程序,开发人员需要使用开发证书。若要在任何设备上运行应用,必须使用分发证书来发送应用并对其进行测试。其他平台(如 Windows)只需要使用受信任的证书颁发机构。

分类
知识中心

代码签名的弱点

代码签名也有几个弱点,包括:
  • 对在代码签名过程开始时创建的私钥管理不当可能会导致所发送软件的不安全。如果合法的私钥被盗,则攻击者可以使用私钥对其恶意软件进行编码,这将告诉用户该软件可以安全使用,即使它不是。
  • 威胁参与者可以获得受信任的证书,但阻止大多数攻击者的是需要提供标识信息才能获得证书。如果使用合法证书分发恶意软件,则可以识别并阻止开发人员。
  • 如果用户允许安装软件,即使操作系统说它没有代码签名,那么代码签名将变得毫无用处。
为了防止这些弱点,应该遵循一些最佳实践。
  • 为了保护加密密钥,应使用硬件安全模块或 HSM。HSM 是一种高度受信任的专用物理设备。它是一种网络计算机,执行所有主要的加密操作,包括加密,解密,身份验证,密钥管理,密钥交换等。它们具有防篡改功能,并使用极其安全的加密操作。
  • 与 HSM 一起,最小特权原则应与密钥一起使用,以确保只有需要密钥的用户才能访问它。
  • 最后,在进行代码签名时应始终谨慎使用。仅下载并安装由受信任的 CA 签名的代码的软件。
分类
知识中心

代码签名的优点

代码签名提供了许多好处,包括下面列出的那些。

通过代码签名,用户可以信任他们正在下载的软件,而不必担心将恶意软件下载到他们的计算机或移动设备上。这种身份验证就像一条双向的路,代码签名促进了交易所双方的信任。用户不仅可以信任发件人,而且开发人员还可以信任他们的软件到达正确的位置并且没有被滥用。

由于许多最大的受信任的移动和网络应用程序商店,如IOS AppStore或谷歌的Play商店,都需要代码签名,开发人员可以通过更多的平台分发他们的软件。

分类
知识中心

代码签名如何工作?

代码签名有几个步骤,从创建唯一密钥对开始。创建的密钥对是公钥-私钥对,因为代码签名使用公钥加密。创建密钥对后,公钥将发送到受信任的证书颁发机构或 CA,该证书颁发机构通过向软件开发人员返回公钥以及经过数字签名的代码签名证书来验证密钥是否属于所有者。CA 是高度受信任的实体,负责签名和生成数字证书。CA 返回的带有附加公钥的证书确认了开发人员及其创建的任何软件的可信度。

现在已返回公钥和数字代码签名证书,软件的代码将通过哈希函数运行。哈希函数是一个单向函数,它将放入函数中的文本转换为无法反转的值的任意混合。这提供了一个值,用于与将数据发送给使用者时进行比较。然后,输出或摘要由私钥加密。私钥用于加密而不是公钥的原因是,开发人员希望任何人都能够读取消息,但没有人能够篡改它。摘要、代码签名证书和哈希函数现在被组合成一个签名块,并放入软件中,然后发送给消费者。

收到软件后,消费者的计算机首先检查代码签名证书的真实性。一旦确认了真实性,摘要就会使用最初创建的密钥对的公钥进行解密。然后,在软件的代码上使用哈希函数,并将生成的摘要与开发人员发送的摘要进行比较。如果摘要匹配,则软件可以安全安装。

分类
知识中心

代码签名的重要性

从互联网下载软件时,消费者必须始终警惕伪装成软件提供商的第三方。使用代码签名等资源,可以确保软件来自正确的来源。代码签名是一种操作,其中软件开发人员或分销商对发送的文件进行数字签名,以确保用户收到的软件可以按照创建者所说的方式进行操作。签名用于证明代码未被篡改或修改其原始形式。

代码签名的重要性

随着从互联网上下载如此多的软件的能力,代码签名对于软件开发人员和分销商来说变得越来越重要。攻击者可以很容易地将自己伪装成合法来源,在受害者的计算机上植入恶意软件。代码签名可确保这些类型的攻击不会发生,只要用户仅下载其操作系统认为安全的软件即可。如今,当软件下载到计算机上时,操作系统会检查通过代码签名创建的数字证书,以确保尝试安装的软件的安全性。如果未找到任何数字证书,则会提醒用户注意这一事实,并提示用户停止或继续安装。