https

http协议传输数据使用明文。
https:SSL协议用于对http协议传输的数据进行加密。SSL位于应用层和TCP层之间。

SSL的作用:
1、认证用户和服务器,确保数据发送到正确的客户机和服务器;
2、加密数据以防止数据被窃取(即使窃取也不能破译);
3、维护数据的完整性,确保数据在传输过程中不被改变。



握手协议:
第一阶段:
ClientHello:客户发送,包含Version、Random、Session id、Cipher suite、Compression method等信息;
1、客户机可以支持的SSL最高版本号;
2、一个用于生成主密码的32字节随机数;
3、一个确定会话的session id;
4、一个客户端可以支持的密码套件列表;
密码套件格式:以“SSL”开头,+密钥交换算法。用“With”把密钥交换算法、加密算法、散列算法分开。
eg: SSL_DHE_RSA_WITH_DES_CBC_SHA, 表示把DHE_RSA(带有RSA数字签名的暂时Diffie-HellMan)定义为密钥交换算法;把DES_CBC定义为加密算法;把SHA定义为散列算法。
5、一个客户端可以支持的压缩算法列表。


ServerHello:服务器对ClientHello消息中的信息进去确认;
1、一个SSL版本号,取客户端支持的最高版本号和服务器端支持的最高版本号中的较低者;
2、一个用于生成主密码的32字节的随机数;
3、session id;
4、从客户端的密码套件列表中选择的一个密码套件;
5、从客户端的压缩方法的列表中选择的压缩方法。


该阶段的结果:客户端和服务器端知道了如下内容。
1、SSL版本;
2、密钥交换算法、加密算法、信息验证算法;
3、压缩算法;
4、有关密钥生成的两个随机数。


第二阶段:服务器验证和密钥交换
该阶段所有的消息由服务器发送,客户端接收。
1、证书:服务器将数字证书和根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器;
2、服务器密钥交换(可选):视密钥交换算法而定;
3、证书请求:服务器可能会要求客户自身进行验证(采用https协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面);
4、服务器握手完成:第二阶段的结束,第三阶段开始的信号。

服务器的验证和密钥交换。1证书和2服务器密钥交换是基于密钥交换方法的。
SSL中密钥交换算法有6种:无效(没有密钥交换)、RSA、匿名Diffie-Hellman、暂时Diffie-Hellman、固定Diffie-Hellman、Fortezza。



第三阶段:客户端验证和密钥交换
该阶段所有的消息由客户端发送,服务器端接收。
1、证书(可选):为了向服务器证明自身,客户要发送一个证书信息,可选,在IIS中可以配置强制客户端证书认证;
2、客户端密钥交换(Pre-master-secret):客户端将预备主密钥发送给服务器端,使用服务器端的公钥进行加密;
3、证书验证(可选):对预备密码和随机数进行签名,证明用于1中证书的公钥。

一般如果服务器在阶段二中没有明确请求,否则没有证书信息。


第四阶段:完成
1、改变密码规格;
2、完成(MD5散列+SHA散列);
3、改变密码规格;
4、完成(MD5散列+SHA散列)







记录协议:
1、加密性:使用握手协议定义的密钥实现;
2、完整性:握手协议定义了MAC,用于保证信息完整性。

警报协议:
客户端和服务器发现错误时,向对方发送一个警报消息。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值