290 likes | 454 Views
第 4 章 数字签名与认证技术. 电子商务安全. 本章主要内容:). 学习目标. 1.了解报文验证码的认证过程 2.了解hash函数原理和消息摘要的形成过程 3.熟悉数字签名原理和各种类型的数字签名 方案 4.熟悉常用的认证技术 5.了解数字签名的作用及应用前景. 第 4 章 数字签名与认证技术. 电子商务安全. 4.1 报文检验码与 hash 函数. 4.1.1 报文验证码.
E N D
第4章 数字签名与认证技术 电子商务安全 本章主要内容:) 学习目标 1.了解报文验证码的认证过程 2.了解hash函数原理和消息摘要的形成过程 3.熟悉数字签名原理和各种类型的数字签名 方案 4.熟悉常用的认证技术 5.了解数字签名的作用及应用前景
第4章 数字签名与认证技术 电子商务安全 4.1 报文检验码与hash函数 4.1.1报文验证码 报文认证就是验证报文的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的、未被篡改的。这里应包含两个方面:第一要验证信息的发送者是真实的而不是冒充的,即数据起源认证;第二要验证信息在传送过程中未被篡改、重放或延迟。
电子商务安全 4.1 报文检验码与hash函数 4.1.1报文验证码 报文认证的检验内容应包括证实报文的信源和信宿、报文内容是否遭到偶然或有意地篡改、报文的到达时间是否在指定的期限内。总之,报文认证使接收者能识别报文的来源、内容的真伪、时间有效性等。这种认证只在相互通信的双方之间进行,而不允许第三者实施。
电子商务安全 4.1.1报文验证码 报文验证码的认证过程
电子商务安全 4.1.2 hash函数 Hash函数也称为哈希函数或杂凑函数等,是典型的多到一函数,可用于计算数字签名和报文验证码,广泛用于防抵赖、身份识别、消息鉴别等。 消息摘要示意图 Hash单向函数 Hash 算法 原文 密文 (消息摘要)
电子商务安全 4.1.2 hash函数 Hash 函 数 特 征 1.一致性:相同的输入产生相同的输出。 2.随机性:消息摘要外观是随机的, 以防被猜出源消息。 3.唯一性:几乎不可能找到两个消息 产生相同的消息摘要。 4.单向型:即如果给出输出,则很难 确定出输入消息,即Hash函数不可逆。 5.输入x可以为任意长度,输出数据串 长度固定。 6.抗冲突性(抗碰撞性)
电子商务安全 4.1.2 hash函数 Hash函数工作过程 发送者A利用Hash函数向接收者B发送报文M的基本过程是: 发送者写一报文M,作为单向Hash函数H的输入。 消息摘要H(M)连报文M一起发送。 接收者分离报文和消息摘要,并利用报文生成消息摘要。 比较两消息摘要,如果相同,则报文在传送期间未被更改。 即A→B:M║H(M)
A A Xi: 分成16个32bit组 M0 M1 … M15 第一轮 第二轮 第三轮 第四轮 B B C C 电子商务安全 D D E E 4.1.3* SHA-1算法(Secure Hash Algorithm ) SHA1的主循环结构图
电子商务安全 4.2 数字签名 4.2.1 数字签名概述 数字签名的基本特征 (1)签名是可信的。 (2)签名是无法被伪造的。 (3)签名是无法重复使用的。 (4)文件被签名以后是无法被篡改的。 (5)签名具有不可否认性。
电子商务安全 4.2 数字签名 4.2.1 数字签名概述 数字签名的实现过程 根据上述特征可得知数字签名实现的基本过程。假设A要发送一个电子文件给B,A、B双方只需要经过下面三个环节即可。 (1)A用其私钥加密文件,这便是签名过程; (2)A将加密的文件送到B; (3)B用A的公钥解开A送来的文件。
电子商务安全 4.2 数字签名 4.2.1 数字签名概述 数字签名的基本原理 与数字签名的基本特征相对应,可以得知数字签名的基本原理。 (1)因为B是用A的公钥解开加密文件的,这说明原文件只能被A的私钥加密 而只有A才知道自己的私钥(可信性)。 (2)因为只有A知道自己的私钥。因此只有A能用自己的私钥加密一个 文件(无法被伪造)。 (3)签名在这里就是一个加密过程。自己无法重复使用(签名无法重复使用)。 ①加密后的文件被改动后是无法被A的公钥解开的(文件被签名后无法被篡改)。 ②除A以外无人能用A的私钥加密一个文件(具有不可否认性)。
电子商务安全 4.2.2 数字签名的分类 根据接收验证签名的方式可将数字签名分为直接数字签名和仲裁数字签名。 根据对消息进行签名的内容不同,数字签名可分为两种:一种是对整个消息的签名,也就是对整个消息进行密码变换生成消息的密文信息;另一种是前面所描述的对报文的摘要进行签名,也就是对消息摘要进行密码变换生成摘要的密文信息,然后将其作为签名附在报文之后。
电子商务安全 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是公开的所以任何人都能验证签名。
电子商务安全 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。
电子商务安全 4.3.3 其他签名 1)盲签名(74) 盲签名(blind signature)是一种允许一个人让另一个人签署文档,而第一个人不向签名者泄露任何关于文档内容的技术。 2)双重数字签名(75) 问题的提出:在一个BtoC的电子商务交易中,设参与方为客户、网商和第三方支付平台(简称第三方)。当客户登陆购物网站,提出申请购物时,客户要向网商提出两组信息:向网商直接提出定购商品信息的同时,还要向第三方提出付款信息,以便授权第三方支付商品款项。但有两点必须做到: (1)客户不希望网商知道自己的支付账号的相关信息; (2)同时也不希望第三方知道具体的购物内容,只需按要求付款即可。
电子商务安全 4.3.3 其他签名 3)多重签名(75) 多重数字签名的目的是将多个人的数字签名汇总成一个签名数据进行传送,签名收方只需验证一个签名便可确认多个人的签名。 4)代理签名(75) 代理签名的目的是当某签名人因公务或身体健康等原因不能行使签名权力时,将签名权委派给其他人替自己行使签名权。
电子商务安全 4.4 认证技术 4.4.1 数字信封 数字信封工作原理 B的公钥K Pb A方 对称密钥k E 数字信封 E K Pb (k E) RSA算法
电子商务安全 4.4 认证技术 4.4.1 数字信封 数字信封工作过程 数字信封是在PKI系统中常用的一种密码技术。
电子商务安全 4.4 认证技术 4.4.1 数字信封 数字信封工作过程 (1)在发送文件时,发送方先产生一个通信密钥,并用这一通信密钥对文件原文进行加密后,再通过网络将加密后的文件传送到接收方。 (2)发送方再把对文件加密时使用的通信密钥用接收方的公开密钥进行加密,即生成数字信封,然后通过网络传送到接收方。 (3)接收方收到发送方传来的经过加密的通信密钥后,用自己的私钥对其进行解密,从而得到发送方的通信密钥。 (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’,相同即得到验证。
电子商务安全 4.4.1 数字信封 用数字信封技术验证数字签名 安全交易过程
电子商务安全 4.4.1 数字信封 通过上述过程,我们看出数字信封就是发送方用接收方的公钥,将一个密钥(对称通信密钥)进行加密,形成了一个数字信封。然后传送给接收方,只有接受方B才能用自己的私钥打开数字信封,取得对称通信密钥,用它来解密相关信息(报文M、数字签名S和A的公钥k PA)。这个过程就相当于在实际商务中A方将一把钥匙放在信封中快递给对方B,B收到快递后,取出钥匙,再用它打开保险柜。上述过程也是一次安全交易过程。
电子商务安全 4.4.2 数字时间戳 交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是防止文件被伪造和篡改的关键性内容。 在电子交易中,同样需要对交易文件的日期和时间信息采取安全措施,而数字时间戳服务(DTS)就能提供电子文件发表时间的安全保护。 数字时间戳服务(DTS)是网上安全服务项目,由第三方专门的机构提供。时间戳是一个经加密后形成的凭证文档,它包括三个部分:①需加时间戳的文件的摘要;②DTS收到文件的日期和时间;③DTS的数字签名。 时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。 注意,书面签署文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS来加的,以DTS收到文件的时间为依据。因此,时间戳也可以作为科学家的科学发明文献的时间认证。
电子商务安全 4.4.3 数字证书 数字证书(digital certificate, digital ID)又称为数字凭证,它是用电子手段来证实一个用户的身份和对网络资源访问的权限。数字证书作为网上交易双方真实身份证明的依据,是一个经证书授权中心(CA)数字签名的、包含证书申请者(公开密钥拥有者)个人信息及其公开密钥的文件。基于公开密钥体制(PKI)的数字证书是电子商务安全体系的核心,用途是利用公共密钥加密系统来保护与验证公众的密钥,由可信任的、公正的权威机构CA颁发。CA对申请者所提供的信息进行验证,然后通过向电子商务各参与方签发数字证书,来确认各方的身份,保证网上支付的安全性。 在网上的电子交易中,如双方出示了各自的数字证书,并用它来进行交易操作,那么双方都可不必为对方身份的真伪担心。 数字证书可用于电子邮件、电子商务、电子基金转移等各种用途。
电子商务安全 4.4.3 数字证书 数字证书的类型 (1)个人证书(personal digital ID):它仅为某一个用户提供凭证,以帮助其个人在网上进行安全交易操作。个人身份的数字证书通常是安装在客户端的浏览器内的,并通过安全的电子邮件来进行交易操作。 (2)企业(服务器)证书(server ID):它通常为网上的某个Web服务器提供凭证,拥有Web服务器的企业就可以用具有证书的万维网站点(Web Site)来进行安全电子交易。有证书的Web服务器会自动的将其与客户端Web浏览器通信的信息加密。 另外一些专门的安全技术协议和整体解决方案也会根据各自的标准向交易的各方颁发相应的数字证书,如SSL数字证书和SET数字证书等。
电子商务安全 4.5 数字签名的应用前景 1)通过代理签名形成规模效益 2)数字签名有利于建立商业信誉 3)数字签名和代理签名有利于电子商务销售模式创新 4)数字签名技术可以提供防伪功能 5)通过数字签名技术的应用可以带来更大的商机 6)数字签名非常适宜于数字产品销售 7)电子签名法的实施有利于电子商务的发展
电子商务安全 本章小结 在传统交易中,人们会通过签名来确保一份文档的真实有效性,并对交易双方进行交易约束,防止其对交易行为进行抵赖。在网络环境下,人们用数字签名技术来认证交易的各方,从而为电子商务提供不可否认的服务。数字签名技术是公开密钥加密技术和报文分解函数相结合的产物。与加密不同,数字签名的目的是为了保证信息的完整性、真实性和不可更改性,而认证技术则用于保证交易系统的可靠性。本章首先介绍了基于hash函数的消息摘要的形成和作用,介绍了数字签名原理和各种类型的数字签名技术,以及几种著名的数字签名方案;然后讨论了数字信封、数字时间戳和数字证书等常用的认证技术,最后阐述了数字签名的应用前景。
电子商务安全 复习思考题 1.说明报文验证码的认证过程。 2.说明hash函数的特点和工作过程。 3.请说明消息摘要和MAC的区别。 4.请说明数字签名的原理与RSA签名过程。 5.请说明如何用数字信封技术验证数字签名。 6.说明数字证书的内容及作用。 技能实训题 1.请讨论我国《电子签名法》的主要条款,以及这些条款在电子商务中所起的作用。 2.请举例说明双重数字签名在电子商务中的应用。
希望本章的内容对您有所帮助,谢谢。 本章内容结束