网络安全之认证,数字签名,报文摘要

认证

认证可以分为实体认证和消息认证两种。

1.实体认证是识别通信对方的身份,防止假冒,可以使用数字签名的方法。

2.消息认证是验证消息在传送或存储过程中有没有被篡改,通常使用报文摘要的方法。

一:基于共享密钥的认证

如果通信双方有一个共享的密钥,则可以确认对方的真实身份。这种算法依赖于一个双方都信赖的密钥分发中心(KDC)如下图,A和B可以分别代表发送者和接收者,KA表示A与KDC之间的共享密钥,KB表示B与KDC之间的共享密钥。

认证过程:A向KDC发出消息{A,KA(B,KS)},说明A要和B进行通信,并指定了与B进行会话的密钥KS,这个消息中(B,KS)是用KA进行加密了的,所以别人不能了解消息的内容。KDC收到A发来的消息之后,就构造了一个消息{KB,(A,KS)}发送给B,B用KB解密后就得到了A和KS,KS为A指定和B进行会话的密钥。所以此时B就可以用KS与A进行会话。

基于共享密钥的认证,在使用过程中,主动攻击者对这种方式可能会进行重放攻击。

例如: A为公司职员,B为公司,C为A的司机,C通过把A职员送到B公司来获得报酬,C送A一次就获得一次报酬,假如C 偷听并复制了A到达B后的报文。那么C就可以按照原来的次序向B重发A到达B的报文,冒充A到达B,那么C就可以多次获得报酬。

注意:C是不需要获取A和B进行会话的密钥KS,只要猜测密文的内容对自己是否有利。

二:基于公钥的认证:

前提:双方都知道对方的公钥。

如下图所示

A给B发出EB(A,RA),此报文用B的公钥加密,B返回EA(A,RA,RB,KS),用A的公钥加密,这两个报文中分别有A和B指定的随机数RA和RB,因此能排除重发的可能性。

通信双方都用对方的公钥加密,用各自的私钥解密,应答简单,KS是B指定的会话

数字签名

数字签名系统向通信双方提供服务,使得A向B发送签名的消息P,可以达到以下要求。

  1. B可以验证消息P确实来源于A
  2. A以后不能否认发送过P
  3. B不能编造或改变消息P

一:基于密钥的数字签名  

如下图所示:

设C是A和B共同信赖的仲裁人。KA和KB分别是A和B与C之间的密钥,而KC是只有C才知道的密钥,P是A发送给B的消息,t是时间戳,C解读了A的报文{A,KA(B,RA,t,P)}以后产生了一个签名的消息KC(A,t,p) ,并装配成发给B的报文{KB(A,RA,t,P,KC(A,t,P))},B可以解密该报文,阅读消息P,并保留证据 KC(A,t,P) ,由于此证据,A不能否认发送过消息P,B也不能改变得到的消息P。  因为C仲裁时可能会用KC解密KC(A,t,P) 得到发送人,发送时间和消息P。

二:基于公钥是数字签名

如图所示

若A方否认,B可以拿出DA(P),并用A的公钥EA解密得到P,证明P是A发送的。 如果B把消息P篡改了,当A要求B出示原来的DA(P)时,B拿不出来。

报文摘要

报文摘要方案是计算密码校验和,即固定长度的认证码,附加在消息后面发送,根据认证码检测报文是否被篡改。设M是可变长的吧报文,K是发送者和接收者共享的密钥,令MD=CK(M),这就是算出的报文摘要。

由于报文摘要是原报文唯一的压缩表,代表了原报文的特征,也叫做数字指纹。

报文摘要可应用于加速数字签名算法。在基于密钥的数字签名中,C给B的报文P实际上出现了两次,一次是明文,一次是密文,增大了传送的数据量,把KC(A,t,P)减少为MD(P),可加快传送过程。

以上知识为学习总结所用,若有错误,请及时指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值