SSL协议的工作原理如下:
1)握手协议:这个协议负责被子用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器次开始通信时,它们在一个协议版本上达成一致,选择加密算法和认证方式,并使用公钥技术来生成共享密钥。
2)记录协议:这个协议用于交换应用数据。应用程序消息被分割成可管理的数据块,还可以压缩,并产生一个MAC(消息认证代码),然后结果被加密并传输。接受方接受数据并对它解密,校验MAC,解压并重新组合,把结果提供给应用程序协议。
3)警告协议:这个协议用于每时示在什么时候发生了错误或两个主机之间的会话在什么时候终止。SSL协议通信的握手步骤如下:
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤:
1)客户使用HTTPS的URL访问Web服务器,要求与Web服务器建立SSL连接。
2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
5)Web服务器利用自己的私钥解密出会话密钥。
6)Web服务器利用会话密钥加密与客户端之间的通信。
以上就是SSL证书的工作原理,使用SSL证书需要在专业的证书签发机构申请,部分证书服务商提供有免费版,可以申请体验试用。以上资料均来自JoySSL官网
TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。
解决上述身份验证问题的关键是确保获取的公钥途径是合法的,能够验证服务器的身份信息,为此需要引入权威的第三方机构CA。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时能够为使用者提供证书验证服务,即PKI体系。
基本的原理为,CA负责审核信息,然后对关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名。CA也可以吊销已经签发的证书,基本的方式包括两类 CRL 文件和 OCSP。CA使用具体的流程如下: