图解密码学笔记(三)

消息认证码的局限性:可以校验消息的整性,但是无法防止否认

数字签名:

1.生成消息签名的行为:由消息发送者进行

2.验证消息签名的行为:由消息接收者进行,也可以由第三方来完成,这是和消息认证码不同的地方

数字签名中的生成签名和验证签名使用的是不同的密钥来完成的,分为签名密钥和验证密钥

与公钥密码相类似,区别在于数字签名就是将公钥密码反过来使用

 

公钥密码和数字签名对比:

 私钥公钥
公钥密码私钥解密公钥加密
数字签名生成签名使用(加密)验证签名使用(解密)
持有密钥个人持有任何人可持有

之前也说过,公钥密码耗时,所以一般数字签名的使用:摘要算法+公钥算法 = 数字签名

 在这里我们为了要确定自己获得的公钥合法,需要使用证书,证书就是将公钥当作一条消息,由一个可信的第三方对其签名后所得到的公钥。

公钥证书

证书中的信息,拥有公钥和第三方的数字签名,证书使用过程

1.小A 生成密钥对

2.小A在可信任第三方注册证书

3.小B从第三方下载证书

证书标准规范 x.509

证书拥有的信息:

1.签名前的证书

2.数字签名算法

3.数字签名

 

为什么需要数字签名

答:获取公钥,有可能受到中间人攻击,得到的是攻击者的公钥,为了避免这种情况,从第三方机构的证书中获取公钥。

 

保证消息传输的机密性,完整性,认证的例子

1.小A发送给小B消息不能被窃听  --机密性   解决方案:对称密码

2.小A发送给小B消息不能被串改   --完整性   解决方案:单向散列函数

3.双方要彼此确认是本人     --认证问题   解决方案:数字签名

 

TLS协议

该协议分为TLS握手协议和TLS记录协议,记录协议负责加密,握手协议处理加密外的操作

TLS握手协议

分为四部分:握手协议、密码规格变更协议、警告协议、应用数据协议。

握手协议:负责客户端和服务器之间协商决定密码算法(套件)和共享密钥,证书的认证操作也在这一步执行。

密码规格变更协议:负责向通信对象传达变更密码方式的信号

警告协议:发生错误是将错误传达给对方

应用数据协议:将TLS上面承载的应用数据传达给通信对象的协议。

TLS记录协议

负责消息的压缩、加密以及数据的认证。

                                                                          TLS握手协议中使用的技术

密码技术作用
公钥密码加密预备主密码
单项散列函数构成随机数生成器
数字签名验证服务器会客户端的证书
伪随机数生成器生产预备主密码
根据主密码生产密钥
生产初始化向量

主密码

主密码是TLS客户端和服务端之间协商的一个密码数值,TLS机密性和数据认证全部依靠这个数值

通过  预备主密码、客户端随机数、服务器随机数计算出主密码

用于生成:

1.对称密码的密钥 

2.消息认证码的密钥

3.对称密码CBC模式所使用的初始化向量

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值