数字签名和数字证书有什么区别?

问题描述 投票:41回答:10

我一直在谷歌的数字签名和数字证书(非对称加密)之间的区别似乎是相同的。我想澄清它们是否相同?非常感谢!!!

digital-signature digital-certificate
10个回答
73
投票

数字签名用于验证消息。它基本上是消息的加密散列(由发送者的私钥加密)。收件人可以通过散列收到的消息并将此值与解密的签名进行比较来检查消息是否被篡改。

要解密签名,需要相应的公钥。数字证书用于将公钥绑定到人或其他实体。如果没有证书,签名很容易被伪造,因为收件人无法检查公钥是否属于发件人。

证书本身由受信任的第三方签署,如VeriSign等证书颁发机构。


0
投票

如果签名/证书由同一CA /可信实体签名,则没有区别。

如果签名数据包含由CA /可信实体签署的委托发送方(即信任链)的某些签名数据(例如发送方的公钥),那么也没有区别(或者我们应该调用签名数据证书?) 。

换句话说,证书是签名的一种用法。


63
投票

让我扩展阿什利的解释。与加密所有内容一样,假设Alice(发件人)想要向Bob(收件人)发送安全邮件

这里有两个问题需要解决。

  1. 如何加密消息,只有Bob可以解密它。
  2. Bob如何确保消息首先来自Alice,而不是由传输中的某人修改。

这两个问题都可以通过公钥加密来解决。对于(1),Alice用Bob的公钥加密消息。当bob收到消息时,他可以用他的私钥安全地解密它。因此使用Bob的公钥加密并使用Bob的私钥解密(这是公钥加密中的基本内容)

为了解决(2),Alice还发送数字签名和加密消息。这样做如下:

  • 通过哈希函数(如sha-1)传递原始邮件以获取邮件摘要
  • 使用Alice的私钥加密此消息摘要(请注意,这与使用Bob的公钥加密原始消息的方式相反)

当Bob收到消息+数字签名时,他将:

  • 使用此私钥解密消息,然后计算其消息摘要。让我们称之为摘要M1。
  • 用Alice的公钥解密签名以获取消息摘要。让我们称之为M2。
  • 如果M1和M2相同,Bob可以确定消息在传输过程中没有被修改,而且确实来自Alice。

至于数字证书,请注意Alice依赖于使用Bob的公钥加密原始邮件,Bob依靠Alice的公钥来解密签名。他们两个如何确定彼此的公钥?这就是数字证书的用途。它允许受信任的第三方验证/说“Alice的公钥是xyz”。


21
投票

RSA实验室提供了最清楚的解释:

数字签名:假设Alice想要向Bob发送签名文档或消息。第一步通常是将哈希函数应用于消息,创建所谓的消息摘要。消息摘要通常比原始消息短得多。事实上,哈希函数的工作是获取任意长度的消息并将其缩小到固定长度。为了创建数字签名,通常签名(加密)消息摘要而不是消息本身。

...

Alice向Bob发送加密的消息摘要和消息,她可以加密也可以不加密。为了让Bob对签名进行身份验证,他必须将与Alice发送给他的消息相同的哈希函数应用于Alice,使用Alice的公钥解密加密的消息摘要并比较两者。如果两者相同,则他已成功验证签名。如果两者不匹配,可能会有一些解释。有人试图冒充Alice,自Alice签署消息或传输过程中发生错误后,消息本身已被更改。

...

数字证书:此外,有人可能假装是爱丽丝,并用他声称是爱丽丝的密钥对签署文件。为了避免诸如此类的情况,存在称为证书的数字文档,其将人与特定公钥相关联。

这些报价来自http://www.rsa.com/rsalabs/node.asp?id=2182http://www.rsa.com/rsalabs/node.asp?id=2277的RSA实验室


16
投票

来自维基百科(强调我的):

digital signature或数字签名方案是用于证明数字消息或文档的真实性的数学方案。有效的数字签名使收件人有理由相信该邮件是由已知发件人创建的,并且该邮件在传输过程中未被更改。数字签名通常用于软件分发,金融交易,以及在检测伪造和篡改很重要的其他情况下。

在密码学中,公钥证书(也称为digital certificate或身份证书)是一种电子文档,它使用数字签名将公钥与身份绑定在一起 - 例如个人或组织的名称,地址等信息等等。证书可用于验证公钥是否属于个人。

因此,如果我正确理解上述内容,数字签名只能证明文档未被篡改,而数字证书证明文档实际上来自您。


9
投票

从概念上讲,它们是一种对立面。使用数字证书可以使用公钥加密并使用私钥解密,这样您就可以确保只有拥有私钥的人才能读取您的文本。使用数字签名,您使用私钥加密并使用公钥解密,这样任何人都可以解密,但只有拥有私钥的人才能加密,因此您知道该消息来自具有私钥的人。


4
投票

@ numan的答案提供了对确保机密性,完整性和身份验证的必要过程的良好解释。但这并没有回答一个真正的问题。

数字签名的目标是提供这些基本服务,

  • 真实性:Sender已按照他声称的数据签署了数据(数据必须使用发件人的私钥加密)。
  • 完整性:保证数据自签名之日起未发生变化。
  • 不可否认性:接收方可以将数据提供给某些第三方,该第三方可以接受数字签名作为数据交换确实发生的证据。此外,发件人(签约方)不能拒绝已签署数据。

它具有确保真实性和完整性的属性,例如,

签名不可伪造:提供签名者和其他任何人签署文档的证据。

签名不能被否定:这意味着,出于法律目的,签名和文档被视为物理事物。签名者后来不能声称他们没有签名。

签名未更改:签署文档后,无法更改。

签名不可重复使用:签名是文档的一部分,不能移动到其他文档。

另一方面,数字证书由某些第三方证书颁发机构(CA)颁发,以验证证书持有者的身份。它实际上包含从CA自己的私钥派生的证书颁发机构的数字签名。

它还包含与数字证书所有者关联的公钥。

您可能想了解Digital Certificates的结构。


4
投票

数字签名解释:

Sender   : Encrypt(hash(message), priv_key) = dig_sign 
Receiver : Decrypt(dig_sign, pub_key) => hash_of_message == hash(message) 

4
投票

数字签名以电子方式生成,用于确保数据的真实性和完整性,例如电子邮件消息。鉴于数字证书是证明网站持有者身份的媒介,它可以防止访问者与发件人之间的数据交换。

可以说它类似于驾驶执照或任何员工身份证等人的其他身份证明。受信任的第三方颁发数字证书,用于确定拥有证书的人的身份。颁发数字证书的这些第三方称为证书颁发机构(CA)。简而言之,数字证书用于验证网站的可信度,数字签名用于验证信息的可信度。

通常,数字签名系统使用三种算法。第一 - 密钥生成算法用于生成公钥和私钥对。第二 - 签名算法用于生成在发布私钥和消息时使用的签名。第三和最后,签名验证算法用于验证消息,签名和公钥。以下是应用数字签名的常见原因。

1.Authentication 2.Integrity 3.非抵赖

数字证书使用数字签名将公钥与任何特定实体或个人相关联。与数字证书一起携带的一些信息类似于用于唯一地标识每个证书的序列号,由证书标识的个体或实体以及用于创建签名的算法。除此之外,它还包含CA,用于验证证书的所有信息,验证和证书的到期日期。它还包含公钥和指纹,以确保不修改证书。数字证书主要用于基于HTTPS的电子商务网站,以获得网站访问者的信任。

数字证书包含以下内容:

证书持有人姓名 序列号 证书到期日 证书持有人的公钥副本 证书颁发机构的数字签名

数字签名与数字证书的关键区别

电子签名

它验证文档的真实性 非对称密钥用于加密和解密文档。 它提供身份验证,不可否认性和完整性。

数字证书

它创造了一种身份并提高了网站的可信度。 验证过程完成后,证书颁发机构将颁发证书。

阅读有关digital signatures and how they work和数字证书here的详细信息。


1
投票

我最近研究了一些关于数字签名和数字证书的东西,发现了一个有趣的blog,基于网页可能被破坏的事实,让我试着在这里说明一下。

首先,让我们在wiki上进行公钥加密,

公钥加密或非对称加密是使用密钥对的加密系统:可以广泛传播的公钥,以及只有所有者知道的私钥。这种密钥的生成依赖于基于数学问题的加密算法来产生单向函数。有效的安全性只需要保密私钥;公钥可以在不影响安全性的情况下公开分发。

公钥加密的一个常见用法是公钥加密,我用下面的序列图总结了常见的使用场景:

enter image description here

Bob拥有公钥和私钥,他可以为多个消息发送者提供公钥。对于那些发件人,他们可以在发送邮件之前使用公钥加密邮件。只有Bob可以使用私钥解密消息。对于其他接收者,他们不知道真正的信息是什么。

公钥加密的另一个常见用法是数字签名,请查看下图:

enter image description here

相反,Bob使用私钥加密摘要到签名。 Pat知道如果Bob可以使用提供的公钥解密签名,则该文档由Bob发送。通过哈希接收到的文档进行摘要,然后他可以通过将文档与解密的摘要进行比较来检查文档是否已被修改。

然而,假设有一个名叫道格的人冒充鲍勃并想欺骗帕特。他可以以Bob的名义向Pat发送公钥和数字签名,Pat怎么知道密钥是否来自Bob?这就是导入数字证书的原因。

我们来看下面的图表:

enter image description here

证书颁发机构充当受信任的第三方。这意味着如果CA可以通过CA公钥解密,则由CA颁发数字证书。解密后,pat将检查Bob是否信誉良好,并且有关Bob身份的证书信息未被更改。然后Pat按照Bob的公钥进行数字签名相关的身份验证,如上所述。

© www.soinside.com 2019 - 2024. All rights reserved.