APP下载

Brands电子现金系统的改进

2010-09-25杨茂云

通信技术 2010年7期
关键词:发送给商店硬币

杨茂云

(徐州师范大学 计算机学院,江苏 徐州 221116)

0 引言

电子现金[1-5]是一种以数据形式流通的货币。它把现金数值转换成一系列的加密序列数,通过序列数来表示现实中的货币。用户在开展电子现金业务的银行开设帐户,在帐户中存钱,提取电子现金后,就可以在接受电子现金的商家购物。电子现金是现代密码学的最重要应用之一,按支付方式分为:

① 在线电子现金(on-line):每次支付都需要银行的参加,它的通信代价很高,主要用来阻止超额消费,一般适用于高额消费;

② 离线电子现金(off-line):在支付过程中无需银行参加,它的通信代价不高,但离线电子现金有资金滥用问题,一般适用于小额消费。

Brands[1]电子现金方案是目前效率较高的匿名离线不可分电子现金系统,Brands电子现金方案的安全性基于素数阶群的表示问题(Brands假设)[1]和Schnorr签名[6]。在该方案中,电子现金的不可跟踪性得到无条件的保证,电子现金的不可伪造性和不可重用性在离散对数和一个合理的随机性假设下用随机问答器模型可以得到证明。但是Brands电子现金方案为保证电子现金的不可重用性,需要在银行保存已花费的电子现金的数据,随着系统规模的扩大,银行会成为瓶颈。

通过把电子现金的提取日期嵌入到电子现金和银行对电子现金的签名中,在不降低安全性的基础上,可以较好地解决银行的瓶颈问题。

1 Brands假设

Gq是 一 个 阶 为 素 数 的 群 , k ≥ 2,gi∈ Gq{1},gi≠gj,(i≠ j) , 若 对 任 何h∈Gq存 在ai∈ Zq,1≤i≤ k 使 得是长度为k的生成重,(a1, a2,… ak) 为h关于 (g1, g2,… ,gk)的一个表示。

Brands假设:

如果 Gq是一个阶为素数的群,(g1, g2,… ,gk)是它的一个生成重, h ∈ Gq那么求 h关于(g1, g2,… ,gk)的一个表示是一个难解问题。

2 系统设计

系统的参与方有三个:银行、用户及商家。系统的工作模式如图1所示。

图1 系统工作模式

2.1 系统建立

银行 B随机产生一个生成重(g , g1,g2)和一个秘密数x ∈,h =gx以及两个单向免碰撞哈希函数H,H0:

IDS表示商店的识别号,D/T表示交易的日期/时间。生成重,哈希函数及h公开。

银行B建立两个数据库:账号数据库(存储用户和商店的账号)、存储数据库(存储已花掉的硬币,存储时间为有效期的两倍)。β表示现金的提取时间(从某一时刻开始的天数)。银行B对 (A, B )的签名 s ig ( A, B ) 是一个四重组 (z, a , b,r )满足:

这是一个Schnorr型签名。用 ( A,B,A1, β, si g(A,B))表示一个硬币。 A , B ,A1在后面解释。

2.2 顾客开账号

顾客U向银行B证明其身份,随机产生一个数 μ1∈Z*q计算账号 I =g1μ1,发送给B并秘密保存μ1。B将U的身份信息和账号I存储于账号数据库中,同时计算发送给用户U。

2.3 提款协议

用户U向银行B证明他的身份后,执行下列协议:

③ B给U一个回答 r = ( cx + w)mo d q,并从U的账户上去掉一个硬币的值。U验证 gr= a hc,)r= b zc,若验证成立,U计算 r ′=(rμ + ν)mo d q ,=则B对 (A,B )的签名 s ig ( A,B )=(z′, a ′,b′,r′) , 只 有 用 户 U知 道 (A, B ,A1,β1,的表示。

2.4 支付协议

用户U和商店S执行下列协议:

① U将 ( A,B,A1, β1,sig ( A, B )) 发送给商店S。若硬币在有效期内,且不在数据库中则继续,否则停止;

② 如果A≠1,S计算口令d=H0(A,B,IDS,D/T)发送给U;

③ U计 算 r1= ( dμ1s +x1)mo d q ,r2=(ds + x2)mo d q, 将r1, r2发送给S。S验证 s ig ( A, B )=(z′, a ′,b′,r′) 是合法的签名且后接受硬币,否则不予接受,把支付记录 ( A,B,A1, β1, sig ( A, B ),r1, r2) 存储于数据库中。

2.5 商店存款协议

商店定时将支付记录和交易的日期时间发送给B,B验证硬币在两倍有效期内后利用商店的 IDS计算 d,验证sig ( A,B )=(z′, a ′,b′,r′) 是合法的签名且后接受该支付记录。B搜索存储数据库会出现以下两种情况:

① 若A不存在,则把(A, D /T,β1, r1,r2)存储于存储数据库中,同时在S的账户中记入一个硬币的货币值;

② 若A存在,此时有两种可能的伪造:

a. 若新提交的支付记录、日期/时间与存储数据库中的日期/时间完全一致,则表明商店S试图存储第二次。

b. 若新提交的支付记录、日期/时间与存储数据库的日期/时间不一致,则表明用户U重复花费该硬币。银行B利用 新 得 到 (r1, r2) 和 存 储 数 据 库 中 的 (r1′, r2′) 计 算即银行 B可以得到重复花费用户的账号。(r1- r1′)/(r2- r2′)是重复花费的证据。

2.6 顾客硬币更新协议

顾客可以在有效期到期前把没有花费的硬币还给银行,用户U和银行B执行下列协议:

①U将 ( A,B,A1, β1,sig ( A, B )) 发送给银行B。若硬币在有效期内则继续,否则停止;

②如果A≠1,B计算口令d=H0(A,B ,IDB,D/T )发送给U。U计算 r1= ( dμ1s +x1)mo d q ,r2=(ds + x2)mo d q将 r1,r2发送给B。B验证 s ig ( A, B )=(z′, a ′,b′,r′) 是合法的签名且后搜索存储数据库,若 A不存在,则把(A, D /T,β1, r1,r2)存储于数据库中,同时在U的账户中记入一个硬币的货币值;若A存在则不接受该硬币。

3 协议说明

② 在支付协议中,商店 S通过验证签名就可判定硬币是否有效,硬币提取日期是否有效,是否是银行核发的硬币;

③在商店存款协议中,银行B通过验证签名就可判定硬币是否有效?若用户U重复花费该硬币,银行B利用新得到(r1, r2) 和存储数据库中的 (r1′, r2′) 计算= Ad′B两者相除得到因为 s d -sd′=r2-r2′故:即银行B可以得到重复花费用户的账号。

4 方案分析

(1)匿名性

在支付协议中由于离散对数的难解性,没有人知道用户选择的秘密随机数,也就不能求得硬币的素数阶群的表示,用户的身份已经嵌入到硬币中。用户在花费该硬币时不会泄露他的身份。

(2)不可联系性

用户每提取一枚硬币都要重新选择随机数,没有办法从用户花费的不同硬币中得到有用信息。

(3)不可伪造性

用户不能重复花费硬币,商店也不能重复存储硬币,没有银行的允许用户和商店也不能制造硬币。

(4)安全性

方案的实现不依赖任何特殊的硬件。

(5)与Brands方案的比较

① 新方案中的硬币长度约为Brands方案的1.1倍;

② 新方案与Brands方案相比在提款协议中,用户U多两个模指数运算,银行多一个模指数运算,但这三个运算都可以预先处理。在支付协议中,商店S多一个模指数运算。在存款协议中银行多一个模指数运算。新方案并没有增加太多的计算负担;

③ 新方案比Brands方案大大缩小了银行存储数据库的规模,以有效期30天计,银行存储数据库只需要存储60天的数据;

④ 新方案比Brands方案大大提高了银行数据库的查找效率,以有效期 30天计,依提取硬币的日期为索引进行查找,只需查找存储数据库中数据的六十分之一;

⑤ 新方案比Brands方案增加了一个顾客硬币更新协议,这增加了用户使用的不方便性。

虽然新方案比 Brands方案在计算效率上有所降低,但降低的并不多,完全可以用硬件技术的提升来抵消。新方案有效地解决了银行存储数据库的瓶颈问题,更适合大规模的使用。

[1] BRANDS S.Untraceable Off-line Cash in Wallets with Observers[C].USA: Springer-Verlag,1994:302-318.

[2] CHEN Kai,WEI Shimin, XIAO Guozhen.A New Approach to The Divisible E-cash System[C].[s.n.]:Beijing,2000:271-274.

[3] 孟纯煜,殷新春,宋春来.基于 XTR体制的电子现金支付方案[J].通信技术,2008,41(10):83-84.

[4] CHAUM D.Blind Signatures for Untraceable Payments[C]. New York:Springer-Verlag,1983:199-203.

[5] CHAUM D,FIAT A,NAOR M.Untraceable Electronic Cash[C].New York:Springer-Verlag,1990:319-327.

[6] SCHNORR C P.Efficient Signature Generation for Smart Cards[J].Journal of Cryptology,1991,4(03):161-174.

猜你喜欢

发送给商店硬币
“剧场”商店
天边的白云商店
【微信小课堂】:如何向好友发送语音
硬币巧入盘
不翼而飞的硬币
逛玩具商店
你说我说大家说
无名火
公告
我的录梦机