密码学在电子支付中的应用电子现金.docx
- 文档编号:28931138
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:19
- 大小:144.09KB
密码学在电子支付中的应用电子现金.docx
《密码学在电子支付中的应用电子现金.docx》由会员分享,可在线阅读,更多相关《密码学在电子支付中的应用电子现金.docx(19页珍藏版)》请在冰豆网上搜索。
密码学在电子支付中的应用电子现金
《密码与信息安全》
课程设计报告书
安徽工业大学数理学院
姓名
专业
班级
学号
指导教师
2014年6月15日
密码学在电子支付中的应用——电子现金
摘要:
随着计算机、网络和信息技术的快速发展,基于Internet的电子商务给传统的商务活动注入了新的活力。
商家与商家之间(BusinesstoBusiness)、商家与消费者之间(BusinesstoConsumer)在开放的Internet上,通过电子手段实现的商务活就叫电子商务[1]。
电子商务的最终目标是实现贸易活动各环节的电子化,达到网上物流、货币流和信息流的统一。
中国的电子商务从1998年下半年开始发展,电子商务逐步成为研究和应用的热点。
目前,电子商务尽管在我国己取得了部分成功的应用,但总体上仍处于起步阶段。
在电子商务中,客户通过互联网络进行电子支付,从而得到信息产品或得到递送实物产品的承诺,因此电子支付是电子商务活动中最为核心和关键的环节,是交易双方实现各自交易目的的重要一步。
第一章绪论
1.1论文选题背景及意义
1.1.1电子货币
电子货币是现代密码学重要应用之一,它将现代密码学同电子计算机技术、现代通信技术等结合在一起,在理论上有严密的数学保证,传输和交换中有严格的技术保证,可以通过网络或其它介质传送,具有离线支付等一系列性质。
当前电子货币主要有四类:
储值卡、电子信用卡(借记卡)、电子支票和电子现金。
其中前三种支付形式并不理想,有或多或少的缺陷[2]。
因此本文主要讨论密码学技术在电子现金中的应用。
电子现金(electroniccash)又被称为数字现金(digitalcash),是电子现金公司(银行)发行并承诺其价值、可以识别其面值和验证其真伪但不可伪造的一串加密数据。
电子现金是纸币的电子等价物,理论上可以实现纸币的所有功能,例如保护用户的消费隐私,防止拒绝支付和交易成本低等诸多优点,因而广受关注,成为电子支付研究的热点。
目前,世界上许多国家都在开展电子现金系统的研究和开发:
如由荷兰阿姆斯特丹DigiCash公司开发的E-Cash系统是一例。
然而这些系统未能使电子现金达到理想状态,也没有在电子商务领域得到广泛的使用。
在我国,现阶段主要的支付方式还基本上是借记卡支付的方式,虽然有些基于卡的电子支付方式(如各类电话卡)已经被广泛使用,但是在流通中还没有真正意义上的电子现金的出现。
电子商务的迅猛发展提出了研究一种先进的实用的电子现金系统的要求。
1.1.2电子货币的研究意义与目的
从理论上说,目前,电子货币还处于实验阶段。
尽管在各国都有不同的电子现金实验系统,但由于安全性和效率等方面的原因,真正实用的大规模的电子现金系统尚不多见,在电子现金系统中尚存在大量的研究课题。
尤其是我国对电子现金领域的研究缺少关注,在这种条件下,有必要开展电子现金的研究,填补国内空白,为电子商务的发展创造条件。
从实际应用上看,电子现金是一种极具优势的支付工具。
电子现金的优越性体现在纵横两个方面:
首先,从纵向看,电子现金比纸币优越,是纸币的未来替代形式。
同纸币相比,电子现金有更好的防伪性,可以实现远程网上即时支付,不用找补,不用制造、存储、运输也不会传播疾病[3]。
其次,从横向看,电子现金比其它电子支付手段优越,必将成为日常电子支付的首选工具。
同现在居于主流地位的信用卡支付系统相比,电子现金的优越性体现在:
不用通过专用银行网络验证信用卡的真实性,因而交易成本更低;可以用于支付出租车费等离线环境;可以保护消费者的隐私;不在网上传送密码,因而更为安全。
现有的电子现金方案大多数都是由一个银行发行的,但多个电子银行系统发行的电子现金较之单个银行发行的电子现金在现实生活中是更加合适的,因为在一个国家或地区具有电子现金发行能力的银行可能不止一家。
这多个银行形成一个群体,它们受国家的中央银行管理,每个银行都可以发行电子现金。
因此,研究多银行的电子现金系统具有更大的实用性。
总之,电子现金在是比较理想的支付方式。
利用电子现金,可以方便日常购物和消费,可以极大地提高电子商务的即时支付能力、降低交易成本,为电子商务的高速发展开辟广阔前景。
我国电子商务的应用才刚刚开始,迫切需要研究电子商务资金流中的电子现金,为电子商务提供安全的、及时的、保密的、灵活的和国际化的通用支付手段,促进电子商务在我国的发展。
1.2国内外研究现状
电子现金的潜在应用前景引起了人们极大的关注。
但是,与传统货币不同的是,电子现金的所有性质的实现都基于特定的密码技术。
然而,由于现有密码系统的多样性,即使在同一密码系统中,也有不同的假设。
例如,有的系统利用RSA密码体制来保证安全性,有的系统则利用离散对数假设来保证匿名的可撤销性,因此,迄今为止,对电子支付系统的研究主要集中在一个简化电子支付系统的模型上,即匿名离线的电子支付系统,或者是对该模型的某个性质上的扩展。
1.2.1匿名离线的电子现金系统
匿名离线的的电子支付系统模型(即简化的电子支付系统模型)的交易过程如图1.2.1所示,该模型由三个具有概率多项式计算能力的实体组成:
银行B(Bank)﹑顾客U(User)和商家S(Shop)。
其中银行是电子现金的管理者,对电子现金进行安全监视;顾客是电子现金的消费者;商家是接受电子现金的实体。
银行
取款存款
顾客商家
支付
图1.2.1简化的电子支付系统模型
电子现金的交易包括四个过程:
开户(AccountEstablishment)﹑取款(Withdrawal)﹑支付(Payment)和存款(Deposit)。
在一个电子现金的生命周期中,U首先执行开户协议在B建立账户;并执行取款协议,从B处获得一张电子现金;在购物时,U和S共同执行支付协议,花费电子现金;而S和B执行存款协议,将电子现金存入B。
如果银行B和商家S合作也无法跟踪到顾客U的信息,则这个电子现金系统就是匿名的。
匿名电子现金方案最早由Chaum﹑Fiat﹑和Naor提出,其安全性基于一些随机性假设而且没有给出证明。
Chaum-Fiat-Naor方案给出如何构造电子现金系统的思想,为以后的研究奠定了基础。
取款和支付协议中的零知识证明采用分割选择(cut-and-Choose)技术,因此,系统的通信﹑计算和存储开销较大;Okamoto和Ohta引入了开户协议改进上述方案,他们将取款协议中最复杂的部分,改为只在开户时进行(同样采用分割选择技术),使系统的效率有所提高;Damgard利用两方密码协议和零知识证明构造了一个安全性可证明的在线电子支付系统。
Pfizmann和Waidner指出并改正了系统中的一些小错误,在假定存在陷门单向置换函数的前提下,给出了构造安全性可证明的离线电子支付系统的方法。
他们为构造安全性可证明的电子现金系统奠定了基础;Franklin和Yung将系统的安全性和分割选择协议的有效性结合起来,提出了基于离散对数问题和可信第三方的离线电子现金系统;Ferguson提出了一个单向电子现金方案,他巧妙地将RSA签名用于电子现金的盲验证中。
然而,该方案的安全性没有得到证明,并且效率也不理想;Brands系统是到目前为止比较有效的系统,它的安全性基于Schnorr签名和素数阶群的表示问题(等价于离散对数问题)。
在该方案中,电子现金的匿名性得到无条件的保证,其不可伪造性和不可重用性在离散对数问题和一个合理的随机
数假设以及单向散列函数的安全性下可以证明。
1.2.2公平的匿名离线电子现金系统
可信机构
所有者跟踪货币跟踪
银行
取款存款
顾客商家
支付
图1.2.2公平的匿名离线电子现金系统模型
完全匿名的电子支付系统可能为犯罪分子提供了可乘之机,例如洗钱和匿名勒索。
未来的电子支付系统应该具有不完全匿名性或条件匿名性,将这样的电子支付系统称为“公平的电子支付系统(FairElectronicPaymentSystem)”,因为它在保证合法用户的匿名性和撤销非法用户的匿名性之间取得了“平衡”。
公平的匿名离线电子现金系统模型如图1.2.2所示。
它在简化模型的基础上,引入了一个可信机构,顾客完全相信:
可信机构只会在绝对必要时才撤销电子现金的匿名性。
模型中增加了两个跟踪协议:
●货币跟踪(或基于取款信息的跟踪):
根据银行在取款过程中获取的信息,可信机构可以协助银行计算出所提取的电子现金,一旦现金被存储,很容易识别出来。
●所有者跟踪(或基于支付/存款信息的跟踪):
根据银行在存款过程中获取的信息,可信机构可以协助银行计算出电子现金取款人的账号,进而确定其真实身份。
1.2.3匿名离线可分的电子现金系统
Okamoto和Ohta于1991年首次提出了一个可分的匿名离线电子支付系统,在该系统中,用户可以将电子现金分成任意金额进行支付,直到总数达到该电子现金的总额为止。
可分的匿名离线可分的电子现金系统模型和简化电子支付模型基本相同。
该系统的主要实现技术是Okamoto和Ohta提出的二叉树方法。
1.2.4多银行发行的匿名离线电子支付系统
StefanBrands在中阐述了多银行实现思想(如图1.2.3):
每个银行使用不同的签名机制,例如利用自己私钥签名,独立发行电子现金代用券。
如果系统内银行数量很少,则所有银行对应的公钥表可以存放在每个用户的本地数据库中;银行数量较多时,可以使用公钥证书技术。
这样,每个商店都可以检验所有银行发行的电子现金代用券的有效性。
为了解决多银行之间的资金结算,需要一个结算中心,结算中心的设计可以照搬现实生活中的交易体制。
结算中心
资金结算
银行银行
取款存款
顾客支付商家
图1.2.3多银行发行的匿名离线电子支付系统模型
1998年,Lysyanskaya和Ramzan基于综合盲签名和群签名,提出了群盲签名的概念,并给出将电子支付系统扩展为安全的分布式电子银行系统的思想。
1999年,Ramzan更详细地阐述了这一思想:
所有银行构成银行群,群权威为总行。
若顾客希望从银行取款,他首先生成一个随机串,银行在随机串上应用群盲签名,得到电子现金,从顾客账户上扣款;顾客可以将电子现金支付给商店,后者利用群公钥校验电子现金上的银行签名。
若验证通过,商店接受电子现金,并在适当时候存储到银行中。
商店所在银行也校验电子现金的有效性,并利用全局已花多银行电子现金支付方案的研究与设计费的电子现金数据库,象单银行那样检查是否出现双重支付,“事后”发现双重支付者。
Lysyanskaya和Ramzan并没有实现这一思想。
2004年国内学者首次利用代理签名技术构造了一个多银行电子现金方案,每个发币银行必须接受来自中央银行和可信第三方的共同委托才能代表整个群签发有效的电子现金,即利用代理签名技术构造发币委托协议,实现中央银行与发币银行的签发电子现金能力的转移。
但是,该方案无法克服中央银行与可信第三方合伙冒充发币银行签发电子现金;而且,该方案是在线的,虽然能有效防止重复花费,但是对于小额支付来说,效率太低,成本太高。
第二章电子现金支付方案的概述
2.1电子支付系统概述
电子支付(e-Payment)指电子交易的当事人,包括消费者、厂商和机构,通过电子信息化手段实现交易中货币支付或资金流转的过程。
电子支付的特点有:
(1)电子支付是采用先进的技术通过数字流转来完成信息传输的,其各种方式都是采用数字化的方式进行款项支付的;而传统的支付方式则是通过现金的流转、票据的转让及银行的汇兑等物理实体的流转来完成款项支付的。
(2)电子支付的工作环境是基于一个开放的系统平台(即Internet);而传统支付则是在较为封闭的系统中动作。
(3)电子支付使用的是最先进的通信手段,如Internet、Intranet;而传统支付使用的是传统的通信媒介。
电子支付对软硬件设施的要求很高,一般要求有联网的微机、相关的软件及其他一些配套设施;而传统支付则没有这么高的要求。
(4)电子支付具有方便、快捷、高效、经济的优势。
用户只要拥有上网的PC机,便可以足不出户,在很短的时间内完成整个支付过程,支付费用仅相当于传统支付的几千分之一。
银行采用计算机等技术进行电子支付经历了五个发展阶段:
第一阶段是银行利用计算机处理银行之间的业务,办理结算。
第二阶段是银行计算机与其他机构计算机之间资金结算,如代发工资等业务。
第三阶段是利用网络终端向客户提供各项银行服务,如客户在自动柜员机(ATM)上进行取、存款操作等。
第四阶段是利用银行销售点终端(POS)向客户提供自动的取款服务,这是现阶段电子支付的主要方式。
第五阶段是电子商务新发展的阶段,电子支付可以随时随地通过互联网络进行转账结算,形成电子商务环境。
这一阶段又称为电子商务支付或网络支付。
因此,一般意义上的电子支付指前四个阶段,而在电子商务条件下的电子支付是单指网络支付,本论文中的电子支付就是指这种网络支付。
为了保证电子交易的顺利进行,我们必须提供安全﹑高效﹑保密的电子支付系统.正如基于Internet的电子商务一样,电子支付系统也尚处于不成熟阶段,现今支付系统发展速度不够快的主要原因是:
(1)有限的支付机制;
(2)交易成本高;(3)存在各种欺骗行为;(4)隐私缺乏保障;(5)封闭的体系结构互不兼容。
当今的电子支付手段主要包括三种:
信用卡、电子支票、电子现金。
一信用卡(Creditcard)
现在很多国家的商业机构都提供信用卡支付系统服务,下面以CyberCash支付系统为例介绍信用卡的支付过程。
CyberCashInc.从1994年起为Internet上的金融交易提供软件和服务,也是当今世界上唯一一个提供多重支付服务的公司。
CyberCash的支付网关一头连着Internet,一头连着众多的银行和银行信用卡处理系统。
信用卡
交易涉及两个主要方面:
一是商家请求收付信用卡的授权,二是通过CyberCash向银行进行结算,将相应资金从顾客户头转化为商家户头。
授权过程中商家提出授权请求,最终还是要到发卡行(机构),对信用卡进行认证,最后商家返回认证结果。
结算有两种——“终端结算”和“主机结算”,它们的不同在于交易的存放地点不同(是在商家端还是在接收款项金融机构或交易处理的第三服务方)。
顾客可以通过基于SSL浏览器或者CyberCash钱包在商家网站激活一次交易过程,商家再将货品﹑价格﹑交易号等信息传送给顾客;顾客核对信息后进行确认;商家取出有关订货信息后,将信用卡支付信息传送给CyberCashServer;CyberCashServer将支付信息进行格式转换后,通过银行专线网传送给商家银行;商家银行将授权请求发送到发卡行,由发卡行将处理结果传给CyberCashServer;CyberCashServer向商家反馈清算结果,再由商家将结果反馈给顾客。
二电子支票(ElectronicCheck)
电子支票是一种纸质支票的替代品。
将支票改变为带有数字签名的电子报文,或利用其它数字电文代替传统支票的全部信息,就是电子支票。
它使用数字证书来验证付款者、付款银行和银行账号,其安全认证工作是由公开密钥算法的数字签名来完成的。
金融机构使用签过名和认证过的电子支票进行账户存储。
电子支票付款步骤如下:
图2.1电子支票交易模型
(1)买方用自己的私有密钥在电子支票上进行数字签名;
(2)使用卖方的公钥加密电子支票;
(3)使用e-mail或其它方式向卖方支付;
(4)只有卖方可以收到用卖方公钥加密的电子支票;
(5)用买方的公钥确认买方的数字签名;
(6)向银行进一步确认电子支票;
(7)卖方发货给买方;
现应用中的电子支票系统主要有NetCheque、NetChex和NetBill等。
电子支票的弱点是可追踪性,因为交易的办理必须通过银行,银行系统必须对其办理的每一桩交易的细节做详细备案,所以电子支票无法保证用户的匿名性。
三电子现金(Electroniccash)
电子现金是以数字化形式存在的现金货币,没有明确的物理形式。
它把现金数值转化为一系列的加密序列数,通过这些序列数来表示现实中各种金额的币值用户在开展电子现金业务的银行开设账户并在账户存钱后,就可以在接受电子现金的商家购物。
电子现金是纸币的数字实现,因此它应该具有与纸币类似的功能。
一个理想的电子现金应该具有以下性质:
1.独立性(Independence):
电子现金的安全性不能只靠物理上的安全性来保证,必须通过电子现金自身使用的各项密码技术来保证它的安全;
2.安全性(Security):
由于无法控制电子信息的拷贝,必须采用一定的技术来防止电子现金的拷贝、重用和伪造;
3.私有性(Privacy):
即不可追踪性(Untraceability),也就无法将电子现金的用户和他的购买行为联系到一起,从而能够隐蔽电子现金用户的购买历史;
4.离线支付(Off-line):
当用户在向商家支付电子现金时,无需银行参与,也就是说商家不必与一台主机相连,以处理用户的付款;
5.可转移性(Transferability):
电子现金可以在用户之间任意转让;
6.可分性(Divisibility):
电子现金不仅能作为整体使用,还应能被分成更小的部分多次使用,只要各部分的面额之和与原电子现金面额相等。
电子现金的优点
电子商务的各方从自己的利益出发,对电子支付有不同要求:
客户要求电子支付手段使用方便,存储安全且具有匿名性;商家则要求电子支付手段具有可认证性,且能兑换成真实的货币;银行则要求电子支付手段只能用一次且不能被非法使用和伪造。
在这多方的较量中,电子现金以其独特的匿名性特点,离线支付的性能,交易费用的低廉而成为首选。
电子现金不同于信用卡、电子支票等,它具有现金的基本特点而且与计算机网络的方便性、安全性和私密性结合在一起,现将其优点概括如下:
(1)匿名性。
消费者及其消费行为之间的对应关系不应被追踪。
(2)离线性。
可以用于支付出租车费等不能联网环境。
(3)交易成本低。
为了货币的流通,普通银行需要设置许多分支机构、职员、自动付款机以及各种交易系统,这就增加了银行资金的负担,而电子现金是利用已有的Internet网络和用户的计算机,所以消耗比较小,用于小额交易尤其合算。
与使用信用卡进行网上交易相比,电子现金的交易成本也要低得多。
(4)支付灵活。
电子现金使用的范围比信用卡和电子支票广,信用卡支付仅限于被授权的商店,而电子现金却没有这些限制。
另外就是电子现金比信用卡和电子支票在小额的电子支付中更为灵活方便。
第三章多银行电子现金方案中的密码技术
3.1.1算法的复杂度
定义3.1.1问题的算法是由有限个指令的序列组成,其中每条指令都有明确的每条指令的执行包含着有限的工作量,指令序列的执行会在有限时间内停止下给出对问题实例的解答。
定义3.1.2算法A的时间复杂度用T(k)定义为:
T(k)=max{t∣存在实例x,且︱x︱=k,算法A对实例x运行所需的时间为其中x,︱x︱分别表示问题实例和实例的大小。
由定义可知,算法A的时间复杂度T(k)就是算法A对大小为k的所有实例所需时间的最大值(即大小为k的实例在最坏情况下所需的时间)。
算法复杂度一个很复杂的表达式,为了表示算法复杂度随k而增长的速率,常用“大O”算法复杂度的数量级,为此引进如下定义:
定义3.1.3两个定义在自然数集上的非负函数T(k)和f(k),如果存在正数C整数k,使得:
T(k)≤Cf(k).(k≥K)则称T(k)的阶小于或等于f(k)的阶T(k)=O(f(k)).通常按时间(或空间)复杂性对算法进行分类,多项式时间算法是指时间复O(kc)的算法,其中c为常数,若c=0,就称它为常量的;若c=1就称它为线c=2则称它为二次的等等。
指数时间算法是指时间复杂度为O(cp(k))的算法,多银行电子现金支付方案的研究与设计25大于常数而低于线性函数时,诸如时间复杂度为2log(k)Ok,O(eklnk)称为超多间算法。
这里k表示输入数据的长度。
如果某任务可以由一个概率多项式图灵则称之为可有效执行的,否则,称之为计算上不可行的(或困难的)。
定义3.1.4称一个函数w:
N→R是可忽略的,如果对每一个常数c>0都存整数ck,使得对所有的ck>k,有w(k) c;称该函数是不可忽略的,如果存c>0,对所有足够大的k,有w(k)>k? c. 3.1.2离散对数和离散对数假设 设G是一个有限循环群,其生成元为g,对某个元素a∈G的离散对数,记作是指唯一的整数x,0≤x 在实用中,我们常用*pZ中的q阶其中p=qk+1,p和q都是素数,k是整数,*qpG是由阶为q的元素g∈Z生成的样的具体定义中,对qh∈G,找到相应的loggqh∈Z,就称为离散对数问题。 离散对数假设: 对任意的qh∈G,任何概率多项式时间算法成功计算loggh概率都是可以忽略的。 3.1.3哈希(hash)函数 密码学上的hash函数是一种将任意长度的消息压缩到某一固定长度的消息函数,hash函数主要用于数字签名﹑消息完整性检测﹑消息源认证等,从理安全的hash函数的存在性依赖于单向函数的存在性。 根据hash函数的安全水平,hash函数可以分为两大类: 强无碰撞的ha(Strongcollision-freehashfunction)和弱无碰撞的hash函数(collision-freehashfunction),一个强无碰撞的hash函数H满足如下条件 1)H的输入可以是任意长度的任何消息或文件m; 2)H的输出长度是固定的(该长度必须足够长以抵抗所谓的生日攻击,根据计算能力,至少应为128比特长); 3)给定H和m,计算H(m)是容易的; 4)给定H的描述,找两个不同的消息m和m,使得H(m)=H(m)在计算多银行电子现金支付方案中的密码技术行的。 强无碰撞的hash函数比弱无碰撞的hash函数的安全性强,弱无碰撞函数随着重复使用的次数增多,安全性逐渐降低,而强无碰撞的hash函数不 重复使用而降低安全性。 3.1.4数字签名 数字签名技术是公钥加密技术和hash函数相结合的产物,是一种重要的计全技术,其目的是为了保护信息的完整性和真实性。 定义3.1.5一个数字签名方案是一个算法三元组(G,S,V): —G是一个概率多项式时间的密钥产生(Keygeneration)算法,输入安全参输出一个公私钥对(pk,sk);—S是一个概率多项式时间的签名(Signing)算法,输入私钥sk和待签名的输出对该消息的数字签名σ(m);—V是一个概率多项式时间的签名验证算法(Verification),输入公钥pk和以及假定的签名σ(m),输出接受或拒绝(accept/reject).数字签名也可分为无条件安全的数字签名和计算上安全的数字签名。 所算上安全的数字签名是指伪造者伪造签名者的数字签名在计算上是不可行的Chaum和Rojiakkers在文[13]提出了第一个无条件安全的数字签名方案,由要复杂的密钥生成协议,并且产生的签名太长,使得这种数字签名方案不适际应用。 3.1.5椭圆曲线的基础知识 (一)椭圆曲线的基本概念 椭圆曲线的研究来源于椭圆积分: ∫E(x)dx E(x)是x的三次多项式或四次多项式。 椭圆曲线定义的方法有很多种,但是最的是维尔斯特拉斯(Weierstrass)方程所确定的平面曲线y+axy+ay=x+ax+ax+a 若F是一个域,且a∈F,i=1,2,......,6。 满足上式的数偶(x,y)称F域的椭圆多银行电子现金支付方案的研究与设计上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 电子 支付 中的 应用 现金