目录
一、web安全性实现
二、SSL协议栈
三、SSL会话与连接
五、记录协议
六、握手协议 (次密钥—>主密钥—>6个共享密钥)
1.网络层:IPsec(对终端用户和应用完全透明)
2.传输层:SSL/TLS(对应用完全透明)
3.应用层:Kerberos(用于特定按安全通信)
1.握手协议:密钥交换
2.记录协议:安全数据传输
3.报警协议:报警和错误
4.加密规约修改协议:启用新的密码参数
1.会话是客户和服务器之间的一个关联,由握手协议创建,可以被多个SSL连接共享,用于协商密码参数。
2.连接是一种通信实体具有对等关系的通信连接,连接是瞬时的,用后即消失,用于安全传输应用程序数据。
1.建立在可靠传输协议TCP上,使用对称加密算法、HMAC算法,提供连接安全性
2.发方:
(1)分片
(2)压缩:用当前会话状态中给出的压缩算法,将明文结构压缩为压缩记录
(3)MAC计算:用当前会话状态中指定的MAC算法计算消息摘要
(4)加密:用加密算法加密压缩数据和消息摘要,形成密文结构
(5)封装发送:将数据封装为可靠传输层协议的数据包,并发送到可靠传输层协议,通常发送多个加密数据块时,采用了密码分组链接模式CBC,以避免相同明文映射为相同密文
3.双发共享的密钥(6个)
(1)客户端写密钥、客户端写MAC密钥、客户端写IV(分组加密工作模式中的初始化向量)
(2)服务端写密钥、服务端写MAC密钥、服务端写IV
1.在传递应用程序数据之前使用
2.主要功能:客户和服务器之间相互鉴别;协商密钥交换算法;协商加密算法和密钥;协商压缩算法;生成密钥;完成密钥交换
3.使用三个协议
(1)握手协议
(2)报警协议
(3)加密规约修改协议
4.密钥交换算法
(1)RSA
(2)椭圆曲线
(3)DSS
(4)D-H
1)固定D-H:使用D-H密钥交换,需要有包含D-H公钥的数字证书
2)瞬时D-H:l用于一次性的密钥。D-H公钥交换时使用发送者的RSA或DSS私钥签名。接收者使用相应的公钥验证签名。由于是临时的,因此是三种D-H算法中最安全的。
3)匿名D-H:基本的无认证的D-H算法,容易受到中间人攻击
(5)密钥交换四阶段
1)第一阶段:建立安全功能(客户告诉服务器自己的要求或能力;服务器按照自己的要求或能力选择并回应客户)
·client_hello:版本、随机数、会话ID、密码套件、压缩方法
·server_hello:版本、随机数、会话ID、密码套件、压缩方法
2)第二阶段:服务器认证和密钥交换
RSA:
·certificate:服务器公钥的数字证书
·server_hello_done
匿名D-H:
·server_key_exchange:服务器的本原根、素数和公钥
·server_hello_done
瞬时D-H:
·certificate
·server_key_exchange:三个D-H参数(服务器的本原根、素数和公钥)、三个参数的签名
·server_hello_done
3)第三阶段:客户端认证和密钥交换
RSA:
·client产生48字节的次密钥
·client_key_exchange:用服务器公钥加密的次密钥。
匿名D-H、瞬时D-H:
· client_key_exchange(客户端D-H公钥参数):客户端的本原根、素数和公钥
4)第四阶段:修改密码规范协议