证书机构(CA)正加大努力使代码签名证书规范化,从而确保应用程序的安全性。
在现代IT环境中,有大量不同的方式可以用来确保应用程序的安全性。其中一个就是从源头开始,让应用程序开发者对他们的代码进行数字签名,从而确保给定的应用程序的完整性和真实性。
证书颁发机构安全理事会(CASC)在积极宣传,提高代码签名意识。CASC成立于2013年2月,是一个包含全球各大领先证书机构(CA)的行业组织。
CA是颁发和管理安全证书的组织,安全证书主要用于安全套接层(SSL)加密和应用程序代码签名。CASC还与CAB论坛进行了合作,后者是集结了CA和web浏览器供应商的组织。
代码签名证书(https://www.bisend.cn/code-signing-ssl-certificate)背后的基本思想是,软件开发者使用CA签发的有效证书对应用程序进行签名。CA的作用是验证证书是否授予给了真实的应用程序。如果应用程序在之后遭到了攻击并被认为是恶意的,那么CA应该撤销该证书。如果系统按其要求正常运行,一旦CA撤销了该证书,恶意应用程序将不能正常运行。
代码签名之前没有得到广泛采用的原因之一,可能是因为,迄今为止,关于CA代码签名基础设施和流程如何工作等问题上,没有设置最低基线标准。DigiCert副总法律顾问Jeremy Rowley告诉eWEEK ,CAB论坛正在起草一份有关代码签名证书基准要求的公开草案。
Rowley表示:“代码签名有助于阻止人们把病毒添加到现有软件中,然后再像他是合法软件一样重新分发它。”
当下,攻击者可以对自己的应用程序进行自签名,这也是CA想要避免的另一个风险。使用自签名证书,即签署证书的个人证明代码的有效性和真实性,而无需第三方机构审核或验证。在CA模型中,CA机构是完整性和真实性的控制点。
Entrust证书服务主管Bruce Morton向eWEEK解释,当代码被认为是恶意的情况下,使用CA签发的证书,可以确定对代码进行签名的个人身份,这点是十分有帮助的。
Morton说:“如果你的CA颁发的证书遭到滥用,你就可以撤销这些证书。”
在现有的安全证书浏览器模型中,web浏览器和CA维护着证书撤销列表(CRL),并使用包括在线证书状态协议(OCSP)在内的协议来检查证书的有效性。