HTTPS是工作于SSL层之上的HTTP协议,SSL(安全套接层)工作于TCP层之上,向应用层提供了两个基本安全服务:认证和保密。SSL有三个子协议:握手协议,记录协议和警报协议。其中握手协议实现服务器与客户端的认证与密钥交换,记录协议进行数据加密并保证数据的完整性,警报协议则规定了错误类型和处理机制。
从第一部分HTTP工作原理中,我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码。在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的域名与证书上绑定的域名是否一致,同时还要对证书的颁发机构进行验证,如果验证失败浏览器会给出证书错误的提示。
证书以证书链的形式组织,在颁发证书的时候首先要有根CA机构颁发的根证书,再由根CA机构颁发一个中级CA机构的证书,最后由中级CA机构颁发具体的SSL证书。我们可以这样理解,根CA机构就是一个公司,根证书就是他的身份凭证,每个公司由不同的部门来颁发不同用途的证书,这些不同的部门就是中级CA机构,这些中级CA机构使用中级证书作为自己的身份凭证,其中有一个部门是专门颁发SSL证书,当把根证书,中级证书,以及最后申请的SSL证书连在一起就形成了证书链,也称为证书路径。在验证证书的时候,浏览器会调用系统的证书管理器接口对证书路径中的所有证书一级一级的进行验证,只有路径中所有的证书都是受信的,整个验证的结果才是受信。
SSL证书的验证过程包括以下几个步骤:
1.验证浏览器中“受信任的根证书颁发机构”是否存在颁发该SSL证书的机构。
2.检查SSL证书是否被颁发机构吊销,检查SSL证书中的证书吊销列表,如果已经被吊销,则会显示警告信息。
3.检查此SSL证书时间是否过期,检查网站SSL证书的有效期限,如果证书已经过了有效期,则会显示警告信息。
4.检查网站的域名是否与证书中域名一致,检查部署此SSL证书的网站的域名是否与证书中的域名一致,如果不一致,则浏览器也会显示警告信息。
5.查询此网站是否被列入欺诈黑名单。
帝恩思SSL证书服务和国际知名CA机构合作,采用国际领先互联网加密技术,采用HTTPS加密,加强网站数据安全,防止网站数据被窃取、篡改、劫持,获得搜索引擎更高排名,在SSL领域提供更加专业的服务和客户体验,让您的品牌更加安全可靠。