APP下载

基于身份的代理盲签名在电子现金中的应用研究

2020-04-10朱小飞

山东农业工程学院学报 2020年2期
关键词:发送给代理现金

朱小飞 梁 林

(1.安徽城市管理职业学院 安徽 合肥 231635;2.安徽农业大学经济技术学院 安徽 合肥 231635)

0.引言

科技的不断发展,带动着消费观念、消费方式的不断更新。随着计算机网络使用范围的不断扩大,人们在消费时,更期望可以利用网络的便利性来进行网上交易,因而电子商务随之产生。 电子商务的不断发展更新,相应的电子商务的支付手段也越来越多样化,但电子支付始终是它发展的核心技术之一,电子现金[1]就是电子支付的一种有效方式。

在电子现金的使用过程中,为了保护用户的身份、电子现金流通过程等信息,银行能够不需要了解电子现金的流通过程,只依靠银行的某一个部门或其支行来发行所需的电子现金,而银行只是对用户的账号进行相应的管理,这些就可以通过代理盲签名[2]来实现。它即具备匿名功能也具备代理功能,被广泛地应用于电子现金系统中。

在文献[3]中介绍了一种基于身份的代理盲签名方案,本文将利用该方案建立一个安全可靠的电子现金模型。

1.电子现金的模型

电子现金系统主要涉及银行、支行、商家、用户四个实体,包含代理授权、取款、支付和存款四个安全协议过程,基本交易过程如图1.1 所示:

图1.1 电子现金系统的基本交易过程

1.1 代理授权

(1)银行产生一个授权证书,该证书主要包含:支行的身份,银行授权支行的业务权限、证书有效期等。

(2)银行用自己的私钥对授权证书签名,并将签名发送给授权支行。

(3)支行收到签名后用银行的公钥来验证所收签名的有效性。 如果有效,支行接受银行的授权代理,并计算出代理密钥,然后用代理密钥办理授权业务。

1.2 取款

用户向支行提出取款申请,并提交自己的身份信息,支行对用户的身份信息进行验证确认无误后,允许用户取款。

(1)支行首先与用户互相确认身份。

(2)用户将账户信息、取款时间、取款金额等需要用到的信息进行盲化处理,然后发送给支行。

(3)支行对用户的盲化信息再进行签名,并发送给用户,最后通知银行电子现金已发送,银行需扣除该用户账户中的相应金额。

(4)用户收到签名后再去盲,就得到真实签名,就是电子现金。

1.3 支付

(1)用户先需要将支行发送来的电子现金提供给商家。

(2)商家在收到电子现金后需要先使用支行的公钥来验证电子现金的合法性,如果通过验证说明该电子现金是银行授权支行发放的,是有效的,否则就无效。 然后再把这有效的电子现金发送给支行。

(3)支行收到后先将该电子现金输入已有的电子现金数据库,检验该电子现金是否被消费过,如果没有消费过,该电子现金就是合法有效的,如果已经消费过了,则该电子现金无效。然后支行再将该电子现金的检验结果发送给商家。

(4)如果电子现金合法,交易成功,商家将商品发给用户。否则,交易无效。

1.4 存款

(1)商家将合法有效的电子现金和账户信息发送给支行。

(2)支行收到该合法的电子现金后,验证商家身份。在商家身份通过验证后,支行再通知银行在商家账户中添加相应的金额。

2.本文电子现金模型描述

2.1 系统初始化

设 G1为循环加法群,G2为循环乘法群,G1,G2的阶均为素数 q。

选择 P∈G1,作为 G1的生成元,e:G1×G1→G2为一个双线性映射。定义密码学上3 个Hash 函数。

银行、支行、用户和商家这四个参与者分别用B、P、U、C 表示,各参与者的身份用IDi(i=B,P,U,C)表示。先将参与者的身份信息发送给可信方,可信方计算他们的公钥/密钥对,分别为PKi=H1(IDi),SKi=tPKi(i=B,P,U,C)。 然后,将这些信息安全地发送给参与者。

2.2 代理授权

(1)银行B 先创建一个授权证书W,证书中应包括支行的身份、授权给支行办理业务的权限、证书的有效期等内容。

并将(W,SB,RB)发送给支行P。

(3)支行P 在收到签名(W,SB,RB)后,需要使用银行B 的公钥来验证此签名的有效性,即验证:

是否成立;如果成立,说明银行B 的授权代理成功,支行P 计算得到自己的代理盲签名密钥:

否则授权代理不成功。

2.3 取款协议

用户U 需要先向支行P 提出取款申请,并提交自己的取款信息m,信息m 包含用户的账户信息、取款金额、取款时间等。 支行P 与用户U 验证身份后就可以向用户U 发放电子现金。具体取款过程如下:

(1)支行 P 任意选择 P1∈G1,计算:

将(K,W,RB,vP)发送给用户U。

(2)用户U 先用支行公钥验证支行P 的身份,即验证:

若成立,说明支行P 确实是银行U 授权的支行。 否则,中止协议。

将(c,vU)发送给支行P。

(3)支行P 先用用户U 公钥验证用户身份,即验证:

若成立,则说明该用户U 确实是申请取款的用户。 否则,中止协议。

然后,支行P 计算S=cSP+P1,将S 发送给用户U,并通知银行B电子现金已发送,银行则需要在用户U 的账户中扣除相应的金额。

(4)用户 U 计算 S'=S+P2,c'=c-b,则是用户 U提取的电子现金。

2.4 支付协议

用户U 在获得电子现金后就可以购买商家C 的商品, 但在使用时,商家C 仍需先验证用户U 所给电子现金的有效性。

(2)商家C 需先对该电子现金进行验证:

如果可以验证通过,则说明该电子现金确实是由银行B 的下属支行P 受其委托所签发的,从而证明了它的合法性,然后商家再将该电子现金发送给支行P。 否则说明该电子现金不合法,不能使用。

(3)支行P 对收到的电子现金也要根据已有的电子现金数据库进行检索,验证该电子现金是否被消费过,如果未被消费过,则该电子现金是有效的。 否则该电子现金无效。

(4)如果电子现金是有效的,交易成功,商家C 将商品发给用户U。 如果该电子现金无效,交易中止。

(5)存款协议。

完成上述交易后,商家C 要将收到的电子现金存入自己的银行账户。 具体过程如下:

然后将账户的盲化信息(RC,SC)、电子现金发送给支行P。

2)支行P 对电子现金数据库进行检索,核对此电子现金是否被存储过。 若未被存储则该电子现金是合法的,否则,中止协议。

然后验证:

是否成立,即验证商家C 的身份。 若成立,通知银行B 在商家C账户上存入相应金额。 否则,中止协议。

3.本文电子现金模型的特征

本文是基于身份的代理盲签名方案来构建的电子现金模型的,它具有以下特征:

(1)银行在电子现金的流通过程中,只能确定谁的银行账户取走了钱,取了多少钱,谁的银行账户存钱了,存了多少钱,但不能确定电子现金的具体消费过程。

(2)支行在银行的授权下,负责向用户发放电子现金,但不知道发给谁了,发了多少金额;负责验证电子现金是否有效,包括是否是本支行发的、是否在有效期内、是否消费过。 在这个过程中,支行也不知道电子现金的具体消费过程。

(3)支行在电子现金的整个流通过程中代理是必须的,否则银行就能够掌握电子现金的消费过程。

(4)支行在电子现金的整个流通过程中匿名是必须的,否则支行就能够确定电子现金发放给谁,如何消费的。

电子现金与其他电子支付手段明显的区别是: 在整个流通过程中,银行只能确定用户消费了,但无法确定消费过程。这样就能有效地保护用户的消费信息。

4.总结

本文针对一个基于身份的代理盲签名方案,构建了一个新电子现金模型。 该电子现金模型具备纸币流通过程的基本特征,即银行发放和回收电子现金,但无法知道电子现金的流通环节。 即在电子现金的整个流通过程中,银行只能确定用户消费了,但无法确定其消费过程。

猜你喜欢

发送给代理现金
强化现金预算 提高资金效益
【微信小课堂】:如何向好友发送语音
代理圣诞老人
“刷新闻赚现金”App的收割之路
只“普”不“惠”的现金贷
你说我说大家说
公告
我的录梦机
108名特困生有了“代理妈妈”
胜似妈妈的代理家长