一种基于云平台、虚拟se的电子货币安全支付系统和方法

文档序号:6379917阅读:215来源:国知局

专利名称::一种基于云平台、虚拟se的电子货币安全支付系统和方法
技术领域
:本发明涉及计算机、通信领域,尤其涉及电子支付领域。
背景技术
:1.背景在电子货币运用的早期,曾出现过将用户所持用的金额保存于DB服务器的支付方法。这种方法基于识别用户的ID,如条形码识别方法、廉价版的RF-1D支付方法和磁条卡型拉卡支付方法,但是这种方法存在着以下问题1.只能局限在某一范围使用,2.1D容易被伪造,ID通过POS的时候会被POS截取,无法防止POS端的非法copy等恶意行为,3.服务器端的运营者拥有对数据库的所有权限,从而阻碍了不同商家的联合。目前,广泛使用的NFC标准的IC卡,采用在非接触IC智能卡上保存电子货币的金额。IC智能卡基本解决了上述方法的问题。然而这种方法普及,使得用户不得不携带相当数量的卡片,而IC卡的数量也给电子货币运营商带来了成本压力。GoogleWalletTM推出了基于智能电话的电子货币解决方案,其使用NFC为非接触通信手段,SE作为安全控制手段实现了在网下的电子支付。其中NFC为近场通信(NearFieldCommunication),由NFCForum提供统一标准。SE为安全元件(SecureElement),有GlobalPlatform等组织提供统.一标准。在这种平台下,用户的多张IC卡可以被集中到一台携带端末上。由于上述方法采用的SE,能够满足电子货币的支付所需要的安全性的要求,因此被认为是成为网上和网下支付(online/Offlinepayment)的最完善解决方案。2.课题然而上述解决方法,所使用的SE对于移动电话支付具有以下问题1.SE的标准难以统一作为SE的标准化组织GlobalPlatform,在金融业中的支付领域有很强的影响力,然而对于半导体芯片公司约束力不大,许多垄断型企业,如NXP,SonyFelica率先推出,NFC芯片和SE芯片,如SonyFelica的NFC芯片,其中包括SAM模块,封闭式地完成了所有功能;NXP、Gemalto公司的MIFAREDESFireSM,在UICC,一种集约了SE功能的SIM卡中,提供了NFC功能。这些方案比GP标准更加创新,对市场更具有实际的竞争力。2.手机厂商难以统一各国手机厂商针对市场的需求,各自开发适合各种目的手机,采用各种芯片,因此是否采用特定的SE,以及所采用的SE硬件标准在今后很难在短时间内达成统一,如SIM厂商生产的SM,虽然有GolbalPlatform提供标准,但是标准版本之间存在差异,甚至还有许多不符合标准的SM产品也在市场活跃。3.没有统一的访问方法由于SE的安全特征,richOS,如Android,iOS,Windows,Linux都无法直接管理,也不可能提供统一的API,因此必须采用底层的APDU指令来操作。(I)虽然APDU指令由IS0/IEC7816-4标准化,然而各不同芯片公司所提供的APDU指令仍具有微妙的差异。(2)一些业余爱好者尝试提供一种统一的API,并提出了延EE项目,但是前提是获得Android的root权限,这对于普通用户是困难的操作,而该API仍旧受到硬件的制约,无法兼容所有的硬件。上述问题,使得系统提供商在提供电子货币整体解决方案的时候,由于SE的问题,只能提供局部解决方法,而无法覆盖所有包括携带电话的用户手持装置的所有机种,无法完成货币运营商最期望的结果——覆盖所有机种。3.发明目标基于以上问题,本发明提出基于云平台的虚拟SE(CloudcomputingbasedvirtualSecureElement),以完成以下目标1.提供共同的标准SE访问手段;2.使得电子货币提供商可以覆盖所有机种,其中包括不具备SE的端末;3.比较于服务器型电子货币,电子货币的控制权在最终用户,而不是服务器的拥有者(通常是某个特定的电子货币提供商),最终用户可以对自己的电子货币自由使用,从而使得服务能够容易地扩展到各不同的商家;4.虚拟SE(virtualSecureElement以下简称VSE)在逻辑上和硬件SE—样,和硬件SE具有同样的安全性;5.由于该方法避免了SIM(目前最好的SE方式)的约束,即使采用携带电话作为电子钱包的媒体,也不需受到电信运营商的制约。4.现有研究GP组织提议了TEE(TrustedExecutiveEnvironment),即在智能携带电话中,部署一个区别于其他应用程序系统的运行环境,该环境原理是将类似一种VirtualOS的环境部署于携带电话中的共有内存中,而且该环境是独立于AEE(ApplicationExecutiveEnvironment)用于一般程序运行环境。US20120124394A1在上述提议的基础上公开了一个基于携带装置的虚拟SE的方法(Systemandmethodforprovidingavirtualsecureelementonaportablecommunicationdevice)。不同于上述方法,为避免在手持装置获得root权限的恶意用户的操作所带来的安全性问题,本发明不在端末上部署假想SE,而在服务器上部署。为提高SE的容量和扩展性,本发明采用云计算平台,在实现方式中,和端末上的假想SE不同,需要使用网络通信,以及与此相应的安全措施。
发明内容在云计算平台的服务器中,部署虚拟SE的环境,通过APDUoverHTTP协议,完成POS和位于服务器的虚拟SE的指令通信。由于虚拟SE不在用户手持装置上,因此需要通过网络和云平台交互信息,在本发明中采用两种交互方法,一种为手持装置主导通信,一种为POS端主导通信。手持装置主导通信的缺点是手持装置必须要连接网络,因此POS端的通信对用户来说更具有先进性;然而采用POS端通信的话,必须解决重要信息的透过性(transparency),保证重要信息(personalizedinfo)不被POS截取而泄露或恶用。本发明的进步性在于1.电子货币运营商,可以将服务提供于所有用户,不再需要考虑特定的机种和硬件条件。2.和硬件SE同等以上的安全性。3.和基于SM为SE的电子货币相比,在安装程序时,无需事先和电信运营商签订特殊合同。4.和GoogleWallet等方式相比,虚拟SE的所有权,归最终用户,用户可以自由选择各种电子货币运营商。5.不同电子货币运营商之间,可以更加容易地互相提携。图1系统概要图,图2用户手持装置构造图图3POS装置构造图图4VSE的结构图图5-1处理流程图(P0S主导通信)图5-2处理流程图(用户装置主导通信)图6用户手持装置程序构成和处理方法图7数据传送处理流程图图8云平台-VSE结构图图9SE文件结构图10程序结构具体实施方式1.结构本发明结构如下所述图1系统概要图,本发明由下列主要单元构成1.用户手持装置(I);2.P0S/ATM装置(2),由于ATM的处理方法和POS相同,说明以POS为例;3.部署于云平台(3)的虚拟SE(30),以下简称为VSE(VirtualSecureElement);其中用户手持装置(I)和P0S/ATM装置(2)通过NFC通信方式(4),交换数据;P0S/ATM装置(2)和VSE(30),通过TCP/IP网络(5)交换数据。可优选地,用户手持装置(I)可以通过3G/LTE/Wifi等方式连接网络,查询自己的VSE。各单元的相互作用在后续章节中详细叙述。图2用户手持装置构造图在用户手持装置(I),由以下单元构成1.CPU,内存,可优选地网络连接单元(11),等标准硬件部件;2.NFC单元(12),包括NFC芯片,和NFC天线,其中NFC芯片中集成NFCController,(NFC单元为NFCForum标准定义);3.OS(13),为标准的系统,如android,iOS,windows,Linux系的各种操作系统;以上单元,属于本发明的构成部分,但不属于本发明权利范围4.SE-API(14),为访问VSE的接口程序,通过接口程序,中等程度的技术者可以容易地编写VSE的访问控制程序;5.电子货币程序(15),该程序实现了本发明的处理方法,具体方法在后述章节叙述;在本发明中,SE-API被设计为共通库类(Library),同时提供手持装置⑴和P0S(2),在SE-API中,定义电子货币的消费/充值方法,将后述认证、加密/解密(encoding/decoding)、HTTPRequest>HTTPResponse>APDU处理方法的接口封装在API中,作为同等替换,本单元也可以集约到电子货币程序(15)中。因此本单元在结构上作为可优选项,不加以权利要求。图3POS装置构造图POS-电子货币消费用装置;ATM-电子货币充值装置,在实际运用中,POS也可以同时用来为电子货币充值。为说明简洁,在以后章节中,以POS代表。在构造中,POS装置,由下列单元构成1.SecureAccessModual(21),用以处理控制安全访问处理,如记录POS的ID,处理派生密码(KeyDerivation)等;2.NFCR/ff(22),为符合NFC标准的读写装置;3.通信模块,和网络连接;4.SE-API(14),为访问VSE的接口程序,通过接口程序,中等程度的技术者可以容易地编写VSE的访问控制程序;5.Host程序(25),该程序实现了本发明的处理方法,具体方法在后述章节叙述;6.可优选地,追加CAD(CardAcceptanceDevice);图4VSE的结构图本发明的VSE部署于云服务器中,其结构如下1.安全数据保存领域(31),在本领域中部署个人信息(311)、金额(312)等信息,在个人信息领域中,保存秘密钥匙(152k);2.运行环境(32),一种用于运行电子货币Applet程序(33),常用的运行环境有JavaCardVirtualMachineJCVM;3.电子货币Applet程序(33),通过程序实现本发明的具体处理方法,具体方法在后述章节叙述。2.方法根据上述构造,采用以下处理方法,达成本发明的目的。图5-1处理流程图(P0S主导通信)如图所示了一种,由POS主导通信的,交易流程图,其步骤如下SC_1P0S的程序(25)生成随机数,和需求金额等,通过NFC通信方式,传给用户手持装置(I)SC_2:用户手持装置⑴的程序(15),在检查SC_1的数据之后,将金额表示给用户,并使用秘密钥匙(151K),对各参数进行HMAC代码化(encoding)SC_3:用户手持装置(I)将上述结果,通过NFC通信方式,传送给POSSC_4P0S将获得的ID、HMAC值、金额、传给虚拟SESC_5:虚拟SE根据需求金额、和自己的钥匙,通过HMAC计算出HMAC值’,将HMAC值’和获得的HMAC值比较,如果相等,则继续处理SC_6:返回结果SC_7:实行其他APDUSC_8:返回结果所述步骤SC_1中,POS的程序(25)传给用户手持装置(I)包括1.POS端的识别ID,其中包括识别店铺名、POS名、操作员的信息2.POS的程序(25)生成的随机数3.POS所需求金额,4.可优先地,POS端正确的日期时间,所述步骤SC_2、SC_3,用户手持装置(I)程序的处理方法,通过以下图例说明。图5-2处理流程图(用户装置主导通信)如图所示了一种,由用户所持装置主导通信的,交易流程图,其步骤如下·SE_1P0S的程序(25)将金额、认证ID等信息植入APDU指令,通过NFC通信方式,传于用户手持装置(2)SE_2:用户手持装置⑴中所部署的程序(15),记录解析指令SE_3:用户手持装置(I)中所部署的程序(15),通过HTTP传送包含APDU指令和用户识别号的电文SE_4VSE(30),处理APDU指令,并将结果返回SE_5:用户手持装置⑴中所部署的程序(15)将结果,通过NFC通信返回图6用户手持装置程序构成和处理方法如图所示,用户手持装置⑴中所部署的程序(15),1.用户界面(151),用于提供用户使用的界面,本部分为中等程度技术者所掌握,无需赘述。2.个人信息PersonalizedInfo(152),用于记录包括如生日等个人信息,秘密钥匙等被登录用户的信息。程序被下载后安装后,并不能被正式使用,只有在和位于云平台的VSE,完成了个人化处理(Personalization)后,程序才被激活。3.HMAC处理模块(153),按照以下算法,计算HMAC值。HMACk{m)-h((Kopaci)||h((K(Bipad)丨|m))其中,h是反复使用的哈希函数,在本发明中采用MD5(SHA-1)的复合哈希函数,K是秘密钥匙,在本发明中,K为用户手持装置(I)中,所保存的个人信息personalizedinfo(152),其中个人信息在安装以后,由用户输入,只有个人信息被登录以后,程序才被激活,同样的个人信息保存在VSE中。秘密钥匙包括以下项目I)用户在程序被激活时,生成的秘密钥匙,2)可优选地,加入可变部分例如日期m是encoding的对象,在本发明中,message包括1)P0S端给予的随机数2)POS端要求金额3)日期时间,opad为定数0x36,连续64次ipad为定数0x5C,连续64次为伦理和计算实际代码可以参考-http://www.atoam.com/payment/hmac,HMAC是RFC-2104所定义的密码方法,所以其安全强度的数理论证可以参考相关论文。Bellare,(1996)Keyinghashfunctionsformessageauthentication由于MD5和SHA-1的不可逆性,保证了HMACk(m)在传送中,电文路过P0S,但POS无法解读出密码和个人信息,近年关于MD5的安全脆弱性的研究表明单纯的MD5的可冲突性使得,单独使用MD5不再安全,因此在本发明中使用MD5(SHA-1)的复合哈希函数,作为同等置换,还可以时候其他的哈希函数,或者其他的复合函数。4.NFC通信处理模块(153),采用NFCForum的标准,通过如android提供的API,android,nfc处理NDEF,非android的系统,也有标准的NFCAPI,同时也可以直接处理APDU来实现同样的功能。步骤SC_2、SC_3,通过用户手持装置程序的处理,通过HMAC处理,将SC_1生成不可逆信息,并通过Hex的byte[]文字,返回POS。通过以上方法保证了encoding对象是,被用户所承认的内容。图7数据传送处理流程图如图所示,使用本方法时,数据传送按照以下流程,51.POS端生成随机数、输入消费金额/或者是充值金额、交易时间,P0S-1D,并生成电文(m)52.POS端通过NFC通信,将上述电文(m)传给用户手持装置53.用户手持装置端,使用秘密钥匙(157K)为密码,对上述电文(m)进行加密,54.用户手持装置端(I),通过NFC,将上述步骤产生的加密电文(enl),传回POS端(2)55.P0S端(2)使用SE-API(14),通过TCP/IP协议将加密电文(enl)和原电文(m)传给云平台,在本实施例中,TCP/IP具体协议为HTTP(SSL/TSL)56.VSE云平台(I),采用和用户手持装置端(I)同样的算法,使用保存于VSE中个人信息(311)中的秘密钥匙(152K),对电文(m)进行HMAC处理,并获得加密电文(en2)57.将加密电文(en2)和传送到了加密电文(enl)比较,若一致则,电文中的金额和交易时间等信息没有被篡改、伪造进行交易处理58.VSE进行交易处理,交易处理中的APDU指令,由SE-API覆盖,POS端的开发者,不需要意识底层的APDU指令59.VSE将处理结果返回POS端,POS端,进行相应的业务处理。图8云平台-VSE结构图如图所示,云平台的结构如下1.云平台由不定数量标准服务器(38)和可扩展容量的存储storage(39)构成,2.通过集群(Cluster)中间件,将上述服务器和存储,集成一个逻辑上的集群Clustereddomain(39),3.一个HTTPFilter类(9),根据电文中所包含的ID,选择VSE对象,4.在集群(39)上,部署假想SE-VirtualSecureElements(30)上述结构,使得通过增加存储或者服务器,即可柔软地扩充服务容量。图9SE文件结构如图所示,SE文件结构如下文件的根目录为MF主文件(391),在MF中保存,SE所需要的Mater钥匙。在MF下为特定文件(DedicatedFile)(392),在DF中保存,各程序关系信息,以及程序认证钥匙,在DF下,为基本文件(Elementaryfile)(303),基本文件分为工作文件WorkingFile(312)和内部文件InternalFile(311),工作文件用于保存电子货币金额等实际的敏感数据,内部文件用于认证的钥匙和个人信息(personalizedinfo)。图10程序结构如图所示,在POS端⑵上,部署HOST程序(21),和统一的VSE-API(H)的库,可优选地,采用(CardAcceptanceDevice)CAD(26)处理多种形态的非接触卡,以及不同公司的卡(包括手机等各种形式)。HOST程序(21),通过SE-API(14),传送APDU指令和电文,传送协议采用HTTP(7),在云服务器(3)端部署HTTPFilter程序(9),HTTPFiler程序(9)根据电文中包含的用户ID和端末ID,将APDU指令传给VSE(30)如图所示,VSE(30)的运行环境中,由以下单元构成1.JavaCardVM(32);2.JavaCardFramework(34),用以提供操作JavaCard的各种处理;3.传送APDU指令和电文,传送协议采用HTTP(7),在云服务器(3)端部署HTTPFilter程序(9),HTTPFiler程序(9)根据电文中包含的用户ID和端末ID,判断将APDU指令传给相对应的VSE(30);4.电子货币程序Applet,为基于JavaCard的应用程序;5.为防止应用程序被篡改,可以导入TSM(TrustedServiceManager)(9)服务器,以提供安全下载和个人信息化(Personalization);3.发明实施列用户手持装置中的安装导入1.用户通过例如GooglePlay官方下载地点下载电子货币程序(15);2.用户实行电子货币应用程序(15),电子货币应用程序(15),诊测到用户所持装置没有标准的SE时,引导用户,从TSM(TrustedServiceManager)(9)下载程序SE程序(33),安装于VSE(30);3.当VSE是初次安装时,生成VSE的实例(Instance),如果用户已经具有相关的VSE,则在既存的VSE中安装SE程序(33);4.进行个人信息初始化(Personalization),设置认证用密码钥匙(152K),该密码保存于VSE(3)的个人信息(311)内;5.云服务器,生成用户ID等系统信息,保存于VSE(30)中的个人信息(311);6.用户根据自己喜好设定交易方式,选择POS/用户装置主导的通信方式;P0S/ATM装置中的安装导入1.商豕启动激活未经初期化的POS系统中的程序;2.程序登录,分配商家ID,记录POS-1D等处理;3.程序载入P0S,执行图5-1,2所述的处理流程;用户使用手持装置,在商家的POS上消费1.根据用户的设置,根据图5-1,2所述的处理流程处理交易;4.结论通过以上实施方法,本发明实现了通过假想SE实现。以上使用了具体个例对本发明的具体实施例进行了描述,该实施例的说明只是用于帮助理解本发明的方法及核心思想;同时对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有变改之处,比如1.微修改本发明结构,增加/减少细节单元,将其集约或者独立于相关单元;2.实施步骤顺序的微调整,如将没有先后顺序的处理调换;3.取消认证或者必要的安全处理,单纯地提供不安全的劣质服务;因此,本说明书内容不应理解为对本发明的限制,凡在本发明的精神和原则之内所作的任何修改、同等替换、删减附加步骤的改进,均包含在本发明的包含范围内。权利要求1.一种电子货币支付系统,其特征在于所述支付系统,包含(1)用户手持装置,(2)P0S/ATM装置,(3)部署于云平台的虚拟SE,所述用户手持装置和所述POS装置通过NFC方式通信,所述POS装置和所述云平台通过TCP/IP网络交换数据。2.如权利要求1所述用户手持装置,其特征在于,包含(1)CPU、内存(2)标准NFC单元(3)标准OS(4)电子货币程序。3.如权利要求1所述P0S/ATM装置,其特征在于,包含(O安全访问模块(2)标准NFC读写装置,(3)通信模块(4)Host程序。4.如权利要求1所述部署于云平台的虚拟SE,其特征在于,包含(1)安全数据保存领域(2)运行环境,(3)电子货币程序。5.如权利要求4所述部署于云平台的虚拟SE,其特征在于,所述云平台,其特征在于,包含不定数量的标准服务器。6.一种基于云平台虚拟SE的电子货币的安全支付方法,其特征在于,用户手持装置,无需和云服务平台通过网络进行通信。7.如权利要求6所述安全支付方法,其特征在于,所述方法包含以下步骤;(1)POS端程序,生成随机数(OneTimePassword),和需求金额等,通过NFC传给用户手持装置(2)用户手持装置的程序,检查上述电文之后,将金额表示给用户,并使用秘密钥匙(151)对各参数进行HMAC代码化(3)用户手持装置将上述结果,通过NFC通信方式,传送给POS(4)POS将获得的ID、HMAC值、金额、传给云平台中虚拟SE(5)虚拟SE根据需求金额、和自己的钥匙,通过HMAC计算出HMAC值’,将HMAC值’和获得的HMAC值比较,如果相等,则继续处理(6)返回结果。8.一种基于云平台虚拟SE的电子货币的安全支付方法,其特征在于,用户手持装置,直接和云服务平台通过网络进行通信。9.如权利要求8所述安全支付方法,其特征在于,所述方法包含以下步骤;(I)POS的程序将金额、认证ID等信息植入APDU指令,通过NFC通信方式,传于用户手持装置(2)用户手持装置中所部署的程序,记录解析指令(3)用户手持装置中所部署的程序,通过HTTP传送包含APDU指令和用户识别号的电文(4)虚拟SE,处理·APDU指令,并将结果返回(5)用户手持装置中所部署的程序将结果,通过NFC通信返回。全文摘要一种基于云平台、虚拟SE的电子货币安全支付系统和方法。为解决基于NFC和SecureElement(SE)的电子货币支付方式中,SE的媒体、规格、访问方式无法统一的问题,而采用在云平台上部署虚拟SE(VSE)的方式。使用云平台的虚拟SE进行电子货币支付中的计算、保存处理。在采用VSE时,为避免在支付过程中,需要用户手持装置连接网络的问题,采用POS端代理连接VSE方式。在POS代理传送时,将必须的认证信息,采用透明传送方式(transparency),通过NFC通信传给POS端,从而保证POS端无法窥视VSE的认证信息。通过云平台的VSE的SE方式,可以统一覆盖所有用户所有机种的的手持装置,从而解决困扰电子货币运营商的SE无法统一的问题。文档编号G06Q20/42GK102999839SQ20121041969公开日2013年3月27日申请日期2012年10月27日优先权日2012年10月27日发明者郁晓东申请人:郁晓东
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1