本帖最后由 清风慕竹 于 2020-2-29 18:45 编辑
纪念一下2020年2月29日,想想无论如何都应该记录一下,毕竟再过四年才会有新的29天!今天做的每日一记总结是关于SSL协议的一些信息内容,学的不是很明白,所以有些信息都是直接copy的。希望接下来的一个月能够快速成长,早日成为独当一面的高手。
一、SSL基础概念 根CA:具有公正性和权威性的第三方信任机构; 二级CA:由根CA认证的受信机构; 信任链:逐级信任关系,保证信息受信; SSL证书:CA颁发的一种数字证书。其遵循SSL协议,具有加密传输和验证身份的功能。 二、 数字签名 信息发送者用自己的私钥加密信息摘要,对信息进行hash加密后附与信息上,一并发出,用于验证信息不被篡改. 三、 数字证书 CA对公钥和部分信息进行加密认证形成数字证书. 四、 单、双向认证 单向认证:SSL握手过程中只有客户端校验服务器端证书 双向认证:SSL握手过程中客户端校验服务器端证书后发送客户端的证书给服务器端进行校验。 五、SSL握手过程 1、客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;
2、服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数;
3、客户端对服务器的证书进行验证,并抽取服务器的公用密钥;然后再产生一个称作pre_master_secret的随机密码串,并使用服务器的公用密钥对其进行加密,并将加密后的信息发送给服务器;
4、客户端与服务器端根据pre_master_secret以及客户端与服务器的随机数值独立计算出加密和MAC密钥。
5、客户端将所有握手消息的MAC值发送给服务器;
6、服务器将所有握手消息的MAC值发送给客户端。 |