一种离线电子货币支付的安全运行方法

文档序号:8528593阅读:1092来源:国知局
一种离线电子货币支付的安全运行方法
【技术领域】
[0001] 本发明属于网络安全技术领域,具体涉及移动电子商务中离线电子货币支付的安 全运行方法。
【背景技术】
[0002] 近年来,由于智能手机、平板电脑等移动设备的普及和3G、4G网络的发展,移动电 子商务得到了快速崛起,并呈现出爆发式的发展势头。但在网络安全威胁日益严重的今天, 移动电子商务的安全成为一个不容忽视的重要问题。由于无线网络体系结构的不安全性, 使得移动电子商务比传统电子商务存在更多的威胁。因此,如何让用户放心地使用移动设 备进行电子支付成为亟需解决的问题。目前最普遍的三种移动支付模式是信用卡,电子钱 包和手机支付。但是,这些支付方式有一个共同的特点是支付时必须得访问网络,即需要外 部的服务器来管理支付过程,这使得其应用和普及受到了限制,例如在无线蜂窝网络中,移 动设备在无信号的地方无法连接到服务器,而只能实现同一个蜂窝网络的用户可以相互通 信,对于需要服务器参与支付过程的电子支付方式就无法运行。而且,这些支付方式并不保 护用户的隐私,这使得用户在交易的过程中泄漏一些关键的个人信息,例如身份信息和位 置信息,这些信息的泄漏可能间接造成用户的身体伤害和财产的损失。因此,寻找能够模拟 现实世界的交易场景的移动电子支付方式是一项意义重大且富有挑战的工作。
[0003] 电子货币(ElectronicCash)又称为数字现金或数字货币,是现实货币在数字世 界的替代物,它既具有真实货币的便携性、无交易费用的优点,又能够在数字世界中使用, 是一种重要的电子商务支付方式,广泛地用于网络中的小额现金交易。通常情况下,电子货 币系统包括三个主体:客户、商家和银行,以及四个安全交互协议:开户协议、取款协议、支 付协议和存款协议。客户首先与银行执行开户协议建立账户。用户通过与银行运行取款协 议得到电子货币后,就与商家执行支付协议将电子货币支付给商家,商家最后与银行运行 存款协议将电子货币存入银行。1982年,Chaim提出了利用盲签名技术构造了第一个电子 货币协议,能够保护客户的隐私。但这种客户身份完全匿名的电子商务支付方式给违法犯 罪分子提供了可乘之机。后来,Stadler等人利用公平盲签名构造了条件匿名的电子货币支 付系统,使得客户的匿名性是不完全的,可以被信任的第三方撤销。1993年,Franklin等人 提出了公平的离线电子现金的概念,并利用不经意认证子构造了离线电子货币方案。2007 年,可分割的电子货币(离线电子货币)系统也在欧密会上被提出,而作为一个安全实用的 电子货币协议,匿名性、平衡性和无法脱罪性是三个基本的性质。匿名性又称为隐私性,是 指电子货币在支付过程中不会泄漏客户的支付地点、支付模式和个人信息;平衡性是指即 使客户和商家合谋也无法在银行不察觉的情况下存储大于提取数额的电子货币;无法脱罪 性是指任何不诚实的参与者在二次使用电子货币后无法逃避责任。
[0004]目前,构造实用的电子货币协议所用到的技术主要有三种:盲数字签名、认证和零 知识证明,但这些方案普遍存在以下问题:
[0005] (1)商家支配收到的电子货币的便捷性差,即商家只有先将获得的电子货币通过 与银行运行存款协议将收到的电子货币存入银行,然后再通过与银行运行取款协议,提取 重新生成的电子货币来实现支配使用;
[0006] (2)盲签名、零知识证明等技术虽然实现了客户的隐私保护,但无法保护商家的隐 私,因为单纯的使用零知识证明无法实现商家的隐私保护,即客户在向商家支付电子货币 时,可以直接获取商家的身份信息,从而导致商家的身份信息对客户和银行是公开的,而给 商家带来极大的潜在风险和威胁。
[0007] 因此有必要对现行的离线电子货币支付的运行进行改进,提升离线电子货币系统 的隐私性,实现对离线电子货币支付和收取双方的隐私保护。

【发明内容】

[0008] 本发明的发明目的在于:针对上述问题,提供一种离线电子货币支付的安全运行 方法,隐私保护的离线电子货币的实现方法,既能保护客户和商家的个人隐私,又实现了移 动电子商务中快捷安全的支付模式。
[0009] -种离线电子货币支付的安全运行方法,包括银行服务器和用户端,分别执行下 列步骤:
[0010]步骤a.银行服务器初始化系统参数:
[0011] 选择安全参数k,基于安全参数k选择大素数p,设置p阶有限域上的p阶加法循 环群61、61^,从群61中选择生成元区、8 (|、81、11、11(|、111、112从群6冲选择一个随机数记为11 1,设 置双线性对纟为从群h到群GT的映射
【主权项】
1. 一种离线电子货币支付的安全运行方法,包括银行服务器和用户端,其特征在于,包 括下列步骤: 步骤a.银行服务器初始化系统参数: 选择安全参数k,基于安全参数k选择大素数P,设置P阶有限域上的P阶加法循环群Gi、Gt,从群G冲选择生成元g、g。、gi、h、h。、Vha从群GT中选择一个随机数记为HT,设置双 线性对?S为从群Gi到群GT的映射:句X^ ,并基于生成元g和h计算两个双线性映 射值G=如別和打=飾,々),从模P的加法循环群Zp中选择随机数a、p作为私钥,并计 算得到公钥W=g%X=gP,设置两个抗碰撞哈希函数Hi和H2,其中Hi为从0和1组成的 比特序列集映射到群Gt,为从0和1组成的比特序列集映射到群ZP; 步骤b.账户建立: 步骤bl;用户端从群Zp中选择用户端主密钥U和随机数s',生成用户端的身份标识U=G"和承诺密钥C=茲各;'; 用户端运行零知识证明协议PKi生成PK1承诺值,其中零知识证明协议PK1的陈述为: 戶_^1 {〇',M):C=济'说At/ =G"},符号"-"表示逻辑与; 用户端将身份标识U、承诺密钥C和PKi承诺值发送给银行服务器; 步骤b2 ;银行服务器生成PKi挑战值并发送给用户端; 步骤b3 ;用户端生成PKi响应值并发送给银行服务器; 步骤b4 ;银行服务器验证零知识证明协议PKi是否有效,若否,则拒绝开户;否则,存储 用户端的身份标识U,并从群Zp中选择随机数S"和e,根据公式;^ (各C各0〇^"+^>计算得到 参数A,并将A、e、s"发送给用户端; 步骤b5;用户端存储账户(A,e,s,u),其中参数s=s' +S"; 步骤C.用户取款: 步骤cl;用户端从群Zp中选择随机数t'和V',生成取款承诺C二旬,7?|7<; 用户端运行零知识证明协议PK2生成PK2承诺值,其中零知识证明协议PK2的陈述为:PK雖,U:C二!ih'成aU二G')', 用户端将取款承诺C'和PK2承诺值发送给银行服务器; 步骤c2 ;银行服务器生成PK2挑战值并发送给用户端; 步骤c3 ;用户端生成PK2响应值并发送给银行服务器; 步骤c4 ;银行服务器验证零知识证明协议PK2是否有效和确认身份标识U是否为当前 用户端的身份标识,若否,则拒绝取款诺是,则从群Zp中选择随机数t"、f和V",根据公 式巧= (AC%皆计算得到参数B,并将B、f、t"、v"发送给用户端; 步骤c5;用户端存储电子货币炬,f,t,v),其中参数t=t' +t",v=v' +V"; 步骤d.付款人支付收款人电子货币: 步骤dl;收款用户端生成交易信息INFO,所述交易信息INK)包含支付金额、支付时间、 支付理由,选择随机数作为交易时间戳N,基于交易信息INK)和交易时间戳N生成交易标识 符M=巧(/WF0||AT)"'; 收款用户端运行零知识证明协议PK3生成PK3承诺值,其中零知识证明协议PK3的陈 述为;戶A"パレ!V',.sV。<'):约/^\略''') =c;(徽;V',各)AM= パ|(//VF()||八0"1.,其中账户 (A*,e*,s*,u*)中的各参数对应步骤b5中的A、e、s、u,上标用于标识账户(A*,e*,s*,u*) 的拥有用户端为收款用户端,符号"II"表示追加操作; 收款用户端将交易标识符M、交易时间戳N和PKs承诺值发送给付款用户端; 步骤d2;付款用户端生成PKs挑战值并发送给收款用户端; 步骤d3 ;收款用户端生成PKs响应值并发送给付款用户端; 步骤d4 ;付款用户端验证零知识证明协议PKs是否有效,若否,则拒绝支付;否则,计算 交易信息哈希值R=H2(INF0| |N||M)和电子货币编号S=HV; 付款用户端运行零知识证明协议SPK生成SPK承诺值,其中零知识证明协议SPK的陈 述为;5戶A'i(公,./'乂V,"):(度,义7/) = (;(/卸/?;'/与,月)八S= //' ) (/?); 付款用户端基于SPK的承诺值生成SPK挑战值,并基于所述SPK挑战值生成SPK响应 值; 付款用户端将交易信息哈希值R、电子货币编号S和SPK响应值、SPK挑战值发送给收 款用户端; 步骤d5 ;收款用户端验证零知识证明协议SPK是否有效,若否,则拒绝并终止交易;否 贝1J,存储电子货币证据(SPK,S,INFO,N,M),其中参数SPK为SPK响应值和SPK挑战值; 步骤e.用户兑换电子货币: 步骤el;用户端运行零知识证明协议PKs生成PK3承诺值,并将电子货币证据 (SPK,S,INFO,N,M)和PKs承诺值发送给银行服务器; 步骤e2;银行服务器生成PKs挑战值并发送给用户端; 步骤e3 ;用户端生成PKs响应值并发送给银行服务器; 步骤e4 ;银行服务器验证零知识证明协议PKs是否有效和基于电子货币证据中的SPK响应值、SPK挑战值验证零知识证明协议SPK是否有效,若否,则拒绝兑换;若是,则计算交 易信息哈希值R=H2(INF0| |N||M),验证交易信息哈希值R和时间戳N在本端是否已经存 在,若是,则拒绝兑换;否则执行步骤e5 ; 步骤e5 ;银行服务器提示用户端证明身份标识,并为用户端生成新的电子货币: 步骤e5-l
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1