美文网首页
密码技术简介之认证

密码技术简介之认证

作者: 发仔很忙 | 来源:发表于2017-09-25 13:00 被阅读0次

前言

本文章是对《图解密码技术》一书第二部分的一个总结。

认证

本文章将介绍如何确认消息完整性(单向散列函数)、进行认证(消息认证码)已经防止否认(数字签名)。

单向散列函数

单向散列函数,也称消息摘要函数哈希函数或者杂凑函数,根据消息的内容计算出消息的散列值,通过散列值可以用来检查消息的完整性。

性质

单向散列函数有如下性质:

  • 根据任意长度的消息计算出固定长度的散列值
  • 能够快速计算出散列值
  • 消息不同散列值也不同
  • 具备单向性,即无法通过散列值反算出消息

应用

单向散列函数有如下应用:

  • 检查软件是否被篡改
  • 基于口令的加密
  • 消息认证码
  • 数字签名
  • 伪随机数生成器
  • 一次性口令

散列函数

常用的单向散列函数有:

  • MD4、MD5,目前这个两个算法的强抗碰撞性已经被破解,已经能够产生具备相同散列值的两条不同的消息。
  • SHA-1、SHA-2(SHA-256、SHA-384、SHA-512等), SHA的强抗碰撞性已经被攻破,SHA-2还尚未被攻破。
  • RIPEMD、RIPEMD-160, RIPEMD已经被攻破,RIPEMD-160尚未被攻破,比特币使用的是RIPEMD-160。
  • SHA-3,Keccak算法于2012年被选为SHA-3。

消息认证码

消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术,简称MAC

使用

其使用步骤如下图:


消息认证码使用步骤.PNG
  1. 发送者Alice与接收者Bob事先共享密钥;
  2. 发送者Alice根据汇款请求消息计算MAC值(使用共享密钥);
  3. 发送者Alice将汇款请求和MAC值两者发送给接收者Bob;
  4. 接收者Bob根据接收到的汇款请求消息计算MAC值(使用共享密钥);
  5. 接收者Bob将自己计算得MAC值和从Alice处收到的MAC值进行对比;
  6. 如果两个MAC值一致,则接收者Bob就可以断定汇款请求的确来找Alice(认证成功),如果不一致,则可以断定消息不是来找Alice(认证失败)。

数字签名

数字签名就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明,可以用来识别篡改和伪装,还可以防止否认。数字签名是非对称密钥加密技术与数字摘要技术的应用。

签名生成和验证

数字签名中,包括生成消息签名验证消息签名两部分。

消息发送者使用签名密钥来生成消息的签名,而消息接收者或者验证者则使用验证密钥来验证消息的签名。签名密钥只能由签名的人持有,而验证密钥的则是任意需要验证签名的人都可以持有

实际上,数字签名跟公钥密码有非常紧密的联系,两者非常相似。简而言之,数字签名就是通过将公钥密码“反过来用”而实现的。


数字签名

数字签名方法

有两种生成数字签的方法:

  • 直接对消息签名的方法
  • 对消息的散列值签名的方法

直接对消息签名的方法
签名和验证流程如下图:

直接对消息签名和验证的方法

对消息的散列值签名的方法
签名和验证流程如下图:

对消息的散列值签名和验证的方法.PNG

应用

数字签名有如下一些应用:

  • 安全信息公告
  • 软件下载
  • 公钥证书
  • SSL/TLS

RSA实现数字签名

RSA生成签名:

签名 = 消息^D mod N

RSA验证签名:

由签名求得的消息 = 签名^E mod N

验证签名时,将“由签名求得的消息”与“消息”进行对比。

参考

  • 《图解密码技术》[日] 结城浩 著

相关文章

  • 密码技术简介之认证

    前言 本文章是对《图解密码技术》一书第二部分的一个总结。 认证 本文章将介绍如何确认消息完整性(单向散列函数)、进...

  • 密码技术简介之密码

    前言 本文章是对《图解密码技术》一书第一部分的一个总结。 密码分类 密码算法需要密钥,根据密钥的使用方法,可以将密...

  • 基于Token的身份认证机制

    随着互联网的不断发展,技术的迭代也非常之快。我们的用户认证是基于户名密码的认证,由于这种方式每次都要传输用户名密码...

  • 密码技术简介

    密码技术 [TOC] 常用术语 明文 pain text 密文 cipher text 加密 encrypt 密钥...

  • 密码学基础之密码学家的工具箱

    《图解密码技术》把以下项重要的密码技术称作“密码学家的工具箱”。 对称密码 公钥密码 单向散列函数 消息认证码 数...

  • Redis (error) NOAUTH Authenticat

    出现认证问题,应该是设置了认证密码解决方案: 邮箱:ithelei@sina.cn 技术讨论群:687856230...

  • 常见密码技术简介

    ## 密码技术在网络传输安全上的应用 随着互联网电子商务和网络支付的飞速发展,互联网安全已经是当前最重要的因素之一...

  • 密钥详解

    密钥详解 在之前的文章中,我们讲到了对称密码,公钥密码,消息认证码和数字签名等密码学的技术,这些技术中都使用到了一...

  • 认证技术

    概要 认证技术是解决电子商务活动中安全问题的技术基础.认证采用对称密码,公钥加密,散列函数等技术为电子商务活动中的...

  • 一文读懂智能多因子身份认证关键技术及应用场景 | 干货

    身份认证的演变经历了按手印、支票签名,再到现在的安全密码认证、数字签名、生物识别等,身份认证技术的发展从来就没有停...

网友评论

      本文标题:密码技术简介之认证

      本文链接:https://www.haomeiwen.com/subject/dforextx.html