CA
证书颁发机构(CA, Certificate Authorities)根据认证操作规则 (CPS) 授权颁发、暂停、更新或取消证书的实体。在其颁发的所有证书和 CRL 中都可通过识别名称来识别 CA。证书颁发机构必须公布其公钥,或者如果该证书颁发机构隶属一级证书颁发机构,则由更高级的 CA 提供证书证明其公钥的合法性。
数字证书(Digital Certificates)是可进行验证的包含身份证明的小的数据文件,它可以帮助网站、个人、设备来代表他们真实可信的在线身份(可信是因为CA已经对身份进行了验证)。CA在互联网上的操作以及如何进行透明可信的事务中扮演了关键角色。每年,证书机构都会颁发上百万的数字证书,它们用于保护信息,加密数以十亿计的事务,并确保安全的通信。
如何保证CA可信
浏览器、操作系统和移动设备会运行一个已授权的CA成员资格程序,其中一个CA必须满足详细的标准才能够被接受作为其中一员。一旦所接受的CA能够颁发直接被浏览器信任的证书,随后,人们和设备就可以依赖该证书进行工作。仅有少量经过授权的CA,从私有公司到政府机构都有,并且CA运作的越久,就会有越多的浏览器和设备信任该CA颁发的证书。
在颁发一个数字证书前,CA会对申请者的身份进行一些检查。这些检查与所申请的证书类型相关,例如,一个对域名所有权进行验证的SSL证书(Domain Validated (DV SSL) Certificates)会将已经验证了所有权的域名包含到证书中。而一个可扩展SSL(Extended Validation SSL)会包含公司相关的额外信息,这些信息由CA通过许多公司检查进行验证。
证书有许多种类型,不仅仅是支持SSL,还可以用于对人员和设备进行认证,对代码和文档添加合法性证明等。
PKI与信任层级
浏览器和设备通过在其根证书库(Root Store)中接受根证书(Root Certificate)来信任一个CA,这个根证书库本质上是一个预先安装在浏览器或设备上的已信任CA数据库。Windows、Apple、Mozilla以及一般的移动媒介都运行自己的根证书库。
各CA使用这些预安装的根证书来办法中介根证书和终端实体数字证书。CA接收证书请求,验证申请者,颁发证书,并对依赖于该证书的任何人发布已颁发证书的持续的有效性状态。
CA通常会创建一些中介CA(ICA,Intermediate CA),用于办法终端实体证书,如SSL证书,这称为一个信任层次。
遵循最佳安全实践,CA不应该直接从发布给媒介的根证书来颁发数字证书,而应该通过一个或多个ICA。
CA是如何运作的
作为互联网中一个可信任的锚点,CA具有重大的责任。因此,在满足可审计的需求下运行一个CA是一个复杂的任务。一个CA基础设施由大量运作元素,硬件、软件、政策框架以及实践声明、审计、安保基础设施和人员组成。总体上,这些元素称为一个可信任的PKI(Public Key Infrastructure)。
SSL与TLS
SSL(Secure Socket Layers)是指安全套接字层,它是一项标准技术,用于确保互联网连接安全。 TLS(Transport Layer Security)指传输层安全,它是SSL的升级版。
历史简介
SSL和TLS都是加密协议,用于提供服务器、设备、应用在网络上的认证和数据加密。SSL是先于TLS设计出的,最初它是由网景公司于1995年首先公布的,最初的版本是SSL2.0(SSL1.0从未公开发布)。在修正若干缺陷后,1996年版本2.0迅速被SSL3.0所取代。
TLS在1999年作为基于SSL3.0的一个新版本被发布,根据RFC2246:
该协议和SSL3.0没有十分巨大的差别,但已有的差别就足以使得两者不能进行互操作。
SSL2.0和SSL3.0分别在2011和2015年已经被IETF废弃,因此现在应该使用TLS协议。
SSL和TLS采用不同的加密方式。
SSL和TLS仅仅指客端和服务器端进行的握手,握手并没有进行任何加密,它仅仅是对需要共享的秘钥和加密类型上达成一致。
SSL/TLS证书
SSL证书是数字证书的一种,它用于将一个网站服务器的所有者详情和加密秘钥进行绑定。在浏览器和持有SSL证书的服务器之间,这些秘钥用于在SSL/TLS协议中激活一个安全会话。为了让浏览器相信一个SSL证书,并在不引起安全性警告的前提下建立SSL/TLS会话,SSL证书必须包含网站的域名,并且由可信任的CA颁发,并且没有过期。
SSL证书的功能
因此SSL证书主要有两个功能:
认证与验证
SSL证书中包含有关于一个人、商业或站点的身份的特定细节的可靠性信息。其中CA颁发的扩展验证SSL证书对申请人的审查标准最为严格,因此它是最值得信赖的SSL证书。
数据加密
SSL证书也可以进行加密,也就意味着通过网络交换的敏感信息不回被第三者窃取并破译出。
其用途举例如下:
- 保障站点和用户浏览器通信的安全
- 保障企业内网内部通信的安全
- 保障通过网络进行的邮件通信的安全
- 保障通过因特网或内网进行的服务器间通信的安全
- 保障移动设备收发信息的安全
SSL证书的类型
目前有如下几种不同类型的证书:
自签发证书
主要用于内部使用的非CA颁发的证书。如果在外部使用,因为其不具备可信任的身份认证能力,不能用于辨别伪造的服务器。
域名验证证书
可以快速进行颁发的入门级SSL证书。对申请人的验证中唯一需要确认的是其对域名的所有权。
完全认证证书
需要较长的审核期来进行颁发,只有一个组织通过一些验证流程,并且确认了商业实体的存在、对域名的所有权、以及申请人有权进行申请。
需要明确的是证书并不依赖于协议,因此没有用TLS证书来替换SSL证书的说法。因此上面使用SSL证书的术语,是因为该术语使用更广泛而已,包括目前许多证书颁发机构都仍然使用该术语。现在也可以称其为TLS证书,或者采用一种折中的术语称为SSL/TLS证书。