数字证书与数字签名的区别
数字证书和数字签名都是在互联网通讯中保证信息安全的重要工具,但它们有一些明显的区别:数字签名 就是使用个人私密和加密算法加密的摘要和报文,是私人性的。而数字证书是由CA中心派发的.总的来说,数字证书主要用于身份验证和信息加密,而数字签名则主要用于验证信息的真实性和完整性。两者共同协作,可以大大提高互联网通讯的安全性和可靠性3。请注意,涉及信息安全和加密的内容可能会随着技术的发展而不断更新和变化,因
数字证书和数字签名都是在互联网通讯中保证信息安全的重要工具,但它们有一些明显的区别:
数字签名 就是使用个人私密和加密算法加密的摘要和报文,是私人性的。而数字证书是由CA中心派发的.
- 定义与用途:
- 数字证书:它是互联网通讯中标志通讯各方身份信息的一个数字认证,用于识别对方的身份,保证信息和数据的完整性和安全性1。数字证书是一种由可信第三方机构(如电子商务认证中心,简称CA中心)颁发的电子文件,用于验证与该证书相关联的实体的身份信息4。
- 数字签名:它是一段数字串,只有信息的发送者才能产生,且无法被伪造,用于证明信息发送者发送信息的真实性2。数字签名是一种类似写在纸上的普通的物理签名,但使用了公钥加密领域的技术来实现2。
- 工作原理:
- 数字证书:基于公开密钥PKI架构,利用一对密钥(公钥和私钥)进行加密和解密。公钥用于加密信息,私钥用于解密信息。此外,数字证书还包括了证书持有者的公钥、名称以及证书授权中心的数字签名等信息13。
- 数字签名:它是非对称密钥加密技术与数字摘要技术的应用。发送者使用私钥对信息进行签名,接收者使用公钥来验证签名的真实性。这种机制可以确保数据的完整性和发送者的身份2。
- 特性与重要性:
- 数字证书:具有权威性和公正性,由CA中心颁发。它确保了信息在传输过程中的安全性和完整性,即使账户或密码被盗取,账户中的信息与资金安全仍能得到保障1。
- 数字签名:具有不可抵赖性(不可否认性),即发送者无法否认其发送的信息。此外,数字签名还可以验证数据的完整性,确保数据在传输过程中没有被篡改2。
总的来说,数字证书主要用于身份验证和信息加密,而数字签名则主要用于验证信息的真实性和完整性。两者共同协作,可以大大提高互联网通讯的安全性和可靠性3。
请注意,涉及信息安全和加密的内容可能会随着技术的发展而不断更新和变化,因此在实际应用中,建议咨询相关领域的专家或查阅最新的技术文档。
数字签名:
数字证书的基本架构是公开密钥PKI,即利用一对密钥实施加密和解密。其中密钥包括私钥和公钥,私钥主要用于签名和解密,由用户自定义,只有用户自己知道;公钥用于签名验证和加密,可被多个用户共享。 [3]
数字证书的基本工作原理主要体现在: [3]
第一,发送方在发送信息前,需先与接收方联系,同时利用公钥加密信息,信息在进行传输的过程当中一直是处于密文状态,包括接收方接收后也是加密的,确保了信息传输的单一性,若信息被窃取或截取,也必须利用接收方的私钥才可解读数据,而无法更改数据,这也有利保障信息的完整性和安全性。 [3]
第二,数字证书的数据签名类似于加密过程,数据在实施加密后,只有接收方才可打开或更改数据信息,并加上自己的签名后再传输至发送方,而接收方的私钥具唯一性和私密性,这也保证了签名的真实性和可靠性,进而保障信息的安全性
将 报文按双方约定的HASH 算法计算得到一个固定位数的 报文摘要。在 数学上保证:只要改动报文中任何一位,重新计算出的 报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名
数字证书:
数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
对数字签名和数字证书的理解一直较模糊。
最近看了一篇很形象的关于数字证书的图形化介绍, 豁然就开朗了^^
原文:What is a Digital Signature?
正文
1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。
2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。
3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果
4. 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。
5. 鲍勃给苏珊回信,决定采用 "数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)
6. 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。
7. 鲍勃将这个签名,附在信件下面,一起发给苏珊。
8. 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。
9. 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。
10. 复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。
11. 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。
12. 鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。
13. 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。
14. 下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。
15. 首先,客户端向服务器发出加密请求。
16. 服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。
17. 客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。
18. 如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。
19 .如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告
20.如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)