CN105228087A - 基于近场通信的移动支付加密方法 - Google Patents

基于近场通信的移动支付加密方法 Download PDF

Info

Publication number
CN105228087A
CN105228087A CN201510560440.7A CN201510560440A CN105228087A CN 105228087 A CN105228087 A CN 105228087A CN 201510560440 A CN201510560440 A CN 201510560440A CN 105228087 A CN105228087 A CN 105228087A
Authority
CN
China
Prior art keywords
nfc terminal
mactag
prime
key authentication
party
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510560440.7A
Other languages
English (en)
Other versions
CN105228087B (zh
Inventor
郑紫微
何晨晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201510560440.7A priority Critical patent/CN105228087B/zh
Publication of CN105228087A publication Critical patent/CN105228087A/zh
Application granted granted Critical
Publication of CN105228087B publication Critical patent/CN105228087B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及基于近场通信的移动支付加密方法,第一NFC终端、第二NFC终端分别将各自真实ID存储在第三方可信机构,第三方可信机构存储两个NFC终端的匿名身份;当进行移动支付时,第一NFC终端、第二NFC终端分别向第三方可信机构请求使用其匿名身份,计算、发送各自的自更新公钥和密钥验证标签给对方验证;当第一NFC终端、第二NFC终端的密钥验证标签均被对方验证通过且自更新公钥均相同时,则第一NFC终端、第二NFC终端以其相同的自更新公钥作为双方的共享公钥,完成支付过程。由于通信双方之间使用不断更新的公钥进行加密,并利用匿名身份对通信双方身份进行隐藏,从而有效地保护了支付交易双方的隐私和信息安全。

Description

基于近场通信的移动支付加密方法
技术领域
本发明涉及通信领域,尤其涉及一种基于近场通信的移动支付加密方法。
背景技术
近场通信(NearFieldCommunication,简称NFC)是一种短距高频的无线电技术,是由非接触式射频识别技术和点对点通信技术融合演变而来,其在0到20cm距离内,工作在13.56MHz频率,传输速度有106Kbit/秒、212Kbit/秒或者424Kbit/秒三种,并可以在不同的传输速度之间自动切换。
NFC具有三种使用模式:卡模式、点对点通信模式、读/写卡器模式。其中,点对点通信模式用于实现不同的NFC终端之间的数据交互,从而将多个具备NFC功能的设备通信连接起来,并通过链路层通信协议实现数据的点对点传输。可知,具有NFC功能的近场通信设备之间可以进行无线数据传输。例如,消费者在利用NFC终端购物、完成支付的交易活动中,消费者的NFC终端需要与商家的NFC终端进行配对通信,才能完成整个移动支付过程。
然而,现有的两个NFC终端之间进行移动支付时,由于两者享用的公钥是固定不变的,而近场通信具有较短的通信距离且不采用安全校验,因此公钥在整个支付过程容易被其他非法用户截获,非法用户可能利用该固定公钥在用户不知情的状况下窃取用户隐私信息;另外,用户采用公开身份进行交易,非法用户将轻易地找到隐私信息与用户的真实身份,造成用户隐私的暴露。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种在移动支付中,既能对近场通信双方的公钥进行动态更新加密,又能够对通信双方的真实身份进行隐藏的基于近场通信的移动支付加密方法。
本发明解决上述技术问题所采用的技术方案为:基于近场通信的移动支付加密方法,其特征在于,依次包括如下步骤:
(1)设定第一NFC终端的全球身份标识号为IDFirst,第二NFC终端的全球身份标识号为IDSecond,第三方可信机构为TSM;其中,第三方可信机构TSM用于存储第一NFC终端的匿名身份、第二NFC终端的匿名身份、第一NFC终端的真实IDFirst以及第二NFC终端的真实IDSecond;匿名身份由公钥、私钥、第三方可信机构TSM的全球身份标识号IDTSM以及TSM的签名组成;
利用第一NFC终端在第三方支付平台注册对应支付账户,并由第三方支付平台存储第一NFC终端的全球身份标识号IDFirst、支付密码;
利用第二NFC终端在第三方支付平台注册对应收款账户,并由第三方支付平台存储第二NFC终端的全球身份标识号IDSecond
(2)第一NFC终端向第三方可信机构TSM请求使用其匿名身份时,由第三方可信机构TSM产生第一NFC终端的匿名身份集合PSFirst,并将此匿名身份集合PSFirst发送给第一NFC终端;第三方可信机构TSM则存储发送给第一NFC终端的匿名身份集合PSFirst以及第一NFC终端的真实IDFirst;其中,第三方可信机构TSM生成第一NFC终端的匿名身份过程包括:
(2-1)在第三方可信机构TSM接收到第一NFC终端的匿名身份请求时,第三方可信机构TSM产生n个随机值其中,表示第一NFC终端的第i个匿名身份的私钥;
(2-2)第三方可信机构TSM将其产生的各随机值与椭圆曲线基点G相乘,得到n个公钥其中,表示第一NFC终端的第i个匿名身份的公钥,基点G在椭圆曲线上,椭圆曲线为:E:y2=x3+ax+bmodn1,E为椭圆曲线,a,b为椭圆曲线E的系数,(x,y)是椭圆曲线E上的点,n1是椭圆曲线E的阶;
(2-3)第三方可信机构TSM根据第一NFC终端的第i个匿名身份的私钥以及对应该私钥的公钥产生得到对应第一NFC终端的第i个匿名身份的第三方可信机构TSM签名
S T S M i = Sig k T S M ( Q F i r s t i || Enc Q F i r s t ( k F i r s t i ) || ID T S M ) ;
其中,EncK(m)表示用密钥K对信息m加密,Sigk(m)表示用密钥k对信息m签名,||为连接符号;
(2-4)第三方可信机构TSM根据其所产生的第一NFC终端的第i个匿名身份的签名得到第一NFC终端的匿名身份集合PSFirst,其中:
PS F i r s t = ( Q F i r s t i | | Enc Q F i r s t ( k F i r s t i ) | | ID T S M | | S T S M i ) ;
(3)第一NFC终端接收到第三方可信机构TSM发送的匿名身份集合PSFirst后,断开其与第三方可信机构TSM的通信,并对第一NFC终端与第二NFC终端之间的NFC安全协议进行激活:
(3-1)第一NFC终端产生随机数NFirst和随机整数RFirst,并计算、得到其自更新公钥然后将和NFirst压缩后发送给第二NFC终端,其中经压缩分别变成QFirst”i、QFirst'i是基点为G的椭圆曲线E上的点,
Q ′ F i r s t i = R F i r s t · Q F i r s t i = R F i r s t · k F i r s t i G ,
Q ′ ′ F i r s t i = R F i r s t · k F i r s t i Q T S M + Q F i r s t i = R F i r s t · k F i r s t i · k T S M G + k F i r s t i G ;
(3-2)第二NFC终端产生随机数NSecond和随机整数RSecond,并计算、得到其自更新公钥然后将和NSecond压缩后发送给第一NFC终端,其中经压缩分别变成QSecond”i、QSecond'i
Q ′ S e c o n d i = R S e c o n d · Q S e c o n d i = R S e c o n d · k S e c o n d i G ,
Q ′ ′ S e c o n d i = R S e c o n d · k S e c o n d i Q T S M + Q S e c o n d i = R S e c o n d · k S e c o n d i · k T S M G + k S e c o n d i G ;
(3-3)根据第一NFC终端与第二NFC终端互相交换的公钥及随机数,分别计算其共同点P(Px,Py)、共享秘值z及共享秘钥QSSE
(a)第一NFC终端计算得到共同点P(Px,Py)、共享秘值z及共享秘钥QSSE_First,计算得到第一NFC终端发送的密钥验证标签MacTagFirst,并发送密钥验证标签MacTagFirst给第二NFC终端验证:
P = R S e c o n d · k S e c o n d i Q ′ F i r s t i ;
z=Px
QSSE_First=KDF(NFirst,NSecond,IDFirst,IDSecond,Z);
MacTag F i r s t = f ( Q S S E _ F i r s t , ID F i r s t , ID S e c o n d , Q ′ ′ F i r s t i , Q ′ ′ S e c o n d i ) ;
其中,Z为共享秘值z转换后得到的对应的8比特字符串,共享秘值z与8比特字符串Z之间的转换公式为:
z = Σ i = 1 k 2 8 ( k - 1 ) M i ;
z是非负整数,字符串预期长度K满足28K>z,输出的M1,M2,…,Mk是字符串Z从左到右的位值;
验证标签MacTagFirst计算使用ISO/IEC11770-3定义的密钥验证机制:
MacTagFirst=MAC-KC(QSSE_First,0x03,IDFirst,IDSecond,QFirst,QSecond);
该密钥验证机制使用AES加密XCBC-MAC-96模式,计算得:
MacTagFirst=AES-XCBC-MAC-96QSSE_First(0x03||IDFirst||IDSecond||QFirst||QSecond);
(b)第二NFC终端计算得到共同点P(Px,Py)、共享秘值z及共享秘钥QSSE_second,验证第一NFC终端发送的密钥验证标签MacTagFirst,并计算得到第二NFC终端的密钥验证标签MacTagSecond,发送密钥验证标签MacTagSecond给第一NFC终端验证:
P = R F i r s t · k F i r s t i Q ′ S e c o n d i ;
z=Px
QSSE_second=KDF(NFirst,NSecond,IDFirst,IDSecond,Z);
MacTag S e c o n d = f ( Q S S E _ s e c o n d , ID S e c o n d , ID F i r s t , Q ′ ′ S e c o n d i , Q ′ ′ F i r s t i ) ;
验证标签MacTagSecond计算使用ISO/IEC11770-3定义的密钥验证机制:
MacTagSecond=MAC-KC(QSSE_Second,0x03,IDSecond,IDFirst,QSecond,QFirst);
该密钥验证机制使用AES加密XCBC-MAC-96模式,计算得:
MacTagSecond=AES-XCBC-MAC
-96QSSE_Second(0x03||IDSecond||IDFirst||QSecond||QFirst);
(3-4)当第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,且第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过时,则第一NFC终端、第二NFC终端均以QSSE作为共享秘钥,并进行数据通信连接,然后执行步骤(4),其中QSSE=QSSE_First=QSSE_second;否则,则中断第一NFC终端与第二NFC终端之间的通信连接;其中,
第二NFC终端验证第一NFC终端的密钥验证标签MacTagFirst过程包括:第二NFC终端根据其计算得到的共享秘钥QSSE_second,计算第一NFC终端的密钥验证标签MacTag'First,其中 MacTag ′ F i r s t = f ( Q S S E _ s e c o n d , ID F i r s t , ID S e c o n d , Q ′ ′ F i r s t i , Q ′ ′ S e c o n d i ) ; 若MacTag'First=MacTagFirst,则表示第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,否则,表示验证未通过;
第一NFC终端验证第二NFC终端的密钥验证标签MacTagSecond过程包括:第一NFC终端根据其计算得到的共享秘钥QSSE_First,计算第二NFC终端的密钥验证标签MacTag'Second,其中 MacTag ′ S e c o n d = f ( Q S S E _ F i r s t , ID S e c o n d , ID F i r s t , Q ′ ′ S e c o n d i , Q ′ ′ F i r s t i ) ; 若MacTag'Second=MacTagSecond,则表示第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过,否则,表示验证未通过;
其中,密钥验证标签MacTag'First、MacTag'Second的计算均使用ISO/IEC11770-3定义的密钥验证机制,密钥验证机制均使用AES加密XCBC-MAC-96模式;
(4)利用第一NFC终端生成虚拟键盘,并通过虚拟键盘输入支付密码,然后由第一NFC终端将支付密码、全球身份标识号ID'First发送给第三方支付平台,其中,所述虚拟键盘的界面为动态界面,且动态界面上具有0~9十个数字,所述数字在动态界面上的布局上随机的;
(5)第三方支付平台接收第一NFC终端发送的支付密码和全球身份标识号ID'First,且判断接收的支付密码、全球身份标识号ID'First与第三方支付平台内存储的预设支付密码、全球身份标识号IDFirst一致时,则将第一NFC终端对应支付账户的款项转入给第二NFC终端对应的收款账户,并发送成功支付通知给第一NFC终端。
进一步地,所述步骤(2-2)中的椭圆曲线E中:
a=-3,
b=64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1,
n1=6277101735386680763835789423176059013767194773182842284081。
与现有技术相比,本发明的优点在于:第一NFC终端、第二NFC终端分别将各自真实ID存储在第三方可信机构,第三方可信机构存储两个NFC终端的匿名身份;当进行移动支付时,第一NFC终端向第三方可信机构请求使用其匿名身份,计算、发送自身的自更新公钥和密钥验证标签给第二NFC终端验证;第二NFC终端同样发送其自更新公钥、密钥验证标签给第一NFC终端验证;当第一NFC终端、第二NFC终端的密钥验证标签均被对方验证通过且自更新公钥均相同时,则第一NFC终端、第二NFC终端以其相同的自更新公钥作为双方的共享公钥,完成通信双方的支付过程。由于通信双方之间使用的是不断更新的公钥进行加密,并利用匿名身份对通信双方身份进行隐藏,从而有效地保护了支付交易双方的隐私和信息安全。
附图说明
图1为本发明实施例中基于近场通信的移动支付加密方法的流程示意图;
图2为本发明实施例中虚拟键盘上0~9十个数字的随机布局示意图;
图3为本发明实施例中虚拟键盘上字母与数字随机组合的布局示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1所示,本实施例中基于近场通信的移动支付加密方法,依次包括如下步骤:
(1)设定第一NFC终端的全球身份标识号为IDFirst,第二NFC终端的全球身份标识号为IDSecond,第三方可信机构为TSM;其中,第三方可信机构TSM用于存储第一NFC终端的匿名身份、第二NFC终端的匿名身份、第一NFC终端的真实IDFirst以及第二NFC终端的真实IDSecond;匿名身份由公钥、私钥、第三方可信机构TSM的全球身份标识号IDTSM以及TSM的签名组成;第二NFC终端和第一NFC终端在交易的过程中,使用第三方可信机构TSM中对应的匿名身份,以防止潜藏NFC终端对公钥的非法截获;而在第二NFC终端持有者与第一NFC终端持有者出现交易纠纷时,则可以由该第三方可信机构TSM出具第一NFC终端、第二NFC终端对应的真实IDFirst和真实IDSecond,以为解决交易纠纷提供第三方证明;
利用第一NFC终端在第三方支付平台注册对应支付账户,并由第三方支付平台存储第一NFC终端的全球身份标识号IDFirst、支付密码;支付密码可以是数字或字母或数字、字母的组合;
利用第二NFC终端在第三方支付平台注册对应收款账户,并由第三方支付平台存储第二NFC终端的全球身份标识号IDSecond
(2)第一NFC终端向第三方可信机构TSM请求使用其匿名身份时,由第三方可信机构TSM产生第一NFC终端的匿名身份集合PSFirst,并将此匿名身份集合PSFirst发送给第一NFC终端;第三方可信机构TSM则存储发送给第一NFC终端的匿名身份集合PSFirst以及第一NFC终端的真实IDFirst;其中,第三方可信机构TSM生成第一NFC终端的匿名身份过程包括:
(2-1)在第三方可信机构TSM接收到第一NFC终端的匿名身份请求时,第三方可信机构TSM产生n个随机值其中,表示第一NFC终端的第i个匿名身份的私钥;
(2-2)第三方可信机构TSM将其产生的各随机值与椭圆曲线基点G相乘,得到n个公钥其中,表示第一NFC终端的第i个匿名身份的公钥,基点G在椭圆曲线上,椭圆曲线为:E:y2=x3+ax+bmodn1,E为椭圆曲线,a,b为椭圆曲线E的系数,(x,y)是椭圆曲线E上的点,n1是椭圆曲线E的阶,其中,在本实施例的椭圆曲线E中:
a=-3,
b=64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1,
n1=6277101735386680763835789423176059013767194773182842284081;
(2-3)第三方可信机构TSM根据第一NFC终端的第i个匿名身份的私钥以及对应该私钥的公钥产生得到对应第一NFC终端的第i个匿名身份的第三方可信机构TSM签名签名表示第三方可信机构TSM对第一NFC终端的第i个匿名身份进行了认证:
S T S M i = Sig k T S M ( Q F i r s t i || Enc Q F i r s t ( k F i r s t i ) || ID T S M ) ;
其中,EncK(m)表示用密钥K对信息m加密,Sigk(m)表示用密钥k对信息m签名,||为连接符号;
(2-4)第三方可信机构TSM根据其所产生的第一NFC终端的第i个匿名身份的签名得到第一NFC终端的匿名身份集合PSFirst,其中:
PS F i r s t = ( Q F i r s t i | | Enc Q F i r s t ( k F i r s t i ) | | ID T S M | | S T S M i ) ;
(3)第一NFC终端接收到第三方可信机构TSM发送的匿名身份集合PSFirst后,断开其与第三方可信机构TSM的通信,并对第一NFC终端与第二NFC终端之间的NFC安全协议进行激活;NFC安全协议的激活过程包括如下几个步骤:
(3-1)第一NFC终端产生随机数NFirst和随机整数RFirst,并计算、得到其自更新公钥然后将和NFirst压缩后发送给第二NFC终端,其中经压缩分别变成QFirst”i、QFirst'i是基点为G的椭圆曲线E上的点,
Q ′ F i r s t i = R F i r s t · Q F i r s t i = R F i r s t · k F i r s t i G ,
Q ′ ′ F i r s t i = R F i r s t · k F i r s t i Q T S M + Q F i r s t i = R F i r s t · k F i r s t i · k T S M G + k F i r s t i G ;
(3-2)第二NFC终端产生随机数NSecond和随机整数RSecond,并计算、得到其自更新公钥然后将和NSecond压缩后发送给第一NFC终端,其中经压缩分别变成QSecond”i、QSecond'i
Q ′ S e c o n d i = R S e c o n d · Q S e c o n d i = R S e c o n d · k S e c o n d i G ,
Q ′ ′ S e c o n d i = R S e c o n d · k S e c o n d i Q T S M + Q S e c o n d i = R S e c o n d · k S e c o n d i · k T S M G + k S e c o n d i G ;
(3-3)根据第一NFC终端与第二NFC终端互相交换的公钥及随机数,分别计算其共同点P(Px,Py)、共享秘值z及共享秘钥QSSE
(a)第一NFC终端计算得到共同点P(Px,Py)、共享秘值z及共享秘钥QSSE_First,计算得到第一NFC终端发送的密钥验证标签MacTagFirst,并发送密钥验证标签MacTagFirst给第二NFC终端验证:
P = R S e c o n d · k S e c o n d i Q ′ F i r s t i ;
z=Px
QSSE_First=KDF(NFirst,NSecond,IDFirst,IDSecond,Z);
MacTag F i r s t = f ( Q S S E _ F i r s t , ID F i r s t , ID S e c o n d , Q ′ ′ F i r s t i , Q ′ ′ S e c o n d i ) ;
其中,Z为共享秘值z转换后得到的对应的8比特字符串,共享秘值z与8比特字符串Z之间的转换公式为:
z = Σ i = 1 k 2 8 ( k - 1 ) M i ;
z是非负整数,字符串预期长度K满足28K>z,输出的M1,M2,…,Mk是字符串Z从左到右的位值;
验证标签MacTagFirst计算使用ISO/IEC11770-3定义的密钥验证机制:
MacTagFirst=MAC-KC(QSSE_First,0x03,IDFirst,IDSecond,QFirst,QSecond);
该密钥验证机制使用AES加密XCBC-MAC-96模式,计算得:
MacTagFirst=AES-XCBC-MAC-96QSSE_First(0x03||IDFirst||IDSecond||QFirst||QSecond);
(b)第二NFC终端计算得到共同点P(Px,Py)、共享秘值z及共享秘钥QSSE_second,验证第一NFC终端发送的密钥验证标签MacTagFirst,并计算得到第二NFC终端的密钥验证标签MacTagSecond,发送密钥验证标签MacTagSecond给第一NFC终端验证:
P = R F i r s t · k F i r s t i Q ′ S e c o n d i ;
z=Px
QSSE_second=KDF(NFirst,NSecond,IDFirst,IDSecond,Z);
MacTag S e c o n d = f ( Q S S E _ s e c o n d , ID S e c o n d , ID F i r s t , Q ′ ′ S e c o n d i , Q ′ ′ F i r s t i ) ;
验证标签MacTagSecond计算使用ISO/IEC11770-3定义的密钥验证机制:
MacTagSecond=MAC-KC(QSSE_Second,0x03,IDSecond,IDFirst,QSecond,QFirst);
该密钥验证机制使用AES加密XCBC-MAC-96模式,计算得:
MacTagSecond=AES-XCBC-MAC
-96QSSE_Second(0x03||IDSecond||IDFirst||QSecond||QFirst);
(3-4)当第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,且第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过时,则第一NFC终端、第二NFC终端均以QSSE作为共享秘钥,并进行数据通信连接,然后执行步骤(4),其中QSSE=QSSE_First=QSSE_second;否则,则中断第一NFC终端与第二NFC终端之间的通信连接;其中,
第二NFC终端验证第一NFC终端的密钥验证标签MacTagFirst过程包括:第二NFC终端根据其计算得到的共享秘钥QSSE_second,计算第一NFC终端的密钥验证标签MacTag'First,其中 MacTag ′ F i r s t = f ( Q S S E _ s e c o n d , ID F i r s t , ID S e c o n d , Q ′ ′ F i r s t i , Q ′ ′ S e c o n d i ) ; 若MacTag'First=MacTagFirst,则表示第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,否则,表示验证未通过;
第一NFC终端验证第二NFC终端的密钥验证标签MacTagSecond过程包括:第一NFC终端根据其计算得到的共享秘钥QSSE_First,计算第二NFC终端的密钥验证标签MacTag'Second,其中 MacTag ′ S e c o n d = f ( Q S S E _ F i r s t , ID S e c o n d , ID F i r s t , Q ′ ′ S e c o n d i , Q ′ ′ F i r s t i ) ; 若MacTag'Second=MacTagSecond,则表示第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过,否则,表示验证未通过;
其中,密钥验证标签MacTag'First、MacTag'Second的计算均使用ISO/IEC11770-3定义的密钥验证机制,密钥验证机制均使用AES加密XCBC-MAC-96模式;
(4)利用第一NFC终端生成虚拟键盘,并通过虚拟键盘输入支付密码,然后由第一NFC终端将支付密码、全球身份标识号ID'First发送给第三方支付平台,其中,所述虚拟键盘的界面为动态界面,且动态界面上具有0~9十个数字,数字在动态界面上的布局上随机的;图2给出了虚拟键盘上0~9十个数字的随机布局情况;另外,虚拟键盘上也可以是字母或者字母、数字的组合,图3给出了虚拟键盘上为字母和数字组合布局的示意图;
(5)第三方支付平台接收第一NFC终端发送的支付密码和全球身份标识号ID'First,且判断接收的支付密码、全球身份标识号ID'First与第三方支付平台内存储的预设支付密码、全球身份标识号IDFirst一致时,则将第一NFC终端对应支付账户的款项转入给第二NFC终端对应的收款账户,并发送成功支付通知给第一NFC终端。
在移动支付过程中,近场通信的第一NFC终端、第二NFC终端分别将各自真实ID存储在第三方可信机构,第三方可信机构存储两个NFC终端的匿名身份;当进行移动支付时,第一NFC终端向第三方可信机构请求使用其匿名身份,计算、发送自身的自更新公钥和密钥验证标签给第二NFC终端验证;第二NFC终端同样发送其自更新公钥、密钥验证标签给第一NFC终端验证;当第一NFC终端、第二NFC终端的密钥验证标签均被对方验证通过且自更新公钥均相同时,则第一NFC终端、第二NFC终端以其相同的自更新公钥作为双方的共享公钥,完成通信双方的支付过程。由于通信双方之间使用的是不断更新的公钥进行加密,并利用匿名身份对通信双方身份进行隐藏,从而有效地保护了支付交易双方的隐私和信息安全。

Claims (2)

1.基于近场通信的移动支付加密方法,其特征在于,依次包括如下步骤:
(1)设定第一NFC终端的全球身份标识号为IDFirst,第二NFC终端的全球身份标识号为IDSecond,第三方可信机构为TSM;其中,第三方可信机构TSM用于存储第一NFC终端的匿名身份、第二NFC终端的匿名身份、第一NFC终端的真实IDFirst以及第二NFC终端的真实IDSecond;匿名身份由公钥、私钥、第三方可信机构TSM的全球身份标识号IDTSM以及TSM的签名组成;
利用第一NFC终端在第三方支付平台注册对应支付账户,并由第三方支付平台存储第一NFC终端的全球身份标识号IDFirst、支付密码;
利用第二NFC终端在第三方支付平台注册对应收款账户,并由第三方支付平台存储第二NFC终端的全球身份标识号IDSecond
(2)第一NFC终端向第三方可信机构TSM请求使用其匿名身份时,由第三方可信机构TSM产生第一NFC终端的匿名身份集合PSFirst,并将此匿名身份集合PSFirst发送给第一NFC终端;第三方可信机构TSM则存储发送给第一NFC终端的匿名身份集合PSFirst以及第一NFC终端的真实IDFirst;其中,第三方可信机构TSM生成第一NFC终端的匿名身份过程包括:
(2-1)在第三方可信机构TSM接收到第一NFC终端的匿名身份请求时,第三方可信机构TSM产生n个随机值其中,表示第一NFC终端的第i个匿名身份的私钥;
(2-2)第三方可信机构TSM将其产生的各随机值与椭圆曲线基点G相乘,得到n个公钥其中,表示第一NFC终端的第i个匿名身份的公钥,基点G在椭圆曲线上,椭圆曲线为:E:y2=x3+ax+bmodn1,E为椭圆曲线,a,b为椭圆曲线E的系数,(x,y)是椭圆曲线E上的点,n1是椭圆曲线E的阶;
(2-3)第三方可信机构TSM根据第一NFC终端的第i个匿名身份的私钥以及对应该私钥的公钥产生得到对应第一NFC终端的第i个匿名身份的第三方可信机构TSM签名
S T S M i = Sig k T S M ( Q F i r s t i || Enc Q F i r s t ( k F i r s t i ) || ID T S M ) ;
其中,EncK(m)表示用密钥K对信息m加密,Sigk(m)表示用密钥k对信息m签名,||为连接符号;
(2-4)第三方可信机构TSM根据其所产生的第一NFC终端的第i个匿名身份的签名得到第一NFC终端的匿名身份集合PSFirst,其中:
PS F i r s t = ( Q F i r s t i | | Enc Q F i r s t ( k F i r s t i ) | | ID T S M | | S T S M i ) ;
(3)第一NFC终端接收到第三方可信机构TSM发送的匿名身份集合PSFirst后,断开其与第三方可信机构TSM的通信,并对第一NFC终端与第二NFC终端之间的NFC安全协议进行激活:
(3-1)第一NFC终端产生随机数NFirst和随机整数RFirst,并计算、得到其自更新公钥然后将和NFirst压缩后发送给第二NFC终端,其中经压缩分别变成QFirst”i、QFirst'i是基点为G的椭圆曲线E上的点,
Q ′ F i r s t i = R F i r s t · Q F i r s t i = R F i r s t · k F i r s t i G ,
Q ′ ′ F i r s t i = R F i r s t · k F i r s t i Q T S M + Q F i r s t i = R F i r s t · k F i r s t i · k T S M G + k F i r s t i G ;
(3-2)第二NFC终端产生随机数NSecond和随机整数RSecond,并计算、得到其自更新公钥然后将和NSecond压缩后发送给第一NFC终端,其中经压缩分别变成QSecond”i、QSecond'i
Q ′ S e c o n d i = R S e c o n d · Q S e c o n d i = R S e c o n d · k S e c o n d i G ,
Q ′ ′ S e c o n d i = R S e c o n d · k S e c o n d i Q T S M + Q S e c o n d i = R S e c o n d · k S e c o n d i · k T S M G + k S e c o n d i G ;
(3-3)根据第一NFC终端与第二NFC终端互相交换的公钥及随机数,分别计算其共同点P(Px,Py)、共享秘值z及共享秘钥QSSE
(a)第一NFC终端计算得到共同点P(Px,Py)、共享秘值z及共享秘钥QSSE_First,计算得到第一NFC终端发送的密钥验证标签MacTagFirst,并发送密钥验证标签MacTagFirst给第二NFC终端验证:
P = R S e c o n d · k S e c o n d i Q ′ F i r s t i ;
z=Px
QSSE_First=KDF(NFirst,NSecond,IDFirst,IDSecond,Z);
MacTag F i r s t = f ( Q S S E _ F i r s t , ID F i r s t , ID S e c o n d , Q ′ ′ F i r s t i , Q ′ ′ S e c o n d i ) ;
其中,Z为共享秘值z转换后得到的对应的8比特字符串,共享秘值z与8比特字符串Z之间的转换公式为:
z = Σ i = 1 k 2 8 ( k - 1 ) M i ;
z是非负整数,字符串预期长度K满足28K>z,输出的M1,M2,...,Mk是字符串Z从左到右的位值;
验证标签MacTagFirst计算使用ISO/IEC11770-3定义的密钥验证机制:
MacTagFirst=MAC-KC(QSSE_First,0x03,IDFirst,IDSecond,QFirst,QSecond);
该密钥验证机制使用AES加密XCBC-MAC-96模式,计算得:
MacTagFirst=AES-XCBC-MAC-96QSSE_First(0x03||IDFirst||IDSecond||QFirst||QSecond);
(b)第二NFC终端计算得到共同点P(Px,Py)、共享秘值z及共享秘钥QSSE_second,验证第一NFC终端发送的密钥验证标签MacTagFirst,并计算得到第二NFC终端的密钥验证标签MacTagSecond,发送密钥验证标签MacTagSecond给第一NFC终端验证:
P = R F i r s t · k F i r s t i Q ′ S e c o n d i ;
z=Px
QSSE_second=KDF(NFirst,NSecond,IDFirst,IDSecond,Z);
MacTag S e c o n d = f ( Q S S E _ s e c o n d , ID S e c o n d , ID F i r s t , Q ′ ′ S e c o n d i , Q ′ ′ F i r s t i ) ;
验证标签MacTagSecond计算使用ISO/IEC11770-3定义的密钥验证机制:
MacTagSecond=MAC-KC(QSSE_Second,0x03,IDSecond,IDFirst,QSecond,QFirst);
该密钥验证机制使用AES加密XCBC-MAC-96模式,计算得:
MacTagSecond=AES-XCBC-MAC
-96QSSE_Second(0x03||IDSecond||IDFirst||QSecond||QFirst);
(3-4)当第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,且第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过时,则第一NFC终端、第二NFC终端均以QSSE作为共享秘钥,并进行数据通信连接,然后执行步骤(4),其中QSSE=QSSE_First=QSSE_second;否则,则中断第一NFC终端与第二NFC终端之间的通信连接;其中,
第二NFC终端验证第一NFC终端的密钥验证标签MacTagFirst过程包括:第二NFC终端根据其计算得到的共享秘钥QSSE_second,计算第一NFC终端的密钥验证标签MacTag'First,其中 MacTag ′ F i r s t = f ( Q S S E _ s e c o n d , ID F i r s t , ID S e c o n d , Q ′ ′ F i r s t i , Q ′ ′ S e c o n d i ) ; 若MacTag'First=MacTagFirst,则表示第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,否则,表示验证未通过;
第一NFC终端验证第二NFC终端的密钥验证标签MacTagSecond过程包括:第一NFC终端根据其计算得到的共享秘钥QSSE_First,计算第二NFC终端的密钥验证标签MacTag'Second,其中 MacTag ′ S e c o n d = f ( Q S S E _ F i r s t , ID S e c o n d , ID F i r s t , Q ′ ′ S e c o n d i , Q ′ ′ F i r s t i ) ; 若MacTag'Second=MacTagSecond,则表示第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过,否则,表示验证未通过;
其中,密钥验证标签MacTag'First、MacTag'Second的计算均使用ISO/IEC11770-3定义的密钥验证机制,密钥验证机制均使用AES加密XCBC-MAC-96模式;
(4)利用第一NFC终端生成虚拟键盘,并通过虚拟键盘输入支付密码,然后由第一NFC终端将支付密码、全球身份标识号ID'First发送给第三方支付平台,其中,所述虚拟键盘的界面为动态界面,且动态界面上具有0~9十个数字,所述数字在动态界面上的布局上随机的;
(5)第三方支付平台接收第一NFC终端发送的支付密码和全球身份标识号ID'First,且判断接收的支付密码、全球身份标识号ID'First与第三方支付平台内存储的预设支付密码、全球身份标识号IDFirst一致时,则将第一NFC终端对应支付账户的款项转入给第二NFC终端对应的收款账户,并发送成功支付通知给第一NFC终端。
2.根据权利要求1所述的基于近场通信的移动支付加密方法,其特征在于,所述步骤(2-2)中的椭圆曲线E中:
a=-3,
b=64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1,
n1=6277101735386680763835789423176059013767194773182842284081。
CN201510560440.7A 2015-09-06 2015-09-06 基于近场通信的移动支付加密方法 Active CN105228087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510560440.7A CN105228087B (zh) 2015-09-06 2015-09-06 基于近场通信的移动支付加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510560440.7A CN105228087B (zh) 2015-09-06 2015-09-06 基于近场通信的移动支付加密方法

Publications (2)

Publication Number Publication Date
CN105228087A true CN105228087A (zh) 2016-01-06
CN105228087B CN105228087B (zh) 2019-04-09

Family

ID=54996711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510560440.7A Active CN105228087B (zh) 2015-09-06 2015-09-06 基于近场通信的移动支付加密方法

Country Status (1)

Country Link
CN (1) CN105228087B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813012A (zh) * 2016-05-12 2016-07-27 宁波大学 近场通信设备的协同中继通信方法
CN107545414A (zh) * 2017-07-17 2018-01-05 招商银行股份有限公司 匿名交易方法、装置及计算机可读存储介质
CN108055293A (zh) * 2017-11-10 2018-05-18 阿里巴巴集团控股有限公司 应用程序中业务快速启动方法及装置和电子设备
CN113723941A (zh) * 2016-05-27 2021-11-30 腾讯科技(深圳)有限公司 信息更新的方法、装置以及服务器
CN114727280A (zh) * 2022-03-21 2022-07-08 慧之安信息技术股份有限公司 基于物联网的匿名化身份认证方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835007A (zh) * 2006-04-07 2006-09-20 浙江通普通信技术有限公司 基于移动通信网络的移动支付方法
US20130040563A1 (en) * 2011-08-11 2013-02-14 Pilsang KIM Mobile terminal and payment method thereof
CN202887320U (zh) * 2012-02-21 2013-04-17 杭州路享科技有限公司 一种基于nfc认证系统的支付装置
CN103778730A (zh) * 2013-12-31 2014-05-07 宇龙计算机通信科技(深圳)有限公司 提高移动终端近场通信支付安全性的方法、系统及其终端
US20150052258A1 (en) * 2014-09-29 2015-02-19 Weaved, Inc. Direct map proxy system and protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835007A (zh) * 2006-04-07 2006-09-20 浙江通普通信技术有限公司 基于移动通信网络的移动支付方法
US20130040563A1 (en) * 2011-08-11 2013-02-14 Pilsang KIM Mobile terminal and payment method thereof
CN202887320U (zh) * 2012-02-21 2013-04-17 杭州路享科技有限公司 一种基于nfc认证系统的支付装置
CN103778730A (zh) * 2013-12-31 2014-05-07 宇龙计算机通信科技(深圳)有限公司 提高移动终端近场通信支付安全性的方法、系统及其终端
US20150052258A1 (en) * 2014-09-29 2015-02-19 Weaved, Inc. Direct map proxy system and protocol

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813012A (zh) * 2016-05-12 2016-07-27 宁波大学 近场通信设备的协同中继通信方法
CN105813012B (zh) * 2016-05-12 2019-04-09 宁波大学 近场通信设备的协同中继通信方法
CN113723941A (zh) * 2016-05-27 2021-11-30 腾讯科技(深圳)有限公司 信息更新的方法、装置以及服务器
CN107545414A (zh) * 2017-07-17 2018-01-05 招商银行股份有限公司 匿名交易方法、装置及计算机可读存储介质
CN107545414B (zh) * 2017-07-17 2020-09-25 招商银行股份有限公司 匿名交易方法、装置及计算机可读存储介质
CN108055293A (zh) * 2017-11-10 2018-05-18 阿里巴巴集团控股有限公司 应用程序中业务快速启动方法及装置和电子设备
US10785627B2 (en) 2017-11-10 2020-09-22 Alibaba Group Holding Limited Quick enabling method and apparatus for service in application program and electronic device
US10945114B2 (en) 2017-11-10 2021-03-09 Advanced New Technologies Co., Ltd. Quick enabling method and apparatus for service in application program and electronic device
CN114727280A (zh) * 2022-03-21 2022-07-08 慧之安信息技术股份有限公司 基于物联网的匿名化身份认证方法和系统

Also Published As

Publication number Publication date
CN105228087B (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
US8275123B2 (en) Integrated data transceiver and sensor for the generation of a symmetrical cryptographic key
WO2017002405A1 (ja) 車載情報通信システム及び認証方法
JP5180678B2 (ja) Icカード、icカードシステムおよびその方法
CN106845304B (zh) 一种实现rfid系统中阅读器与标签认证的方法与系统
CN105228087A (zh) 基于近场通信的移动支付加密方法
CN106603496B (zh) 一种数据传输的保护方法、智能卡、服务器及通信系统
CN109257346B (zh) 基于区块链的隐蔽传输系统
CN106527673A (zh) 绑定可穿戴设备的方法和装置、电子支付方法和装置
TW200307438A (en) System and method for acoustic two factor authentication
US10044684B2 (en) Server for authenticating smart chip and method thereof
US20150372813A1 (en) System and method for generating a random number
CN114070614B (zh) 身份认证方法、装置、设备、存储介质和计算机程序产品
CN109257183A (zh) 基于量子游走隐形传输的仲裁量子签名方法
CN110166228A (zh) 车载自组织网络中基于无证书环签密的隐私保护方法
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和系统
CN110402560A (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
JP6279765B2 (ja) 銀行posとモバイルターミナルとの通信の暗号化方法及び銀行pos
CN104240077B (zh) 一种基于短距离无线通信技术的编码加密器
CN105682092B (zh) 一种基于近距离无线通讯技术的双向认证方法
CN103916834A (zh) 一种用户独享密钥的短信加密方法和系统
CN105427102A (zh) 基于金融ic卡的认证方法及其相应的设备和系统
Kisore et al. A secure SMS protocol for implementing digital cash system
CN105245257A (zh) 近场通信设备间的点对点支付通信方法
CN105228088A (zh) 移动支付近场通信的自更新公钥密钥交换方法
US11265161B2 (en) System and method for computing an escrow session key and a private session key for encoding digital communications between two devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant