`

数字证书和数字签名的理解

阅读更多
数字签名的理解:
1.张三有两把钥匙,一把是公钥,另一把是私钥。
2.张三把公钥送给他的朋友们----李四、王五、赵六----每人一把。
3.李四给张三写信,写完后用张三的公钥加密,达到保密的效果。
4.张三收信后,用私钥解密,看到信件内容。
5.张三给李四回信,写完后用Hash函数,生成信件的摘要(digest)。
6.张三使用私钥,对这个摘要加密,生成"数字签名"(signature)。
7.张三将这个签名,附在信件下面,一起发给李四。
8.李四收信后,取下数字签名,用张三的公钥解密,得到信件的摘要。由此证明,这封信确实是张三发出的。
9.李四再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。



数字签名的缺陷:
王五想欺骗李四,他偷偷使用了李四的电脑,用自己的公钥换走了张三的公钥。因此,他就可以冒充张三,写信给李四。

解决的办法:数字证书

1.李四发现,自己无法确定公钥是否真的属于张三。她想到了一个办法,要求张三去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对张三的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。


2.张三拿到数字证书以后,就可以放心了。以后再给李四写信,只要在签名的同时,再附上数字证书就行了。

3.李四收信后,用CA的公钥解开数字证书,(检查证书的签名,检查证书的主题 是否为张三的,这样就能相信公钥就是张三的公钥了)
就可以拿到张三的真实的公钥了,然后就能证明"数字签名"是否真的是张三签的。
王五再想写信给李四时,直接冒充张三,使用张三的证书显然不行了,因为他没有张三的私钥,写信内容无法签名验证通过。



注意:
CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。
 如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。 如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。





=================银行系统数字签名使用

有三种证书:建行CA认证中心的根证书、建行网银中心的服务器证书,每 个网上银行用户在浏览器端的客户证书。有了这三个证书,
就可以在浏览器与建行网银服务器之间建立起SSL连接。这样,您的浏览器与建行网银服务器之间就有 了一个安全的加密信道。
您的证书可以让与您通讯的对方 验证您的身份(您确实是您所声称的那个您),同样,您也可以用与您通讯的对方的证书 验证他的身份
(他确实是他所声称的那个他),而这一验证过程是由系统自动完成的。


银行系统一般做法是:

1. 用对方的公钥加密数据,对方收到后用自己的私钥解密;
2. 用你自己的私钥签名数据,对方收到后用你自己的公钥验证签名。

网银在传递数据过程中要把”传递的数据“用自己的私钥进行签名,而且要把”传递的数据“用公钥进行加密
客户端有自己的私钥和一个数字证书,其中私钥和服务器中的公钥成对,而且数字证书中的公钥和服务器上的私钥成对匹配.

过程如下:

   
(1)客户A准备好要传送的数字信息(明文)。  

 (2)客户A对数字信息进行哈希(hash)运算,得到一个信息摘要。

  3)客户A用自己的私钥(SecretKey)对信息摘要进行加密得到客户A的数字签名,并将其附在数字信息上。  

  4)客户A随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。

  5)客户A用双方共有的公钥(PublicKey)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给银行B。  

  6)银行B收到客户A传送过来的密文和加过密的DES密钥,先用自己的私钥(SecretKey)对加密的DES密钥进行解密,得到DES密钥。  

  7)银行B然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。  

  8)银行B用双方共有的公钥(PublicKey)对客户A的数字签名进行解密,得到信息摘要。银行B用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。  
  9)银行B将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。




分享到:
评论

相关推荐

    轻松理解数字签名和数字证书

    看图片 读故事:轻松理解数字签名和数字证书。什么事数字签名?什么是数字证书?看完就明白了。

    看图片 读故事:轻松理解数字签名和数字证书 pdf

    看图片 读故事:轻松理解数字签名和数字证书

    深入理解加密、解密、数字签名和数字证书

    深入理解加密、解密、数字签名和数字证书!!!!!!!!

    Android 安全加密:数字签名和数字证书详解

    以上学习所有内容,对称加密、非对称加密、消息摘要、数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识。数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只有在明白了数字证书工作...

    数字签名简单理解总结+ca证 书的简单认识

    数字签名简单理解总结+数字签名应用+CA证书的认识 适合于刚刚学习数字签名的本科生研究生,可以作为一个入门题材 里面详细介绍了数字签名主要的应用之一:数字证书,通过实例只管认识数字证书是什么,通俗易懂

    数据签名和证书

    用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。非常好理解哦

    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名

    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解 php代码简单生成 容易理解

    数据证实签名

    共有以下文档,极具参考价值:上海电信电子签章方案.doc; 办公自动化系统Office文档批量盖章方案.doc; 一种基于PKI和数字水印的电子印章应用方案.pdf; ESS电子签章应用方案.doc ... 轻松理解数字签名和数字证书.doc

    Android 安全加密:Https编程详解

    以上学习所有内容,对称加密、非对称加密、消息摘要、数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识。数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只有在明白了数字证书工作...

    Android 安全加密:消息摘要Message Digest详解

    以上学习所有内容,对称加密、非对称加密、消息摘要、数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识。数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只有在明白了数字证书工作...

    Android 安全加密:非对称加密详解

    以上学习所有内容,对称加密、非对称加密、消息摘要、数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识。数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只有在明白了数字证书工作...

    Android 安全加密:对称加密详解

    以上学习所有内容,对称加密、非对称加密、消息摘要、数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识。数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只有在明白了数字证书工作...

    基于JAVA的RSA文件加密软件的设计与实现(源代码+论文).zip

    它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年...

    计算机毕业设计 - 基于JAVA的RSA文件加密软件的设计与实现(源代码+LW),保证可靠运行,毕业LW范文可参考,免费资源下载

    它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年...

    计算机病毒与防护:证书服务.pptx

    通过消息校验码(MAC)或数字签名的加密机制提供这种服务。 不可抵赖性 可认证性和完整性共同完成的服务 算法与密钥 PKI中的密码算法 对称算法 特点 加解密速度快;密钥管理复杂 算法 DES、Triple-DES、RC4、RC5、...

    ASP.NETRSA可视化算法程序的实现与研究

    它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年...

    ASP.NETRSA可视化算法程序的实现与研究(源代码+论文)

    它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年...

    网络安全大师之路:从零基础到精通的全面教程

    数字签名和证书:了解如何验证信息的完整性和来源。 4. 防火墙和IDS/IPS 防火墙原理:学习包过滤、状态检测等基础防火墙技术。 入侵检测系统(IDS)和入侵防御系统(IPS):了解其工作原理和作用。 第二部分:操作...

    图解密码技术

    第二部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第三部分讲述了密钥、随机数、PGP、SSL/TLS 以及密码技术在现实生活中的应用。<作译者> 结城浩(Hiroshi Yuki) 生于...

Global site tag (gtag.js) - Google Analytics