blob: a6bbd73af144ccccf872ab72bcd9dd5dcd011c58 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
---
title: Digital Signatures
slug: Archive/Security/Digital_Signatures
translation_of: Archive/Security/Digital_Signatures
---
<p>加密和解密解决了窃听问题,这是本文开头提到的三个互联网安全问题之一。但加密和解密本身并不能解决另一个问题:篡改。</p>
<p>本节描述公钥加密如何解决篡改问题。</p>
<p>篡改检测和相关的身份验证技术依赖于一个称为单向哈希(也称为消息摘要)的数学函数。单向哈希是具有以下特征的固定长度数:</p>
<ul>
<li>哈希值对于哈希数据是唯一的。数据中的任何更改,甚至删除或更改单个字符,都会导致不同的值。</li>
<li>出于所有实际目的,哈希数据的内容不能从哈希中推断出来,这就是为什么它被称为“单向”的原因。</li>
</ul>
<p>类似地,在公钥加密中,生成用于数字签名的密钥对。密钥对由<span style="line-height: 1.5;"> </span><strong>私有签名密钥</strong><span style="line-height: 1.5;">和</span><strong>公共验证密钥</strong><span style="line-height: 1.5;">组成. </span>公钥被广泛分发,而私钥只有其所有者知道。这些密钥在数学上是相关的,但是选择这些参数是为了从公钥中计算私钥是不可能的,或者是非常昂贵的。加密的散列以及其他信息,如散列算法,被称为数字签名。</p>
<p>图1显示了使用数字签名来验证签名数据完整性的简化视图。</p>
<p><img alt="Figure 3. Using a Digital Signature to Validate Data Integrity" class="internal" src="https://mdn.mozillademos.org/files/10307/04digsgn.png" style="height: 223px; width: 652px;"></p>
<p>图1显示了传输给某些签名数据的接收者的两个项目:原始数据和数字签名,这基本上是一个单向散列(原始数据的散列),已经用签名者的私钥加密。 为了验证数据的完整性,接收软件首先使用签名者的公钥来解密散列。然后使用生成原始散列的相同散列算法生成相同数据的新单向散列。(有关使用的散列算法的信息与数字签名一起发送,但图中未显示。) 最后,接收软件将新散列与原始散列进行比较。 如果两个散列匹配,则数据自签名后没有更改。如果它们不匹配,则数据可能在签名后被篡改,或者签名可能是使用与签名者提供的公钥不对应的私钥创建的。</p>
<p>如果两个散列匹配,则收件人可以确定用于解密数字签名的公钥与用于创建数字签名的私钥相对应。 但是,要确认签名者的身份,还需要某种方式来确认公钥确实属于某个特定的人或其他实体。For a discussion of the way this works, see "<a href="/en-US/docs/Introduction_to_Public-Key_Cryptography">Introduction to Public-Key Cryptography</a>."</p>
<p>数字签名的重要性与手写签名的重要性相当。 一旦您签署了一些数据,就很难拒绝以后这样做,假设私钥没有被泄露或超出了所有者的控制。一旦您签署了一些数据,就很难拒绝以后这样做,假设私钥没有被泄露或超出了所有者的控制。在某些情况下,数字签名可能与手写签名一样具有法律约束力。</p>
<div class="originaldocinfo">
<h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
<ul>
<li>Author(s): Ella Deon Lackey</li>
<li>Last Updated Date: 2012</li>
<li>Copyright Information: © 2012 Red Hat, Inc.</li>
<li>Link: <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Certificate_System_Common_Criteria_Certification/8.1/html/Deploy_and_Install_Guide/index.html">Red Hat Certificate System Common Criteria Certification 8.1: Deployment, Planning, and Installation</a></li>
</ul>
</div>
|