📜  数字签名和证书

📅  最后修改于: 2021-09-28 09:50:45             🧑  作者: Mango

加密– 将电子数据转换为另一种形式的过程,称为密文,除授权方外,任何人都无法轻易理解该形式。这可确保数据安全。
解密——将代码转换为数据的过程。

  • 消息在发送方使用各种加密算法进行加密,并在接收方借助解密算法解密。
  • 当某些消息如用户名、密码等需要保持安全时,会使用加密和解密技术来确保数据安全。

加密类型

  1. 对称加密– 数据使用密钥加密,解密也使用相同的密钥完成。
  2. 非对称加密 – 非对称加密也称为公钥加密。它使用公钥和私钥来加密和解密数据。一对中可以与所有人共享的密钥称为公钥。密钥对中的另一个密钥是保密的并且只有所有者知道,称为私钥。任何一个密钥都可用于加密消息;与用于加密消息的密钥相反的密钥用于解密。

公钥——所有人都知道的密钥。 A的前公钥是7,这个信息大家都知道。
私钥– 只有拥有私钥的人知道的密钥。身份验证 – 身份验证是系统验证希望访问它的用户身份的任何过程。
不可否认性——不可否认性是指确保传输的消息已被声称已发送和接收消息的各方发送和接收。不可否认性是一种保证消息的发送者以后不能否认已发送该消息并且接收者不能否认已收到该消息的方法。
完整性——确保消息在传输过程中没有被更改。
消息摘要– 以单个数字字符串形式的文本表示,使用称为单向散列函数的公式创建。使用私钥加密消息摘要会创建数字签名,这是一种电子身份验证手段。

电子签名

数字签名是一种数学技术,用于验证消息、软件或数字文档的真实性和完整性。

  1. 密钥生成算法:数字签名是电子签名,可确保消息是由特定发件人发送的。在执行数字交易时,应确保真实性和完整性,否则数据可能会被篡改,或者某人也可能表现得好像他是发送者并期望得到答复。
  2. 签名算法:为了创建数字签名,电子邮件程序等签名算法会创建要签名的电子数据的单向哈希。然后签名算法使用私钥(签名密钥)加密哈希值。这种加密的散列连同散列算法等其他信息就是数字签名。该数字签名与数据一起附加并发送给验证者。加密散列而不是整个消息或文档的原因是散列函数将任何任意输入转换为更短的固定长度值。这可以节省时间,因为现在不是签署长消息,而是必须签署较短的散列值,而且散列比签署快得多。
  3. 签名验证算法:验证者接收数字签名和数据。然后它使用验证算法对数字签名和公钥(验证密钥)进行处理并生成一些值。它还对接收到的数据应用相同的散列函数并生成散列值。然后将哈希值和验证算法的输出进行比较。如果两者相等,则数字签名有效,否则无效。

创建数字签名的步骤如下:

  1. 消息摘要通过对消息应用哈希函数计算,然后使用发送方的私钥对消息摘要进行加密以形成数字签名。 (数字签名=加密(发送者的私钥,消息摘要)和消息摘要=消息摘要算法(消息))。
  2. 然后将数字签名与消息一起传输。(传输消息+数字签名)
  3. 接收方使用发送方的公钥解密数字签名。(这保证了真实性,因为只有发送方拥有他的私钥,所以只有发送方可以使用他的私钥加密,从而可以通过发送方的公钥解密)。
  4. 接收方现在拥有消息摘要。
  5. 接收方可以根据消息计算消息摘要(实际消息是通过数字签名发送的)。
  6. 接收方计算的消息摘要和消息摘要(通过数字签名解密得到)需要相同,以确保完整性。

消息摘要是使用单向散列函数计算的,即一种散列函数,其中计算消息的散列值很容易,但根据消息的散列值计算消息非常困难。

数字证书

数字证书由受信任的第三方颁发,它向接收者证明发送者的身份,向发送者证明接收者的身份。
数字证书是由证书颁发机构 (CA) 颁发的用于验证证书持有者身份的证书。 CA 颁发包含申请人公钥和各种其他身份信息的加密数字证书。数字证书用于将公钥附加到特定的个人或实体。
数字证书包含:-

  1. 证书持有人的姓名。
  2. 用于唯一标识证书、证书标识的个人或实体的序列号
  3. 到期日期。
  4. 证书持有者的公钥副本。(用于解密消息和数字签名)
  5. 证书颁发机构的数字签名。

数字证书也与数字签名和消息一起发送。数字证书与数字签名:
数字签名用于验证真实性、完整性、不可否认性,即确保消息是由已知用户发送且未被修改,而数字证书用于验证用户的身份,可能是发送者或接收者。因此,数字签名和证书是不同的东西,但两者都用于安全。大多数网站使用数字证书来增强用户的信任。

Feature Digital Signature Digital Certificate
Basics / Definition Digital signature is like a fingerprint or an attachment to a digital document that ensures its authenticity and integrity. Digital certificate is a file that ensures holder’s identity and provides security.
Process / Steps Hashed value of original message is encrypted with sender’s secret key to generate the digital signature. It is generated by CA (Certifying Authority) that involves four steps: Key Generation, Registration, Verification, Creation.
Security Services Authenticity of Sender, integrity of the document and non-repudiation. It provides security and authenticity of certificate holder.
Standard It follows Digital Signature Standard (DSS). It follows X.509 Standard Format