SSL总结

报文完整性

  • 确保报文在传输中不被篡改
  • 确定发送者的身份

报文鉴别码–确保报文在传输中不被篡改

  • 收发双方共同持有一个鉴别密钥(Authentication Key) s
  • 发送报文m时,用s级联m生成m+s,计算散列(HMAC、MD5、SHA-1…)值 H(m + s)。H(m+s)即为报文鉴别码(Message Authentication Code, MAC)
  • 将H(m+s)附加到报文上,生成拓展报文(m, H(m+s)),发送给对方。
  • 对方受到(m, h)后,使用相同的散列函数计算 H(m+s)。若H(m+s)=h,则认为未被篡改。

数字签名

发布者签署报文/文件
  • 为了签名m,计算其散列 H(m)
  • 使用私钥加密 H(m) 得到数字签名
验证发布者身份
  • 使用同样的散列函数计算 H(m)
  • 使用发布者的公钥对数字签名进行解密得到h
  • 若h = H(m)则可确认发布者身份的正确
认证中心

认证中心(Certification Authority, CA) 实现将公钥与特定实体绑定。确定公钥的所有者。

  • CA验证某个实体的身份后,将其身份标识和其公钥绑定,生成证书
  • 认证中心使用其私钥对证书进行签名
  • 发送者发布其签名的报文时,同时发送CA签发的证书
  • 接收者通过CA签发的证书,确认发送者身份和公钥
  • 再用从证书中取到的公钥进行验证
    *请添加图片描述

SSL

安全套接字层(Secure Socket Layer, SSL)

  • SSL运行在应用层上
    请添加图片描述

  • SSL握手: 请添加图片描述

    • 先进行TCP三次握手,建立连接
    • 再生成一系列密钥
    • 不重数(nonce):使得每次的密钥不同,防止连续重放攻击
  • 从主密钥分割出4个密钥用于:

    • 客服端向服务器发送报文时,生成报文鉴别码(Message Authentication Code, MAC) (计算整个SSL记录)
    • 客服端向服务器发送报文时,加密数据和MAC
    • 服务器向客户端发送报文时,生成报文鉴别码(Message Authentication Code, MAC)(计算整个SSL记录)
    • 服务器向客户端发送报文时,加密数据和MAC
  • 数据传输:以SSL记录为单位传输

请添加图片描述

  • 断开连接:将SSL记录的Type标记为关闭连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绫零依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值