首页 理论教育 双重数字签名的使用与优化

双重数字签名的使用与优化

时间:2023-05-30 理论教育 版权反馈
【摘要】:通过双重数字签名可以实现银行需要了解的支付信息。雅鹿公司电商专员小王接受了新任务,给公司员工培训“双重数字签名”知识。双重数字签名是数字签名在SET协议中的一个新应用。双重数字签名解决了电子商务交易中消费者、商家、银行三方的安全通信问题,并且很好地保护了消费者的隐私。图4-23双重数字签名的验证过程在支付请求阶段,利用双重数字签名可以保证商家不能看到消费者的支付信息。

双重数字签名的使用与优化

电子支付系统中,存在着客户、商家和银行三者之间交易信息的传递,其中包括只能让商家看到的订购信息和只能让银行看到的支付信息。通过双重数字签名可以实现银行需要了解的支付信息。

【任务描述】

雅鹿公司电商专员小王接受了新任务,给公司员工培训“双重数字签名”知识。请帮助小王完成这一任务。

【任务分析】

SET协议采用了双重签名技术,通过计算两个消息摘要,并将两个消息摘要连接在一起,使用持卡人的私有密钥对消息摘要进行加密。

【任务实施】

1.了解双重数字签名

1)双重数字签名的概念

双重数字签名是保证事务处理过程中三方安全传输信息的一种技术,用于三方通信时的身份认证和信息完整性、交易防抵赖的保护。

双重数字签名是数字签名在SET协议中的一个新应用。双重签名是SET协议中引入的一个重要的创新,巧妙地把发送给不同接收者的两条消息联系起来。双重数字签名解决了电子商务交易中消费者、商家、银行三方的安全通信问题,并且很好地保护了消费者的隐私。

2)双重签名的目的

在电子商务交易的过程中,通过双重签名,客户把订购信息和支付信息传递给商家时,订购信息和支付信息相互隔离开,商家只能看到订购信息而不能看到支付信息,并把支付信息无改变地传递给银行;而且商家和银行可以验证订购信息和支付信息的一致性,以此来判断订购信息和支付信息在传输的过程中是否被修改。

3)双重数字签名的实现

双重数字签名的实现步骤如下:

(1)信息发送者A对发给B的信息1生成信息摘要1。

(2)信息发送者A对发给C的信息2生成信息摘要2。

(3)信息发送者A把信息摘要1和信息摘要2合在一起,对其生成信息摘要3,并使用自己的私钥签名信息摘要3。

(4)信息发送者A把信息1、信息摘要2和信息摘要3的签名发给B,B不能得到信息2。

(5)信息发送者A把信息2、信息摘要1和信息摘要3的签名发给C,C不能得到信息1。

(6)B接收信息后,对信息1生成信息摘要,把该信息摘要和收到的信息摘要2合在一起,并对其生成新的信息摘要,同时使用信息发送者A的公钥对信息摘要3的签名进行验证,以确认信息发送者A的身份和信息是否被修改过。

(7)C接收信息后,对信息2生成信息摘要,把该信息摘要和收到的信息摘要1合在一起,并对其生成新的信息摘要,同时使用信息发送者A的公钥对信息摘要3的签名进行验证,以确认信息发送者A的身份和信息是否被修改过。

在安全电子交易过程中,消费者、商家和银行三者之间,消费者的订单信息(Order Information,OI)和付款指示(Payment Instruction,PI)是互相对应的,商家只有在确认了消费者的订单信息对应的付款指示是真实有效的情况下,才能按订单信息发货;同样,银行只有在确认了消费者的付款指示对应的订单信息是真实有效的情况下,才能按商家要求进行支付授权。

因此,订单信息和付款指示必须捆绑在一起发送给商家或银行。这是为了预防商家在验证消费者付款指示时盗用消费者的信用卡账号等信息,以及银行在验证消费者订单信息时,跟踪消费者的交易活动(侵犯消费者的隐私)。

为了保证消费者的信用卡账号等银行信息对商家隐蔽,也为了保证消费者要购买的商品订单信息对银行隐蔽,在SET协议中采用了双重签名技术,它是SET协议推出的数字签名的新应用。

一个双重签名是通过计算两个消息摘要产生的,并将两个消息摘要连接在一起,用消费者的私钥对消息摘要加密。

2.双重签名的产生过程

双重签名的产生过程如图4-22所示。

图4-22 双重签名的产生过程

(1)消费者产生订单信息和付款指示的消息摘要H(OI)和H(PI);

(2)连接消息摘要H(OI)和H(PI)得到消息OP;

(3)生成OP的消息摘要H(OP);

(4)用消费者的私钥加密H(OP)得到双重签名Sign(H(OP)),消费者将双重签名Sign(H(OP))包含在消息中以保证接收者能够验证。消费者发送给商家的消息为OI、H(PI)、Sign(H(OP),即订单信息、付款指示摘要和双重签名;消费者发送给银行的消息为PI、H(OI)、Sign(H(OP)),即付款指示、订单消息摘要和双重签名。

3.双重数字签名的验证过程

双重数字签名的验证过程如图4-23所示。

商家所能看到的信息有:订单信息OI、付款指示PI的消息摘要H(PI)、订单信息OI和付款指示PI的双重签名Sign(H(OP))。

银行所能看到的信息有:付款指示PI、订单信息OI的消息摘要H(OI)、订单信息OI和付款指示PI的双重签名Sign(H(OP))。

在安全交易过程中,消费者只与商家打交道。付款指示PI由消费者发送给商家,再由商家转发给支付网关,付款指示PI由消费者使用支付网关的公钥加密,只有支付网关才能用自己的私钥解密。为了便于商家验证消费者付款指示PI的真实性,商家所能看到的只是付款指示PI的消息摘要H(PI),而不是付款指示PI本身。

图4-23 双重数字签名的验证过程

【动手做一做】

在支付请求阶段,利用双重数字签名可以保证商家不能看到消费者的支付信息。请在(1)~(7)处选择合适的答案,将商家验证消费者订单信息的过程补充完整。

消费者在电子商务网站选购商品后,生成订单信息和支付信息。消费者利用哈希算法生成订单信息摘要和支付信息摘要,然后将订单信息摘要和支付信息摘要连接起来,再利用哈希算法生成双重数字摘要。

消费者利用_______(_1_)___对双重数字摘要加密生成双重数字签名,将_______(_2_)___、_______(_3_)___和_______(_4_)___发送给商家,商家收到信息后,将接收到的双重数字签名利用________(_5__)___解密,再利用同样的哈希算法将________(_6__)___生成新的订单信息摘要,再将新的订单信息摘要与____(_7_)___生成新的双重数字摘要,并与消费者发送的双重数字摘要比较,以确保信息的完整性和真实性。

(1)~(7)的备选答案如下(注:备选答案可重复选择):

A.消费者的公钥

B.消费者的私钥

C.商家的公钥

D.商家的私钥

E.订单信息摘要

F.支付信息摘要

G.订单信息

H.支付信息

I.双重数字签名

实验四 数字证书

一、实验目的

(1)了解申请个人数字证书的流程;

(2)了解当前各种CA机构的状况、数字证书的类型和作用;

(3)掌握申请数字证书的方法;

(4)使用数字证书对电子邮件进行加解密。

二、实验内容

(1)申请个人数字证书;

(2)选定一家免费证书提供机构,申请一张安全电子邮件证书;

(3)使用数字证书对电子邮件进行加解密。

三、实验过程

1.个人数字证书的申请

1)搜索提供数字证书的机构

百度搜索引擎中输入“数字证书”,可以找到很多国内的CA机构,这些CA机构都提供不同类型的数字证书。对这些机构提供的数字证书类型及其作用进行分析。

目前国内的CA机构能够提供的证书类型主要包括个人数字证书、企业数字证书、服务器身份证书、安全Web服务证书、代码签名证书、安全电子邮件证书等。

(1)个人数字证书包含证书持有者的个人身份信息、公钥及CA的签名,在网络通信中标识证书持有者的个人身份。

(2)企业数字证书包含企业的基本信息、公钥及CA的签名,在网络通信中标识证书持有企业的身份。

(3)服务器身份证书包含服务器信息、公钥及CA的签名,在网络通信中标识和验证服务器的身份。在网络应用系统中,服务器软件利用证书机制保证与其他服务器或客户端通信的安全性。

(4)安全Web服务证书包含Web站点的基本信息、公钥和CA的签名,凡是具有网址的Web站点均可以申请使用该证书,其主要和网站的IP地址域名绑定,可以保证网站的真实性和不被人仿冒。

(5)代码签名证书是CA机构签发给软件提供商的数字证书,包含软件提供商的身份信息、公钥及CA的签名。软件提供商使用代码签名证书对软件进行签名后放到Internet上,当用户在Internet上下载该软件时将会得到提示,从而可以确信软件的来源,并确认软件自签名后到下载前没有遭到修改或破坏。

(6)安全电子邮件证书包含证书持有者的电子邮件地址、公钥及CA的签名。使用安全电子邮件证书可以收发加密和数字签名邮件,保证电子邮件传输中的机密性、完整性和不可否认性,确保电子邮件通信各方身份的真实性。

2)选定一种个人数字证书,为自己申请该数字证书

由于大多数CA机构都要求对提供的数字证书收费,在此给提供一些提供免费数字证书的CA机构网址:

https://testca.netca.net

http://www.verisign.com(需有访问国外网站的权限)

下面以某学生的申请过程为例,给出在“https://testca.netca.net”申请一份免费数字证书的过程。

(1)登录“https://testca.netca.net”,单击“证书申请”链接,选择“试用型个人数字证书申请”链接。

(2)只有安装了根证书(即证书链)的计算机,才能够完成后面的申请步骤和正常使用在CA机构申请的数字证书,所以需要先进行证书链的安装。按照系统提示,可以在“https://testca.netca.net/download/GetRootCertificateIndi.asp”页面中单击“安装证书链”按钮

(3)在系统“安装成功”提示框出现后,进入“基本信息”表单,按照表单的提示内容,完整地输入个人资料。注意“在选择加密服务提供程序(Cryptographic Service Provider.CSP)”项目中选择“Microsoft Base Cryptagraphic Provider V1.0”选项。

(4)选择填写补充信息,具体包括有效证件类型、证件号码、出生日期、性别、住址、通信地址、邮政编码、联系电话、传真号码以及存储介质等。完成后,单击“提交”按钮,随后系统将进行数字证书的下载。在完成上述步骤后,系统将发送一封申请成功的信件到申请时使用的邮箱内,其中包括业务受理号、密码以及数字证书下载的地址。

(5)单击数字证书的下载地址链接,填写业务受理号和密码并提交,系统即提示安装的数字证书的基本信息,然后单击下方的“安装证书”按钮。当系统给出“证书成功下载并装入应用程序中”提示后,表明证书已经成功安装。

3)在IE浏览器中查看已经申请成功的数字证书

(1)打开IE浏览器,在其菜单栏上选择“工具”→“Internet选项”选项,在“Internet选项”对话框中,选择“内容”选项卡,单击“证书”按钮即可查看当前信任的证书列表。

(2)在“证书”对话框中,单击“个人”选项卡,可查看已经申请的数字证书列表。

(3)选定需要查看的数字证书,然后单击“查看”按钮,可以查看相应数字证书的详细信息。(www.xing528.com)

2.发送具有数字签名的电子邮件

在发送具有数字签名的电子邮件之前,首先要下载数字证书,即将申请的数字证书导入系统中;之后还必须将数字证书跟电子邮件绑定,也就是在Outlook Express中设置数字证书,使电子邮件账号对应相应的数字证书,之后才能发送数字签名电子邮件。

1)在Outlook Express中设置数字证书

(1)在Outlook Express中,选择“工具”→“账号”选项。

(2)选择“邮件”选项卡中用于发送安全邮件的账号,单击属性。

(3)选择“安全”选项卡中的“从以下地点发送安全邮件时使用数字标识”复选框,然后单击数字证书按键。

注意:对于较新版本的Outlook Express按默认设置就可以了,可以在“工具”→“账号”→“安全”→“数字标识”界面看到证书信息。

(4)选择与该账号有关的数字证书(只显示与该账号相对应的电子邮箱的数字证书)。

(5)如想查看证书,单击“查看证书”按钮,会看到详细的证书信息,单击“确定”按钮,设置完毕。

2)发送电子邮件

用自己的安全电子邮件证书发一封具有数字签名的电子邮件,内容为“安全电子邮件证书的信息”(包括公钥),主题为“学号和姓名”。

(1)打开Outlook Express,单击“新邮件”按钮,撰写新邮件。

(2)选择“工具”→“数字签名”选项。在邮件的右上角将会出现一个签名的标记。

(3)单击“发送”按钮。

(4)当收件人打开邮件时,将看到“数字签名邮件”的提示信息。

(5)单击“继续”按钮后可阅读邮件的内容。若邮件在传输过程中被他人篡改或发信人的数字证书有问题,将出现“安全警告”提示。

3.获得收件人的数字证书并发送加密邮件

要将电子邮件加密,首先要有收件人的数字证书。

1)获得收件人的数字证书

(1)让收件人发送有其数字签名的邮件。

(2)打开邮件,选择“文件”→“属性”选项。

(3)选择“安全”选项卡并单击“将数字标识添加到通讯簿中”按钮,这样收件人的数字证书就被添加到通讯簿中了。

(4)可以在IE浏览器的“工具”→“Internet选项”→“内容”→“证书”→“其他人”中查看收件人的数字证书。

2)发送加密邮件

(1)撰写好邮件后,选择“工具”→“加密”选项。

(2)邮件的右上角将会出现一个加密的标记。

(3)单击“发送”按钮。

(4)当收件人收到并打开已加密过的邮件时,将看到“加密邮件”的提示信息。

(5)单击“继续”按钮,可阅读邮件的内容。

当收到加密邮件时,完全有理由确认邮件没有被其他任何人阅读或篡改过,因为只有在收件人自己的计算机上安装了正确的数字证书,Outlook Express才能自动解密电子邮件;否则,邮件内容将无法显示。也就是说,只有收件人的数字证书中才收藏了打开密锁的“钥匙”。

四、实验报告

将实验结果写成一份约800字的实验报告。将报告作为邮件附件,将学号和姓名作为邮件内容,利用数字证书对该邮件进行签名后发送并撰写实验心得。

课后练习题(四)

课后习题四答案

一、填空题

1.数字签名主要解决电子商务中信息的不可抵赖性问题,数字签名技术结合使用了加密技术和________。

2.数字证书主要分两种:一种是________,另一种是________。

3.身份认证的主要目标包括:确保交易者是交易者本人、避免与超过权限的交易者进行交易和________。

4.CA机构的主要功能有:_______、_______、________、________、________。

5.双重数字签名是数字签名在________协议中的一个新应用。

二、选择题

1.使用数字签名不可以解决的问题是(  )

A.数据完整性

B.确认发送方身份

C.防止交易抵赖

D.防止非授权用户访问

2.若Bob给Alice发送一封邮件,并想让Alice确信邮件是由Bob发出的,则Bob应该选用(  )对邮件加密。

A.Alice的公钥

B.Alice的私钥

C.Bob的公钥

D.Bob的私钥

3.下面的说法中错误的是(  )。

A.传统的密钥系统的加密密钥和解密密钥相同

B.公钥系统的加密密钥和解密密钥不同

C.报文摘要适合数字签名,但不适合数据加密

D.数字签名系统一定具有数据加密功能

4.衡量一个密码系统的安全性有两种基本的方法,即实际安全性和(  )。

A.加密安全性

B.解密安全性

C.验证安全性

D.无条件安全性

5.采用数字签名和加密技术相结合的方法,可以很好地解决信息传输过程中的(  )等问题。

A.完整性

B.功能性

C.有效性

D.防抵赖性

6.数字信封用来解决(  )问题。

A.公钥分发攻击

B.私钥分发

C.对称密钥分发

D.数据完整性

7.(  )是一个消息摘要算法。

A.DES

B.IDEA

C.MD5

D.RSA

8.对数字签名过程的说法中,错误的是(  )。

A.发送方使用哈希算法从原文得到数字摘要

B.采用公钥提醒,用发送方的私钥对数字摘要进行签名

C.发送方使用接收方的私钥对密钥进行加密

D.签名后的数字摘要附加在要发送的原文后面

三、简答题

1.消息摘要在计算上保证安全的两个特性是什么?

2.什么是根证书?简述根证书的作用。

3.列表对比数字证书、数字签名和数字信封的区别。

四、操作题

数字证书如何使用?选定一个企业网站,浏览该网站并确认该网站使用了哪些数字证书。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈