CN101719830B - Nfc认证方法和系统 - Google Patents

Nfc认证方法和系统 Download PDF

Info

Publication number
CN101719830B
CN101719830B CN200910225721A CN200910225721A CN101719830B CN 101719830 B CN101719830 B CN 101719830B CN 200910225721 A CN200910225721 A CN 200910225721A CN 200910225721 A CN200910225721 A CN 200910225721A CN 101719830 B CN101719830 B CN 101719830B
Authority
CN
China
Prior art keywords
nfc
key
database
operation result
nfc label
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.)
Expired - Fee Related
Application number
CN200910225721A
Other languages
English (en)
Other versions
CN101719830A (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.)
Liu Baohong
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN200910225721A priority Critical patent/CN101719830B/zh
Publication of CN101719830A publication Critical patent/CN101719830A/zh
Application granted granted Critical
Publication of CN101719830B publication Critical patent/CN101719830B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明揭示一种NFC认证方法,包括:NFC卷标应答于NFC装置的携带第一随机数的询问指令,将预设的第一密钥与第一随机数进行哈希运算得第一运算结果,并将第一运算结果以及NFC卷标唯一标识码UID发送至NFC装置;NFC装置将第一运算结果、NFC卷标UID和第一随机数发送给数据库;数据库根据NFC卷标UID查询预存储的第一密钥,利用第一密钥与第一随机数进行哈希运算得到第二运算结果,对比第一运算结果与第二运算结果,根据比较结果判断NFC卷标的认证结果。本发明通过NFC卷标和数据库之间的信息采用Hash运算传递,并通过对比Hash运算结果判断是否认证成功;在不增加NFC卷标成本,增强NFC的安全性。

Description

NFC认证方法和系统
技术领域
本发明涉及到通信技术领域,特别涉及到一种NFC(Near FieldCommunication,近距离无线传输)认证方法和系统。
背景技术
NFC是一种类似于RFID(Radio Frequency Identification,非接触式射频识别)的短距离无线通信技术标准。和RFID不同,NFC采用了双向的识别和连接。NFC工作在13.56MHz频段,可覆盖几厘米距离,可实现传输速率106kbit/s、212kbit/s、424kbit/s,理想速率可以达到1Mbit/s(目前为424kbit/s),并且它符合ISO18092、ISO21481、ECMA(340、352、356、373)、ETSITS102和190标准。NFC兼容以ISO14443A为基础的感应式智能卡基础架构。内置NFC芯片的设备,如移动电话、数码相机、PDA、计算机、游戏机、计算机外围设备等,可在20cm的距离内以无线方式相互传送数据,并自动在106kbit/s、212kbit/s、424kbit/s三个传输速度之间切换。
在NFC系统中,后端数据库(Back-end DB)可以是运行于任意硬件平台的数据库系统,NFC装置的处理能力和存储空间都比较大。后端数据库和NFC装置之间可以采用复杂的、高加密级别的算法保障系统的安全。NFC装置与NFC卷标之间是无线通信。
在具体实施过程中,本发明的发明人发现,由于NFC装置与NFC卷标之间是无线通信,NFC卷标的低成本、低功耗的局限性,在NFC卷标中不容易实现复杂认证,导致NFC装置和NFC卷标之间的无线通信不安全。
发明内容
本发明的目的之一为提供一种更加安全的NFC认证方法和系统。
本发明提出一种NFC认证方法,包括:
NFC卷标应答于NFC装置的携带第一随机数的询问指令,将预设的卷标第一密钥与所述第一随机数进行哈希运算得到第一运算结果,并将所述第一运算结果以及NFC卷标UID(Unique Identifier,唯一标识码)发送至所述NFC装置;
所述NFC装置将所述第一运算结果、NFC卷标UID和所述第一随机数发送给数据库;
所述数据库根据所述NFC卷标UID查询预存储的数据库第一密钥,利用所述数据库第一密钥与所述第一随机数进行哈希运算得到第二运算结果,将所述第一运算结果与第二运算进行结果,并根据比较的结果判断NFC卷标的认证结果。
进一步,所述NFC卷标识别所述询问指令,根据预设的卷标第一密钥和所述第一随机数进行哈希(Hash)运算得到第一运算结果步骤后还包括:根据预设NFC卷标UID、预设第二随机数和所述NFC卷标的UID对所述第一运算结果进行掩码运算。
所述掩码运算具体为将所述第一运算结果根据所述NFC卷标的UID位串后,利用所述第二随机数进行掩码计算。
所述数据库根据所述NFC卷标UID查询预存储的数据库第一密钥前还包括:
对所述掩码后的第一运算结果进行去掩码计算,得到所述第一运算结果以及所述NFC卷标的UID。
进一步,所述NFC卷标认证通过后还包括:
所述数据库根据预设的数据库第二密钥和所述NFC卷标的UID进行Hash运算得到第三运算结果;
所述数据库发送所述第三运算结果到所述NFC卷标;
所述NFC卷标根据预先存储的所述数据库第二密钥和所述NFC卷标的UID进行Hash运算得到第四运算结果;当所述第三运算结果和所述第四运算结果相等时,数据库认证通过。
所述数据库发送所述第三运算结果到所述NFC卷标后还包括:NFC装置获取数据库第一密钥更新时间,并与当前时间进行比较,若时间差大于系统设定的密钥更新周期,则发送密钥更新信息到数据库;
数据库产生随机密钥更新序列L,与所述数据库第一密钥计算得出新密钥kx;将所述新密钥kx以及更新序列L通过NFC装置发给NFC卷标;
NFC卷标接收所述随机密钥更新序列L和新密钥kx,通过所述更新序列L和NFC卷标第一密钥计算新的密钥ky;当ky和kx一致时保存所述kx;将所述随机密钥更新序列L用新密钥kx加密后发送给所述NFC装置;
NFC装置利用之前保存的密钥kx解密得到值L′,当L′=L时,确定NFC卷标密钥更新成功,将新密钥kx发给数据库作为更新后的新密钥,同时,数据库更新本次更新时间和更新标志。在所述数据库第一密钥更新成功后,该方法还包括:NFC装置获取数据库第二密钥更新时间,并与当前时间进行比较,若时间差大于系统设定的密钥更新周期,则发送密钥更新信息到数据库;
数据库产生随机密钥更新序列L,与所述数据库第二密钥计算得出新密钥km;将所述新密钥km以及更新序列L通过NFC装置发给NFC卷标;
NFC卷标接收所述随机密钥更新序列L和新密钥km,通过所述更新序列L和NFC卷标第一密钥计算新的密钥kn;当kn和km一致时保存所述km;将所述随机密钥更新序列L用新密钥km加密后发送给所述NFC装置;
NFC装置利用之前保存的密钥km解密得到值L′,当L′=L时,确定NFC卷标密钥更新成功,将新密钥km发给数据库作为更新后的新密钥,同时,数据库更新本次更新时间和更新标志。
一种NFC认证系统,包括NFC装置、NFC卷标和数据库:
所述NFC卷标,用于响应于所述NFC装置携带第一随机数的询问指令,根据预设的卷标第一密钥和所述第一随机数进行哈希运算得到第一运算结果,并将所述第一运算结果和所述NFC卷标UID发送给所述NFC装置;
所述NFC装置,用于将所述第一运算结果、所述NFC卷标的UID与所述第一随机数发送给所述数据库;
所述数据库,用于根据所述NFC卷标的UID获取预存储的数据库第一密钥;利用所述数据库第一密钥及所述第一随机数进行哈希运算得到第二运算结果,并比较所述第一运算结果和所述第二运算结果,根据比较的结果判断NFC卷标的认证结果。
进一步,所述NFC卷标还用于根据所述NFC卷标的UID和预设第二随机数对所述第一运算进行掩码;所述掩码具体为将所述第一运算结果根据所述NFC卷标的UID位串后,利用所述第二随机数进行掩码运算。
所述数据库还用于对所述掩码后的第一运算结果进行去掩码计算,得到所述第一运算结果。
所述数据库还用于根据预设的数据库第二密钥和所述第一运算结果进行Hash运算得到第三运算结果;并将所述第三运算结果发送至NFC卷标;
所述NFC卷标,用于接收所述第三运算结果,根据预先存储的所述第二密钥和所述NFC卷标的UID进行Hash运算得到第四运算结果;当所述第三运算结果和所述运算结果相等时,NFC装置认证通过。
本发明通过NFC卷标和数据库之间的信息采用Hash运算传递,并通过对比Hash运算结果判断是否认证成功;在不增加NFC卷标成本的前提下增强了NFC的安全性。
附图说明
图1为本发明一种NFC认证方法的一实施例的信令流程图;
图2为本发明一种NFC认证系统的一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,为本发明一种NFC认证方法的一实施例的信令流程图;
在本实施例中采用的Hash运算以通用Hash函数算法为例:
在本发明实施例中NFC卷标和数据库都预先存储有一系列的密钥,在数据库中存储的密钥根据NFC卷标进行分类,每个NFC卷标对应一个队列的密钥。每次认证都按序使用密钥。
运用有限域GF(2w)中的多项式运算法则构造通用Hash函数
W H k ( M ) = Σ i = 1 n / 2 ( m 2 i - 1 + k 2 i - 1 ) ( m 2 i + k 2 i ) x ( n / 2 - i ) w ( mod p )
其中,信息和密钥均被分为n个数据信息块,M=(m1,...,mn),K=(k1,...,kn),w是每个信息块的位宽;mi,ki∈GF(2w),p是最高次数为w的不可约多项式。
步骤101、系统初始化,NFC卷标保存密钥;
步骤102、NFC装置发送携带随机数R的询问指令到NFC卷标;
步骤103、NFC卷标接收询问指令后计算得到第一运算结果a;
所述NFC卷标接收到询问指令后,识别所述询问指令;然后从自身内部EEPROM中读取预先存储的卷标密钥k1,利用所述卷标密钥k1和所述询问指令携带的随机数R进行Hash运算,公式为a=hash(R,k1),其中得到的a作为第一运算结果;
进一步的,为了达到更好的安全性,可以对第一运算结果a做一次掩码计算,采用公式M=f(a||c,p)。其中f=(x,p)表示将x用随机数p进行掩码,符号“||”表示位串,其中c为一个预设的固定值代表所述NFC卷标的唯一标识码(UID),p为一个预设的随机数。这样即使攻击者每次带相同的随机数R通过询问指令询问NFC卷标,由于随机数p的掩码,NFC卷标每次的响应是不同的,攻击者也不能跟踪NFC卷标,能够保障地点隐私,防止跟踪。
步骤104、NFC卷标发送所述第一运算结果a以及作为所述NFC卷标UID的c到所述NFC装置;
NFC卷标通过Hash运算得到第一运算结果a,采用响应消息的形式将所述第一运算结果a发送到所述NFC装置。当然,若NFC卷标对所述第一运算结果a进行了掩码,则将掩码后的M以响应消息的形式发送到所述NFC装置,掩码后的M中即携带了c。
步骤105、NFC装置转发所述第一运算结果a、NFC卷标的UID c和所述随机数R到数据库;
NFC装置将所述第一运算结果a和所述随机数R发送到数据库。在以下说明中都采用所述第一运算结果a经过掩码为例进行解释。
所述NFC装置可以通过防冲突机制识别到NFC卷标通过响应消息发送的M,然后发送所述M和所述随机数R给数据库。
步骤106、数据库获取数据库密钥k′1;
所述数据库接收到所述M和随机数R后,通过M中携带的c获取自身存储的数据库密钥k′1。如果所述NFC卷标是合法的,那么所述数据库密钥k′1和所述卷标密钥k1是相同的。
步骤107、数据库计算第二运算结果b;
数据库获取到随机数R和数据库密钥k′1后,采用b=hash(R,k′1)计算得到所述第二运算结果b。
步骤108、数据库对比所述第一运算结果a和所述第二运算结果b。
数据库此时已获取到M,通过f-1(a||c,p)运算后,去掉随机数掩码得到第一运算结果a;若步骤103中未对所述第一运算结果a做掩码计算,此处可以不用计算去掉随机数掩码的过程。
对比所述第二运算结果b是否等于所述第一运算结果a;如果所述NFC卷标合法,那么k′1和k1相同,经过同样的Hash运算得到的a和b也应该是相同光的,所以当所述第二运算结果b和所述第一运算结果a不等,则认为NFC卷标是伪NFC卷标,终止通信;所述第二运算结果b和所述第一运算结果a相等,则认为NFC卷标通过认证。
进一步的,还可以包括一下步骤:
步骤109、数据库计算第三运算结果N;
NFC卷标通过认证后,数据库取出预先存储的另一数据库密钥k′2,运算N=hash(k′2,c)。
进一步的还可以包括:所述数据库传送N=hash(k2,c)给NFC卷标后更新k′1,k′2。
步骤110、数据库发送第三运算结果N到NFC卷标;
这里的发送需要通过NFC装置转发。
步骤111、NFC卷标计算第四运算结果T;
NFC卷标接收到N后,从NFC卷标芯片内部EEPROM中读取另一卷标密钥k2,然后进行运算T=hash(k2,c)。
步骤112、NFC卷标对比所述第四运算结果T与所述第三运算结果N。
所述NFC卷标比较所述第三运算结果N与所述第四运算结果T。若所述第三运算结果N与所述第四运算结果T相等,则NFC装置通过认证,此时,交互认证完成,NFC装置对NFC卷标进行一系列需要的操作。若所述第三运算结果N与所述第四运算结果T不等,则NFC装置认证失败;此处认证失败包括两种情况:(1)多个NFC卷标冲突时,除了被认证的NFC卷标,其他NFC卷标均不更新k1、k2;(2)认为NFC装置是伪NFC装置,NFC卷标不对NFC装置的其他指令进行响应。在整个交互认证完成后,数据库和NFC卷标将以相同的方式更新密钥k′1、k′2、k1、k2。具体的密钥更新方式如下:
设定k1(k′1),k2(k′2)(NFC卷标和数据库里的),已经在数据库中给k1,k2分配了各自的上次更新时间t1,t2,并且有各自的更新标志F1,F2(0表示成功,1表示失败),只有认证通过才会更新密钥。以k′1为例:
首先,k′1经过认证后,NFC装置读取上次k′1更新时间并与当前的时间进行比较,若时间差大于系统设定的密钥更新周期,则进行更新密钥,此时NFC装置发送信息到数据库。数据库产生随机密钥更新序列L,与数据库里的k′1,计算得出新密钥kx,新密钥通过NFC装置发给NFC卷标。NFC卷标收到后进行解密,可以得到随机密钥更新序列L和新密钥kx,通过接收到的所述更新序列L和NFC卷标的k1计算新的密钥ky,如果ky和kx一致,说明更新密钥正确,将新密钥替换旧密钥,并保存。更新后,NFC卷标将所述更新序列L用新密钥加密后的结果发送给NFC装置。然后,NFC装置收到后用新密钥解密得到值L′,如果解密得到值L′与先前数据库发送的更新序列L一致,则可以确定NFC卷标密钥更新成功,将新密钥发给数据库,并更新本次更新时间和更新标志。从而完成数据库的密钥更新。
更新k2(k′2)的方式与更新k1(k′1)类似:
首先,k′1更新后,NFC装置读取上次k′2更新时间并与当前的时间进行比较,若时间差大于系统设定的密钥更新周期,则进行更新密钥,此时NFC装置发送信息到数据库。数据库产生随机密钥更新序列L,与数据库里的k′2,计算得出新密钥km,新密钥通过NFC装置发给NFC卷标。NFC卷标收到后进行解密,可以得到随机密钥更新序列L和新密钥km,通过接收到的所述更新序列L和NFC卷标的k2计算新的密钥kn,如果kn和km一致,说明更新密钥正确,将新密钥替换旧密钥,并保存。更新后,NFC卷标将所述更新序列L用新密钥加密后的结果发送给NFC装置。然后,NFC装置收到后用新密钥解密得到值L′,如果解密得到值L′与先前数据库发送的更新序列L一致,则可以确定NFC卷标密钥更新成功,将新密钥发给数据库,并更新本次更新时间和更新标志。从而完成数据库的密钥更新。
如果所述NFC装置收不到或收到的是错误的更新响应,表示更新失败,并将新旧密钥同时发送给数据库,在下一次认证时,所述NFC装置依次使用新旧密钥对标签进行认证,如果新密钥正确,表示上次的密钥更新成功。如果旧密钥正确,则表示上次更新失败,重新进行密钥更新。
在步骤102中,NFC装置发送携带随机数R的询问指令,攻击者不能获取合法的固定值c和卷标密钥k1,不能计算得出正确的第一运算结果a或M值,在NFC装置一端得不到认证,通讯将不会继续,攻击者不能伪造成合法NFC卷标。即使攻击者监听了一次完整的认证过程,但由于卷标密钥k1和卷标密钥k2以及数据库密钥k′1,数据库密钥k′2进行了更新,攻击方所得到的数据在下一次认证中也是无效的。
攻击者想要获得NFC卷标内部的信息,必须先通过认证,即使攻击者通过无线设备窃取到携带随机数R的询问指令的信息,并对标签重复发送询问指令,窃取到M,但由于攻击者无法得到随机数R,不能同数据库通信,无法窃取到信息N,不能完成认证,也就得不到NFC卷标内部的信息。
即使攻击方监听了多次认证过程,获得多组数据,但由于每次传送与密钥k1,k2相关的信息时,都经过了Hash函数的运算,由于单向Hash函数的特点,攻击者很难分析出k1,k2。
进一步,单向散列(Hash)函数可以用来单向散列(Hash)函数可以用来构建安全的MAC。对比过程可以运用Hash函数保证数据的完整性,可以在消息传输之前先对消息做Hash变换,然后对消息进行传输,对于接收到的信息也做Hash变换,将传输前的信息的Hash变换值与接收到的信息做比较,如果两者相同,则可以认为消息在传输过程没有被篡改,否则认为消息一定被非法篡改。
基于Hash函数的MAC,在共享密钥情况下,Hash函数将密钥作为自身的一部分输入,另一部分输入为需要认证的消息。因此,为了认证一个消息M,发送方(例如NFC卷标)计算MAC=hash(k,M),其中,k为发送者(NFC卷标)和接收者(数据库)的共享密钥。为了用Hash函数关于密钥k和消息M生成一个有效的MAC,所述发送方(NFC卷标)必须拥有正确的密钥和正确的信息。与发送者(NFC卷标)共享密钥k的接收者(数据库)应当由接收的信息解出信息M,再重新计算出MAC,并检验同所接收的MAC是否一致。如果一致,就可以相信消息来自合法的发送者(NFC卷标)。
本发明实施例通过NFC卷标和数据库之间的信息采用Hash运算传递,并通过对比Hash运算结果判断是否认证成功;在不增加NFC卷标成本的前提下增强了NFC的安全性。
请参阅图2为本发明一种NFC认证系统的一实施例的结构示意图。
所述NFC认证系统包括NFC装置21、NFC卷标22和数据库23。
所述NFC装置21,用于发送携带第一随机数R的询问指令;接收所述NFC发送的第一运算结果a,转发所述第一运算结果a和所述第一随机数R到所述数据库23;
所述NFC卷标22,用于响应于所述NFC装置携带第一随机数R的询问指令,根据预设的卷标第一密钥k1和所述第一随机数R进行Hash运算得到第一运算结a果,并将所述第一运算结果a和所述NFC卷标的UID c发送给所述NFC装置;
所述NFC装置21,用于将所述第一运算结果a、所述NFC卷标的UID与所述第一随机数R发送给所述数据库23;
所述数据库23,用于根据所述NFC卷标的UID c获取预存储的数据库第一密钥k′1;利用所述数据库第一密钥k′1及所述第一随机数R进行Hash运算得到第二运算结果b,并比较所述第一运算结果a和所述第二运算结果b,根据比较的结果判断NFC卷标的认证结果。
所述NFC卷标22向所述NFC装置21发送所述第一对比值a可以采用响应消息的形式发送。
进一步,所述NFC卷标22还用于根据预设NFC卷标的UID c和预设第二随机数P对所述第一运算结果a进行掩码运算;所述掩码运算具体为将所述第一运算结果a根据所述NFC卷标的UID c位串后,利用所述第二随机数p进行掩码运算。
具体的,所述NFC卷标22对第一运算结果a做一次掩码计算,采用公式M=f(a||c,p)。其中f=(x,p)表示将x用随机数p进行掩码,符号“||”表示位串,其中c为一个预设的固定值表示所述NFC卷标的UID,p为一个预设的随机数。这样即使攻击者每次带相同的随机数R通过询问指令询问NFC卷标,由于随机数p的掩码,NFC卷标每次的响应是不同的,攻击者也不能跟踪NFC卷标,能够保障地点隐私,防止跟踪。
所述数据库23还用于对所述掩码后的第一运算结果a(即M)进行去掩码计算,得到所述第一运算结果a。
所述数据库23通过f-1(a||c,p)运算后,去掉随机数掩码得到第一运算结果a。
所述数据库23还用于根据预设的数据库第二密钥k′2和所述NFC卷标的UID c进行Hash运算得到第三运算结果N;发送所述第三运算结果N;
所述NFC卷标22,用于接收所述第三运算结果N,根据预先存储的卷标第二密钥k2和所述NFC卷标的UID c进行Hash运算得到第四运算结果T;当所述第三运算结果N和所述第四运算结果T相等时,NFC装置21认证通过。
k′1与k1,k′2与k2都是预先统一分别存储于数据库和卷标中,且k′1等于k1,k′2等于k2,如果所述NFC卷标22是合法卷标,那么其使用的k1和k2也应该就是数据库中的k′1 k′2;采用了同样随机数通过Hash运算得到的结果也应该是一致的。
进一步,所述数据库23还包括密钥更新单元232,用于数据库23发送所述第三运算结果n到所述NFC卷标22后,更新所述数据库第一密钥k′1和所述数据库第二密钥k′2。具体的密钥更新方式如下:
设定k1(k′1),k2(k′2)(NFC卷标和数据库里的),已经在数据库23中给k1,k2分配了各自的上次更新时间t1,t2,并且有各自的更新标志F1,F2(0表示成功,1表示失败),只有认证通过才会更新密钥。以k′1为例:
首先,k′1经过认证后,NFC装置22读取上次k′1更新时间并与当前的时间进行比较,若时间差大于系统设定的密钥更新周期,则进行更新密钥,此时NFC装置22发送信息到数据库23。所述数据库23产生随机密钥更新序列L,与数据库22里的k′1,计算得出新密钥kx,新密钥通过NFC装置22发给NFC卷标21。所述NFC卷标21收到后进行解密,可以得到随机密钥更新序列L和新密钥kx,通过接收到的更新序列L和NFC卷标的k1计算新的密钥ky,如果ky和kx一致,说明更新密钥正确,将新密钥替换旧密钥,并保存。更新后,NFC卷标21将更新序列L用新密钥加密后的结果发送给NFC装置22。然后,NFC装置22收到后用新密钥解密得到值L′,如果解密得到的值L′与先前数据库发送的更新序列L一致,则可以确定NFC卷标21密钥更新成功,将新密钥发给数据库23,并更新本次更新时间和更新标志。从而完成数据库的密钥更新。
如果所述NFC装置22收不到或收到的是错误的更新响应,表示更新失败,并将新旧密钥同时发送给数据库23,在下一次认证时,所述NFC装置22依次使用新旧密钥对标签进行认证,如果新密钥正确,表示上次的密钥更新成功。如果旧密钥正确,则表示上次更新失败,重新进行密钥更新。
利用上述更新k1(k′1)同样的功能,所述系统可以在更新k1(k′1)之后更新k2(k′2)。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种近距离无线传输NFC认证方法,其特征在于,包括:
NFC卷标应答于NFC装置的携带第一随机数的询问指令,将预设的卷标第一密钥与所述第一随机数进行哈希运算得到第一运算结果,并将所述第一运算结果以及NFC卷标唯一标识码UID发送至所述NFC装置;
所述NFC装置将所述第一运算结果、NFC卷标UID和所述第一随机数发送给数据库;
所述数据库根据所述NFC卷标UID查询预存储的数据库第一密钥,利用所述数据库第一密钥与所述第一随机数进行哈希运算得到第二运算结果,将所述第一运算结果与第二运算结果进行比较,并根据比较的结果判断NFC卷标的认证结果。
2.根据权利要求1所述的NFC认证方法,其特征在于,所述NFC卷标将预设的卷标第一密钥与所述第一随机数进行哈希运算得到第一运算结果后还包括:根据预设NFC卷标UID、预设第二随机数和所述NFC卷标的UID对所述第一运算结果进行掩码运算。
3.根据权利要求2所述的NFC认证方法,其特征在于,所述掩码运算具体为将所述第一运算结果根据所述NFC卷标的UID位串后,利用所述第二随机数进行掩码运算。
4.根据权利要求2所述的NFC认证方法,其特征在于,所述数据库根据所述NFC卷标UID查询预存储的数据库第一密钥前还包括:
对所述掩码后的第一运算结果进行去掩码计算,得到所述第一运算结果以及所述NFC卷标的UID。
5.根据权利要求1-4中任一项所述的NFC认证方法,其特征在于,所述NFC卷标认证通过后还包括:
所述数据库根据预设的数据库第二密钥和所述NFC卷标的UID进行哈希运算得到第三运算结果;
所述数据库发送所述第三运算结果到所述NFC卷标;
所述NFC卷标根据预先存储的所述数据库第二密钥和所述NFC卷标的UID进行哈希运算得到第四运算结果;比较所述第三运算结果和所述第四运算结果,并根据比较结果判断数据库的认证结果。 
6.根据权利要求5所述的NFC认证方法,其特征在于,在所述NFC卷标对数据库认证通过后,还包括:NFC装置获取数据库第一密钥更新时间,并与当前时间进行比较,若时间差大于系统设定的密钥更新周期,则发送密钥更新信息到数据库;
数据库产生随机密钥更新序列L,与所述数据库第一密钥计算得出新密钥kx;将所述新密钥kx以及更新序列L通过NFC装置发给NFC卷标;
NFC卷标接收所述随机密钥更新序列L和新密钥kx,通过所述更新序列L和NFC卷标第一密钥计算新的密钥ky;当ky和kx一致时保存所述kx;将所述随机密钥更新序列L用新密钥kx加密后发送给所述NFC装置;
NFC装置利用之前保存的密钥kx解密得到值L′,当L′=L时,确定NFC卷标密钥更新成功,将新密钥kx发给数据库作为更新后的新密钥,同时,数据库更新本次更新时间和更新标志。
7.根据权利要求6所述的NFC认证方法,其特征在于,在所述数据库第一密钥更新成功后,该方法还包括:NFC装置获取数据库第二密钥更新时间,并与当前时间进行比较,若时间差大于系统设定的密钥更新周期,则发送密钥更新信息到数据库;
数据库产生随机密钥更新序列L,与所述数据库第二密钥计算得出新密钥km;将所述新密钥km以及更新序列L通过NFC装置发给NFC卷标;
NFC卷标接收所述随机密钥更新序列L和新密钥km,通过所述更新序列L和NFC卷标第一密钥计算新的密钥kn;当kn和km一致时保存所述km;将所述随机密钥更新序列L用新密钥km加密后发送给所述NFC装置;
NFC装置利用之前保存的密钥km解密得到值L′,当L′=L时,确定NFC卷标密钥更新成功,将新密钥km发给数据库作为更新后的新密钥,同时,数据库更新本次更新时间和更新标志。
8.一种NFC认证系统,其特征在于,包括NFC装置、NFC卷标和数据库:
所述NFC卷标,用于响应于所述NFC装置携带第一随机数的询问指令,根据预设的卷标第一密钥和所述第一随机数进行哈希运算得到第一运算结果,并将所述第一运算结果和所述NFC卷标的UID发送给所述NFC装置;
所述NFC装置,用于将所述第一运算结果、所述NFC卷标的UID与所述第一随机数发送给所述数据库;
所述数据库,用于根据所述NFC卷标的UID获取预存储的所述数据库第 一密钥;利用所述数据库第一密钥及所述第一随机数进行哈希运算得到第二运算结果,并比较所述第一运算结果和所述第二运算结果,根据比较的结果判断NFC卷标的认证结果。
9.根据权利要求8所述的NFC认证系统,其特征在于:
所述NFC卷标还用于根据所述NFC卷标的UID和预设第二随机数对所述第一运算结果进行掩码运算;所述掩码具体为将所述第一运算结果根据所述NFC卷标的UID位串后,利用所述第二随机数进行掩码运算。
10.根据权利要求9所述的NFC认证系统,其特征在,所述数据库还用于对所述掩码后的第一运算结果进行去掩码计算,得到所述第一运算结果。
11.根据权利要求10所述的NFC认证系统,其特征在于,所述数据库还用于根据预先存储的数据库第二密钥和所述NFC卷标的UID进行哈希运算得到第三运算结果;并将所述第三运算结果发送至NFC卷标;
所述NFC卷标,用于接收所述第三运算结果,根据预先存储的卷标第二密钥和所述NFC卷标的UID进行哈希运算得到第四运算结果;当所述第三运算结果和所述第四运算结果相等时,数据库认证通过。 
CN200910225721A 2009-11-27 2009-11-27 Nfc认证方法和系统 Expired - Fee Related CN101719830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910225721A CN101719830B (zh) 2009-11-27 2009-11-27 Nfc认证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910225721A CN101719830B (zh) 2009-11-27 2009-11-27 Nfc认证方法和系统

Publications (2)

Publication Number Publication Date
CN101719830A CN101719830A (zh) 2010-06-02
CN101719830B true CN101719830B (zh) 2012-09-05

Family

ID=42434351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910225721A Expired - Fee Related CN101719830B (zh) 2009-11-27 2009-11-27 Nfc认证方法和系统

Country Status (1)

Country Link
CN (1) CN101719830B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244692A1 (en) * 2012-09-04 2015-08-27 Wei Liu Methods and apparatuses for location-based access management
US9820185B2 (en) 2014-07-17 2017-11-14 Sony Corporation Electronic device, controller and control method for NFC

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997678A (zh) * 2010-11-18 2011-03-30 东莞宇龙通信科技有限公司 一种获取密码的方法及终端
CN103078757B (zh) * 2013-01-04 2016-06-15 中兴通讯股份有限公司 基于近场通信的网元设备管理方法及系统、巡检终端、网管及网元设备
CN103107888B (zh) * 2013-01-24 2015-11-18 贵州大学 面向移动终端的动态多属性多级别的身份认证方法
US20160125180A1 (en) * 2013-12-12 2016-05-05 Intel Corporation Near Field Communication Authentication Mechanism
CN104852800B (zh) * 2015-05-25 2018-12-25 小米科技有限责任公司 数据传输方法及装置
US11019037B2 (en) 2016-03-15 2021-05-25 Dialog Semiconductor B.V. Security improvements in a wireless data exchange protocol
US10701514B2 (en) 2016-03-15 2020-06-30 Dialog Semiconductor B.V. Determining the distance between devices in a wireless data exchange protocol
CN106130732A (zh) * 2016-06-23 2016-11-16 深圳市海月通信技术有限公司 一种用户签到的方法和装置
CN107733639B (zh) * 2017-08-24 2020-08-04 深圳壹账通智能科技有限公司 密钥管理方法、装置及可读存储介质
CN108985765A (zh) * 2018-08-13 2018-12-11 中国联合网络通信集团有限公司 企业用户信息处理方法、设备及存储介质
CN111082935B (zh) * 2019-12-31 2022-07-12 江苏芯盛智能科技有限公司 一种媒体密钥生成方法、装置及基于媒体密钥的终端
CN110830238B (zh) * 2020-01-07 2020-05-19 易兆微电子(杭州)有限公司 用于在nfc设备中产生真随机数的方法及nfc通讯系统
CN114928839A (zh) * 2022-05-10 2022-08-19 四川虹美智能科技有限公司 一种nfc标签的防伪认证系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101273572A (zh) * 2005-10-03 2008-09-24 诺基亚公司 用于在网络实体之间对数据协商进行认证的系统、方法和计算机程序产品

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101273572A (zh) * 2005-10-03 2008-09-24 诺基亚公司 用于在网络实体之间对数据协商进行认证的系统、方法和计算机程序产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244692A1 (en) * 2012-09-04 2015-08-27 Wei Liu Methods and apparatuses for location-based access management
US9820185B2 (en) 2014-07-17 2017-11-14 Sony Corporation Electronic device, controller and control method for NFC

Also Published As

Publication number Publication date
CN101719830A (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
CN101719830B (zh) Nfc认证方法和系统
CN100405386C (zh) 一种射频识别系统中的安全认证方法
CN103065168B (zh) 一种电子标签防伪方法及系统
US8138889B2 (en) Method, transponder, and system for secure data exchange
CN102136079B (zh) 一种读写器与标签卡之间的动态认证方法及实现装置
CN106845304B (zh) 一种实现rfid系统中阅读器与标签认证的方法与系统
CN104184733B (zh) 一种基于crc编码的rfid轻量级双向认证方法
CN104112106B (zh) 一种基于物理不可克隆的rfid轻量级认证方法
CN101051903A (zh) 一种符合epc c1g2标准的rfid随机化密钥双向认证方法
CN102682311B (zh) 基于循环冗余校验码运算的无源射频识别安全认证方法
CN102497264B (zh) 基于epc c-1 g-2标准的rfid安全认证方法
CN102916957A (zh) 一种安全可靠、低成本的rfid双向认证方法
CN102916956A (zh) 一种基于Hash函数的RFID双向认证方法
CN103532718A (zh) 一种认证方法及系统
CN106411505A (zh) 一种移动射频识别的双向认证方法及移动射频识别系统
US8724810B2 (en) Method for authenticating onboard units
CN110190965A (zh) 一种基于哈希函数的rfid群组标签认证协议
CN104115442A (zh) 基于非对称密钥和Hash函数的RFID双向认证方法
CN104883681A (zh) 一种基于动态共享密钥的移动rfid双向认证方法
CN102043973B (zh) 一种基于半可信中心的电子标签拥有权转移方法
CN101470795B (zh) 一种无线射频识别系统中的通信方法和设备
CN101488179A (zh) 一种无线射频识别系统认证方法和设备
CN102289688B (zh) 一种标签处理和访问方法及设备
CN103338110A (zh) 基于动态id带搜索密钥的rfid安全认证方法
CN102594550A (zh) 基于密钥阵列的rfid内部互认证安全协议

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170825

Address after: 300202, Hexi District, Tianjin dragon apartment building 2, 1 door, room 101

Patentee after: Liu Baohong

Address before: 518057 Ministry of justice, Zhongxing building, South hi tech Industrial Park, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen

Patentee before: ZTE Corp.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Baohong

Inventor before: Zhang Bo

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20211127