关于“代码签名”的事

软件行业现在面临的问题是:各类大小软件扎堆开发、流氓软件横生的情况下,用户怎样才能信任那些在互联网上发布的软件代码?

有的人说,我下载软件的时候找一些品牌开发的或者去应用商店,应该可以保证安全信任的。答案是绝对错的,因为没有签名证书的软件发布到互联网,没有谁可以保证代码没有被篡改过,也不能保证绝对安全。

所以,我们需要对软件代码进行数字签名,来保护我们千辛万苦开发出来的代码,不受外界侵害,也更保护我们的用户,让他们能够安心地使用安全可靠的软件。

什么是代码签名证书?

代码签名证书是提供给软件开发者,对其开发的软件代码进行数字签名的数字证书,用于验证开发者身份真实性、保护代码的完整性。用户下载软件时,能通过数字签名验证软件来源可信,确认软件没有被非法篡改或植入病毒木马,保护用户不会被病毒、恶意代码和间谍软件所侵害,也保护了软件开发者的利益,让软件能在互联网上快速安全地发布。

关于“代码签名”的事_第1张图片

软件开发商可以使用代码签名证书来签名内核代码 .sys文件、ActiveX文件、.exe 和 .dll 文件、Java Applets、J2ME MIDlet、Office宏文件和运行移动操作系统(Windows Mobile 和 Symbian)的智能手机开发的移动应用软件。
关于“代码签名”的事_第2张图片
谁需要代码签名证书?

随着网络安全警惕意识的空前高涨。要是我们开发的软件无法证明合法性,则大部分网络用户都不会下载。那么代码签名证书就可以激发客户和用户的信心,并提供我们要验证代码所需的证明,这就相当于我们的居民身份证,证实我这个人是存在的,是品德优良的中国公民。

第一个需要这张“身份证”的人就是软件开发人员,你可以使用代码签名证书为客户提供额外的保证,让他们知道内容的生产商并且保证没有被篡改。签名的代码还可以防止代码在分发前被身份不明的第三方篡改。

另外就是内容发布者,你可以对软件组件、宏、固件映像、病毒更新、配置文件或者其他类型的内容进行数字签名,来确保通过互联网或其他机制进行安全交付。

当指定代码片段(例如 Active X 控件、Java 小程序以及其他活动的网络脚本代码)的源码可能不明显时,代码签名尤其重要。

如何才能获取代码签名证书?

码签名证书是一种采用数字签名技术的数字证书,允许软件开发者对其可执行脚本、代码和内容进行签名,以通过互联网验证开发者的身份。所以要想实现代码签名必须首先获得数字证书才能使用这些功能。并且代码签名证书针对不同的平台,其代码证书品种也不尽相同,因此使用者最好事先咨询正规的代码签名证书的颁发机构,可以针对不同平台的代码签名应用,提供不同的代码签名证书产品及应用解决方案。

代码签名证书的一般分类?

1.标准代码签名证书
代码签名证书(Code Signing Certificates)是为软件开发者提供的一个理想的解决方案,使得软件开发者对其软件代码进行数字签名,确保用户下载的内容来自所声明的来源。

2.EV增强型代码签名证书
EV代码签名证书(Extended Validation Code Signing Certificates)在原代码签名证书基础上加强了对企业身份的验证。

二者的功能区分如表中所述:
关于“代码签名”的事_第3张图片

认证机构

证书颁发机构(CA),是采用PKI公开密钥基础架构技术,专门提供网络身份认证服务,负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构。它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。
证书颁发机构 (CA) 是一个向单位、个人等颁发证书的可信实体。CA 受理证书申请,根据该 CA 的策略验证申请人的信息,然后使用它的私钥把其数字签名应用于证书。最后,CA 将该证书颁发给该证书的主体。通过遵循此层次结构或验证路径,到达已知的受信任证书颁发机构,可以确保证书有效。

认证机构的职责

CA机构的主要职责:

向符合公开条件的申请人颁发证书。

其他职责包括:
证书管理(例如,注册,续订和吊销证书)。
存储根密钥。
证书和CRL的公布
验证申请人提交的证据。
证书状态的在线查询。
承担与这些责任相关的责任。

代码签名流程
关于“代码签名”的事_第4张图片

你可能感兴趣的:(数据库,安全)