基于nfc的半离线匿名支付方法

文档序号:10726040阅读:755来源:国知局
基于nfc的半离线匿名支付方法
【专利摘要】基于CoSE(Cloud of Secure Elements)概念,本发明提出一个NFC安全支付方法。安全服务承载于云服务器而不是智能手机的安全元件(SE)。根据CoSE架构部署一个可信云支付平台,所有的交易项都由云支付平台完成。商户的POS终端充当消费者和云支付平台的通信桥梁,消费者的NFC设备和商户的POS终端通过射频场RF连接,消费者NFC设备不需要数据网络即可完成支付流程,并且交易过程中交易双方通过对身份信息与随机数进行hash运算实现正常交易匿名性,异常交易可追踪。
【专利说明】
基于NFC的半离线匿名支付方法
技术领域
[00011本发明涉及NFC移动支付安全研究领域,具体涉及CoSE架构云端虚拟SE安全存储 交易敏感信息的近场支付方法。
【背景技术】
[0002] 近场通信(Near Field Communication,简称NFC)技术是一种短距离的双向高频 无线通信信道,使得用户设备之间的数据交换的技术。NFC为智能手机、个人电脑(PC)、个人 数码助理(PDA)等具有NFC功能的设备间传输数据的提供了非接触式技术。
[0003] 自从主流商业机构参与到NFC技术中,支付应用和票务应用成为NFC标准的主要驱 动力,例如金融机构和移动运营商对NFC的天然保密性和安全性的重视和推广,逐渐把NFC 技术推广到手机支付和票务等应用。越来越多的人更喜欢是使用手机作为支付工具,NFC功 能的设备可以作为电子钱包,意味着随着支付、票务和其他应用的使用,人们可以使用手机 来支付他们的日常需求,最后,这可以替代借记卡、信用卡和其他无数每天带在身上需要使 用的卡片。
[0004] 从技术和移动支付的发展趋势来看,NFC支付必定是未来移动支付的主要实现方 式。目前Samsung、Apple、Huawei等厂商已经推出了搭载NFC功能的支付方式。在移动支付过 程中除了使用方便,用户最关心的就是整个交易过程的安全性,具有较高的安全机制以及 NFC支付减少欺诈的机会一直是服务提供商和客户关注的主要问题。为了提高NFC交易的安 全,防篡改安全元件SE的设计成了 NFC设备的一个必不可少的安全存储芯片。随着云计算的 发展,在国内外工业界和学术界越来越多研究人员提出了基于云计算的NFC支付,安全存储 物理芯片SE逐渐被舍弃,直接在云端生成虚拟SE。

【发明内容】

[0005] 本发明提出一种基于CoSE架构的NFC安全支付方法,通过CoSE部署一个可信任云 支付平台,云端生成虚拟SE代替物理芯片SE,实现半离线支付匿名化。
[0006] CoSE架构(Cloud of Secure Elements Architecture)是为移动和云应用提供可 信计算资源的基础设施。CoSE是基于大量被称为安全元件SE(Secure Elements)的安全微 控制器,在今天安全元件被配备生产数量达十亿。这些防篡改设备提供加密资源(对称或者 非对称加密程序)和安全存储。在一个同网络相似的模式中,CoSE架构能够支持统一资源标 识(URIs),有两种主要针对性的服务,通过近场通信设施处理的移动应用如支付、室内导 航、物流、访问控制、票务服务等和需要提供可信密码服务的云应用。
[0007] CoSE架构有以下4个元素组成:1)NFC终端,通常提供付款或者访问控制的基础设 施。2)用户配备嵌有NFC的智能手机,或者各种需要可信任密码的终端。3)G 〇SE(Grid of Secure Elements)是一个承载一组虚拟安全元件SE的网络服务器,这些安全元件直接由云 端生成。4)管理控制台,一个TCP/IP客户端可远程管理GoSE。
[0008] CoSE架构中GoSE能够安全的存储个人信息如借记卡或信用卡信息,用户唯一身份 验证信息,交易信息。消费者或商户NFC设备中SE存储PIN、证书、密钥、协议和加密机制,用 户的手持设备中的SE仅仅是用于在POS终端和云支付平台三者进行身份验证。主要的交易 数据仍然是存储在GoSE中,云支付平台管理整个云环境,是唯一的一方拥有对存储在云端 的机密数据完全的管理及访问权限。
[0009]本发明所设计的CoSE架构模型(如图1.所示)基于以下4个条件:l)G〇SE是云支付 平台的一部分并由云支付平台管理。2)消费者或者商户的NFC设备仅仅是用作身份认证。3) 银行或发行商与云支付平台连接的4)消费者和商户信任云支付平台。
[0010] 注册流程描述:
[0011] 1.用户(消费者或商户)通过网络向云支付平台发起注册请求。
[0012] 2.用户和云支付平台双向认证身份。
[0013] 3.身份认证通过,用户向云支付平台发送身份信息和银行账户信息。
[0014] 4.云支付平台基于这些信息确认信息的唯一,注册或拒绝注册。
[0015]交易执行流程描述:
[0016] 1.消费者使用NFC设备靠近商户P0S终端识别范围开始支付。
[0017] 2. P0S终端与云服务提供商通信确认商户和消费者身份。
[0018] 3.云服务提供商向P0S终端传输必要的信息。
[0019] 4.基于这些信息P0S终端认证交易或者拒绝交易,同意交易后将这些必要信息转 发消费者。
[0020] 5.消费者确认信息认证交易或拒绝交易,同意交易后传送确认信息到商户P0S。
[0021] 6.商户P0S终端与云端通信,由云端再次认证交易信息处理交易。
[0022] 本发明与现有技术相比,具有如下优点和有益效果:
[0023]本方法中,商户P0S终端作为消费者与云支付平台的通信桥梁,消费者使用NFC设 备通过RF场与商户P0S终端交换数据,因此消费者NFC设备在没有网络的离线状态下依然可 以进行支付,这种消费者离线,商户在线的支付过程,就是本发明所提出的半离线支付。在 某些特定的支付场景如地铁、某些网络受限的景区或者是在网络状态不稳定的地区,半离 线支付都可以快速的完成支付流程;CoSE架构部署云支付平台,舍弃物理芯片SE直接云端 生成大量的SE,有效的减少了基础设施的成本投入;并且在本方法中交易过程交易双方通 过对身份信息与随机数进行hash运算实现正常交易匿名性,异常交易可追踪;通过安全性 分析表明本方法够有效防窃听攻击、防假冒攻击、防止重放攻击、防数据篡改等恶意行为。
【附图说明】
[0024] 图1 .CoSE架构模型 [0025]图2.注册流程 [0026]图3.支付流程
【具体实施方式】
[0027]下面结合附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。 [0028]首先给出本方法中各符号的含义:
[0029] IDc;消费者唯一标识
[0030] IDm:商户唯一标识
[0031] IMSI:移动用户身份
[0032] Customer:消费者
[0033] Merchant:商户
[0034] CPP:云支付平台
[0035] h〇:用户加密交换信息的hash函数
[0036] {M}k使用密钥k加密信息Μ
[0037] Ka-b:A和Β的共享密钥
[0038] Td:交易描述
[0039] Tno:交易号码
[0040] Tts:交易开始时间戳 [00411 Ttc:交易结束时间戳 [0042] CI:信用卡或借记卡信息
[0043] RI:交易回执信息 [0044] ||:连接运算符
[0045] ?:异或运算符
[0046] Token:由云支付平台在消费者和商户身份认证通过后生成的随机字符串 [0047]注册流程
[0048]步骤1:用户(消费者和商户)使用NFC移动设备发起注册请求,NFC移动设备生成随 机数X,随后将注册请求信息Req和随机数X发送至云支付平台。
[0049]步骤2:云支付平台收到用户的请求Req和随机数X后,生成随机数Y再计算E={h(X |Y| |k)}k,其中k是用户的云支付平台之间的共享密钥,然后将Y,E两者用K加密为{Y,E}k 后发送给用户。
[0050] 步骤3:用户收到{Y,E} k,用户用密钥k解密收到的信息得到Y和E。计算E ' = {h(X | Y| |k)}k,如果不等于E,直接终止此次会话直到下一次请求。相反,表示身份验证通过。用户 计算IDc = IMSI十h(X| |Y| |k),IDc成为用户唯一标识,最后将IDc和CI用密钥K加密为{h (IMSI),IDc,CI}k并发送给云支付平台,其中CI是借记卡或信用卡信息,包括发行银行、账 户名、账号等等。
[0051 ] 步骤4:在云支付平台收到后,利用密钥k解密,得到haMSI),IDc和CI,在云支付平 台的消费者组或商户组的GoSE中查询h(IMSI),若不存在则未曾注册过,h(MSI)和相应的 IDc、CI保存在GoSE中的一个虚拟SE中,计算F = h(IDc ? CI ? E)发送给用户。
[0052] 步骤5:用户收到F后,计算F'=h(IDCθCIθE),如果不等于F,返回注册错误信息 删除haMSI)并终止注册流程显示注册失败,相反,F = F',表示注册成功。
[0053]支付流程 [0054]阶段1.认证阶段
[0055]步骤1.当NFC设备进入P0S终端的识别范围内P0S机向其发送Req消息以及P0S终端 产生的秘密随机数R,开启双向认证阶段。
[0056] 步骤2.用户设备收到请求消息Request和商户产生的随机数R后,利用hash函数对 IDc| |R和IDc分别加密,得到h(IDc| |R)、h(ID,然后将这两个加密结果及R通过用户和商户 的共享密钥加密后{h(IDc I |R),h(IDc),R}kc-m发给商户的POS终端。
[0057] 步骤3.商户收到消费者发送过来的数据后,利用hash函数对自身的标识IDm进行 加密,得到h(IDm),然后再将这个值与h(IDc | | R)进行异或,得到h(IDc | | R) e h(IDm),之后 将这四项数据h(IDc),R,h(IDc I |R) θ h(IDm),Tp打包通过云支付平台和商户的共享密钥 Km-cpp加密成{h(IDc | |R) ? h(IDm),h(IDc),R,Tp}Km-cpp传给云支付平台。
[0058] 步骤4云支付平台收到商户传输过来的数据后,将h(IDc)与自身消费者组CoSE中 存储的h(IDc)进行对比认证消费者是否合法。接着利用,h(IDc| |R) eh(IDm)与R计算提取 出h(IDm),然后查找商户组CoSE到IDm对比,在IDc及IDm都合法的情况下,云支付平台计算 出Tno = h(h(IDc?R) | |h(IDm?R) | |Tp| |Tts),随后云支付平台将{h(IDc?R),h(IDm?R), Tno,Td,Tts,Token} km-cpp 传给商户。
[0059] 步骤5.商户收到云平台传输过的数据后,通过解密,再计算Tno进行验证,验证通 过后,商户再将数据发送给消费者。
[0060] 阶段2.交易阶段
[0061]步骤6.消费者收到商户传输的数据后,通过解密数据验证h(IDceR),如果相同则 认证通过,同时验证Tno,验证通过显示交易信息,如果用户对交易没有异议则输入Pin进行 用户认证。PIN是一个额外的安全层增加消费者和商户间的信任。即让商户相信这个消费者 是这个NFC设备的合法拥有者,更进一步让消费者保证在没有自己的授权下任何人不能使 用其NFC设备进行交易,PIN码存储于本地SE中,SE比较消费者输入的和本地存储的PIN码, 如果相等说明消费者是NFC设备的合法拥有者,反之,协议终止。PIN当pin验证通过,利用 IDc、Tno和Token计算Tl = h(IDc ? Token ? Tno)发送给商户。每一个Token-次有效,第二次 验证判断将失败。token验证失败交易结束,直到下一次身份认证后随机生成。Token防伪造 攻击、防重放攻击,随机性,不可预测。
[0062] 步骤7.商户收到消费者的数据后,利用IDc、Tno和Token生成T2 = h(IDm? Token? Tno)然后将T1和T2-起发送给CPP。
[0063] 步骤8.云支付平台收到商户传输的数据后,通过自身的IDc、IDm、Token、Tno以同 样的方法计算ΤΓ,Τ2',若分别相等,则认证通过,云支付平台处理交易,交易成功后,生成 交易回执信息将RI通过共享密钥Km-cpp加密发送给商户。
[0064] 1?1 = {]\11,]\12,丁(1,1^。},其中,]\11=11(1'11〇||丁口||1^。),]\12={]\11}11(10。?!'!!。?!^。)
[0065] 步骤9.商户收到云支付平台的信息后,通过共享密钥Km-cpp解密提取出Ml,M2, Td,Ttc,再利用自身存储的Τηο,Τρ和从云平台收到的Ttc以同样的方法计算Ml' =h(Tno I Tp I I Ttc),若ΜΙ =ΜΓ,验证通过,再将RI通过共享密钥Kc-m加密发送给消费者,消费者收到 信息后解密RI,利用得到的信息Ml,Ttc,与自身存储的Tno,计算M2 ' = {Ml}h(IDc e Tno θ Ttc)若相等,表示支付成功。
[0066]以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其 等效物界定。
【主权项】
1. 一种基于NFC的半离线匿名支付方法,包括如下步骤: 步骤一、消费者使用NFC设备靠近商户POS终端识别范围开始支付; 步骤二、POS终端与云服务提供商通信确认商户和消费者身份; 步骤Ξ、云服务提供商向POS终端传输必要的信息; 步骤四、基于运些信息POS终端认证交易或者拒绝交易,同意交易后将运些必要信息转 发消费者; 步骤五、消费者确认信息认证交易或拒绝交易,同意交易后传送确认信息到商户POS; 步骤六、商户POS终端与云端通信,由云端再次认证交易信息处理交易。2. 根据权利要求1所述的半离线匿名支付方法,其特征在于,还包括注册流程,具体包 括如下步骤: (1) 用户即消费者或商户通过网络向云支付平台发起注册请求; (2) 用户和云支付平台双向认证身份; (3) 身份认证通过,用户向云支付平台发送身份信息和银行账户信息; (4) 云支付平台基于身份信息和银行账户信息确认信息的唯一,注册或拒绝注册。3. 根据权利要求2所述的半离线匿名支付方法,其特征在于:注册流程具体为: (1) 用户即消费者或商户使用NFC移动设备发起注册请求,NFC移动设备生成随机数X, 随后将注册请求信息Req和随机数X发送至云支付平台; (2) 云支付平台收到用户的请求信息Req和随机数X后,生成随机数Y再计算E=化(XII Y |k)}k,其中k是用户的云支付平台之间的共享密钥,hO是用户加密交换信息的hash函数, 为连接运算符,{M}k使用密钥k加密信息M,然后将Y,E两者用K加密为{Y,E}k后发送给用 户; (3) 用户收到{Y,E}k,用户用密钥k解密收到的信息得到Y和E,计算E' =化(XllYlIk)} k,如果不等于E,直接终止此次会话直到下一次请求;相反,表示身份验证通过;计算消费者 唯一标识IDc = IMSI eh(XMY||k),IMSI为移动用户身份,最后将消费者唯一标识IDc和信 用卡或借记卡信息CI用密钥K加密为化(IMSI),H)c,CI}k并发送给云支付平台; (4) 在云支付平台收到后,利用密钥k解密,得到h(IMSI),IDc和CI,在云支付平台的消 费者组或商户组的GoSE中查询h(IMSI),若不存在则未曾注册过,h(IMSI)和相应的IDc、CI 保存在Go沈中的一个虚拟沈中,计算F = h(IDc度CI Φ巧发送给用户; (5) 用户收到F后,计算护'=11灯0(;:@[:1@巧,如果不等于。,返回注册错误信息删除}1 (IMSI)并终止注册流程显示注册失败,相反,F = F',表示注册成功。4. 根据权利要求1所述的半离线匿名支付方法,其特征在于:认证阶段包括: 当NFC设备进入P0S终端的识别范围内P0S机向其发送Req消息W及P0S终端产生的秘密 随机数R,开启双向认证阶段; 用户设备收到请求消息Req消息和商户产生的随机数R后,利用hash函数对IDc II R和消 费者唯一标识IDc分别加密,得到}1(10^|1〇、11(1〇(3),然后将运两个加密结果及1?通过用户 和商户的共享密钥加密后化(I化II R),h(I化),R}kc-m发给商户的P0S终端,其中,k是用户 的云支付平台之间的共享密钥,II为连接运算符; 用户收到消费者发送过来的数据后,利用hash函数对自身的标识IDm进行加密,得到h (IDm),然后再将运个值与h(IDc| |R)进行异或,得到h〇:Dc Μ財:? h(IDm):,之后将运四项 数据b(巧C.)化htlDc I I巧受11(放曲),Τρ打包通过云支付平台和商户的共享密钥Km-c卵 加密成{ h (?Ι)(_: R) Θ h UDm),h (TDc)化Τρ j Km - c孤传给云支付平台; 云支付平台收到商户传输过来的数据后,将h(IDc)与自身消费者组CoSE中存储的 h(lDc)进行对比认证消费者是否合法。接着利用,h(II)c I I说Φ hilDm)与R计算 提取出h(IDm),然后查找商户组CoSE到IDm对比,在IDc及IDm都合法的情况下,云支 付平台计算出化〇二h化(-[Dc@ R) hClDm? R) I I化Μ Tts),随后云支付平 台将化(.IDg. 哈h(IDm. @ R.),Τηο, Td,Tts:, Tok台η} km - G.PP传给商户;其中,Td: 交易描述、Τηο:交易号码、Tts:交易开始时间戳、Ttc:交易结束时间戳、CI:信用卡或借记卡 信息、RI:交易回执信息;Token:由云支付平台在认证消费者和商户身份后生成的随机字符 串,一次有效,第二次验证判断将失败; 商户收到云平台传输过的数据后,通过解密,再计算化0进行验证,验证通过后,商户再 将数据发送给消费者。5.根据权利要求4所述的半离线匿名支付方法,其特征在于:支付阶段包括: 消费者收到商户传输的数据后,通过解密数据验证h (IDc Θ R),如果相同则认证通 过,同时验证化0,验证通过显示交易信息,如果用户对交易没有异议则输入Pin进行用户认 证,当pin验证通过,利用IDc、Tno和Token计算T1二h ( 1 Dc① TokcTi贷Τηο)发送给商 户; 商户收到消费者的数据后,利用IDc、Tno和Token生成Τ2 = h tiDm通Tok細@扣0)然 后将T1和T2-起发送给云支付平台CPP; 云支付平台CPP收到商户传输的数据后,通过自身的10。、1〇1]1、1'〇1?5]1、化〇计算1'1',了2', 若分别相等,则认证通过,云支付平台处理交易,交易成功后,生成交易回执信息将RI通过 共享密钥Km-cpp加密发送给商户; RI = {Ml ,M2,Td,Ttc},其中,祖'=h灯no; Π 饰 I. T't'G),.:船'二{MUh (IDc Φ Τηο ? Ttc) 商户收到云支付平台的信息后,通过共享密钥Km-cpp解密提取出Ml,M2,Td,Ttc,再利 用自身存储的化ο,化和从云平台收到的TtcW同样的方法计算ΜΓ =h(化ο I I Τρ I I Ttc),若 Ml =ΜΓ,验证通过,再将RI通过共享密钥Kc-m加密发送给消费者,消费者收到信息后解密 RI,利用得到的信息Mljtc,与自身存储的化0,计算M2'二Wl}h(lDc? Τηο @ Ttc)若相 等,表示支付成功。
【文档编号】G06Q20/38GK106096947SQ201610403370
【公开日】2016年11月9日
【申请日】2016年6月8日
【发明人】柳毅, 葛辉赟, 凌捷
【申请人】广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1