29
学学学学 1. 了了了了了了了了了了了了 2. 了了 hash 了了了了了了了了了了了了了了 3. 了了了了了了了了了了了了了了了了了了 了了 4. 了了了了了了了了了 5. 了了了了了了了了了了了了了了 学学学学学学 学4学 学学学学学学学学学

第 4 章 数字签名与认证技术

Embed Size (px)

DESCRIPTION

第 4 章 数字签名与认证技术. 电子商务安全. 本章主要内容:). 学习目标. 1.了解报文验证码的认证过程 2.了解hash函数原理和消息摘要的形成过程 3.熟悉数字签名原理和各种类型的数字签名 方案 4.熟悉常用的认证技术 5.了解数字签名的作用及应用前景. 第 4 章 数字签名与认证技术. 电子商务安全. 4.1 报文检验码与 hash 函数. 4.1.1 报文验证码. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 4 章  数字签名与认证技术

学习目标

1. 了解报文验证码的认证过程

2. 了解 hash 函数原理和消息摘要的形成过程

3. 熟悉数字签名原理和各种类型的数字签名 方案

4. 熟悉常用的认证技术

5. 了解数字签名的作用及应用前景电子商务安全

第 4 章 数字签名与认证技术

Page 2: 第 4 章  数字签名与认证技术

第 4 章 数字签名与认证技术

电子商务安全

4.1 报文检验码与 hash 函数

4.1.1 报文验证码

报文认证就是验证报文的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的、未被篡改的。这里应包含两个方面:第一要验证信息的发送者是真实的而不是冒充的,即数据起源认证;第二要验证信息在传送过程中未被篡改、重放或延迟。

Page 3: 第 4 章  数字签名与认证技术

电子商务安全

4.1 报文检验码与 hash 函数

4.1.1 报文验证码

报文认证的检验内容应包括证实报文的信源和信宿、报文内容是否遭到偶然或有意地篡改、报文的到达时间是否在指定的期限内。总之,报文认证使接收者能识别报文的来源、内容的真伪、时间有效性等。这种认证只在相互通信的双方之间进行,而不允许第三者实施。

Page 4: 第 4 章  数字签名与认证技术

电子商务安全

4.1.1 报文验证码

报文验证码的认证过程

Page 5: 第 4 章  数字签名与认证技术

电子商务安全

4.1.2 hash 函数

Hash 函数也称为哈希函数或杂凑函数等,是典型的多到一函数,可用于计算数字签名和报文验证码,广泛用于防抵赖、身份识别、消息鉴别等。

消息摘要示意图

原文

Hash算法

密文

Hash 单向函数

(消息摘要)

Page 6: 第 4 章  数字签名与认证技术

电子商务安全

4.1.2 hash 函数

Hash函数特征

1. 一致性:相同的输入产生相同的输出。

2. 随机性:消息摘要外观是随机的, 以防被猜出源消息。

3. 唯一性:几乎不可能找到两个消息 产生相同的消息摘要。

4. 单向型:即如果给出输出,则很难 确定出输入消息,即 Hash 函数不可逆。

5. 输入 x 可以为任意长度,输出数据串 长度固定。

6. 抗冲突性(抗碰撞性)

Page 7: 第 4 章  数字签名与认证技术

电子商务安全

4.1.2 hash 函数

Hash 函数工作过程

发送者 A 利用 Hash 函数向接收者 B 发送报文 M 的基本过程是:发送者写一报文 M ,作为单向 Hash 函数 H 的输入。消息摘要 H ( M )连报文 M 一起发送。接收者分离报文和消息摘要,并利用报文生成消息摘要。比较两消息摘要,如果相同,则报文在传送期间未被更改。即 A→B : M║H ( M )

Page 8: 第 4 章  数字签名与认证技术

电子商务安全

4.1.3* SHA-1 算法 (Secure Hash Algorithm )

SHA1 的主循环结构图Xi : 分成 16 个 32bit组

M0 M1 … M15

E

D

C

B

A 第一轮

第二轮

第三轮

第四轮

E

D

C

B

A

Page 9: 第 4 章  数字签名与认证技术

电子商务安全

4.2 数字签名

4.2.1 数字签名概述

数字签名的基本特征

( 1 )签名是可信的。( 2 )签名是无法被伪造的。( 3 )签名是无法重复使用的。( 4 )文件被签名以后是无法被篡改的。( 5 )签名具有不可否认性。

Page 10: 第 4 章  数字签名与认证技术

电子商务安全

4.2 数字签名

4.2.1 数字签名概述

数字签名的实现过程根据上述特征可得知数字签名实现的基本过程。假设 A 要发送一个电子文件给 B , A 、 B 双方只需要经过下面三个环节即可。

( 1 ) A 用其私钥加密文件 , 这便是签名过程;( 2 ) A 将加密的文件送到 B ;( 3 ) B 用 A 的公钥解开 A 送来的文件。

Page 11: 第 4 章  数字签名与认证技术

电子商务安全

4.2 数字签名

4.2.1 数字签名概述

数字签名的基本原理与数字签名的基本特征相对应,可以得知数字签名的基本原理。

( 1 )因为 B 是用 A 的公钥解开加密文件的,这说明原文件只能被 A 的私钥加密而只有 A 才知道自己的私钥(可信性)。( 2 )因为只有 A 知道自己的私钥。因此只有 A 能用自己的私钥加密一个文件(无法被伪造)。( 3 )签名在这里就是一个加密过程。自己无法重复使用(签名无法重复使用)。① 加密后的文件被改动后是无法被 A 的公钥解开的(文件被签名后无法被篡改)。② 除 A 以外无人能用 A 的私钥加密一个文件(具有不可否认性)。

Page 12: 第 4 章  数字签名与认证技术

电子商务安全

4.2.2 数字签名的分类

根据接收验证签名的方式可将数字签名分为直接数字签名和仲裁数字签名。

根据对消息进行签名的内容不同,数字签名可分为两种:一种是对整个消息的签名,也就是对整个消息进行密码变换生成消息的密文信息;另一种是前面所描述的对报文的摘要进行签名,也就是对消息摘要进行密码变换生成摘要的密文信息,然后将其作为签名附在报文之后。

Page 13: 第 4 章  数字签名与认证技术

电子商务安全

4.3* 数字签名方案

4.3.1 RSA 签名 (73)

RSA 算法不仅可用于信息加密,还可用于数字签名。

RSA 签名和 RSA 加密( 1 )相同点: RSA 签名和 RSA 加密都使用一对密钥:公钥和私钥。( 2 )不同点: RSA 加密:用公钥加密,用私钥解密; RSA 签名:用私钥签名,用公钥验证。( 3 )如果 B 使用 RSA 解密规则 d 签一个消息 M ,那么 B 是能产生签名的唯一的人,这是因为 d 是保密的。( 4 )验证算法使用 RSA 加密规则 e 。因为 e 是公开的所以任何人都能验证签名。

Page 14: 第 4 章  数字签名与认证技术

电子商务安全

4.3.2 ElGamal 签名 (74)

ElGamal 算法由 T.ElGamal 在 1985 年提出,其修正形式已被美国 NIST 作为数字签名标准( DSS )。 ElGamal 算法既可用于信息加密,也可用于数字签名。

例:选 p=2579,g=2,x=765, 计算 y=g765mod2579=949 。若明文为 M=1299 ,今选随机数 k=853, 可算出 r=g^k ( mod p ) =2853mod 2579=435 及 r1=M y^k mod p=1299 949853 mod 2579=2396 。

则:密文 c= ( 435,2396 )。解密时由 c 可算出消息 M=2396/ ( 435 ) 765 mod 2579=1299 。

Page 15: 第 4 章  数字签名与认证技术

电子商务安全

4.3.3 其他签名

1 )盲签名 (74)盲签名( blind signature )是一种允许一个人让另一个人签署文档,而第一个人不向签名者泄露任何关于文档内容的技术。

2 )双重数字签名 (75)问题的提出:在一个 BtoC 的电子商务交易中,设参与方为客户、网商和第三方支付平台(简称第三方)。当客户登陆购物网站,提出申请购物时,客户要向网商提出两组信息:向网商直接提出定购商品信息的同时,还要向第三方提出付款信息,以便授权第三方支付商品款项。但有两点必须做到:(1)客户不希望网商知道自己的支付账号的相关信息;(2) 同时也不希望第三方知道具体的购物内容,只需按要求付款即可。

Page 16: 第 4 章  数字签名与认证技术

电子商务安全

4.3.3 其他签名

3 )多重签名 (75)多重数字签名的目的是将多个人的数字签名汇总成一个签名数据进行传送,签名收方只需验证一个签名便可确认多个人的签名。

4 )代理签名 (75)代理签名的目的是当某签名人因公务或身体健康等原因不能行使签名权力时,将签名权委派给其他人替自己行使签名权。

Page 17: 第 4 章  数字签名与认证技术

电子商务安全

4.4 认证技术

4.4.1 数字信封

数字信封工作原理B 的公钥K Pb

对称密钥 k E RSA

算法

数字信封E K Pb (k E)

A 方

Page 18: 第 4 章  数字签名与认证技术

电子商务安全

4.4 认证技术

4.4.1 数字信封

数字信封工作过程数字信封是在 PKI系统中常用的一种密码技术。

Page 19: 第 4 章  数字签名与认证技术

电子商务安全

4.4 认证技术

4.4.1 数字信封

数字信封工作过程

( 1 )在发送文件时,发送方先产生一个通信密钥,并用这一通信密钥对文件原文进行加密后,再通过网络将加密后的文件传送到接收方。( 2 )发送方再把对文件加密时使用的通信密钥用接收方的公开密钥进行加密,即生成数字信封,然后通过网络传送到接收方。( 3 )接收方收到发送方传来的经过加密的通信密钥后,用自己的私钥对其进行解密,从而得到发送方的通信密钥。( 4 )接收方再用发送方的通信密钥对加密文件进行解密,从而得到文件的原文。 这样,数字信封就保证了在网上传输的文件信息的保密性和安全性。即便加密文件被他人非法截获,因为截获者无法得到发送方的通信密钥,也不可能对文件进行解密。

Page 20: 第 4 章  数字签名与认证技术

电子商务安全

4.4.1 数字信封

用数字信封技术验证数字签名

已知发送方 A 、报文 M 、报文摘要 H (经 Hash 函数运算得到 Hash ( M ) =H )及用私钥算法作用在 H 上生成的签名 S ,记为 Ek1 ( H ) =S ( k1 为 A 的私钥)。( 1 ) A 将报文 M 数字签名 S 和 A 的公钥 k PA 通过一种对称密钥 k E 进行DES 加密,得到密文 E 。( 2 ) A 用接收方 B 的公钥 K Pb 加密对称密钥 k E , E K Pb ( k E )我们称之为数字信封。( 3 ) A 将密文和数字信封一起发送到 B 。 A→B : E K Pb ( k E )‖ E 。( 4 )接收方 B 用自己的私钥 KVB 解密数字信封 E K Pb ( k E ),并用解密出的对称密钥 k E 解密密文 E 得到报文 M 、数字签名 S 和 A 的公钥 k PA 。( 5 ) B 用 A 的公钥 k PA 解密数字签名得到报文摘要 H 。( 6 )接收方 B 对已收到的报文 M 用同样 Hash 函数进行计算,得到另一个报文摘要 H¹ 。( 7 )比较收到的解密后的报文摘要 H 和新计算报文摘要 H’ ,相同即得到验证。

Page 21: 第 4 章  数字签名与认证技术

电子商务安全

4.4.1 数字信封

用数字信封技术验证数字签名

安全交易过程

Page 22: 第 4 章  数字签名与认证技术

电子商务安全

4.4.1 数字信封

通过上述过程,我们看出数字信封就是发送方用接收方的公钥,将一个密钥(对称通信密钥)进行加密,形成了一个数字信封。然后传送给接收方,只有接受方 B 才能用自己的私钥打开数字信封,取得对称通信密钥,用它来解密相关信息(报文 M 、数字签名 S 和 A 的公钥 k PA )。这个过程就相当于在实际商务中 A 方将一把钥匙放在信封中快递给对方 B , B 收到快递后,取出钥匙,再用它打开保险柜。上述过程也是一次安全交易过程。

Page 23: 第 4 章  数字签名与认证技术

电子商务安全

4.4.2 数字时间戳

交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是防止文件被伪造和篡改的关键性内容。 在电子交易中,同样需要对交易文件的日期和时间信息采取安全措施,而数字时间戳服务( DTS )就能提供电子文件发表时间的安全保护。 数字时间戳服务( DTS )是网上安全服务项目,由第三方专门的机构提供。时间戳是一个经加密后形成的凭证文档,它包括三个部分:①需加时间戳的文件的摘要;② DTS 收到文件的日期和时间;③ DTS 的数字签名。 时间戳产生的过程为:用户首先将需要加时间戳的文件用 Hash编码加密形成摘要,然后将该摘要发送到 DTS , DTS 在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。 注意,书面签署文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位 DTS 来加的,以 DTS 收到文件的时间为依据。因此,时间戳也可以作为科学家的科学发明文献的时间认证。

Page 24: 第 4 章  数字签名与认证技术

电子商务安全

4.4.3 数字证书

数字证书( digital certificate, digital ID )又称为数字凭证,它是用电子手段来证实一个用户的身份和对网络资源访问的权限。数字证书作为网上交易双方真实身份证明的依据,是一个经证书授权中心( CA )数字签名的、包含证书申请者(公开密钥拥有者)个人信息及其公开密钥的文件。基于公开密钥体制( PKI )的数字证书是电子商务安全体系的核心,用途是利用公共密钥加密系统来保护与验证公众的密钥,由可信任的、公正的权威机构 CA颁发。 CA 对申请者所提供的信息进行验证,然后通过向电子商务各参与方签发数字证书,来确认各方的身份,保证网上支付的安全性。 在网上的电子交易中,如双方出示了各自的数字证书,并用它来进行交易操作,那么双方都可不必为对方身份的真伪担心。 数字证书可用于电子邮件、电子商务、电子基金转移等各种用途。

Page 25: 第 4 章  数字签名与认证技术

电子商务安全

4.4.3 数字证书

数字证书的类型

( 1 )个人证书( personal digital ID ):它仅为某一个用户提供凭证,以帮助其个人在网上进行安全交易操作。个人身份的数字证书通常是安装在客户端的浏览器内的 , 并通过安全的电子邮件来进行交易操作。 ( 2 )企业(服务器)证书( server ID ):它通常为网上的某个 Web服务器提供凭证,拥有 Web服务器的企业就可以用具有证书的万维网站点( Web Site )来进行安全电子交易。有证书的 Web服务器会自动的将其与客户端Web浏览器通信的信息加密。 另外一些专门的安全技术协议和整体解决方案也会根据各自的标准向交易的各方颁发相应的数字证书,如 SSL 数字证书和 SET 数字证书等。

Page 26: 第 4 章  数字签名与认证技术

电子商务安全

4.5 数字签名的应用前景

1 )通过代理签名形成规模效益2 )数字签名有利于建立商业信誉3 )数字签名和代理签名有利于电子商务销 售模式创新4 )数字签名技术可以提供防伪功能5 )通过数字签名技术的应用可以带来更大的商机6 )数字签名非常适宜于数字产品销售7 )电子签名法的实施有利于电子商务的发展

Page 27: 第 4 章  数字签名与认证技术

电子商务安全

在传统交易中,人们会通过签名来确保一份文档的真实有效性,并对交易双方进行交易约束,防止其对交易行为进行抵赖。在网络环境下,人们用数字签名技术来认证交易的各方,从而为电子商务提供不可否认的服务。数字签名技术是公开密钥加密技术和报文分解函数相结合的产物。与加密不同,数字签名的目的是为了保证信息的完整性、真实性和不可更改性,而认证技术则用于保证交易系统的可靠性。本章首先介绍了基于hash 函数的消息摘要的形成和作用,介绍了数字签名原理和各种类型的数字签名技术,以及几种著名的数字签名方案;然后讨论了数字信封、数字时间戳和数字证书等常用的认证技术,最后阐述了数字签名的应用前景。

本章小结

Page 28: 第 4 章  数字签名与认证技术

电子商务安全

复习思考题1. 说明报文验证码的认证过程。2. 说明 hash 函数的特点和工作过程。3.请说明消息摘要和 MAC 的区别。4.请说明数字签名的原理与 RSA 签名过程。5.请说明如何用数字信封技术验证数字签名。6. 说明数字证书的内容及作用。

技能实训题1.请讨论我国《电子签名法》的主要条款,以及这些条款在电子商务中所起的作用。2.请举例说明双重数字签名在电子商务中的应用。

Page 29: 第 4 章  数字签名与认证技术

希望本章的内容对您有所帮助,谢谢。