图解密码技术学习-第九章 数字签名

数字签名介绍

碰到的问题

  • 数字通信时我们碰到了几个问题:防篡改确认发送者防否认
  • 消息认证码只能解决防篡改确认发送者,却无法解决**防否认。
  • 主要原因是消息认证码采取的发送者和接收者共享密钥的方式,这样如果为了防止否认需要引入第三方认证时,第三方是无法知晓到底计算的MAC是属于谁的。

数字签名解决问题原理

  • 简单的说使用了类似公钥密码的技术来解决防止否认的问题。
  • 公钥密码是发送方使用接收方的公钥加密,而接收方使用自己的私钥解密。
    数字签名正好相反,发送方使用自己的私钥加密,而其他任何人都使用公钥进行解密。
  • 由于是使用公钥进行解密,也就是说任何人都可以进行解密,毕竟签名的作用是用来验证的。既然是任何人,意味着第三方也可以做验证了。
    由于是用自己的私钥进行加密,所以无论如何是没法否认消息不是自己发的了,因为私钥只有自己知道。

数字签名的使用方法

数字签名的流程

虽然可以直接对消息进行加密,但是一般应该是对消息的散列值进行加密。

  1. 发送者生成私钥和公钥,将公钥发送给接收者
  2. 发送者将消息生成散列值,针对散列值用私钥进行加密,并将加密后的结果发送给接收者
  3. 接收者接收到消息后,生成散列值
  4. 接收到加密后的散列值后,使用公钥进行解密得到散列值
  5. 接收者将自己生成的散列值 和 解密后的散列值进行比对,如果相同则验证成功。

由于使用了散列值,所以可以防篡改。
由于使用了私钥加密,所以可以确认发送者,同时防止否认。

对数字签名的疑问

数字签名的疑问书中有很多点,这里只摘取觉得必要的问题。

  • **删除签名也无法"作废合同"吗
    • 疑问
      如果是纸质的借据,撕毁原件就可以作废。但是数字签名是计算机文件,即使删除也可能有其他的拷贝,那么无法作废的签名是不是非常不方便?
    • 解答
      确实带有数字签名的借据不能像纸件删除原件就可以作废,因为数字签名文件压根就不存在原件的概念。解决的办法是:
      重新创建一份相当于收据的文件加上数字签名即可。
      或者在消息中声明该消息的有效期并加上数字签名,公钥的证书就属于这种情况。
  • 数字签名真的能够代替签名吗
    • 疑问
      纸质借据上如果不签名盖章的话,总是觉得不太放心。数字签名真的能够有效代替现实世界中的签名和盖章吗?
    • 解答
      数字签名没有办法完全替代手动签名,很大的原因在于签订合同、进行认证这样的行为是一种社会性的行为。
      美国于2000年颁布了E-SIGN法案,日本于2001年颁布了电子签名及其认证业务的相关法律。这些法律为电子手段实现的签名和手写的签名和盖章同等处理提供了法律基础。
      但是实际过程中仍旧会有很多围绕数字签名的诉讼。毕竟电脑可能中毒,也有可能不是这个软件签名等等因素在里面。

数字签名的实际应用

  • 安全信息公告
    信息安全公告是发布官方漏洞的,但是这个消息是需要看的人判断真伪、判断是否被篡改的。所以在消息后加上数字签名即可,消息本身无需加密,因为本来就是给别人看的。
  • 软件下载
    为了防止软件被篡改,导致使用者用了盗版软件,所以软件发布者需要加上数字签名,以帮助软件使用者做校验。
  • 公钥证书
    为了保证自己使用的公钥是合法的公钥,所以需要对公钥进行数字签名加以验证。这个就是公钥证书
  • SSL/TLS
    SSL/TLS在认证服务器身份是否合法时会使用服务器证书,它就是加上了数字签名的服务器公钥。对客户端认证也会使用客户端证书。

通过RSA实现数字签名

RSA在公钥加密时已经详细介绍了,所以细节不再介绍。
一开始我的疑问是为什么又是RSA呢?数字签名和公钥加密不是反过来的吗?难道不需要新的算法?
其实RSA只是用来生成公私钥对的,至于哪个用于加密和哪个用于解密,就看是用于公钥加密还是用于数字签名了。

对数字签名的攻击

  • 中间人攻击
    中间人攻击的实质是截获了接收方发出的公钥或者私钥,并将自己的公钥或者私钥发送给另外一方。所以针对公钥密码的中间人攻击,针对数字签名同样有效。
    具体解决的办法就是涉及公钥密码的软件都显示公钥的散列值,也就是指纹。比对指纹的正确性就能确认公钥是不是对方的公钥了。
  • 对单向散列函数的攻击
  • 利用数字签名攻击公钥密码
    • 这是一个巧妙的攻击方式。
      • A与B进行通信,A是用B的公钥进行加密的,B用私钥进行解密。
      • 数字签名过程中,公钥却是用来解密的,私钥是用来加密的。
      • 而且 公钥密码中的私钥解密 和 数字签名中的私钥加密是相同的公式。
      • 所以,攻击者可以保存A用公钥加密后的消息。然后发邮件给B说需要做一个数字签名实验,需要B对消息进行加密。
      • B一旦使用自己的私钥对所谓的签名消息进行加密,实际上就是对A发送的消息进行解密。这就完成了攻击。
    • 防御的办法
      • 不要用消息直接加密,使用散列值加密
      • 公钥密码和数字签名最好不要使用相同的密钥对
      • 绝对不要对意思不清楚的消息进行签名

各种密码技术对比

消息认证码和数字签名

关键区别:

  • 密钥配送问题:消息认证码存在此问题;数字签名不存在此问题,但是公钥必须有另外的认证(详细见中间人攻击)
  • 认证:消息认证码支持,但是只能在通信双方之间;数字签名支持,并且可以支持第三方认证。
  • 防止否认:消息认证码不支持;数字签名支持。

数字签名无法解决的问题

数字签名可以 防篡改、检验发送者真伪、防否认,这些都是针对消息本身的。
但是在解决消息本身的这些问题时,带入了一个数字签名机制本身的问题,就是公钥持有者的真伪问题(中间人攻击)。
判断公钥是否合法,这就需要使用到证书,而且需要引入第三方来认证。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容

  • 2018-Read-Record 记录我的2018学习历程 文中首先解释了加密解密的一些基础知识和概念,然后通过一...
    NinthDay阅读 11,298评论 8 105
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    sunny冲哥阅读 1,388评论 0 3
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    已认证用户阅读 3,841评论 1 4
  • 数字证书原理 - 无恙 - 博客园 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明...
    拉肚阅读 1,663评论 0 3
  • 本文转载,出处如下:数字证书原理 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了...
    随安居士阅读 1,683评论 1 8