CN104796257A - 灵活的数据认证 - Google Patents

灵活的数据认证 Download PDF

Info

Publication number
CN104796257A
CN104796257A CN201410778685.2A CN201410778685A CN104796257A CN 104796257 A CN104796257 A CN 104796257A CN 201410778685 A CN201410778685 A CN 201410778685A CN 104796257 A CN104796257 A CN 104796257A
Authority
CN
China
Prior art keywords
payload
data
preliminary treatment
nfc
ndef
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
CN201410778685.2A
Other languages
English (en)
Other versions
CN104796257B (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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of CN104796257A publication Critical patent/CN104796257A/zh
Application granted granted Critical
Publication of CN104796257B publication Critical patent/CN104796257B/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/10Integrity
    • H04W12/106Packet or message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10257Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for protecting the interrogation against piracy attacks
    • G06K7/10267Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for protecting the interrogation against piracy attacks the arrangement comprising a circuit inside of the interrogation device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

各示例性实施例涉及一种方法、设备以及存储介质,所述方法包括:NFC设备接收NDEF消息,所述NDEF消息包括有效载荷以及数字签名和数字签名的参考中的至少一个;从有效载荷剥离数据以生成剥离后的有效载荷;使用数字签名和剥离后的有效载荷来验证有效载荷;以及基于是否验证通过有效载荷来有条件地解译有效载荷。其中,有效载荷包括URI,URI包括由井号字符表示的片段;剥离数据包括从URI中剥离片段。验证有效载荷,所述片段包括片段数据,并且解译有效载荷包括:发送请求由URI识别的资源的消息,其中所述请求省略了片段数据;以及执行接收到的脚本以向设备发送片段数据。

Description

灵活的数据认证
技术领域
这里公开的各示例性实施例总体上涉及数据认证,更具体地而非排他地,涉及认证从近场通信(NFC)标签检索的数据。
背景技术
近场通信(NFC)标签已经在多种产品和其它上下文中使用以提供提高等级的交互。例如,在所谓的“智能海报”中嵌入的NFC标签可以使观众能够使用他们的电话或其他NFC支持设备来接收与海报相关联的网址、优惠券、交互内容或其他数据。然而,随着该技术更广泛地采用,增大了非法使用的机会。恶意方会替换或重写已有的NFC标签以承载旨在欺诈或攻击读取标签方的指令或其他数据。例如,可以重写智能海报标签以指向被建立为欺诈性地从用户提取***信息的不同网址。
为了提供NFC通信的安全性,NFC论坛已经提出了一种技术规范,定义用于数字签名NFC标签承载的数据的过程。这种数字签名可以提供认证的附加层,因此当不能认证从NFC标签读取的数据时,读取设备可以避免以对非法使用的设备或用户开放的方式来使用数据。
发明内容
尽管定义的数据签名技术足以认证某些类型的静态数据,这些技术可能不能认证动态数据或其它类型的静态数据。例如,在NFC标签保持的数据在标签的寿命期间改变的情况下(例如跟踪标签被读取次数的计数器),在更新了承载的数据后,定义的签名不再有效。作为另一个示例,在制造期间使用序列标识号来各自编码NFC标签的情况下,可能难以考虑到特有的标识号来针对每个新标签计算特有的签名。因此,这里描述的各种实施例使得能够进行NFC数据认证,其中在初始签名生成时无需所有数据均已知或均可用。
以下示出了各示例性实施例的简要总结。在以下总结中做出了一些简化和省略,其旨在突出并介绍各示例性实施例的一些方面,而不限于本发明的范围。将在后续的以下部分中进行优选示例性实施例的详细描述,足以允许本领域技术人员做出并使用本发明的创造性概念。
这里描述的各实施例涉及一种近场通信(NFC)设备执行的用于验证从NFC标签接收的记录的方法,包括:由NFC设备从NFC标签接收NFC数据交换格式(NDEF)消息,其中NFC消息包括数字签名和数字签名的参考的至少一个以及有效载荷;从有效载荷剥离(strip)数据以生成剥离后的有效载荷;使用数字签名和剥离后的有效载荷来验证有效载荷;以及基于是否验证通过有效载荷来有条件地解译有效载荷和剥离后的有效载荷中的至少一个。
这里描述的各实施例涉及一种配置为验证从NFC标签接收的记录的近场通信(NFC)设备,所述NFC设备包括:NFC读取器,配置为与NFC标签进行通信;以及处理器,配置为:NFC读取器接收NFC数据交换格式(NDEF)消息,其中NFC消息包括数字签名和数字签名的参考的至少一个以及有效载荷;从有效载荷剥离数据以生成剥离后的有效载荷;使用数字签名和剥离后的有效载荷来验证有效载荷;以及基于是否验证通过有效载荷来有条件地解译剥离后的有效载荷和有效载荷中的至少一个。
这里描述的各实施例涉及一种非瞬时性机器可读介质,编码有用于近场通信(NFC)设备执行的指令,用于验证从NFC标签接收的记录,所述非瞬时性机器可读介质包括:用于NFC设备从NFC标签接收NFC数据交换格式(NDEF)消息的指令,其中NFC消息包括数字签名和数字签名的参考的至少一个以及有效载荷;用于从有效载荷剥离数据以生成剥离后的有效载荷的指令;用于使用数字签名和剥离后的有效载荷来验证有效载荷的指令;以及用于基于是否验证通过有效载荷来有条件地解译剥离后的有效载荷和有效载荷中的至少一个的指令。
描述了各实施例,其中有效载荷包括统一资源标识符(URl),统一资源标识符(URl)包括由井号字符(#)表示的片段(fragment);以及从有效载荷剥离数据包括从URl剥离片段。
描述了各实施例,其中片段包括片段数据,以及解译有效载荷包括:发送对由URl识别的资源加以请求的请求消息,其中请求省略片段数据;响应于请求接收脚本;执行脚本,以向除NFC设备之外的至少一个设备发送片段数据。
描述了各实施例,其中有效载荷包括统一资源标识符(URl),统一资源标识符(URl)包括由问号字符(?)表示的查询字符串,以及从有效载荷剥离数据包括从URl剥离查询字符串。
描述了各实施例,其中数据由有效载荷内的比特序列来表示,以及从有效载荷剥离数据包括将比特序列设为0值。
描述了各实施例,其中NDEF消息还包括指示要执行预处理的预处理标识符,以及响应于存在指示要执行预处理的预处理标识符来执行从有效载荷剥离数据的步骤。
描述了各实施例,其中预处理标识符识别第一预处理类型和第二预处理类型的至少一个,并且从有效载荷剥离数据的步骤包括:基于识别第一预处理类型的预处理标识符,根据第一预处理类型来执行预处理;以及基于识别第二预处理类型的预处理标识符,根据第二预处理类型来执行预处理。
描述了各实施例,其中验证有效载荷包括:基于NDEF消息承载的签名的数据来计算计算的散列值,其中签名的数据包括剥离的有效载荷;基于数字签名来生成期望的散列值;以及确定计算的散列值是否与期望的散列值相匹配。
附图说明
为了更好地理解各示例性实施例,参考所附的附图,其中:
图1示出了近场通信(NFC)数据认证的示例性环境;
图2示出了支持灵活数据认证的示例性NFC数据交换格式(NDEF)消息;
图3示出了支持灵活数据认证的备选NDEF消息;
图4示出了能够执行灵活的数据认证的示例性NFC设备;
图5示出了能够执行灵活的数据认证的NFC设备的示例性硬件图;
图6示出了用于执行灵活的数据认证的示例性方法;
图7示出了执行数据预处理的示例性方法;以及
图8示出了用于执行灵活的数据认证以及向服务器提交动态数据的示例性消息交换。
为了便于理解,相同附图标记用于指示本质上相同或类似的结构或实质上相同或类似功能的元件。
具体实施方式
这里示出的说明书和附图演示各种原理。应理解:尽管这里没有明确地描述或示出,本领域技术人员能够设计体现这些原理并且被包括在本公开的范围中的各种布置。如这里所使用的,术语“或”如这里所使用的,除非另外指出(例如,“或其他”或“或备选地”)指非专用性的或(即,和/或)。此外,这里描述的各种实施例不必互相专用并且可以组合以产生包括这里所描述的原则的其他实施例。
图1示出了近场通信(NFC)数据认证的示例性环境100。环境100包括存储要认证的数据的NFC标签110。NFC标签110可以被固定(affix)或嵌入到例如智能海报或消费产品的任何项目中。环境还包括作为用户设备130一部分的NFC读取器120,用于从NFC标签110读取数据。因此,用户设备130可以称为“NFC设备”。用户设备130可以是能够通过网络140(例如互联网或移动运营商网络)进行通信的任何设备。例如,用户设备130可以是移动电话、平板电脑、膝上型计算机或个人计算机。NFC标签110和NFC读取器120可以根据用于实现这种设备的任何已知硬件布置来实现。
环境还包括可以通过网络140可接入的网络服务器150。网络服务器150包括硬件和机器可执行指令,配置为通过网络140接收并处理用户设备130对网页和其它资源的请求。由此,网络服务器150可以是被配置为作为网络服务器操作的膝上型计算机、个人计算机、服务器计算机、刀片服务器、云设备或其他硬件设备。
显然,除所示出的示例性环境100以外的各种***可以包括更少或附加的每个组件,同时实现这里所描述的针对灵活NFC数据认证的各种特征。例如,备选的环境可以包括针对不同用途存储多个不同的数据集的多个NFC标签(未示出),多个NFC设备由不同的用户操作,并且多个网络服务器主持不同的网址。
已经描述示例性环境100的各个组件,将提供示例性环境100的操作的高级示例。显然,以下示例是一个实施例,并且还可以在某些方面是抽象的。以下将参照图2-8更详细地描述与各个实施例有关的其他细节。
根据一个示例,NFC标签110固定于智能海报。NFC标签100存储数字签名和指向由网络服务器150主持的网址的统一资源标识符(URl)。URl包括每次读取NFC标签110时递增的计数器,由此,URl包括在NFC标签110的整个寿命期间变化的动态数据。然而,数字签名基于URl的原始版本在制造NFC标签110时产生,同时计数器被设为0值。因此,在URl已经被修改后,不能基于URl进行标准的数字签名验证。
继续示例,用户移动用户设备130(以及NFC读取器120)靠近NFC标签110并且轻击用户设备130来发起NFC数据传输。结果,用户设备130接收包括签名和URl二者的NFC数据交换格式(NDEF)消息。在访问URl之前,用户设备130基于数字签名来执行认证,以接收访问URl是安全的保证。为了开始认证,用户设备130修改URl将计数器值设置为0。因此,用户设备130能够使用数字签名来验证URI的认证。已经认证了URl后,用户设备130进行操作以通过未修改的URl接入由网络服务器150主持的网址。
因此,尽管签名基于数据的不同版本生成,本示例中用户设备130能够验证接收的NDEF消息所承载的数据的认证。显然,可以修改上述示例的各种细节,而仍实现这里描述的灵活认证的各种特征。考虑以下描述的附加示例,一些这种变型将显而易见。
图2示出了根据第一实施例支持灵活数据认证的示例性NFC数据交换格式(NDEF)消息200。在各实施例中,示例性NDEF消息200可以描述示例性环境100中在NFC标签110上存储且通过NFC读取器120检索的数据。示例性NDEF消息200基于URI片段支持具有灵活认证并提供与当前标准全消息签名的后向兼容性。如所示,NDEF消息包括各自具有各种标准字段的两个NDEF记录270、280:NDEF报头字段210、有效载荷长度字段220、类型长度字段230、类型字段240以及有效载荷字段250。参照由例如NFC论坛公布的标准(包括其之前或未来的各种版本),在字段210-250中存储的值是显而易见的。此外,各种备选实施例可以包括附加或备选的字段,如可以通过相关标准的之前、当前或未来的版本或通过专用非标准实施方式来定义。
NDEF消息200的第一NDEF记录270具有有效载荷,指示要由例如网络浏览器的读取设备访问的URI。具体地,示例有效载荷承载“http://www.domain.com/page#04223344556677x00001A”的URI。可以理解,URl语法可以包括多个部分,例如方案名称、分层部分、查询串以及片段。在NDEF记录270的示例中,有效载荷URI包括片段,由井字符(#)“04223344556677x00001A”表示,对各种动态或静态数据进行编码。例如,片段可以指示“04223344556677”(在制造时分配)的标签标识符以及指示标签已经被读取26次的值为“00001A”(在最近标签读取时分配)的电流计数器值。显然,实际上片段可以承载任何信息,并且id和计数器值仅作为数据的示例提供,数据可以为了专用而从认证过程中获得。
NDEF记录280的第一NDEF记录280具有有效载荷,指示要在认证NDEF消息200中使用的签名(或潜在地,在备选示例中包括其附加记录部分)。在各实施例中,签名NDEF记录280的位置指示了签名NDEF记录280应用于哪些其他记录270。例如,在一些实施例中,可以采用签名NDEF记录来应用于在前签名记录(如果有)之后出现的所有在先记录。在示例NDEF消息200的情况下,可以采用签名NDEF记录280来应用于NDEF记录270,因为NDEF记录270是仅有的在先记录。用于确定签名记录要应用记录的各种其它方法是显而易见的。
签名记录280包括根据多个子字段来划分的有效载荷:版本字段252、URI存在字段254、签名类型字段256、签名长度字段258、签名/URI字段260以及证书链字段262。参照由NFC论坛提出的适当标准(包括其任何在先或未来版本),子字段252、254、256、258、260、262中所存储的值是显而易见。此外,各种备选实施例可以包括由相关标准的在前、当前或未来版本定义或通过专用非标准实施方式定义的附加或备选字段。应理解:各子字段可以包括进一步的子字段。例如,证书链字段可以包括存储一个或更多个数字证书的证书存储子字段,或存储指示从哪里检索可应用数字证书的一个或更多个URI的证书URI字段。
在签名NDEF记录280的示例中,存储数字签名“0xF531DA555796DE93BA83”。可以理解,签名NDEF记录280可以备选地存储指示从哪里检索可应用数字签名的URI,可以相对于远程存储的数字签名来应用这里描述的各种特征。可以通过与所存储的证书或证书链字段的参考相关联的私钥来加密数字签名。此外,可以基于其他NDEF记录270的剥离的版本,预先生成“未”或“非”加密的数字签名。如这里所使用的,可以理解,术语“剥离的”是指在数字签名验证的过程中,具有基于考量被删除的、被预定数据替代或修改的部分以移除该部分的记录版本或其他数据。在NDEF消息200的示例中,可以基于具有备选片段“00000000000000x000000”或整体省略片段的其他版本NDEF记录270,来产生签名NDEF记录280的签名。
签名NDEF记录280还包括预处理标识符257,以指示是否应当作为认证或验证NDEF记录270的一部分来执行诸如剥离的任何预处理。在该示例中,预处理标识符257是标准签名类型字段256的最高有效比特,其中“1”指示应当执行预处理片段剥离,而“0”指示不应当执行预处理,由此提供与NDEF记录的当前标准数字签名的后向兼容性。显然,可以使用各种备选预处理标识符,例如签名类型子字段256的不同或附加比特、诸如版本子字段252或签名字段260的其他子字段的一个或更多个比特、诸如NDEF头字段210或类型字段240的其他签名NDEF记录字段的一个或更多个比特,或附加专用字段或子字段(未示出)。备选地,可以省略预处理标识符257,并始终作为实施的标准或非标准实施方式的一部分来执行一个或更多个预处理类型。附加的变型是显而易见的。
图3示出了支持灵活数据认证的备选NDEF消息300。在各种实施例中,示例性NDEF消息200可以描述示例性环境100中在NFC标签110上存储并且通过NFC读取器120检索的数据。备选NDEF消息300可以最类似于先前描述的NDEF消息200,而在示例各种备选实施方式的一些细节方面存在不同。显然,尽管在备选NDEF消息300中例示了多个备选实施方式的细节,这些实施方式细节可以不彼此依赖并且仅一些这种细节被包含在其他备选实施例中。
如所示,备选NDEF消息300包括第一NDEF记录370中的备选URI。在该备选URI中,要剥离的数据(而不是片段)作为查询串的一部分被存储,由问号字符(?)指示。这样,作为正常浏览器操作的一部分,可以将id和计数器发送到URI的分层部分所指向的服务器,这与先前示例性NDEF消息中片段的数据不同,其通常不作为浏览器资源请求的一部分来发送。
备选NDEF消息300包括URI NDEF记录370和签名NDEF记录380之间的备选NDEF记录375。NDEF记录375可以是通过先前、当前或未来的标准或专用的非标准实施方式来定义的文本NDEF记录。文本NDEF记录375还包括要在数字签名验证之前剥离的动态信息。如所示,在问号字符(?)的两侧指示动态值。尽管文本NDEF消息275的有效载荷可以不遵循URI语法,然而针对这里描述的灵活数据认证方法,由问号字符(?)指出的可剥离字段可以被称为查询串。按照类似方法,如果替代地使用井号字符(#),针对这里描述的灵活数字认证方法,可以将可剥离的字段称为片段。在各实施例中,右侧的问号字符可以指示要剥离的区域的结束,并防止NFC设备将剩余记录275作为要剥离的数据。用于定义由URI语法定义的部分之外的要剥离数据部分的各种备选方法是显而易见的。
如上所述,根据各个实施例,签名NDEF记录380可以应用于(并且因此可验证)NDEF消息300中不在另一签名NDEF记录之前的所有在先记录。这样,在NDEF消息300的示例中,可以基于其他NDEF记录370、375二者的剥离版本来计算签名“0x96E11D120FOE045D81CC”。在另一备选NDEF记录中,签名记录380可以仅应用于文本NDEF记录375,如同URl NDEF记录370和文本NDEF记录375之间存在另一个(可能空白的)签名NDEF记录(未示出)所指示的。各种其他布置将显而易见。
备选NDEF消息300还利用专用预处理类型字段357来存储预处理标识符。例如,签名NDEF消息380的有效载荷可以在标准化位置(例如在签名类型字段256和签名长度字段258之间)处具有附加的字节来容纳附加字段。此外,因为预处理标识符357包括多个比特,与第一示例NDEF消息200的预处理标识符257相比较,预处理标识符357可以识别多于两个用于预处理的选项。例如,值0x0可以指示没有要执行的预处理,值0x1可以指示应当执行片段剥离,值0x2可以指示应当执行查询串剥离,值0x3可以指示应当执行片段和查询串剥离二者。各种附加形式的预处理是显而易见的并且能够根据这里定义的框架实现。
图4示出了能够执行灵活数据认证的示例性NFC设备400。示例性NFC设备400可以对应于示例性环境100的用户设备130。NFC设备400可以在一些方面是抽象的;将理解,NFC设备400的各种组件可以通过硬件设备来实现。以下将参照图5以更详细的细节来描述用于支持NFC设备400的组件的示例性硬件。
示例性NFC设备400包括用于与一个或更多个NFC标签进行通信的NFC读取器410。NFC读取器410包括配置为根据NFC协议进行通信的硬件和软件。当从NFC标签读取NDEF消息时,NFC读取器410向已签名记录提取器420传递NDEF消息。
已签名记录提取器420包括在NDEF消息中识别任何已签名记录组的硬件和软件。例如,已签名记录提取器420可以对于任何NDEF签名记录中扫描NDEF消息,如果发现存在NDEF签名消息,则提取非空白的NDEF签名记录以及应用了相应NDEF签名记录的附加NDEF记录组。如上述,应用了NDEF签名记录的NDEF记录组可以是在该签名NDEF记录之前(而不在更早NDEF签名消息之前)的所有NDEF记录。如果没有定位已签名记录,由于不要执行签名验证,则已签名记录提取器420直接向记录解译器480传送NDEF消息。然而,如果定位了已签名记录,则已签名记录提取器420向公钥检索器/验证器430和数据预处理器450传递包括签名记录的每一组记录。
公钥检索器/验证器430包括配置为检索或验证与签名NDEF记录相关联的公钥的硬件和软件。例如,在签名NDEF记录不承载公钥的情况下,公钥检索器/验证器430基于签名NDEF记录所承载或参考的证书,通过网络接口490与证书授权进行通信以检索公钥。在签名NDEF记录承载公钥的情况下,公钥检索器/验证器430基于签名NDEF记录承载或参考的证书,通过网络接口490来与证书授权进行通信,以验证公钥实际上与证书相关联。如果公钥不能被验证,则公钥检索器/验证器430将当前已签名记录组中的记录标记为无效,并且不能针对解译来认证。否则,公钥检索器/验证器430向签名解密器440传递公钥和签名NDEF记录。
签名解密器440包括被配置为使用公钥来解密签名值的硬件和软件。由此,签名解密器440被配置为:从签名NDEF消息提取、或通过网络接口490检索由签名NDEF消息承载的URl识别的数字签名。此后,签名解密器440使用与签名NDEF记录(通过公钥检索器/验证器430确定的)相关联的公钥来解密数字签名,以获得在NFC标签的制造期间预先计算、加密并存储的期望散列值。然后,签名解密器440将期望的散列值传递到记录验证器470。
数据预处理器450包括被配置为:针对签名NDEF记录的预处理标识符指定的已签名NDEF记录,执行各种预处理。例如,在预处理标识符指示没有要执行的预处理的情况下,数据预处理器450可以将已签名记录组传递到散列值生成器460。作为另一示例,在预处理标识符指示一个或更多个类型的数据(例如片段或查询串)被从签名的记录组中剥离的情况下,数据预处理器450可以从组中的未签名NDEF记录剥离任何这种类型的数据。例如,在预处理标识符指示应当执行片段剥离的情况下,数据预处理器450可以定位由散列字符(#)指示的任何字段,并且移除数据或将数据设置为等于0或另一预先确定的静态值。如果存在预处理,执行所指示的预处理后,数据预处理器450向散列值生成器460传送已签名记录组。
散列值生成器460包括被配置为从签名记录组中的非签名NDEF记录来计算散列值的软件和硬件。在各实施例中,签名NDEF记录识别要使用的多个散列值算法中的一个。散列值生成器460将散列值算法应用于非签名NDEF记录来生成计算的散列值并将计算的散列值传送到记录验证器。
记录验证器470包括配置为确定计算的散列值是否与期望的散列值相匹配的硬件和软件。当接收来自签名解密器440的期望的散列值和来自散列值生成器460的计算的散列值二者时,记录验证器470确定期望的散列值与计算的散列值是否等同或相匹配。如果是,则成功认证已签名记录组中的记录。否则,验证失败,记录验证器470可以将组中的NDEF记录标记为不无效并且不能解译。使得验证失败的用于防止解译记录的各种备选方法是显而易见的。在针对所有识别的已签名记录组执行验证之后,记录验证器470将NDEF消息传递到记录解译器480。备选地,记录验证器470可以仅向记录解译器480传递NDEF消息是否有效的指示,而记录解译器480据此从另一组件(例如NFC读取器410或已签名记录提取器420)接收所有NDEF消息或记录。
记录解译器480包括被配置为有条件地解译NDEF记录中的一个或更多个NDEF记录的硬件或软件。这样,记录解译器480首先选择用于解译的非签名NDEF记录。例如,记录解译器480可以确定用户轻击用户设备400以发起NFC的次数,并选择与该轻击的次数相关联的非签名NDEF记录。用于选择NDEF记录的各种备选方法是显而易见的。接下来,记录解译器480通过首先确定NDEF记录是否已经被标记为无效来有条件地解译所选择的NDEF记录。如果是,则记录解译器480可以返回错误,选择用于有条件解译(不执行动作或执行另一动作)的下一条NDEF记录。如果NDEF记录未被标记为无效,则记录解译器480进行至执行通过记录指定的一个或更多个动作。在各实施例中,记录解译器480基于未经任何预处理或其他处理修改的NDEF记录的初始版本来执行动作,而在其他实施例中,记录解译器480可以基于NDEF记录的修改版本来执行动作。例如,在NDEF记录是URl记录的情况下,记录解译器480可以利用指令来调用网络浏览器(未示出)以接入指定URl。备选地,NDEF记录的解译可以包括向操作***呼叫(未示出)或执行另一应用(未示出)。用于基于记录验证的输出来有条件地解译NDEF记录的各种其它方法是显而易见的。例如,当NDEF记录被标记为无效时,可以从解译选择中排除该NDEF记录。
网络接口490可以包括一个或更多个用于使能与其它硬件设备的通信的设备。例如,网络接口490可以包括配置为根据3G或4G网络协议来通信的蜂窝天线,或被配置为根据以太网协议来通信的网络接口卡(NIC)。此外,网络接口490可以实现用于根据TCP/IP协议来通信的TCP/IP栈。网络接口490的各种备选的或附加的硬件或配置是显而易见的。
图5示出了能够执行灵活数据认证的NFC设备500的示例性硬件图。NFC设备500可以对应于图1的用户设备130或图4的NFC设备400。如所示,NFC设备500包括通过一个或更多个***总线510互联的处理器520、存储器530、用户接口540、网络接口550、NFC读取器560以及存储单元570。应理解,在一些方而图5进行了抽象,NFC设备500的组件的实际组织可能比所示出的更加复杂。
处理器520可以是能够执行在存储器530或存储器560中存储的指令的任何硬件设备。由此,处理器可以包括微处理器、现场可编程门阵列(FPGA)、应用专用集成电路(ASIC)或其他类似的设备。
存储器530可以包括各种存储器例如L1、L2或L3高速缓存或***存储器。由此,存储器530可以包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪存、只读存储器(ROM)或其他类似存储器设备。
用户接口540可以包括一个或更多个设备,用于支持与例如消费者或管理员的用户的通信。例如,用户接口540可以包括显示器、鼠标、触摸屏或用于接收用户命令的键盘。
网络接口550可以包括一个或更多个设备,用于支持与其它硬件设备的通信。例如,网络接口550可以包括被配置为根据以太网协议通信的网络接口卡(NIC)。作为另一个示例,网络接口550可以包括用于通过无线协议(例如3G或4G蜂窝网络)进行通信的天线。此外,网络接口5750可以实现用于根据TCP/IP协议进行通信的TCP/IP协议栈。网络接口550的各种备选或附加的硬件或配置是显而易见的。
NFC读取器560可以包括适用于读取NFC标签或与NFC标签进行通信的硬件。用于实现NFC读取器560的各种硬件布置是显而易见的。
存储单元560可以包括一个或更多个机器可读的存储介质,例如只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备或类似的存储介质。存储器560可以存储用于处理器520执行的各种指令集。例如,存储器570可以包括用于协调NFC设备500的各种基础功能的操作***指令572以及用于查询和检索网络资源(例如网页)的网络浏览器指令574和执行脚本(例如Java脚本)。此外,存储器570还可以包括NFC实现指令576,包括用于根据这里描述的各种方法来解译并灵活地认证NDEF消息的预处理指令578。显然,各种备选NFC实施方式指令不能使用这里描述的特定认证方法,而可以在备选认证方法中涉及的其他步骤之前,使用预处理指令578来预处理数据。
显然,描述为存储在存储单元570中的各种信息可以附加地或备选地存储在存储器530中。在这一方面,存储器530还可以被认为构成了“存储单元设备”。各种其它布置是显而易见的。此外,存储器530和存储器570可以均被认为是“非瞬时性机器可读介质”。如这里所使用的,术语“非瞬时性”被理解为排除瞬时信号,而包括易失性和非易失性存储器二者的所有形式的存储单元。
尽管NFC设备500被示出为包括每个所描述的组件中的一个,可以在各实施例中复制各个组件。例如,处理器520可以包括多个微处理器,微处理器被配置为独立地执行这里所描述的方法或被配置为执行这里所描述方法的步骤或子路径,以使多个处理器合作来实现这里描述的功能。在一些实施例中,例如那些其中NFC设备500至少被部分地在云计算结构中实现的实施例,可以在不同的设备之间物理地分发组件。例如,处理器520可以包括数据中心的第一微处理器以及第二数据中心的第二微处理器。各种其它布置是显而易见的。
图6示出了用于执行灵活的数据认证的示例性方法600。方法600可以由NFC设备(例如用户设备130、NFC设备400或NFC设备500)执行。在一些实施例中,方法600可以实现为NFC设备上NFC/NDEF实施方式的一部分。显然,在多个备选实施方式中,方法600或其部分可以在基础NFC/NDEF实施方式之外来执行,例如通过单机的灵活认证应用。
方法600在步骤602开始并且进行至步骤604,在步骤604,NFC设备从NFC标签接收NDEF消息。接下来,在步骤606中,NFC设备识别NDEF消息中的任何已签名记录组。例如,NFC设备可以定位由NDEF消息或签名NDEF记录的开始并以非空白签名NDEF记录结束的任何NDEF消息组。在步骤608中,NFC设备确定NDEF记录是否包括至少一个已签名记录组,以便应当执行认证或其他验证。如果不存在已签名记录,则方法600可以跳过验证过程至步骤634。否则,方法600进行至步骤610。
在步骤610中,NFC设备检索要处理的第一签名记录组。接下来,方法600分叉并且进行至并行处理的两个线程。显然,备选方法可以不使用这种多线程,而可以定义步骤612-626的多个可能序列之一来获得类似于那些这里所描述的结果。包含这里所描述特征的进一步重新组织以及相对于所示示例具有偏差都是显而易见的。
在第一示例线程中,NFC设备在步骤612中从签名记录组提取已签名数据。例如,NFC设备可以提取来自非签名NDEF记录的有效载荷或非签名NDEF记录本身。接下来,在步骤614中,NFC设备确定已签名记录组中的签名NDEF记录的预处理标识符是否指示应当执行预处理。如果不需要执行预处理,则方法600跳至步骤618之前。否则,NFC设备进行至执行步骤616中指示的预处理并进行至步骤618。用于执行预处理的示例性方法将参照图7更详细地描述。
在步骤618中,NFC设备基于已签名数据来计算散列值,如预处理标识符指示为剥离或预处理。例如,NFC设备可以识别散列值算法以便基于签名NDEF记录来进行应用,并将算法应用到已签名数据来生成计算的散列值。然后,第一线程试图重新结合第二线程,潜在地等待第二线程完成执行。
在第二示例线程中,NFC设备在步骤620中通过例如从证书中提取公钥或从证书授权中检索公钥来检索公钥。在步骤622中,NFC设备确定公钥是否被验证。例如,如果从证书授权中接收公钥,或与从证书授权中所接收到的密钥匹配,则NFC设备可以确定公钥被验证。如果公钥没有被验证,则线程可以重新结合,或指示终止第一线程,方法600进行至步骤630。否则,NFC设备通过例如从签名NDEF记录提取数字签名,或基于签名NDEF记录承载的URl来检索签名而获得加密后的数字签名。然后,在步骤626中,NFC设备使用公钥来解密数字签名以生成期望的散列值。然后,第二线程尝试重新结合第一线程,潜在地等待第一线程结束执行。
在两个线程已经结束执行并且重新结合到单个线程之后(或,在备选实施例中,在根据备选单个线程实施方式生成计算的散列值和期望的散列值后),NFC设备在步骤628中确定计算的散列值是否与期望的散列值相匹配。例如,NFC设备可以确定两个值是否相等。如果散列值不匹配,则方法进行至步骤630,在步骤630中,签名记录组中的每个非签名NDEF记录被标记为无效且不解译。在将记录标记为无效或确定散列值匹配之后,方法进行至步骤632,在步骤632中,NFC设备确定是否仍有用于认证的附加已签名记录。如果是,则方法600循环回到步骤610,在步骤610中,NFC设备检索下一个要处理的已签名记录组。
在所有已签名记录已经被处理之后,方法600进行至步骤634,其中NFC设备从处理的NDEF消息中选择NDEF记录用于解译。例如,NFC设备可以选择非签名的NDEF记录,该非签名的NDEF记录具有与用户用于发起NFC的轻击输入的次数相匹配的索引。然后,在步骤636中,NFC设备确定所选的记录是否已经被标记为无效。如果是,则NFC设备在步骤638中返回错误并且方法在步骤642中进行至结束。否则,NFC设备在步骤640中解译所选择的NDEF记录,并且方法在步骤642中进行至结束。解译可以包括各种动作,例如调用OS功能、利用指令启动网络浏览器以接入URl,或启动特定的应用。NDEF记录解译的各种其它结构是显而易见的。在各实施例中,NFC设备基于NDEF记录的初始版本来执行动作,NDEF记录的初始版本未经任何预处理或其他处理进行修改,而在其他实施例中,记录解译器480可以基于NDEF记录的修改版本来执行动作。
图7示出了用于执行数据预处理的示例性方法700。方法700可以由NFC设备执行,例如用户设备130、NFC设备400或NFC设备500。在一些实施例中,方法700可以实现为NFC设备上NFC/NDEF实施方式的一部分。显然,在多个备选实施例中,方法700或其部分可以在基础NFC/NDEF实施方式之外执行,例如通过单机的灵活认证应用。在一些实施例中,方法700对应于用于执行灵活NDEF记录认证的示例性方法600的步骤616。
方法700在步骤710开始并且进行至步骤720,其中NFC设备确定预处理标识符是否指示应当执行片段剥离。例如,如果与片段剥离相关联的预处理标识符中的比特被设为“0”,则NFC设备可以确定不应执行片段剥离,并且方法700可以跳至步骤740之前。如果比特被设置为“1”,则NFC设备可以确定应当执行片段剥离并且方法700可以进行至步骤730。在步骤730中,NFC设备通过例如通过将任何片段数据设置为井号字符(#)表示,并且通过URl语法指定为等同长度0值,而执行片段剥离。备选地,NFC设备可以删除片段数据或将片段数据设置为另一预先确定的静态值。此外,在一些实施例中,NFC设备可以剥离通过井号字符(#)指示的任何数据,而与URl中“片段”是否出现无关。
在步骤740中,NFC设备确定预处理标识符是否指示应当执行查询串。例如,如果与片段剥离相关联的预处理标识符被设置为“0”,则NFC设备可以确定不应执行查询串剥离,并且方法700可以跳至步骤760的结束之前。如果该比特被设为“1”,则NFC设备可以确定应当执行查询串剥离,并且方法700可以进行至步骤750。在步骤750中,NFC设备通过例如将任何查询串数据设置为由问号字符(?)指示并且URI语法指定等同长度0值,来执行查询字符串。备选地,NFC设备可以删除查询串数据或将查询串数据设置为另一预先确定的静态值。此外,在一些实施例中,NFC设备可以剥离任何由问号字符(?)标记的任何数据,而与URI中“查询串”是否出现无关。然后,方法700进行至步骤760的结束。
如上所述,通常不根据初始资源请求和接收将URI片段承载的数据发送到URI指向的网络服务器。然而,在一些实施例中,网络服务器可以利用片段承载的数据的至少一些,以提供或加强与用户的交互体验。由此,在各个实施例中,网络服务器被配置为使NFC设备能够向网络服务器发送片段数据并且由此支持这种交互。
图8示出了用于执行灵活数据认证以及向服务器提交动态数据的示例性消息交换800。示例性消息交换800可以在NFC标签110、用户设备130,以及示例性环境100的网路服务器150和证书授权服务器810之间发生。
响应于用户NFC发起,当用户设备130从NFC标签110接收到NDEF消息820时开始示例性消息交换800。根据图8的示例,NDEF消息820可以对应于示例性NDEF消息200。然后,根据这里所描述的任何方法或其变型,用户设备130上的NFC实施方式830执行包括任何所识别预处理842的签名验证840。此外,作为签名验证840的一部分,用户设备130与证书授权810通信以检索或验证公钥822。在执行验证之后,NFC实施方式830移动以记录解译844,并且基于URI NDEF记录270,利用指令来调用网络浏览器832,以接入URl“http://www.domain.com/page#04223344556677x00001A”。
在调用之后,网络浏览器832通过构建并发送HTTP GET消息824来执行URI检索并进行显示。根据典型的网络浏览器实施方式,网络浏览器832在HTTP GET消息824构建之前从URI移除片段,由此,HTTPGET消息824仅包含URI“https://www.domain.com/page”。然后,网络服务器150向用户设备130发送HTTP RESPONSE消息825。然后,网络浏览器呈现(render)接收到的HTML以作为URI检索和显示的一部分来显示网页。
为了便于检索从URI剥离的动态数据和其他数据,网络服务器150还包括HTTP RESPONSE 825中的Java脚本或其他脚本,以指示用户设备130如何发送或使用剥离后的数据。然后,网络浏览器832使用接收到的Java脚本代码来执行Java脚本执行848。接收到的Java脚本指示网络浏览器832构建并发送包括片段数据“04223344556677x00001A”的HTTP POST消息827。可以理解,Java脚本还可以执行附加功能,例如剖析片段数据以及仅利用HTTP POST消息827选择相关片段数据的子集用于发送。此外,各种备选或附加的格式和进程可以被应用于使用Java脚本(例如,异步Java脚本和XML(AJAX)方法)与网络服务器150的通信。响应于HTTP POST消息827,网络服务器150可以发送另一HTTP RESPONSE消息828,另一HTTP RESPONSE消息828包括要用作Java脚本执行的一部分以提供用户设备130上各种交互功能的附加数据或指令。显然,尽管Java脚本被描述为支持使用剥离的数据,各种其他类型的客户端侧脚本和处理可以被应用于便于剥离后的数据使用。
根据上文,各种实施例使得能够针对在签名时不可用的动态数据和其它数据进行数字签名和验证。例如,通过在签名验证之前提供从NDEF记录剥离数据的NFC/NDEF实施方式(或预处理),尽管包含在签名时没有出现的数据,NFC设备仍可以认证签名的NDEF记录。此外,通过将网络服务器配置为提供片段数据的NFC设备传输的指令,多个实施例使能URI片段的使用,以承载要向远程设备发送的动态数据。鉴于以上描述,各种附加利益将显而易见。
从以上描述显而易见的是,本发明的各种示例性实施例可以用硬件来实施。此外,各示例性实施例可以被实现为在非瞬时机器可读存储介质(例如易失性或非易失性存储器)上存储的指令,其可以被读取并通过至少一个处理器来运行以执行这里详细描述的操作。机器可读存储介质可以包括用于以机器可读的形式存储信息的任何机制,例如个人或膝上型计算机、服务器或其他计算设备。因此,非瞬时机器可读存储器介质排除瞬时性信号,但是可以包括易失性和非易失性存储器二者,包括但是不限于只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备,以及类似的存储介质。
本领域技术人员应理解:这里的任何框图表示体现本发明原则的说明性电路的概念视图。类似地,应理解,任何流程图、流程图表、状态转换图、伪随机码等代表可以实质上用机器可读介质来表示的以及因此通过计算机或处理器来执行的各种过程,无论这种计算机或处理器是否明确示出了。
尽管具体地参照其特定示例性方案已经描述了各示例性实施例,应理解本发明能够执行其他实施例并且其细节能够在各种明显的方面进行修改。如本领域技术人员逐渐地显见的这样,可以执行变型和修改,而保持在本发明的精神和范围内。因此,以上公开、说明书和附图用于说明性目的而不以任何形式限制本发明,本发明仅通过权利要求来定义。

Claims (20)

1.一种近场通信NFC设备执行的用于验证从NFC标签接收的记录的方法,所述方法包括:
由NFC设备从NFC标签接收NFC数据交换格式NDEF消息,其中NFC消息包括数字签名和数字签名的参考中的至少一个以及有效载荷;
从所述有效载荷剥离数据以生成剥离后的有效载荷;
使用所述数字签名和剥离后的有效载荷来验证所述有效载荷;以及
基于是否验证通过有效载荷来有条件地解译所述有效载荷和剥离后的有效载荷中的至少一个。
2.根据权利要求1所述的方法,其中,所述有效载荷包括统一资源标识符URI,所述统一资源标识符URI包括由井字符(#)表示的片段;以及
从有效载荷剥离数据包括从URI剥离片段。
3.根据权利要求2所述的方法,其中,所述片段包括片段数据,以及
解译有效载荷包括:
发送对由URI标识的资源进行请求的请求消息,其中所述请求省略了所述片段数据;
响应于所述请求接收脚本;以及
执行脚本,以便向除所述NFC设备之外的至少一个设备发送所述片段数据。
4.根据权利要求1所述的方法,其中,有效载荷包括统一资源标识符URI,所述统一资源标识符URI包括由问号字符(?)表示的查询串;以及
从有效载荷剥离数据包括:从URI剥离所述查询串。
5.根据权利要求1所述的方法,其中,所述数据由所述有效载荷内的比特序列表示;以及
从有效载荷剥离数据包括将所述比特序列设为0值。
6.根据权利要求1所述的方法,其中,所述NDEF消息还包括指示要执行预处理的预处理标识符;以及
响应于存在指示要执行预处理的预处理标识符来执行所述从有效载荷剥离数据的步骤。
7.根据权利要求6所述的方法,其中,所述预处理标识符识别第一预处理类型和第二预处理类型的至少一个,以及所述从有效载荷剥离数据的步骤包括:
基于识别第一预处理类型的预处理标识符,根据第一预处理类型来执行预处理;以及
基于识别第二预处理类型的预处理标识符,根据第二预处理类型来执行预处理。
8.根据权利要求1所述的方法,其中,所述验证有效载荷包括:
基于所述NDEF消息承载的已签名的数据来计算计算的散列值,其中所述已签名的数据包括所述剥离后的有效载荷;
基于数字签名来生成期望的散列值;以及
确定所述计算的散列值是否与所述期望的散列值相匹配。
9.一种用于验证从近场通信NFC标签接收的记录的NFC设备,所述NFC设备包括:
NFC读取器,配置为与所述NFC标签进行通信;以及
处理器,配置为:
通过NFC读取器接收NFC数据交换格式NDEF消息,其中NFC消息包括数字签名和数字签名的参考中的至少一个以及有效载荷;
从所述有效载荷剥离数据以生成剥离后的有效载荷;
使用所述数字签名和所述剥离后的有效载荷来验证有效载荷;以及
基于是否验证通过有效载荷来有条件地解译剥离后的有效载荷和有效载荷中的至少一个。
10.根据权利要求9所述的NFC设备,其中,所述有效载荷包括统一资源标识符URI,所述统一资源标识符URI包括由井号字符(#)表示的片段;以及
处理器配置为在从有效载荷剥离数据的过程中,从所述URI剥离片段。
11.根据权利要求10所述的NFC设备,还包括网络接口,其中,所述片段包括片段数据,以及
处理器配置为在解译有效载荷的过程中:
通过网络接口发送对URI识别的资源进行请求的请求消息,其中请求省略了片段数据;
响应于请求通过网络接口接收脚本;以及
执行所述脚本,以便通过网络接口向除所述NFC设备之外的至少一个设备发送所述片段。
12.根据权利要求9所述的NFC设备,其中,所述有效载荷包括统一资源标识符URI,所述统一资源标识符URI包括由问号字符(?)表示的查询串;以及
处理器配置为在从有效载荷剥离数据的过程中,从URI剥离所述查询串。
13.根据权利要求9所述的NFC设备,其中,所述数据由所述有效载荷内的比特序列表示;以及
处理器配置为在从有效载荷剥离数据的过程中,将所述比特序列设为0值。
14.根据权利要求9所述的NFC设备,其中,所述NDEF消息还包括指示要执行预处理的预处理标识符;以及
处理器配置为响应于存在指示要执行预处理的预处理标识符来执行从有效载荷剥离数据。
15.根据权利要求14所述的NFC设备,其中,所述预处理标识符识别第一预处理类型和第二预处理类型的至少一个,以及处理器配置为在从有效载荷中剥离数据的过程中:
基于识别第一预处理类型的预处理标识符,根据第一预处理类型来执行预处理;以及
基于识别第二预处理类型的预处理标识符,根据第二预处理类型来执行预处理。
16.根据权利要求9所述的NFC设备,其中,处理器配置为在验证有效载荷的过程中:
基于NDEF消息承载的已签名的数据来计算计算的散列值,其中所述已签名的数据包括所述有效载荷;
基于所述数字签名来生成期望的散列值;以及
确定所述计算的散列值是否与所述期望的散列值相匹配。
17.一种非瞬时性机器可读介质,编码有近场通信NFC设备执行的指令,用于验证从NFC标签接收的记录,所述非瞬时性机器可读介质包括:
用于由NFC设备从NFC标签接收NFC数据交换格式NDEF消息的指令,其中NFC消息包括数字签名和数字签名的参考中的至少一个以及有效载荷;
用于从有效载荷剥离数据以生成剥离后的有效载荷的指令;
用于使用所述数字签名和所述剥离后的有效载荷来验证所述有效载荷的指令;以及
用于基于是否验证通过所述有效载荷来有条件地解译所述剥离后的有效载荷和有效载荷中的至少一个的指令。
18.根据权利要求17所述的非瞬时性机器可读介质,其中,所述用于从有效载荷剥离数据的指令包括用于从有效载荷承载的统一资源标识符URI剥离由井号字符(#)表示的片段的指令。
19.根据权利要求17所述的非瞬时性机器可读介质,其中,所述用于从有效载荷剥离数据的指令包括用于从有效载荷承载的统一资源标识符URI剥离由问号字符(?)表示的查询串的指令。
20.根据权利要求17所述的非瞬时性机器可读介质,其中,用于从有效载荷剥离数据的指令配置为响应于NDEF消息中存在指示要执行预处理的预处理标识符来执行。
CN201410778685.2A 2013-12-31 2014-12-15 灵活的数据认证 Active CN104796257B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/145,049 US9419803B2 (en) 2013-12-31 2013-12-31 Flexible data authentication
US14/145,049 2013-12-31

Publications (2)

Publication Number Publication Date
CN104796257A true CN104796257A (zh) 2015-07-22
CN104796257B CN104796257B (zh) 2018-11-23

Family

ID=52272882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410778685.2A Active CN104796257B (zh) 2013-12-31 2014-12-15 灵活的数据认证

Country Status (3)

Country Link
US (1) US9419803B2 (zh)
EP (1) EP2890172B1 (zh)
CN (1) CN104796257B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017167311A1 (zh) * 2016-04-01 2017-10-05 珠海艾派克微电子有限公司 Nfc标签
CN107634833A (zh) * 2017-08-01 2018-01-26 上海飞聚微电子有限公司 一种rfid芯片的身份认证方法
CN113783691A (zh) * 2017-03-22 2021-12-10 微软技术许可有限责任公司 安全通信中的硬件加速的有效载荷过滤

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101508794B1 (ko) 2008-07-09 2015-04-06 삼성전자주식회사 Ndef 메시지에서 선택적으로 레코드들을 보안하기 위한 방법
EP2961200A1 (en) * 2014-06-23 2015-12-30 Nxp B.V. Near Field Communication System
EP3241303B1 (en) * 2014-12-31 2019-04-10 OneSpan International GmbH Methods, systems and apparatus for recognizing genuine products
US20160379131A1 (en) * 2015-06-26 2016-12-29 Nxp B.V. Fuzzy opaque predicates
US9854069B2 (en) * 2015-12-01 2017-12-26 Radiflow Ltd. Network security agent
SG10201600192TA (en) * 2016-01-11 2017-08-30 Mastercard Asia Pacific Pte Ltd A Method For Dynamic Authentication Of An Object
US10277283B2 (en) * 2016-09-14 2019-04-30 Sony Corporation NFC device, reader/writer device and methods for authorizing and performing an update
WO2018187596A1 (en) * 2017-04-06 2018-10-11 Walmart Apollo, Llc Authentication system using nfc tags
GB2561822B (en) * 2017-04-13 2020-02-19 Arm Ip Ltd Reduced bandwidth handshake communication
US10397000B2 (en) 2017-08-14 2019-08-27 Raytheon Company Multi-level authentication for secure supply chain asset management
FR3077701B1 (fr) 2018-02-02 2020-02-14 Stmicroelectronics (Grenoble 2) Sas Architecture de memoire d'un dispositif de communication en champ proche
US11272358B2 (en) * 2018-07-06 2022-03-08 Qualcomm Incorporated Near field communication forum data exchange format (NDEF) messages
US11626998B2 (en) * 2020-07-21 2023-04-11 Servicenow, Inc. Validated payload execution
US20220060467A1 (en) * 2020-08-24 2022-02-24 Just One Technologies LLC Systems and methods for phone number certification and verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599129A (zh) * 2008-06-04 2009-12-09 阿尔卡特朗讯公司 基于标记信息提供服务的方法、对应标记和标记阅读设备
CN102090007A (zh) * 2008-07-09 2011-06-08 三星电子株式会社 用于选择性保护近距离通信数据交换格式消息中的记录的近距离通信设备和方法
CN102246190A (zh) * 2008-12-10 2011-11-16 西门子公司 用于提供目标说明的方法和***
CN102638446A (zh) * 2011-02-10 2012-08-15 Nxp股份有限公司 安全智能海报

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130090131A1 (en) * 2011-10-08 2013-04-11 Thinglink Oy Nfc tag location
US20140201849A1 (en) * 2013-01-16 2014-07-17 Wms Gaming, Inc. Securing embedded content in a display frame with player tracking system integration
US9621252B2 (en) * 2013-03-11 2017-04-11 Nagravision S.A. Method and apparatus for selecting an application of a device having an NFC interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599129A (zh) * 2008-06-04 2009-12-09 阿尔卡特朗讯公司 基于标记信息提供服务的方法、对应标记和标记阅读设备
CN102090007A (zh) * 2008-07-09 2011-06-08 三星电子株式会社 用于选择性保护近距离通信数据交换格式消息中的记录的近距离通信设备和方法
CN102246190A (zh) * 2008-12-10 2011-11-16 西门子公司 用于提供目标说明的方法和***
CN102638446A (zh) * 2011-02-10 2012-08-15 Nxp股份有限公司 安全智能海报

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017167311A1 (zh) * 2016-04-01 2017-10-05 珠海艾派克微电子有限公司 Nfc标签
CN113783691A (zh) * 2017-03-22 2021-12-10 微软技术许可有限责任公司 安全通信中的硬件加速的有效载荷过滤
CN113783691B (zh) * 2017-03-22 2024-06-11 微软技术许可有限责任公司 安全通信中的硬件加速的有效载荷过滤
CN107634833A (zh) * 2017-08-01 2018-01-26 上海飞聚微电子有限公司 一种rfid芯片的身份认证方法

Also Published As

Publication number Publication date
US9419803B2 (en) 2016-08-16
EP2890172B1 (en) 2019-02-20
US20150188712A1 (en) 2015-07-02
EP2890172A1 (en) 2015-07-01
CN104796257B (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN104796257A (zh) 灵活的数据认证
US11683187B2 (en) User authentication with self-signed certificate and identity verification and migration
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
TWI526037B (zh) 用於交易鑑認之抽象化及隨機化單次使用密碼之方法及系統
CN110324143A (zh) 数据传输方法、电子设备及存储介质
CN114266033A (zh) 验证码生成方法、装置、验证码登录***及电子设备
CN112199622A (zh) 页面跳转方法、***及存储介质
CN110232021A (zh) 页面测试的方法及装置
CN104901951B (zh) 一种Web应用中基于移动终端的密码数据处理与交互方法
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
CN107729345B (zh) 网站数据处理方法、装置、网站数据处理平台及存储介质
CN114036364B (zh) 用于识别爬虫的方法、装置、设备、介质和***
CN114448722B (zh) 跨浏览器登录方法、装置、计算机设备和存储介质
US9203607B2 (en) Keyless challenge and response system
CN110740112B (zh) 认证方法、装置和计算机可读存储介质
CN114117404A (zh) 一种用户认证方法、装置、设备、***及存储介质
CN113645239B (zh) 一种应用登录方法、装置、用户终端及存储介质
CN116112172B (zh) Android客户端gRPC接口安全校验的方法和装置
CN111784430B (zh) 权限凭证生成方法和装置及权限凭证验证方法和装置
JP2023119856A (ja) 情報処理システム、及び情報処理方法
CN116886421A (zh) 用户业务处理方法、处理装置、电子设备和存储介质
CN117997519A (zh) 数据处理方法、装置、程序产品、计算机设备和介质
CN118316631A (zh) 一种身份认证实现方法及***
CN114398622A (zh) 云应用的处理方法、装置、电子设备以及存储介质
CN114499829A (zh) 一种密钥对管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant