CN105228088A - 移动支付近场通信的自更新公钥密钥交换方法 - Google Patents

移动支付近场通信的自更新公钥密钥交换方法 Download PDF

Info

Publication number
CN105228088A
CN105228088A CN201510560451.5A CN201510560451A CN105228088A CN 105228088 A CN105228088 A CN 105228088A CN 201510560451 A CN201510560451 A CN 201510560451A CN 105228088 A CN105228088 A CN 105228088A
Authority
CN
China
Prior art keywords
nfc terminal
mactag
prime
key
key authentication
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
CN201510560451.5A
Other languages
English (en)
Other versions
CN105228088B (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 CN201510560451.5A priority Critical patent/CN105228088B/zh
Publication of CN105228088A publication Critical patent/CN105228088A/zh
Application granted granted Critical
Publication of CN105228088B publication Critical patent/CN105228088B/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

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

Abstract

本发明涉及移动支付近场通信的自更新公钥密钥交换方法,第一NFC终端、第二NFC终端分别将各自真实ID存储在第三方可信机构且第三方可信机构存储两个NFC终端的匿名身份;当两个NFC终端近场通信时,第一NFC终端向第三方可信机构请求使用其匿名身份、获取其匿名身份集合,计算其自更新公钥和密钥验证标签,发送自更新公钥和密钥验证标签给第二NFC终端验证;第二NFC终端同样地发送其自更新公钥、密钥验证标签给第一NFC终端验证;当第一NFC终端、第二NFC终端的密钥验证标签均被对方验证通过且自更新公钥均相同时,第一NFC终端、第二NFC终端以其相同的自更新公钥为双方的共享公钥,完成近场通信中数据的安全加密过程。

Description

移动支付近场通信的自更新公钥密钥交换方法
技术领域
本发明涉及移动支付领域,尤其涉及一种移动支付近场通信的自更新公钥密钥交换方法。
背景技术
移动支付也称为手机支付,就是允许用户使用其移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式。单位或个人通过移动设备、互联网或者近距离传感直接或间接向银行金融机构发送支付指令产生货币支付与资金转移行为,从而实现移动支付功能。移动支付主要分为近场支付和远程支付两种。所谓近场支付,就是用移动终端刷卡的方式坐车、买东西等实现的便利支付方式。远程支付是指通过发送支付指令(如网银、电话银行、手机支付等)或借助支付工具(如通过邮寄、汇款)进行的支付方式。
随着移动终端的不断普及,近场支付因其支付更为便利的优势,逐渐取代远程支付,成为现代消费中新兴的付款方式。近场支付是借助于终端技术和近场通信(NearFieldCommunication,简称NFC)技术的发展而兴起的。近场通信作为快速、低功耗的近距离通信技术,其与智能移动终端的结合,可以使人们获得更便捷、安全的线下移动支付体验。NFC移动近场支付是未来移动支付的发展趋势。然而,安全性是移动近场支付通信面临的重大挑战。
在移动支付中,密钥的协商与认证是移动支付安全的关键。标准NFC安全协议中,近场通信双方使用的公钥是一个固定值,并且通信者发送的消息具有相关性。攻击者一旦获得用户的公钥,便可窃取用户的隐私信息,并且攻击者确切地知道消息是由哪个用户发出的,造成交易极大的安全隐患。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种在近场通信中,通信双方之间既使用动态公钥密钥进行交易,又使用匿名身份对通信双方身份进行保密的移动支付近场通信的自更新公钥密钥交换方法。
本发明解决上述技术问题所采用的技术方案为:移动支付近场通信的自更新公钥密钥交换方法,其特征在于,依次包括如下步骤:
(1)设定第一NFC终端的全球身份标识号为IDFirst,第二NFC终端的全球身份标识号为IDSecond,第三方可信机构为TSM;其中,第三方可信机构TSM用于存储第一NFC终端的匿名身份、第二NFC终端的匿名身份、第一NFC终端的真实IDFirst以及第二NFC终端的真实IDSecond;匿名身份由公钥、私钥、第三方可信机构TSM的全球身份标识号IDTSM以及TSM的签名组成;
(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作为共享秘钥,并进行数据通信连接,其中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模式。
进一步地,所述步骤(2-2)中的椭圆曲线E中:
a=-3,
b=64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1,
n1=6277101735386680763835789423176059013767194773182842284081。
与现有技术相比,本发明的优点在于:在移动支付的近场通信中,通信双方中的第一NFC终端、第二NFC终端首先分别将各自的真实ID存储在第三方可信机构中,同时第三方可信机构存储两个NFC终端的匿名身份;当两个NFC终端需要进行近场通信时,则由第一NFC终端向第三方可信机构请求使用其匿名身份,并在获得其匿名身份集合后,计算得到自身的自更新公钥和密钥验证标签,并发送自更新公钥和密钥验证标签给第二NFC终端进行验证;而第二NFC终端也同样的发送其计算的自更新公钥、密钥验证标签给第一NFC终端进行验证;当第一NFC终端、第二NFC终端的密钥验证标签均被对方验证通过,且自更新公钥均相同时,则第一NFC终端、第二NFC终端以其相同的自更新公钥为双方的共享公钥,从而完成近场通信中的数据交互过程。
附图说明
图1为本发明实施例中移动支付近场通信的自更新公钥密钥交换方法的流程示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图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,以为解决交易纠纷提供第三方证明;
(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)和步骤(b):
(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 ) ;
其中,QSSE_First表示第一NFC终端自身根据已有参数得到的共享秘钥,该共享秘钥QSSE_First与第一NFC终端、第二NFC终端之间的真实共享秘钥QSSE未必相同;Z为共享秘值z转换后得到的对应的8比特字符串,共享秘值z与8比特字符串Z之间的转换公式为:
z = Σ i = 1 k 2 8 ( k - 1 ) M i ;
z是非负整数,字符串预期长度K满足28K>z,输出的M1,M2,K,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终端之间的数据传送没有受到攻击者的攻击,此时第一NFC终端与第二NFC终端通信上安全的,则第一NFC终端、第二NFC终端均以QSSE作为共享秘钥,并进行数据通信连接,其中QSSE=QSSE_First=QSSE_second;否则,则中断第一NFC终端与第二NFC终端之间的通信连接;其中,
第二NFC终端验证第一NFC终端的密钥验证标签MacTagFirst过程包括:第二NFC终端根据其计算得到的共享秘钥QSSE_second,计算第一NFC终端的密钥验证标签 MacTag ′ F i r s t , 其中 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 ) ; 则表示第一NFC终端的密钥验证标签MacTagFirst被第二NFC终端验证通过,否则,表示验证未通过;
第一NFC终端验证第二NFC终端的密钥验证标签MacTagSecond过程包括:第一NFC终端根据其计算得到的共享秘钥QSSE_First,计算第二NFC终端的密钥验证标签 MacTag ′ S e c o n d , 其中 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 ) ; 则表示第二NFC终端的密钥验证标签MacTagSecond被第一NFC终端验证通过,否则,表示验证未通过;
其中,密钥验证标签的计算均使用ISO/IEC11770-3定义的密钥验证机制,密钥验证机制均使用AES加密XCBC-MAC-96模式。
可知,在移动支付近场通信中,第一NFC终端与第二NFC终端之间既使用动态公钥密钥进行交易,又使用第三方可信机构产生的匿名身份对通信双方的身份进行保密,从而保证了移动支付近场通信双方之间数据的安全加密交互,保证了移动支付交易的安全。

Claims (2)

1.移动支付近场通信的自更新公钥密钥交换方法,其特征在于,依次包括如下步骤:
(1)设定第一NFC终端的全球身份标识号为IDFirst,第二NFC终端的全球身份标识号为IDSecond,第三方可信机构为TSM;其中,第三方可信机构TSM用于存储第一NFC终端的匿名身份、第二NFC终端的匿名身份、第一NFC终端的真实IDFirst以及第二NFC终端的真实IDSecond;匿名身份由公钥、私钥、第三方可信机构TSM的全球身份标识号IDTSM以及TSM的签名组成;
(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作为共享秘钥,并进行数据通信连接,其中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模式。
2.根据权利要求1所述的自更新公钥密钥交换方法,其特征在于,所述步骤(2-2)中的椭圆曲线E中:
a=-3,
b=64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1,
n1=6277101735386680763835789423176059013767194773182842284081。
CN201510560451.5A 2015-09-06 2015-09-06 移动支付近场通信的自更新公钥密钥交换方法 Active CN105228088B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510560451.5A CN105228088B (zh) 2015-09-06 2015-09-06 移动支付近场通信的自更新公钥密钥交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510560451.5A CN105228088B (zh) 2015-09-06 2015-09-06 移动支付近场通信的自更新公钥密钥交换方法

Publications (2)

Publication Number Publication Date
CN105228088A true CN105228088A (zh) 2016-01-06
CN105228088B CN105228088B (zh) 2019-01-22

Family

ID=54996712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510560451.5A Active CN105228088B (zh) 2015-09-06 2015-09-06 移动支付近场通信的自更新公钥密钥交换方法

Country Status (1)

Country Link
CN (1) CN105228088B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199850A (zh) * 2018-01-19 2018-06-22 电子科技大学 一种用于nfc的匿名安全认证与密钥协商方法

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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199850A (zh) * 2018-01-19 2018-06-22 电子科技大学 一种用于nfc的匿名安全认证与密钥协商方法

Also Published As

Publication number Publication date
CN105228088B (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN106779636B (zh) 一种基于手机耳机接口的区块链数字货币钱包
US20190260578A1 (en) Efficient methods for protecting identity in authenticated transmissions
CN106603496B (zh) 一种数据传输的保护方法、智能卡、服务器及通信系统
CN109064324A (zh) 基于联盟链的交易方法、电子装置及可读存储介质
US10044684B2 (en) Server for authenticating smart chip and method thereof
CN103414559B (zh) 一种云计算环境下的基于类ibe系统的身份认证方法
WO2017190633A1 (zh) 验证金融卡用户身份可靠性的方法及装置
CN104463576A (zh) 一种基于线上支付的nfc移动支付的通信方法
CN103914913A (zh) 一种智能卡应用场景识别方法及系统
CN105228087B (zh) 基于近场通信的移动支付加密方法
CN104462949A (zh) 一种插件的调用方法及装置
CN104376465A (zh) 一种安全的移动支付方法
CN109068322A (zh) 解密方法、系统、移动终端、服务器及存储介质
CN110402560A (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
CN109754241A (zh) 一种硬钱包及基于硬钱包的验证方法
CN110046906A (zh) 一种mpos机与服务器的双向认证交易方法及系统
CN104240077B (zh) 一种基于短距离无线通信技术的编码加密器
CN109614803A (zh) 一种票据防伪方法及系统
CN104618113B (zh) 一种移动端身份认证及安全信道建立的方法
KR101428865B1 (ko) Nfc 모바일 결제정보보호를 위한 ntru 암호체계 기반 영지식 증명 시스템 및 방법
CN100511292C (zh) 电子银行认证方法,及采用该方法的系统和智能卡
CN105761078A (zh) 一种电子货币支付系统及其方法
CN102136057A (zh) 一种2.4g/13.56m 安全射频卡读卡器及其认证方法
CN104320261A (zh) 金融智能卡上实现身份认证的方法、金融智能卡和终端
CN105228088A (zh) 移动支付近场通信的自更新公钥密钥交换方法

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