SET协议如何实现数字签名?

发布网友 发布时间:2022-03-27 10:02

我来回答

2个回答

热心网友 时间:2022-03-27 11:31

1995年 1o月.包括Mastercard.N etscape和IBM在内的联盟开始进行安全
电子支付协议(SEPP)的开发.此前不久,Visa 和微软组成的联盟己经开始开发
另外一种不同的网络支付规范:安全交易技术(ST)。这样便出现了一种不幸的
局面.两大信用卡组织Mastercard和visa.分别支持的网络支付解决方案.这
种局面持续了数月时间.在1996年1月,这些公司宜布它们将联合开发统一的系
统.叫做安全电子交易(SET). 1996年2月末.它们发布了两份文件,其中第一
份文件给出了SET协议的业务描述,而第二份文件给出了更多的技术细节。其后
经历了一段公众评论期。在此期间,感兴趣的各方对该规范进行了讨论.并指出
了其中的不当之处。此后,发表了修改后的文件—协议描述.,它定义了产品
SET协议。SET是一种基于消息流的协议,用来保证公共网络上银行卡支付交易
的安全性。在Internet支付产业中,很多重要组织都声明将支持SET. SET在国
际上己彼大t实验性地使用井经受了考验,但大多致在Intemet上采晌的消费者井
没有宾正使用SET.
支付系统安全是电子商务的关键.SET支持了电子商务的特殊安全需要.如:
使用加密保证购物信息和支付信息的机密性:使用数字签名确保支付信息的完整
性;使用持卡人证书.对使用信用卡的合法性进行认证;使用商家证书.对商家
进行认证;保证各方对有关事项的不可否认性。特别地.SET保证了不会籍待卡人的信用卡号泄落给商家.
下面 对 电 子商务的交易过程进行简单的介绍。一个典型的墓于SET的电子商
务交易过程大体上可以用下面的一个简单的例子来描述:
1. 在交易之前客户应向其金触机构(即发行机构或付欲银行)申请银行帐号.
商家 也 应 该向它的金融机构(收单银行)申请银行帐号,并且向认证中心注
册得 到 所 漪要的证书。
2. 持卡人通过各种方式来浏览商品,如可以通过浏览器浏览商家电子商务服务
器的 We b页面上的商品目录;或浏览由商家提供的存储在CD ROM上的商
品 目录 : 查看印刷的商品目录,井选择要购买的商品。
3. 持卡人选择一定的付欲方式,如选择付欲卡的品牌。
4.持卡人(客户)把完整的订单以及付欲指令传送给商家(付软指令必须由合
法的 持 卡 人进行戴字签名).
5. 商家向持卡人的金融机构请求付欲代理.
6. 商家向持卡人(客户)发送定购确认.
7. 商家向持卡人(客户)运送货物或提供服务。
8. 商家从持卡人的金触机构(付教银行)取得货教·
在整 个 交 易过程中SET参与了4,5 ,6 ,8 这几个阶段。在支付过程中SET
协议的参与者需要使用数字证书以证明自己的身份或交换会话密钥。持卡者对自
己的数字证书和私钥、信用卡号码以及其他信息需耍进行加密存储。它们与符合
SET协议的软件一起组成了一个SET“电子钱包”。当持卡者在网上商店选中商品
并使用SET“电子钱包”付钱时,商家服务器上的软件发报文给持卡者的浏览器
要求SET“电子钱包”付钱,SET“电子钱包”则与商家服务器交换“握手”消
息(包括得到商家的证书),让持卡者确认商家被授权可以接受付欲卡付欲。同时
商家也通过类似过程来脸证持卡人的证书以验证其使用付欲卡的合法性。脸证合
法性之后才能进行支付信息的交换。在SET协议的消息流中所有教感信息都采用
密码技术对其机密性、完整性等进行保护,同时对消息派进行认证。为能够实现
这些安全功能,SET使用了致字签名、数字信封、对偶签名(也称双重签名)等.SET安全电子交易系统中,商家,CCA.MCA.发行银行,支付网关,支付卡品牌均有一对公开尹秘密密钥交换密钥和一对公开尹秘密签名密钥及相应的证书。持卡人有一对公开琳密签名密钥及相应的证书。除此以外,参与通信的各方均要求拥有加解密模块、数字签名了验证模块、具有密码随机性的随机对称密钥生成器、能够实现证书及其他安全今数的安全存贮的模块等.它们一起组成了SET棋组。该模型中的部分消息可能是带外完成的,例如商家注姗、持卡人注册及颁发证书时的部分认证过程。SE T 安全 电子交易的整个过程大体可以分为以下几个阶段:持卡人(c)注
册,商家(M)注册,购物请求,付欲授权,付款结算.
一、持卡人注册(Cardholder Registrafion)
持卡 人 C 在 实 儿电子交易之前必须先向其金胜机构(付欲银行)注册登记.
以便得到一个签名证书.在这过程中.C为了保证消息的机密性.盆要使用CCA
的密钥交换公钥,它是从CCA的密钥交换证书中得到(在初始响应中由CCA发
送)。注册的大体步异如下:
1. c向CCA发送初始请求;
2- CCA接收初始请求;
3- CCA生成响应,井对响应进行致字签名:
4- CCA把晌应连同证书一起发送给C;
5- C接收初始响应,井验证CCA的证书;
6- C脸证CCA对响应的数字签名:
7- C拍入帐号:
8- C生成注册表请求:
9- c随机生成对称密钥K二用K.对注册表请求消息加密,K.与帐号一起用CCA
的密 钥 交 换公钥加密:
10- C发送加密后的注册表请求给CCA;
It- CCA用密祖交换私钥解密K.和帐号,用K.解密加密的注册表请求;
12- CC^选择合适的注册表.井对其进行数字签名;
13- CCA发送注册表及CCA的证书给C-.
14- C接收注册表并脸证CCA的证书:
15- C脸证CCA对注册表的效字签名;
16- C产生一公用秘密密钥对和一个秘密的用于注册帐号随机数R
17- C坟写注册表井生成注册表请求:
18- C生成由请求、c的公开钥和新生成的对称密钥K:组成的消息,并签名;
19- C将此消息用密钥丸加密,吮、R.与帐号一起用CCA的密钥交换公钥加密:
20- C发送加密后的证书请求消息(包括加密的帐号和R,等)给CCA
21. CC人用密钥交换私钥解密K2、随机数和帐号.用K,解密加密后的证书请求:
22- CCA验证C的数字签名:
23- CCA用帐户信息和注册表信息对C进行必要的脸证(SET中没有具体规定):
24·根据验证结果CCA生成随机数凡,将凡、R,, C的帐号、有效期等信息的
散列 值 包 含在证书中,并签名:
25- CCA生成证书应答(包含有加密的凡)并签名:
26- CCA将证书应答用K:加密后发送给C;
27- C验证CCA的证书并用K2解密消息:
28- C验证CCA对证书的数字签名后保留证书以及CC^产生的秘密随机数R2
散列 函 数 作用于任愈长度的消息产生一个具有固定长度、在统计意义上唯一
的散列值。SET在实现数据完整性的时候,频繁地使用散列函数。散列函数自身
井不能提供完整性,通常要把它和密钥或者跟其他的算法结合在一起。例如,它
和数字签名结合在一起、在通信双方具有共享密钥时跟分组密码结合在一起或使
用带密钥的散列函数等。散列函数一般仅要求具有以下性质:故列函致的算法是
公开的:散列函数是一个单向函数;对于特定的散列函数寻找其碰撞消息对在计
算上是不可行的.SET中默认使用的散列函数是SHA. SHA算法是NIST NSA设计的与DSS( Digitalsig natuers tandard)一起使用的一个敞列函数,它产生160bits
的散列值。与其 他 散 列算法类似,首先将消息填充为512bits的整数倍:先添加一个比特
1,然后填充足够多的零使其长度为512bits的整数倍减去bits,最后的bits
用于表示消息填充前的长度。
将 算 法 中的五个32bits的变量初始化: A= 0x67452301
B=Oxefcdab。C=Ox98badcfe,D=0x10325476,E=Oxc3d2e1fO .
然后开始算法主循环,每次处理512 bits的消息。因此,主循环的次数是消息所
包含的512bits分组的数目。

参考资料:基于SET的电子商务应用系统及若干密码算法-姚亦峰

热心网友 时间:2022-03-27 12:49

SET协议使用到了数字签名技术。
参看:http://hi.baidu.com/calvin_keke/blog/item/b961b372bd03e6168601b014.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com