《电子支付系统中双重签名的研究与应用.pdf》由会员分享,可在线阅读,更多相关《电子支付系统中双重签名的研究与应用.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3 9 卷增刊2 0。7 年5 月四川大学学报(工程科学版)J 0 u R N L0 F 吼c H u A Nu M V E R s r r Y(E N c 忸E R I N Cs c I E N c EE D m O N)V d 3 9S“p p M 帅文章编号:1 0 0 9 _ 3 吨7(2 0 口7)增刊_ 0 1 9 6 拼电子支付系统中双重签名的研究与应用周满元(桂林电子科技大学计算机与控制学院广西桂林5 4 1 0 0 4)摘要:电子支付系统是电子商务交易的核心,实现电子商务的关键是要保证商务活动过程中系统的安全性,即保证基于I n t 哪I 毗的电子交易与传统交易的方式一样甚
2、至更安垒可靠。研究了双重签名的工作原理。并将双重签名技术应用于在线电子交易。通过使用双重签名技术,使得交易过程中商家不知道顾客的账户信息、银行不知道客户的购买信息并保证交易的顺利进行,从而达到安全支付的目的。文中最后给出了双重签名技术的实现算法,使用具有跨平台运行性能的J 盯a 语言来宴现双重签名,从而更好得保证了网上交易的安全。关键词:电子支付;在线电子交易;双重签名;交易安全中国分类号:_ I P3 0 9文献标识码:AR e s e a r c ho fD o u b l eS i g n a t u r ei I lE I e c t r o l l i cP a”n e n tS y
3、 s t e mZ 册肘口n y 蚴“(脚1 d c 呷一时s c i,G 试l i nu d F 0 f E l e 咖d cT k h 一,c u i l i n5 4 l 4,c 址m)A b s I l 哺c t:E p 8 y n 抡n t8 y s t e mi 8 t I l ec o r eo fE _ c 锄m e r c e T h ek e yp o i n to f 叫c c 船f mi m p l 锄蜘t0 fE c e r c ei st 08 u 坤s e c u r i t yo ft h eE c o m m e r c e8 y s t e m T h ew
4、 o r k i“gp d n c i p l eo fd o u b l es i 弘a t I I r ei ss t u d i c d T h et e c h n o l 啦,0 f如u b k8 i 印a h 睇i 8a p 曲e di n t 0t l l eo n l i 耻e l e c t r 伽i c 嘶s a c 石o n B yu s i I l gd o【l b l e8 i 印a I l r e,t l I em e r c h a r I t 如n o tk n d wt l I e 们c 0 I l I I ti 础珊“帆0 ft l l ec u s t o
5、 m e r 粕dt h eb 明kd o 鹪肿tk I l o wt l l ep u r c h a i n f b r m“o n0 f 血ec u s 咖e r&I s o s 0m a tt l l e8 u c c e g 商I l l 踮c 砌p l i s h 蚴to f 0 n U ee l e 删c 岫娜d 叽c 衄b e 曲s 1 1 I e d 驵dt l l ep u r P o“舯f ep a y m tc 蛆a【b ea c h i e v e d T h ea l g o r i t I l mo fd o u b l e8 i g m t u r ei Ba
6、l p r e B e n t e db yu s i l l gj a v ap 加粤锄m i“gl a n-g I l a g et 0e n 锄托t l l eh i g h e r e c u r i t y0 fo n b n ed e c 啪l l i ct r a n B a c 石o n K e y 舯r d s:e l e c 州cp a y m 曲t;o n H n ee l e c 呦i ct r a I l s 们o n;d o u b l e8 i 印a t u m;缸a l l s a c t i o n 舱c I l r i t y随着互联网的迅速普及与发展,人们
7、希望通过互联网完成的事情也越来越多,电子商务是近年来普遍受到人们关注的焦点。电子支付系统是电子商务交易的核心,实现电子商务的关键是要保证商务活动过程中系统的安全性,即应保证基于h 恻的电子交易与传统交易的方式一样、甚至更安全可靠“1。在线交易过程中传送的交易信息需通过数字签名来证实当事人身份与数据的真实性,数字签名可以解决否认、伪造、窜改以及冒充等问题。数字签名技术的核心是采用加密、解密算法来实现对信息的加密。双重签名是一种新的对交易信息进行签名的方法,该方法使得在交易过程中,在商家不知道顾客的账户信息,银行不知道顾客的购买信息的情况下,保证交易的顺利进行,从而达到安全支付的目的”。:勰:凳鬻
8、溉:墨:黧方向:c 一、l双重签名的工作原理作者筒舟:周满元(1 町1 一)男,副教授。研究方向:c D c M、从里芷白H L I F 环王王快速成型翻造、企业信息化、信息安全技术等在网上购物:过程中,客户需要发送订购信息增刊周满元:电子支付系统中双重签名的研究与应用1 9 7(0 I)给商家,发送支付信息(P I)给银行。这两条信息相互关联,以保证该项支付仅为该订单付款。为了保密的需要,商家不应该知道客户的支付信息即银行卡号码,银行也不知道客户的订单信息。使用双重签名D s(D o u b l es i 印a t u r e s)方法来连接欲发送给两个不同接受方的两条消息。并安全地将连接后
9、的消息分别传送到不同的接受方。双重签名的工作原理如图1 所示。图l 双重签名的产生过程n 窖-lW m gp m 端o fd 加b k d 鲫曲I 件客户用H a s h 函数分别生成P I 消息摘要D。,D s 。(P I M D)及0 I 的消息摘要(o I M D),然后将它们连若计算所得的两个数值相等,则银行确认客户接起来,并生成H a s l l 码支付订单摘要(P o M D),最的签名。重用苎竺竺!氅妻篓苎娄要当等翌。!竺进行签2 双重签名的实现名。双重签名(D S)的生成过程”可表示为:一一D s=E H(H(P I)0H(O I)式中,。1 1”表示连接,H(P I)=P I
10、 M D,H(0 I)=O I M D,H(H(P I)l lH(0 I)=P O M D。客户将订单信息O I,支付信息摘要P I M D,双重签名D s,联立为(o I,p I M D,D S)。客户使用商家的公钥,对(O I,P I M D,D s)加密,变为密文c l;将支付信息P I,订单信息摘要0 I M D,双重签名D s,联立为(P I,o I M D,D s)。客户使用银行的公钥,对(P I,o I M D,D s)加密,变为密文c 2;(c 1,C 2)就是被双重签名的消息。客户将(c l,c 2)发送给商家。商家收到客户发来的(C l。c 2),用自己的私钥解密c l 得
11、到O I,P I M D,D s。并利用从客户证书中获得的客户公钥K U c 进行两项计算,即H(P I M Dl IH(o I),D 础,D s 。若计算所得的两个数值相等,则商家确认客户的签名。如果商家为了其自身利益想在这次交易中用另一个o I 代替,就必须发现另一个H 船h 码计算的结果与0 I M D 匹配的O I,用H a 昱l l 函数计算是不可能得到的。因此。商家不可能用另一个o I 与本P I 相连,这就避免了商家作案的可能性。商家将C 2 发给银行,银行用自己的私钥解密c 2,得到D S、P I、0 I M D。同样,银行拥有D S、P I、0 I M D 和客户的公钥K u
12、。,银行可进行计算,即H(O I M DI I H(P I),用J a v a 实现对传递信息进行双重签名的方法。客户在提交订单和支付信息时,同时生成一个私钥和客户证书,私钥对最后的消息散列值进行双重签名,商家和银行利用客户证书中包含的客户公钥进行签名验证。客户将证书连同双重签名消息一起发送给商家。J”a 是一种面向对象的语言,传递信息过程中生成的私钥、用户证书等在J”a 核心类中都有对应的实体描述,如J a s e c I I r i t y P I i v a t e K e y,J d m S e-c l l r i t y c e r t c e 而6 c a t e 等,对应的数字签
13、名过程也被描述为J w ks e c u r 畸s i 驴g t I l r e 类H l。作者采用公开密钥算法R S A 实现数字签名和M D 5(M e s B 8 9 e D i-g e s tA I 鲥t I l m5)信息一摘要算法进行消息散列,下面给出进行实现双重签名的部分核心代码。P u b kB t a 血v o i dm 血(s 晡n ga r g s )t l I r w BE x c e p d lM e s s a g e D i g e s tm=M s a g e D i g e s t g e t h 氇t a n c e(”M D 5”);生成M e m g e
14、 D i 蚪对象,指定消息摘要所使用的算法M D 5F i 地P u t s 鼬mf m=wF i k 脚u t S 晚(a I g o】);生成需要计算的输人流,文件名从命令行参数输人D i g e 8 t I n p u t S e 哪d i n=n e wD i g e 幽p u(6 n,m);w h n e(d i n m l d()!=一1);从D i g e s n p u t S 眦m 流中读取数据1 9 8四川大学学报(工程科学版)第3 9 卷b y t es 】=m d i g e s t();计算消息摘要l该程序将计算客户订单信息和支付信息的消息摘要并计算两个摘要连接以后的
15、消息摘要。P I I 蛐cc l ms 咖P u b K cs 眦i c“dm 血(s l l ga 骖 )t l l r mE x c e p n lF d e I n p u t s 咖f=聪wF i l e I n p u t S t r e 蛐(a r g o );h 吐那m f a v a i L a b k();B y t e d 8 t a=n e wb y t e n I l I n ;获取要签名的数据,放在d a 诅数组a d(d a t a);F n e I n p u t s h 凸=n wF i l e I n p u t S t r e(”s k e y-R S A
16、_ p 西d a t”);获取私钥o b j 酬陆p u t S 廿e 啪b=雎w0 b j e c t I n p u t s t r e 哪(岔);R s A P r i V a t e K e yp r k=(R s A P d v a t e K 盯)b a d O b j e c t();S i g n 咖把g=s i 粤1 a t u 聆g e t L 鸭哑e(”M D 5W i t l R S A”);B i l l i S i 印(p r k);8 u p d a t e(d a 协);传人需要签名的数据S y s t e m t 研n t I l I(”);b y t e【】
17、啦阻c d d a t a=s 啦m();执行签名F 丑e o l l 中u t S t 瑚a=l 哪F i l e O u t p u t s 订黜(”S i 弘d 矿);n w r i t e(s i 驴e d d a 阻);保存签名I利用私钥文件S k e y R s A p 五v d 砒对上面生成的消息摘要进行数字签名,即双重签名。签名结果将保存在文件S i 印d a t 中。3电子支付系统中双重签名的应用电子支付系统中应用双重签名技术的工作流程如下:1)顾客上网浏览商家网页。选定所购货物,并向商家发送购买请求;2)商家收到购买请求后,产生回应信息,并把商家证书和用商家私钥签名的回应信
18、息发送给用户;3)顾客检验商家证书的合法性,得到商家的公钥并检验回应信息的真实性0 1;4)顾客生成订单信息和支付信息,用M D 5 算法分别产生消息摘要,将两条摘要合成一个新的摘要,用顾客的私钥对此摘要进行签名,形成双重签名;5)顾客使用商家的公钥将订单信息、支付信息摘要、双重签名和顾客证书一起加密,形成订单密文:6)顾客使用银行的公钥将支付信息、订单信息摘要、双重签名和顾客证书一起加密,形成支付密文;7)顾客把订单密文和支付密文发送给商家,商家解密订单密文以确认顾客身份。由于使用了双重签名,商家无法看到顾客的支付信息,由于商家没有银行私钥,因此无法打开支付密文;8)商家生成支付请求,用M
19、D 5 算法对支付请求产生摘要,并用商家的私钥对支付请求摘要进行数字签名;9)商家用D E S 算法随机生成一个对称密钥,将支付请求、签名的支付请求摘要和商家证书一起加密,形成支付请求密文,再用银行的公钥加密对称密钥,形成数字信封。支付请求密文和数字信封构成支付请求信息包;1 0)商家把支付请求信息包支付信息包一起发送给银行;1 1)银行解密支付请求信息包和支付信息包,确认商家和顾客身份后,发送确认信息给商家银行转账;1 2)商家发送订单确认信息给顾客,顾客端软件可记录交易日志,以各将来查询。网上在线支付过程中,在商家不知道顾客的账户信息,银行不知道顾客的订单信息的情况下,以上方案可以保证网上
20、交易的顺利进行,以达到网上安全支付的目的。该方案是基于w w w 访问模式设计的,顾客端配备有P c 机和与之通过串口相连的付款卡读卡器。为了使算法能够运行于复杂的网络平台上,在发送方(客户端)可以采用J a mA p p l e t 实现M D 5 算法(M D 5A p p l e t)、D E S 算法(D E sA p p l e t)和R S A 算法(I i S AA p p l e t)这几个程序内嵌于m 瑚L网页中。在接收方(w w w 服务器端)采用S e 州e t技术进行解密认证。所有加、解密程序的输入和输出数据以及加、解密的顺序应按照以上所述设计方案进行。、4 结束语随着
21、互联网络技术的飞速发展,电子商务得到增刊周满元:电子支付系统中双重签名的研究与应用1 9 9了广泛应用。实现电子商务的关键是要保证商务活动过程中系统的安全性,即应保证基于I I l t e m e t 的电子交易与传统交易的方式一样、甚至更安全可靠。本文研究了双重签名的工作原理,并将双重签名技术应用于在线电子交易,使用具有跨平台运行性能的J a v a 语言来实现双重签名,从而更好得保证了网上交易的安全。参考文献 1 彭利军电子商务中的安全技术 D 武汉:武汉理工大学。2 0 0 6:3 9 4 9(2 刘渊,周世兵,孙亚民罔上在线支付数字签名的研究与设计 J 计算机应用研究,2 0 0 3,2 0(1 1):l l o 一1 1 2 3 张卓其电子银行安全技术【M 北京:电子工业出版社,2 0 0 3:2 3 9 一”O 4 徐迎晓J 啪安全性编程宴例 M】北京:清华大学出版社,2 0 0 3:9 0 一1 2 0 5 袁凌,徐仁佐网上电子支付系统分析 J】计算机应用研究,2 0 0 l,1 8(5):5 6 5 8(编辑黄小川)
限制150内