390 likes | 690 Views
SSL 协议. 电子科技大学. 目录. SSL 概述 SSL 记录协议 SSL 握手协议. 目录. SSL 概述 SSL 记录协议 SSL 握手协议. SSL: Secure Socket Layer, Netscape 公司设计的主要用于 web 的安全传输协议。 TLS: Transport Layer Security , IETF 将 SSL 作了标准化, TLS1.0 与 SSL3.0 差别很小。 WTLS : Wireless TLS ,无线环境,手机计算和存储能力有限,对 TLS 做了简化。. SSL 协议的发展. HTTP. FTP.
E N D
SSL协议 电子科技大学
目录 • SSL概述 • SSL记录协议 • SSL握手协议
目录 • SSL概述 • SSL记录协议 • SSL握手协议
SSL: Secure Socket Layer, Netscape公司设计的主要用于web的安全传输协议。 TLS: Transport Layer Security,IETF将SSL作了标准化,TLS1.0与SSL3.0差别很小。 WTLS:Wireless TLS,无线环境,手机计算和存储能力有限,对TLS做了简化。 SSL协议的发展
HTTP FTP SMTP SSL or TLS TCP IP SSL在协议栈中的位置
SSL提供的服务 • 身份认证 • 用数字证书来相互认证(防止冒名顶替) • 保密性 • 加密传输信息(防止窃听) • 数据完整性 • 保证数据完整性(防止对数据的损坏)
各种消息协同工作 应用 数据 Alert 握手 改变密码规格 记录层 TCP
目录 • SSL概述 • SSL记录协议 • SSL握手协议
目录 • SSL概述 • SSL记录协议 • SSL握手协议
制作一组密钥 原则上,使用同一个密钥来完成不同类型的加密操作被认为是糟糕的思想 每个方向上需要两个密钥,分别用于加密和消息鉴别 可通过密钥导出函数(KDF) SSL中的密钥生成问题
master secret Client write MAC secret Client write secret Client write IV Server write MAC secret Server write secret Server write IV 各种密钥 pre_master_secret
pre_master _secret 客户端 随机数 服务器 随机数 KDF master _secret KDF 密钥分组 客户端 MAC 服务器 MAC 客户端 输出 服务器 输出 客户端 IV 服务器 IV 密钥导出
假设SSL客户端C与SSL服务器端S通信,加密后的消息放在方括号[]里,以区别于明文消息。双方的处理动作的说明用圆括号()括起。假设SSL客户端C与SSL服务器端S通信,加密后的消息放在方括号[]里,以区别于明文消息。双方的处理动作的说明用圆括号()括起。 C:我想和你安全的通话,我这里的对称加密算法有DES,RC5,密钥交换算法有RSA和DH,摘要算法有MD5和SHA。 S:我们用DES-RSA-SHA这对组合好了。 这是我的证书,里面有我的名字和公钥,你拿去验证一下我的身份(把证书发给C)。 SSL握手协议的形象化比喻
C:(查看证书上S的名字,并通过手头已有的CA的证书验证S的证书的真实性,如果有误, 发出警告并断开连接,这一步保证了S的公钥的真实性) (产生秘密消息 — per_master_secret ,再用S的公钥加密成为ClientKeyExchange) SSL握手协议的形象化比喻
我生成了一份秘密消息,并用你的公钥加密传给你了(把ClientKeyExchange发给S)我生成了一份秘密消息,并用你的公钥加密传给你了(把ClientKeyExchange发给S) 注意:下面我要用加密办法给你发消息了! (将秘密消息进行处理,生成加密密钥,加密初始化向量和mac密钥) [我说完了] SSL握手协议的形象化比喻
S:用自己的私钥对ClientKeyExchange解密,然后将秘密消息进行处理,生成加密密钥,加密初始化向量和mac密钥,这时双方已经安全的协商出一套加密办法了)S:用自己的私钥对ClientKeyExchange解密,然后将秘密消息进行处理,生成加密密钥,加密初始化向量和mac密钥,这时双方已经安全的协商出一套加密办法了) 注意:我也要开始用加密办法给你发消息了! [我说完了] C: [我的秘密是...] S: [其它人不会听到的...] SSL握手协议的形象化比喻
1.从服务器传送的证书中获得信息 2.是否在证书的有效期内 3.证书中的服务器域名是否真实 4.签发证书的机关是否客户端信任的 5.校验服务器证书的签名 6.服务器被验证成功 认证服务器的身份-证书的校验
1.客户端传送的证书中获得相关信息 2.是否在证书的有效期内 3.用户的证书是否在服务器的LDAP用户信息中(确定客户端证书是否被吊销) 4.签发证书的机关是否服务器信任的 5.校验服务器证书的签名 6.客户端被认证成功 认证客户端的身份-检验客户端证书
Alert Protocol 允许一方向另一方报告异常情况 close_nitify警示用来指示发送方已经发送了所有要在该连接上发送的数据 Change Cipher Spec Protocol 指示在此之后的所有消息都将使用刚刚商定的密码规格进行加密 单个报文 SSL - ChangeCipherSpec及Alert
SSL修改加密规格协议 • 协议由单个消息组成,该消息只包含一个值为1的单个字节。该消息的唯一作用就是更新用于当前连接的密码组。为了保障SSL传输过程的安全性,双方应该每隔一段时间改变加密规范。