CN1955984B - 射频识别系统和方法 - Google Patents
射频识别系统和方法 Download PDFInfo
- Publication number
- CN1955984B CN1955984B CN2006101275670A CN200610127567A CN1955984B CN 1955984 B CN1955984 B CN 1955984B CN 2006101275670 A CN2006101275670 A CN 2006101275670A CN 200610127567 A CN200610127567 A CN 200610127567A CN 1955984 B CN1955984 B CN 1955984B
- Authority
- CN
- China
- Prior art keywords
- sig
- verification msg
- digital signature
- rfid tag
- read
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种射频识别系统,包括:射频识别标签,其上存储了标识码以及可验证数据集;以及射频识别读取器,其向所述射频识别标签发送读取请求,请求读取所述可验证数据集中的第一部分,其中所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到来自所述射频识别读取器的读取请求时,在所述可验证数据集未被执行过锁定操作的情况下,对所述可验证数据集执行所述锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都无法被读取。
Description
技术领域
本发明一般地涉及计算机系统,尤其涉及射频识别系统和方法。
背景技术
伪造品对于产品制造商来说是极严重的问题。目前,在许多产业中都可看到伪造品,这些产业例如是酒、香烟、药物、化妆品、CD、DVD、软件、体育器材、儿童用品和珠宝等等。许多产业已经与伪造者战斗了几十年。但是,伴随着防伪努力的持续前进,伪造品却在不论是东方还是西方的大多数国家里变得惊人的普遍。
伪造品给无辜的制造商带来的不仅是利润上的巨大损失,还有信用上的灾难。不幸购买了伪造品并且对伪造品的伪劣质量不满意的普通消费者,在许多情况下都无法分辨伪造品和真品,因此将会负面但却错误地评价真正的制造商的产品质量。最后的悲哀故事是:伪造者赚了钱,而无辜的制造商受到了惩罚。
产品制造商始终渴求获得能帮助消费者分辨真品和伪造品的产品认证解决方案。如果这种解决方案使得消费者能够便利地认证产品,则伪造品就易被驱逐出市场。
防伪是专利申请中的非常热门的主题,在市场上已经可以看到许多解决方案。在计算机通信网络的广泛采用之前,防伪解决方案大体上是基于物理手段的,例如特殊的印墨、纸张、质地、激光标签。解决方案提供商宣称这种物理手段能够强有力地防伪。但是,过去几十年来的历史却明显与提供商所宣称的不符。钞票就是一个很好的例子。在钞票中总能找到最高级的物理手段。但是,伪钞却从来没有消失过。显然,普通产品制造商无法承受应用钞票的高成本。因此,由普通产品制造商采用的防伪解决方案是非常脆弱的。
在过去的20年中,计算机通信网络成功突围进了消费者市场中。全球因特网访问费用和固定/移动电信费用变得如此之低,以至于居住在这个星球上的大部分人都有能力消费它们。因此,看到越来越多防伪解决方案尝试将由产品承载的产品认证信息发送到后端服务器并由服务器确定产品的真伪,也就不令人惊奇了。例如,中国专利申请99126659和02111542就属于此类技术的范围。
射频识别(Radio Frequency Identification,RFID)标签是抗击伪造品领域的另一个后起之秀。RFID这个词涵盖了具有广泛变化的计算功率量、读取范围和成本的无线电和处理器技术的一个家族。自从Walmart和美国国防部开始大规模尝试以来,供应链标签已经变得很著名。工业团体EPCglobal(www.epcglobalinc.org)定义了0类和1类RFID标签,这些标签具有极有限的计算、存储和通信能力,并且不支持密码技术和最小限度的额外特征。
对于任何RFID系统,有三个元件是基本的:RFID标签、RFID读取器和数据处理子系统。RFID标签位于要标识的对象上,并且是RFID系统中的数据携带者。RFID读取器能够从RFID标签中读取数据和/或向RFID标签写入数据。数据处理子系统以某种有用的方式利用由RFID读取器获得的数据。
典型的RFID标签包括存储数据的微芯片以及耦合元件,例如线圈天线,用于经由射频通信来通信。RFID标签可以是有源的或无源的。有源RFID标签具有电源(例如电池),并且主动发送用于通信的RF信号,而无源RFID标签从RFID读取器的询问信号中获得其全部能量,并且或者反射RFID标签的信号,或者对RFID标签的信号进行负载调制,以进行通信。大多数RFID标签,无论是有源的还是无源的,都只在被RFID读取器询问时才进行通信。
典型的RFID读取器包括射频模块、处理器和耦合元件,以经由射频通信询问RFID标签。此外,许多RFID读取器装有接口,使得它们能够将接收到的数据传输给数据处理子系统,例如运行在个人计算机上的存储器。用射频来与RFID标签通信使得即使在标签位于不友好的环境中并且模糊难辨的情况下,RFID读取器也能在短距离到中等距离内读取无源RFID标签,在短距离到长距离内读取有源RFID标签。
可将利用RFID标签的防伪解决方案简单划分成在线和离线的两种。对于在线防伪解决方案,计算机通信网络也被使用,这种解决方案可能需要安全装置,也可能不需要。例如,中国专利申请200410082611.1和200410024790.3属于此类技术的范围,而前者不涉及安全装置,后者要求安全装置。另一方面,对于离线解决方案,不使用计算机通信网络,即只利用RFID标签和读取器来认证产品。在这种情况下,必然需要安全装置。例如,中国专利申请03111875.5和200410078160.4属于此类技术的范围。PCT专利申请WO 2005/024697 A2也涉及此类技术。
现有防伪解决方案具有成本、效率、可用性和安全性方面的问题。
首先,任何要求通信网络支持的防伪解决方案要处理来自消费者的大量产品认证,其后端服务器的成本都会很大。此外,通信花费会被加诸于消费者或产品制造商。如果加诸于消费者,则这种解决方案将会由于经济原因被大多数消费者所放弃。另一方面,如果加诸于产品制造商,则来自消费者的大量产品认证查询将会侵吞产品制造商的利润。这还不是全部,在大多数情况下,消费者和后端服务器之间为了产品认证进行的通信会花费相当多的时间。消费者可能因为时间原因而放弃这种解决方案。
现有的离线的基于标签的防伪解决方案,即不需要通信网络支持的解决方案,不仅遇到了成本问题,还遇到了安全问题。虽然在这种解决方案中已经包括了安全装置,但是大多数这种安全装置都不起作用。这种解决方案一般依赖于以下假设:标签包含某些秘密信息,并且是抗克隆的,即给出一个包含秘密信息的真正的标签,难以制造另一个包含相同信息的标签。如果这种假设是真的,则这些解决方案是可行的,因为安全装置保证存储在标签中的秘密信息是不可伪造的,因此安全信息和标签被安全地绑定在一起。不幸的是,这一假设对于现有解决方案是完全错误的。现有解决方案利用了存储在标签中的所有秘密信息来进行产品认证。正如我们所知的,对于离线解决方案,认证标签并确定被附着了标签的产品的真实性的是读取器。由于存储在标签中的所有秘密信息都用于认证中,如果任何一个读取器被伪造者所占有,则伪造者就能了解存储在读取器中的秘密信息,并将这些秘密信息完全复制到伪造的标签上,从而破坏了该解决方案的安全性。制造一种防止伪造者攻克的安全读取器是有可能的。但是,这种读取器太昂贵了。同样,很容易发现读取器和标签之间的射频通信是难以受安全装置来保护的。如果读取器和标签之间的射频通信是安全的,则不仅需要昂贵的读取器,还需要昂贵的标签,才能使得读取器和标签能够彼此认证。因此,只要通过窃听读取器和标签之间的开放无线电通信,就能截取包含在标签中的数据。结论就是,除非使用能够认证读取器并且能被读取器认证的昂贵的标签,并且读取器和标签之间的无线电信道被加密,否则RFID标签就很容易被克隆。
这里我们要强调,廉价标签至少具有“功率非常有限的无源标签”的特征。在标签上是没有诸如伪随机数生成、杂散、加密这样的基本安全要求的。对于这种廉价标签,数据克隆对所有产品认证解决方案来说都是令人头疼的。克隆的标签对于离线解决方案来说尤其致命。没有网络支持的读取器无法分辨真标签和克隆的标签,这意味着伪造的标签肯定能通过由任何真读取器进行的产品认证。因此,由于附着了克隆的标签的伪造品被读取器认证为真品,因而大规模伪造是无法避免的。
针对离线RFID标签的数据克隆问题,已提出了一些解决方案。例如,日本专利公开2005-130059中,提出了通过在附着在商品上的IC芯片的存储领域中写入多个密码化的数据,并且在进行产品认证时,通过多次读取芯片中的密码化的数据,而增加解读密码化数据的难度,从而在一定程度上增加了数据克隆的难度。但是,数据克隆仍然不是不可能的。伪造者通过足够多次读取一个真品芯片,就有可能获取该芯片中存储的所有密码化数据,并将这些数据克隆在伪造的芯片中,这样伪造的芯片肯定能通过由任何真读取器进行的产品认证。
因此,需要一种用于离线产品认证的RFID系统,其能够防止对存储在RFID标签中的数据进行克隆,并且还具有廉价、高效等优点。
发明内容
为了解决上述问题,即用一种廉价、高效的方案来防止对存储在射频识别标签中的数据进行克隆,提供了一种射频识别系统、一种射频识别标签和一种射频识别方法。
根据本发明的第一方面,提供了一种射频识别系统,包括:射频识别标签,其上存储了标识码以及可验证数据集;以及射频识别读取器,其向所述射频识别标签发送读取请求,请求读取所述可验证数据集中的第一部分,其中所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到来自所述射频识别读取器的读取请求时,在所述可验证数据集未被执行过锁定操作的情况下,对所述可验证数据集执行所述锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都无法被读取。
根据本发明的第二方面,提供了一种射频识别标签,其上存储了标识码以及可验证数据集,其中所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到请求读取所述可验证数据集中的第一部分的读取请求时,在所述可验证数据集未被执行过锁定操作的情况下,对所述可验证数据集执行所述锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都都无法被读取。
根据本发明的第三方面,提供了一种射频识别方法,包括:在射频识别标签上存储标识码以及可验证数据集;以及射频识别读取器向所述射频识别标签发送读取请求,请求读取所述可验证数据集中的第一部分,其中所述射频识别标签在接收到来自所述射频识别读取器的读取请求时,在所述可验证数据集未被执行过所述锁定操作的情况下,对所述可验证数据集执行锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都无法被读取。
根据本发明的第四方面,提供了一种射频识别系统,包括:射频识别标签,其上存储了标识码以及m个可验证数据集;以及射频识别读取器,其向所述射频识别标签发送读取请求,请求读取所述m个可验证数据集中的t个可验证数据集中的每个可验证数据集的一部分数据,其中所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到来自所述射频识别读取器的读取请求时,在所述t个可验证数据集未被执行过锁定操作的情况下,对所述t个可验证数据集执行所述锁定操作,使得从此以后所述t个可验证数据集中的每个可验证数据集的另一部分数据无法被读取。
根据本发明的第五方面,提供了一种射频识别标签,其上存储了标识码以及m个可验证数据集,其中所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到请求读取所述m个可验证数据集中的t个可验证数据集中每个可验证数据集的一部分数据的读取请求时,在所述t个可验证数据集未被执行过锁定操作的情况下,对所述t个可验证数据集执行所述锁定操作,使得从此以后所述t个可验证数据集中的每个可验证数据集的另一部分数据无法被读取。
根据本发明的第六方面,提供了一种射频识别方法,包括:在射频识别标签上存储标识码以及m个可验证数据集;以及射频识别读取器向所述射频识别标签发送读取请求,请求读取所述m个可验证数据集中的t个可验证数据集中的每个可验证数据集的一部分数据,其中所述射频识别标签在接收到来自所述射频识别读取器的读取请求时,在所述t个可验证数据集未被执行过锁定操作的情况下,对所述t个可验证数据集执行所述锁定操作,使得从此以后所述t个可验证数据集中的每个可验证数据集的另一部分数据无法被读取。
根据本发明的实施例,向射频识别标签中引入了锁定功能。从而通过存储在射频识别标签中的多个数字签名以及由射频标签所执行的锁定功能,有效地禁止了对射频标签中的数据的克隆,并且阻挠了大规模的伪造。
附图说明
图1示出根据本发明的第一实施例的RFID系统100,其包含RFID标签101和RFID读取器102;
图2示出根据本发明的第一实施例的RFID标签101的内部结构示意图;
图3示出根据本发明的第一实施例的RFID读取器102的内部结构示意图;
图4示出图1所示的RFID标签101在接收到来自RFID读取器102的读取请求时的操作流程图
图5示出图1所示的RFID读取器102向RFID标签101发送读取请求,并根据读取到的数字签名对RFID标签101的真伪性进行认证的操作流程图;
图6示出根据本发明的第二实施例的RFID系统600,其包含RFID标签601和RFID读取器602;
图7示出根据本发明的第二实施例的RFID标签601的内部结构示意图;
图8示出根据本发明的第二实施例的RFID读取器602的内部结构示意图;
图9示出图6所示的RFID标签601在接收到来自RFID读取器602的读取请求时的操作流程图;
图10示出图6所示的RFID读取器602向RFID标签601发送读取请求,并根据读取到的数字签名对RFID标签601的真伪性进行认证的操作流程图;
图11示出根据本发明的第三实施例的RFID系统1100,其包含RFID标签1101和RFID读取器1102;
图12示出根据本发明的第三实施例的RFID标签1101的内部结构示意图;
图13示出根据本发明的第三实施例的RFID读取器1102的内部结构示意图;
图14示出图11所示的RFID标签1101在接收到来自RFID读取器1102的读取请求时的操作流程图;
图15示出图11所示的RFID读取器1102向RFID标签1101发送读取请求,并根据读取到的数字签名对RFID标签1101的真伪性进行认证的操作流程图;
图16示出根据本发明的第四实施例的RFID系统1600,其包含RFID标签1601和RFID读取器1602;
图17示出根据本发明的第四实施例的RFID标签1601的内部结构示意图;
图18示出根据本发明的第四实施例的RFID读取器1602的内部结构示意图;
图19示出图16所示的RFID标签1601在接收到来自RFID读取器1602的读取请求时的操作流程图;
图20示出图16所示的RFID读取器1602向RFID标签1601发送读取请求,并根据读取到的数字签名对RFID标签1601的真伪性进行认证的操作流程图;以及
图21示出根据本发明的第五实施例的RFID标签的存储器消耗的减少。
具体实施方式
下面将说明本发明的具体实施例。
图1是根据本发明的第一实施例的RFID系统100的简化框图。RFID系统100包括RFID标签101和RFID读取器102,并且RFID标签101与RFID读取器102之间通过射频通信来通信。该RFID标签101是一个无源标签,它从来自RFID读取器102的读取请求信号中获取其全部能量,并且通过反射来自RFID读取器102的信号,或者对来自RFID读取器102的信号进行负载调制,来答复RFID读取器102。RFID标签101的体积很小,可以附着在任何需要进行认证的产品之上。RFID读取器102可向RFID标签101发送数据,例如读取请求,并且接收来自RFID标签101的答复数据。
图2是图1的RFID标签101的内部结构示意框图。RFID标签101包括微芯片201和标签耦合元件202。微芯片201中包括标识码存储区域203、辅助存储区域204和控制装置205。在标识码存储区域中存储了唯一标识RFID标签101的某个属性标识码,例如EPC码。
EPC码是由EPCglobal所定义的。EPC码中的一部分将会唯一标识被附着了RFID标签101的产品的制造商。EPC是存储在射频识别标签中的唯一信息,且已经得到UCC和国际EAN两个国际标准的主要监督机构的支持。EPC的目标是提供对物理世界对象的唯一标识。它通过计算机网络来标识和访问单个物体,就如在互联网中使用IP地址来标识、组织和通信一样。以下简要说明EPC码的结构。EPC是一组数字,由头标和三部分数据组成。头标表明EPC的版本号,已经考虑到不同长度或未来的不同标签类型。第二部分,表明EPC的管理者,相当于产品的制造商。第三部分,代表物品类别,表明了产品的确切类别。第四部分,是单个物品的序列号。例如,一个EPC码01.115A1D7.28A1E6.421CBA30A,其中01表示EPC版本(8位),115A1D7表示产品制造商识别码,一共28位(可以表示大于2.68亿个产品制造商),28A1E6表示产品识别码,一共24位(每家产品制造商可以表示大于1600万个产品类别),而421CBA30A表示单品序列号,一共36位(每类产品可以表示大于680亿件单品)。
在辅助存储区域204中,存储了可验证数据,以及其他辅助信息,例如制造日期。存在多种生成可验证数据的方式,以下将描述其示例。
在本发明的优选实施例中,可验证数据可以是数字签名。如图2所示,多个(例如n个,n为正整数且n>1)数字签名{SIG1,SIG2,...,SIGn}被存储在辅助存储区域204中。
假定每个产品制造商具有至少一个公钥(public-key),数字签名是关于EPC的内容的数字签名。这些签名由制造商的公钥所验证。例如,假设n=2,即存储区域204中存储了2个数字签名SIG1和SIG2,产品制造商具有两个RSA公钥,PK1和PK2,每个公钥为1024比特。则SIG1和SIG2可以是关于EPC和制造日期的数字签名,这些数据签名分别可由公钥PK1和PK2所确认。每个签名消耗1024比特。最好用ECDSA(ANSI X9.62)同族机制来计算签名,这样一个制造商只需要一个公钥即可。按照这种机制,每个签名具有两部分S和C,如果利用160比特椭圆曲线和SHA-1的话,则S部分和C部分各具有160比特。换句话说,一个数字签名消耗320比特。但其安全强度可以与1024比特的RSA数字签名方案的安全性相比拟。稍后将给出关于S部分和C部分的计算方法的示例。关于数字签名方案的各种选择和考虑对于本领域的技术人员来说是公知的。
除生成为数字签名外,可验证数据生成方式例如也可以选用本领域内公知的MAC(Message Authentication Code)方法。例如是,给定安全杂散函数和消息M(包括EPC码E以及可能的附加信息),n个可验证数据可以计算为MACi=hash(M,key,i),i=1,2,...,n。将MAC1~MACn作为可验证数据存储在标签中。当读取器读取到任何一个可验证数据的时候,例如MACj,可以根据该MAC值的序号j,相关的消息M,以及读取器自己存储器中的密钥key,验证读取到的MACj是否等于hash(M,key,j)。如果相等,则这个MAC值是真实的。反之,这个MAC值是伪造的。MAC还可以用其他的方法生成,例如HMAC,安全杂散函数也有多种选择,这些对于本领域的技术人员来说是公知的。
又例如,可验证数据生成方式可以选用本领域内公知的对称加密方法。具体是,给定对称加密函数SEC和解密函数SDE,消息M(包括EPC码E以及可能的附加信息),n个可验证数据可以计算为Di=SEC(M,key,i),i=1,2,...,n。将D1~Dn作为可验证数据存储在标签中。当读取器读取到任何一个可验证数据的时候,例如Dj,可以根据该数据的序号j,相关的消息M,以及读取器自己存储器中的密钥key,验证SDE(Dj,key)是否能解密出M和j。如果能够,则这个可验证数据是真实的。反之,这个可验证数据是伪造的。对称加密算法有多种选择,例如3DES,AES,这些对于本领域的技术人员来说是公知的。
上述不采用数字签名的可验证数据生成方案,可以拓展到在读取器中存储多个密钥,分别属于不同的生产厂家,EPC中申明是某个厂家的标签所存储的可验证数据可以用读取器中存储的该厂家的密钥来验证。
上述不采用数字签名的可验证数据生成方案的主要问题是,如果每个厂家有不同的密钥,这样的方案可扩展性很差。设想一个读取器存储了成千上万厂家的密钥,读取器将成为很大的安全隐患。同时,向读取器中安全的增加新的密钥也是很困难的。另一方面,如果所有的厂家共享同一个密钥,这样的方案可扩展性也很差。这是因为在这种情况下只能由公认可信的第三方来使用这个密钥,这使得该第三方必须为所有厂家生产的所有产品生成可验证数据,同样是很困难的。
因此,采用数字签名作为可验证数据是本发明的首选实施例。
控制装置205用于在RFID标签101接收到RFID读取器的读取请求时根据情况执行锁定操作,使RFID标签的辅助存储区域204中存储的一部分数字签名以后不能被读取。控制装置205的操作将在以下结合图4进一步说明。
标签耦合元件202可以是线圈天线,用于通过射频通信与RFID读取器102通信。
图3是图1所示的RFID读取器102的内部结构示意框图。RFID读取器102包括处理器301、射频模块302、读取器耦合元件303和存储器304。处理器301用于控制RFID读取器102通过耦合元件303向RFID标签101发送读取请求,处理器301中还包括认证部分301-1,用于对从RFID标签101接收到的答复数据进行分析,以对RFID标签101的真伪性进行认证,从而可对附着了RFID标签101的产品的真伪性进行认证。处理器301的操作将在下文结合图5进一步说明。射频模块302用于在处理器301的控制下生成射频信号。读取器耦合元件303用于通过发送/接收射频信号来与RFID标签101通信。存储器304用于存储产品制造商的公钥。在使用RSA算法计算数字签名的情况下,相应于存储在RFID标签101的辅助存储区域204中的n个数字签名,存储器304中存储了n个公钥{PK1,PK2,...,PKn}。但是,在使用ECDSA算法计算数字签名的情况下,无论辅助存储区域204中存储了多少个数字签名,对于一个制造商,存储器304中只需存储1个公钥,用于验证该制造商的数字签名。
图4示出图1所示的RFID标签101在接收到来自RFID读取器102的读取请求时的操作流程图。在步骤401中,RFID标签101接收到来自RFID读取器102的读取请求,被要求读取包含k个数字签名的数字签名子集{SIGa_1,SIGa_2,...,SIGa_k},其中k为正整数且l≤k≤n,并且{a_1,a_2,...,a_k}{1,2,...,n},即{SIGa_1,SIGa_2,...,SIGa_k}{SIG1,SIG2,...SIGn}。在步骤402中,控制装置205判断数字签名集合{SIG1,SIG2,...,SIGn}以前是否已因被执行锁定操作而被锁定到另一数字签名子集{SIGb_1,SIGb_2,...,SIGb_k}。如果已被锁定,则在步骤403中,RFID标签101向RFID读取器102发送数字签名子集{SIGb_1,SIGb_2,...,SIGb_k}。然后此次过程结束。如果未被锁定,则在步骤404中,控制装置205执行锁定操作,将RFID标签101中的数字签名集合{SIG1,SIG2,...,SIGn}锁定到数字签名子集{SIGa_1,SIGa_2,...,SIGa_k}。这样,以后再接到读取请求时,只有数字签名子集{SIGa_1,SIGa_2,...,SIGa_k}可以被读取,而数字签名集合{SIG1,SIG2,...,SIGn}中的其他数字签名不能再被读取。接下来,在步骤405中,控制装置205判断RFID标签101是否已被锁定。如果未被锁定的话,则不执行任何操作,本次过程结束。如果已被锁定的话,则过程前进到步骤406,在步骤406中,向RFID读取器102发送数字签名子集{SIGa_1,SIGa_2,...,SIGa_k}。然后此次过程结束。在本发明的第一实施例中,控制装置205例如是按以下方式实现锁定的:为每个数字签名SIGi设置一个相应的标记比特Fi,其初始值为0,在SIGi初次被读取时,将其相应的标记比特Fi置位为1,当标记比特为1的数字签名的数目达到k时,标记比特不为1的数字签名就不再能被读取了。使数字签名不能被读取的方法例如是将其销毁,例如清零。锁定也可按另外的方式进行,例如标签中不设显式的标记位,而是直接将所有不可被读出的数字签名数据销毁,例如清零。全为零的数字签名可以被标签判断为无需发送给读取器的数字签名。也可以在被标签发送的情况下由读取器判断为被禁止读取的数字签名,其效果都是使其不能被读取器所读取。当然,对于本领域的技术人员显而易见的是,锁定操作也可以通过其他方式在软件、硬件或其结合中实现。本发明不限于这里作为例子举出的特定锁定方式。注意RFID标签101也可能接收到请求读取其他数目的数字签名的读取请求,例如请求读取k’个数字签名的请求,但不论k’是否等于k,RFID标签101都最多只会让k个数字签名被读取。
与图4所示的RFID标签101操作流程对应,图5示出图1所示的RFID读取器102向RFID标签101发送读取请求,并根据从RFID标签101接收到的数据对RFID标签101的真伪性进行认证的操作流程图。这里假定RFID读取器102已经成功从RFID标签101中读取到了标识码,例如EPC码,从而确定了唯一标识RFID标签101的某个属性,因此确定了应使用存储器中存储的哪个公钥或哪个公钥集合来验证读取的数字签名。在步骤501中,RFID读取器102的处理器301从索引集合{1,2,...,n}中随机选择索引子集{a_1,a_2,...,a_k}。然后在步骤502中,处理器301控制RFID读取器102通过读取器耦合元件303向RFID标签101发送读取请求,请求读取数字签名子集{SIGa_1,SIGa_2,...,SIGa_k},并开始等待来自RFID标签101的答复数据。在步骤503中,处理器301判断是否多次超时,如果多次超时的话,则过程前进到步骤512,认证部分301-1判断RFID标签101为破损标签。这里在判断为破损标签前容许的超时次数可根据需要选择。选择方法是本领域的技术人员所公知的。如果在步骤503中,在判断为多次超时之前接收到来自RFID标签101发送来的数字签名子集{SIGb_1,SIGb_2,...,SIGb_k}(步骤505),则在步骤506中,处理器301从存储器304中取出对应于制造商的公钥。接下来在步骤507中,利用制造商公钥验证数字签名子集{SIGb_1,SIGb_2,...,SIGb_k}。在步骤508中,判断数字签名子集{SIGb_1,SIGb_2,...,SIGb_k}是否有效,如果无效的话,则认证部分301-1判断RFID标签101为伪造标签,从而可判断附着了RFID标签101的产品为伪造品(步骤504)。如果有效的话,则在步骤509中,判断索引子集{b_1,b_2,...,b_k}是否等于在步骤501中随机选择的索引子集{a_1,a_2,...,a_k}。如果等于的话,则认证部分301-1判断RFID标签101是真品标签(步骤510),如果不等于的话,则认证部分301-1判断RFID标签101以前被读过(步骤511)。通过以上所述的过程,RFID读取器102可对RFID标签101的真伪性做出认证。
从以上描述中可以看出,在标签中执行“锁定”的结果是防止了标签克隆。这里首先以k=1为例来计算伪造品检测概率。伪造者只能获得存储在真品标签中的所有n个数字签名中的一个,其他n-1个将再也不能被读取。因此,伪造的标签将会只包含一个有效数字签名,从而不会再出现克隆的标签。当这种伪造标签被真品读取器认证时,由于读取器将会从索引集合{1,2,...n}中随机选取i,并且请求读取SIGi,因此伪造标签被检测到的概率为(n-1)/n。一般而言,p个伪造标签被检测到的概率是1-(1/n)p。以n=2为例,一个伪造标签逃脱检测的概率为50%,而十二个伪造标签逃脱检测的概率将会低于0.025%。或者换句话说,十二个伪造标签被检测到的概率高于99.97%。显然,如果1<k<n*0.5,则伪造标签被检测到的概念将会更高。当k=n*0.5时,检测概率最高。例如,n=12,即一个标签存储12个数字签名,如果k=6,即从12个数字签名中随机选择6个来验证。由于1个伪造标签上最多有6个有效数字签名,因此伪造标签被检测到的概率为1-1/C12 6,即99.89%。此时,两个伪造标签逃脱检测的概率将低于0.00012%。现在可以合理地论断,本发明所提出的利用包含带锁定功能的RFID标签的RFID系统进行产品认证可以有效地阻挠大规模伪造。
在本发明的第二实施例中,除签名集合{SIG1,SIG2,...,SIGn}以外,RFID标签中还包含了另外m-1组数字签名集合,其中m为正整数且m>1,并且每组数字签名集合的构成方式与签名集合{SIG1,SIG2,...,SIGn}的构成方式相同。图6示出根据本发明的第二实施例的RFID系统600,其包含RFID标签601和RFID读取器602。图7示出根据本发明的第二实施例的RFID标签601的内部结构示意图。图8示出根据本发明的第二实施例的RFID读取器602的内部结构示意图。如图7所示,RFID标签601包括微芯片701和标签耦合元件702。微芯片701中包括标识码存储区域703、辅助存储区域704和控制装置705。RFID标签601的辅助存储区域704中存储了m组数字签名集合,每组包含n个签名,形成一个数字签名矩阵{SIGi,j},1≤i≤m,1≤j≤n。如图8所示,RFID读取器602包括处理器801、射频模块802、读取器耦合元件803和存储器804。处理器801中还包括认证部分801-1。
对于每组签名,RFID标签601的操作与以上结合图4所描述的RFID标签101操作相似,如图9所示。图9示出图6所示的RFID标签601在接收到来自RFID读取器602的读取请求时的操作流程图。在步骤901中,RFID标签601接收到来自RFID读取器602的读取请求,被要求读取第i组的数字签名子集{SIGi,a_1,SIGi,a_2,...,SIGi,a_k},其中1≤i≤m,1≤k≤n,并且{a_1,a_2,...,a_k}{1,2,...,n},即{SIGi,a_1,SIGi,a_2,...,SIGi,a_k}{SIGi,1,SIGi,2,...SIGi,n}。在步骤902中,控制装置705判断第i组数字签名集合{SIGi,1,SIGi,2,...,SIGi,n}以前是否已因被执行锁定操作而被锁定到另一数字签名子集{SIGi,b_1,SIGi,b_2,...,SIGi,b_k}。如果已被锁定,则在步骤903中,RFID标签601向RFID读取器602发送数字签名子集{SIGi,b_1,SIGi,b_2,...,SIGi,b_k}。然后此次过程结束。如果未被锁定,则在步骤904中,控制装置705执行锁定操作,将RFID标签601中的第i组数字签名集合{SIGi,1,SIGi,2,...,SIGi,n}锁定到数字签名子集{SIGi,a_1,SIGi,a_2,...,SIGi,a_k}。这样,以后再接到关于第i组数字签名集合{SIGi,1,SIGi,2,...,SIGi,n}的读取请求时,只有数字签名子集{SIGi,a_1,SIGi,a_2,...,SIGi,a_k}可以被读取,而第i组数字签名集合{SIGi,1,SIGi,2,...,SIGi,n}中的其他数字签名不能再被读取。接下来,在步骤905中,控制装置705判断RFID标签601的第i组数字签名集合是否已被锁定。如果未被锁定的话,则不执行任何操作,本次过程结束。如果已被锁定的话,则过程前进到步骤906,在步骤906中,向RFID读取器602发送数字签名子集{SIGi,a_1,SIGi,a_2,...,SIGi,a_k}。在本发明的第二实施例中,控制装置705例如是按以下方式实现锁定的:为每个数字签名SIGi,j设置一个相应的标记比特Fi,j,其初始值为0,在数字签名SIGi,j初次被读取时,将其标记比特Fi,j置位为1,当第i组中相应的标记比特为1的数字签名的数目达到k个后,第i组中相应的标记比特不为1的数字签名就不能被读取了。使数字签名不能被读取的方法例如是将其销毁,例如清零。锁定也可按另外的方式进行,例如标签中不设显式的标记位,而是直接将所有不可被读出的数字签名数据销毁,例如清零。全为零的数字签名可以被标签判断为无需发送给读取器的数字签名。也可以在被标签发送的情况下由读取器判断为被禁止读取的数字签名,其效果都是使其不能被读取器所读取。当然,对于本领域的技术人员显而易见的是,锁定操作也可以通过其他方式在软件、和硬件或其结合中实现。本发明不限于这里作为例子举出的特定锁定方式。注意RFID标签601也可能接收到请求读取第i组中的其他数目个数字签名的请求,例如请求读取k’个数字签名的请求,但不论k’是否等于k,RFID标签601都最多只会让第i组的k个数字签名被读取。另外,RFID标签601也可能遇到被请求读取第i>m组数字签名集合的情况,在此情况下RFID标签601的控制装置705会把该读取请求判断为错误的读取请求,而不对其做任何响应。
与图9所示的RFID标签601操作流程对应,图10示出图6所示的RFID读取器602向RFID标签601发送读取请求,并根据从RFID标签601接收到的数据对RFID标签601的真伪性进行认证的操作流程图。这里假定RFID读取器602已经成功从RFID标签601中读取到了标识码,例如EPC码,从而确定了唯一标识RFID标签601的某个属性,因此确定了应使用存储器中存储的哪个公钥或哪些公钥来验证读取的数字签名。在步骤1001中,RFID读取器602的处理器801中的计数器(未示出)的值i被设为1。然后在步骤1002中,处理器801从索引集合{1,2,...,n}中随机选择索引子集{a_1,a_2,...,a_k}。接下来在步骤1003中,处理器801控制RFID读取器602通过读取器耦合元件803向RFID标签601发送读取请求,该读取请求中请求读取第i组数字签名集合的数字签名子集{SIGi,a_1,SIGi,a_2,...,SIGi,a_k},并开始等待来自RFID标签601的答复数据。在步骤1004中,处理器801判断是否多次超时,如果多次超时的话,则在步骤1005中,过程前进到步骤1015,认证部分801-1判断RFID标签601为破损标签。这里在判断为破损标签前容许的超时次数可根据需要选择。选择方法是本领域的技术人员所公知的。如果在步骤1004中,在判断为多次超时之前接收到来自RFID标签601发送来的数字签名子集{SIGi,b_1,SIGi,b_2,...,SIGi,b_k}(步骤1006),则在步骤1007中,处理器801从存储器804中取出对应于制造商的公钥。接下来在步骤1008中,利用制造商公钥验证数字签名子集{SIGi,b_1,SIGi,b_2,...,SIGi,b_k}。在步骤1009中,判断数字签名子集{SIGi,b_1,SIGi,b_2,...,SIGi,b_k}是否有效,如果无效的话,则认证部分801-1判断RFID标签601为伪造标签,从而判断附着了RFID标签601的产品为伪造品(步骤1005)。如果有效的话,则在步骤1010中,判断索引子集{b_1,b_2,...,b_k}是否等于在步骤1002中随机选择的索引子集{a_1,a_2,...,a_k}。如果等于的话,则认证部分801-1判断RFID标签601是真品标签(步骤1011),如果不等于的话,则在步骤1012中处理器801将计数器的值i递增1,并在步骤1013中判断i的值是否大于m。如果i>m,则认证部分801-1判断RFID标签601以前被读过(步骤1014),否则返回步骤1002,以重复步骤1002及其以后的过程。通过以上所述的过程,RFID读取器602可对RFID标签601的真伪性做出认证。
采用多组数字签名集合的优点是明显的。有了m个组,就可以保证真正的产品能至少m次被读取器认证成真品。因为有时候产品是作为礼物被购买的,并且在其被消耗之前可能经过几个人,所以采用多组数字签名集合是有用的。在这种情况下,不仅购买者和最终消费者,而且中间人也可能希望认证产品。在RFID标签中存储m组数字签名集合后,至少m个人可以将产品认证为真品。
作为以上第二实施例的一种替换方案,在认证过程中,RFID读取器602每次可以要求对RFID标签601中的多组数字签名集合进行读取,并根据对这多组数字签名集合读取的结果来对标签的真伪作出判断。例如,RFID读取器602可以要求读取RFID标签601中的第1组数字签名集合中的数字签名子集{SIG1,a_1,SIG1,a_2,...,SIG1,a_k},随后接收到标签返回来的数字签名子集{SIG1,b_1,SIG1,b_2,...,SIG1,b_k},然后要求读取RFID标签601中的第2组数字签名集合中的数字签名子集{SIG2,a_1,SIG2,a_2,...,SIG2,a_k},随后接收到标签返回来的数字签名子集{SIG2,b_1,SIG2,b_2,...,SIG2,b_k},以此类推,直到要求读取RFID标签601中的第t组数字签名集合中的数字签名子集{SIGt,a_1,SIGt,a_2,...,SIGt,a_k},随后接收到标签返回来的数字签名子集{SIGt,b_1,SIGt,b_2,...,SIGt,b_k}。在接收到t组数字签名子集之后,RFID读取器602开始进行判断。如果这t组返回的数字签名子集中有任何一个数字签名无效,则说明RFID标签601已破损;如果数字签名都有效,那么如果对于1≤i≤t中的任何一个i,索引子集{b_1,b_2,...,b_k}都等于索引子集{a_1,a_2,...,a_k},则说明标签是真品标签,否则,说明标签以前被读过。
该替换方案的好处是检测到伪造品的概率大大增加。仍以k=1为例来计算伪造品检测概率。对于一个伪造标签,其所返回的t组的t个签名完全匹配读取器所要求读取的t个签名的概率为(1/n)t,因此该伪造的标签被检测出来的概率是1-(1/n)t。仍以n=2为例,如果t=12,则一个伪造的标签被检测到的概率将为99.97%。
当然,检测概率的增大是以标签能被认证成真品的次数减少为代价的。例如如果一个标签里有m=24组数字签名集合,每次认证读取器要求读取一组数字签名集合,标签能至少24次被认证成真品。如果每次认证读取器要读取12组数字签名集合,标签最少只能有2次被认证成真品。
以下描述本发明的第三实施例。第三实施例与第一实施例的不同之处在于,当RFID读取器向RFID标签发送读取请求时,并非同时请求读取多个数字签名组成的数字签名子集,而是一次请求读取一个数字签名。此实施例所实现的通过锁定防止标签克隆的效果与第一实施例所实现的是等价的,并且还具有RFID标签的实现更为简单的特征。以下参考图11到图15描述此实施例。
图11示出根据第三实施例的RFID系统1100。与第一实施例中类似,该RFID系统1100包括RFID标签1101和RFID读取器1102。
图12是图11的RFID标签1101的内部结构示意框图。与第一实施例类似,RFID标签1101包括微芯片1201和标签耦合元件1202。微芯片1201中包括EPC码存储区域1203、辅助存储区域1204和控制装置1205。
图13是图11所示的RFID读取器1102的内部结构示意框图。与第一实施例类似,RFID读取器1102包括处理器1301、射频模块1302、读取器耦合元件1303和存储器1304。处理器1301中还包括认证部分1301-1。
图14示出图11所示的RFID标签1101在接收到来自RFID读取器1102的对数字签名SIGi的读取请求时的操作流程图。在此实施例中,如上所述,假定RFID标签1101中存储了n(n>1)个数字签名的集合{SIG1,SIG2,...,SIGn},并假定RFID读取器1102在其存储器1304中存储了对应于与RFID标签1101相关的产品的制造商的至少一个公钥,在处理器1301的控制下向RFID标签1101发送读取请求,并且在每次由认证部分1301-1得出真伪性结论之前要读取k个签名。在步骤1401中,RFID标签1101接收到来自RFID读取器1102的读取请求,即要求读取SIGi。在步骤1402中,RFID标签1101的控制装置1205确定已被锁定的数字签名数目x。然后在步骤1403中,控制装置1205判断x是否等于k。如果判断结果为肯定的,即x=k,则在步骤1404中,RFID标签1101通过标签耦合元件1202向RFID读取器1102发送标记Tag_Is_Locked,表明标签已被锁定。接下来在步骤1405中,RFID标签1101的控制装置1205判断SIGi是否被锁定。如果是的话,则在步骤1406中,RFID标签1101通过标签耦合元件1202向RFID读取器1102发送SIGi,此次过程结束,RFID标签1101返回等待状态,等待来自RFID读取器1102的下一个读取请求。如果在步骤1405中判断SIGi未被锁定,则不进行任何操作,流程结束,RFID标签1101返回等待状态。另一方面,如果在步骤1403中控制装置1205的判断结果为否定,即x不等于k,则在步骤1407中,控制装置1205判断x是否小于k。如果结果为否定,则不进行任何操作,RFID标签1101返回等待状态。如果结果为肯定,则在步骤1408中,RFID标签1101通过标签耦合元件1202向RFID读取器1102发送标记Tag_Not_Locked,表明标签尚未被锁定。然后在步骤1409中,控制装置1205锁定SIGi。在第三实施例中,控制装置1205例如是按以下方式实现锁定的:为每个数字签名-SIGi设置一个相应的标记比特Fi,其初始值为0,在每个数字签名初次被请求读取时,将其相应的标记比特置位为1,当标记比特为1的数字签名的数目达到k时,标记比特不为1的数字签名就不再能被读取了。使数字签名不能被读取的方法例如是将其销毁,例如清零。当然,对于本领域的技术人员显而易见的是,锁定也可以通过其他方式在软件、硬件或其结合中实现。本发明不限于这里作为例子举出的特定锁定方式。当在步骤1409中锁定SIGi之后,流程进行到步骤1405,进行以上提到的从步骤1405开始直到结束的流程。最后RFID标签1101返回等待状态,等待来自RFID读取器1102的下一个读取请求。注意RFID标签1101也可能接收到请求读取其他数目个数字签名的请求,例如请求读取k’个数字签名的请求,但不论k’是否等于k,RFID标签1101都最多只会让k个数字签名被读取。
与图14所示的RFID标签1101操作流程对应,图15示出图11所示的RFID读取器1102向RFID标签1101发送读取请求,并根据从RFID标签1101发送回来的数据对RFID标签1101的真伪性进行认证的操作流程图。这里假定RFID读取器1102已经成功从RFID标签1101中读取到了标识码,例如EPC码,从而确定了唯一标识RFID标签1101的某个属性,因此确定了应使用存储器中存储的哪个公钥或哪些公钥来验证读取的数字签名。首先在步骤1501中,RFID读取器1102的处理器1301随机选择k个索引组成的索引子集{a_1,a_2,...,a_k}。在步骤1502中,处理器1301将其中包含的计数器(未示出)的值i设为1,即令i=1,其中i的值指示索引子集下标。然后在步骤1503中,处理器1301指示射频模块1302生成要求读取第a_i个签名SIGa_i的读取请求,并通过读取器耦合元件1303将该读取请求发送到RFID标签1101。在步骤1504中,RFID读取器1102接收到来自RFID标签1101的关于锁定状态的标记。在步骤1505中,处理器1301判断i是否等于1并且根据接收到的标记判断RFID标签1101是否被锁定。如果i不等于1或者RFID标签1101未被锁定的话,则在步骤1506中,处理器1301判断是否接收到RFID标签1101发送来的SIGa_i,如果接收到的话,则在步骤1507中,处理器1301判断SIGa_i是否有效。这里判断有效与否的方式是:处理器1301从存储器1304中读取预先已确定的与RFID标签1101相关的产品的制造商的一个或多个公钥,利用该一个或多个公钥来验证数字签名。如果有效的话,则在步骤1508中,使i的值加1,然后在步骤1509中,处理器1301判断i是否大于k。如果i>k,则前进到步骤1510,处理器1301的认证部分1301-1判定RFID标签1101是真品标签。如果在步骤1509中判断结果是i不大于k,则返回步骤1503,流程循环。另一方面,如果在步骤1506或步骤1507中判断结果为否定的,则在步骤1518中,处理器1301的认证部分1301-1可判定RFID标签1101是伪造标签。另一方面,如果在步骤1505中,判断结果为肯定的,即i=1且标签被锁定,则在步骤1511中,处理器1301指示RFID读取器1102通过读取器耦合元件1303向RFID标签1101发送请求读取第i个签名SIGi的读取请求。接下来在步骤1512中,判断是否接收到RFID标签1101发送来的SIGi。如果接收到的话,则在步骤1513中,处理器1301判断SIGi是否有效,判断有效性的方式与上文提到的相同。如果无效的话,则流程前进到步骤1518,认证部分1301-1判定RFID标签1101为伪造标签。如果在步骤1513中判断结果为SIGi有效的话,则在步骤1514中,处理器1301将i的值加1。另一方面,如果在步骤1512中未接收到SIGi的话,也前进到步骤1514,处理器1301将i的值加1。然后在步骤1515中,处理器1301判断i是否大于n。如果i不大于n,则返回步骤1511,在i值已加1的情况下,重复该步骤。如果i>n,则在步骤1516中,处理器1301判断接收到的签名数目是否等于k。如果是的话,则在步骤1517中,认证部分1301-1判定RFID标签1101以前被读过。如果否的话,则说明RFID标签1101是伪造标签,流程前进到步骤1518。在步骤1510、步骤1518或步骤1517中,认证部分1301-1对RFID标签1101的真伪性做出判断后,此次认证过程结束。
图16示出根据第四实施例的RFID系统1600。与第二实施例中类似,该RFID系统1600包括RFID标签1601和RFID读取器1602。
图17是图16的RFID标签1601的内部结构示意框图。与第二实施例类似,RFID标签1601包括微芯片1701和标签耦合元件1702。微芯片1701中包括EPC码存储区域1703、辅助存储区域1704和控制装置1705。
图18是图16所示的RFID读取器1602的内部结构示意框图。与第二实施例类似,RFID读取器1602包括处理器1801、射频模块1802、读取器耦合元件1803和存储器1804。处理器1801中还包括认证部分1801-1。
图19示出图16所示的RFID标签1601在接收到来自RFID读取器1602的对数字签名SIGj,i的读取请求时的操作流程图。在此实施例中,如上所述,假定RFID标签1601中存储了m组数字签名集合,每组包含n个签名,形成一个数字签名矩阵{SIGj,i},1≤j≤m,1≤i≤n。在步骤1901中,RFID标签1601接收到来自RFID读取器1602的读取请求,即请求读取SIGj,i。在步骤1902中,RFID标签1601的控制装置1705判断j是否小于m。如果判断结果为否,则不执行任何操作,RFID标签1601返回等待状态。如果在步骤1902中判断结果是肯定的,即j<m,则在步骤1903中,控制装置1705确定第j组中已被锁定的数字签名数目x。然后在步骤1904中,控制装置1705判断x是否等于k。如果判断结果为肯定的,即x=k,则在步骤1905中,RFID标签1601通过标签耦合元件1702向RFID读取器1602发送标记Group_Is_Locked,表明第j组已被锁定。接下来在步骤1906中,RFID标签1601的控制装置1705判断SIGj,i是否被锁定。如果是的话,则在步骤1907中,RFID标签1601通过标签耦合元件1702向RFID读取器1602发送SIGj,i,此次流程结束,RFID标签1601返回等待状态,等待来自RFID读取器1602的下一个读取请求信号。如果在步骤1906中判断SIGj,i未被锁定,则不进行任何操作,流程结束,RFID标签1601返回等待状态。另一方面,如果在步骤1904中控制装置1705的判断结果为否定,即x不等于k,则在步骤1908中,控制装置1705判断x是否小于k。如果结果为否定,则不进行任何操作,RFID标签1601返回等待状态。如果结果为肯定,则在步骤1909中,RFID标签1601通过标签耦合元件1702向RFID读取器1602发送标记Group_Not_Locked,表明第j组尚未被锁定。然后在步骤1910中,控制装置1705锁定SIGj,i。在本发明的一个实施例中,控制装置1705例如是按以下方式实现锁定的:为每个数字签名SIGj,i设置一个相应的标记比特Fj,i,其初始值为0,在每个数字签名初次被请求读取时,将其相应的标记比特置位为1,当某一组中标记比特为1的数字签名的数目达到k时,该组中标记比特不为1的数字签名就不再能被读取了。使数字签名不能被读取的方法例如是将其销毁,例如清零。当然,对于本领域的技术人员显而易见的是,锁定也可以通过其他方式在软件、硬件或其结合中实现。本发明不限于这里作为例子举出的特定锁定方式。当在步骤1910中锁定SIGj,i之后,流程进行到步骤1906,进行以上提到的从步骤1906开始直到结束的流程。最后RFID标签1601返回等待状态,等待来自RFID读取器1602的下一个读取请求信号。注意RFID标签1601也可能接收到请求读取第j组中的其他数目个数字签名的请求,例如请求读取k’个数字签名的请求,但不论k’是否等于k,RFID标签1601都最多只会让第j组的k个数字签名被读取。另外,RFID标签1601也可能遇到被请求读取第j>m组数字签名集合的情况,在此情况下RFID标签1601的控制装置1705会把该读取请求判断为错误的读取请求,而不对其做任何响应。
与图19所示的RFID标签1601操作流程对应,图20示出图6所示的RFID读取器1602向RFID标签1601发送读取请求,并根据返回的数据对RFID标签1601的真伪性进行认证的操作流程图。这里假定RFID读取器1602已经成功从RFID标签1601中读取到了标识码,例如EPC码,从而确定了唯一标识RFID标签1601的某个属性,因此确定了应使用存储器中存储的哪个公钥或哪些公钥来验证读取的数字签名。在步骤2001中,RFID读取器1602的处理器1801将其中包含的第一计数器(未示出)的值j设为1,即令j=1,其中j的值指示组下标。接下来在步骤2002中,处理器1801随机选择k个索引组成的索引子集{a_1,a_2,...,a_k}。在步骤2003中,处理器1801将其中包含的第二计数器(未示出)的值i设为1,即令i=0,其中i的值指示索引子集下标。然后在步骤2004中,处理器1801指示射频模块1802生成要求读取第j组的第a_i个签名SIGj,a_i的射频信号,并通过读取器耦合元件1803发送到RFID标签1601。在步骤2005中,RFID读取器1602接收到来自RFID标签1601的关于第j组的锁定状态的标记。在步骤2006中,处理器1801判断i是否等于1并且根据接收到的标记判断RFID标签1601的第j组数字签名是否被锁定。如果i不等于1或者第j组未被锁定的话,则在步骤2007中,处理器1801判断是否接收到RFID标签1601发送来的SIGj,a_i,如果接收到的话,则在步骤2008中,处理器1801判断SIGj,a_i是否有效。这里判断有效与否的方式是:处理器1801从存储器1804中读取预先已确定的与RFID标签1601相关的产品的制造商的一个或多个公钥,利用该一个或多个公钥来验证数字签名。如果有效的话,则在步骤2009中,使第二计数器i的值加1,然后在步骤2010中,处理器1801判断i是否大于k。如果i>k,则前进到步骤2011,认证部分1801-1判定RFID标签1601是真品标签。如果在步骤2010中判断结果是i不大于k,则返回步骤2004,流程循环。另一方面,如果在步骤2007或步骤2008中判断结果为否定的,则认证部分1801-1可判定RFID标签1601是伪造标签(步骤2021)。另一方面,如果在步骤2006中,判断结果为肯定的,即i=1且第j组被锁定,则在步骤2012中,处理器1801指示RFID读取器1602通过读取器耦合元件1803向RFID标签1601发送希望读取第j组的第i个签名SIGj,i的读取请求信号。接下来在步骤2013中,判断是否接收到RFID标签1601发送来的SIGj,i。如果接收到的话,则在步骤2014中,处理器1801判断SIGj,i是否有效,判断有效性的方式与上文提到的相同。如果无效的话,则认证部分1801-1判断标签是伪造标签。如果在步骤2014中判断结果为SIGj,i有效的话,则在步骤2015中,处理器1801将i的值加1。另一方面,如果在步骤2013中未接收到SIGj,i的话,也前进到步骤2015,处理器1801将第二计数器i的值加1。然后在步骤2016中,处理器1801判断i是否大于n。如果i不大于n,则返回步骤2012,在i值已加1的情况下,重复该步骤及其以后的步骤。如果i>n,则在步骤2017中,处理器1801判断接收到的签名数目是否等于k。如果否的话,则认证部分1801-1判断RFID标签1601是伪造标签(步骤2021)。如果是的话,即接收到的签名的数目等于k的话,则在步骤2018中,处理器1801将第一计数器j的值加1,并且在步骤2019中,判断j是否大于m。如果判断j>m,则认证部分1801-1判断RFID标签1601以前被读过(步骤2020)。如果否的话,则返回步骤2002,在j值已加1的情况下,重复步骤2002及其以后的步骤。在步骤2011、步骤2021或步骤2020中,认证部分1801-1对RFID标签1601的真伪性做出判断后,此次认证过程结束。
在以上实施例中,可验证数据是数字签名。但是,对于本领域的技术人员显而易见的是,对于其他形式的可验证数据,通过采用本发明所提出的“锁定”功能,也能达到既使真品标签通过认证,又防止其被克隆的技术效果。本领域的技术人员在阅读了本说明书以后,将会很容易用多种形式的可验证数据来实现本发明的方案。
以上描述了根据本发明的进行产品认证的RFID系统和利用RFID系统进行产品认证的实施例。正如已指出的,通过优选的数字签名方案,例如ECDSA和SHA-1,一个签名占据RFID标签的辅助存储区域的320比特。因此12个数字标签需要3840比特的辅助存储区域存储空间。如果能够降低RFID标签的存储器消耗,则RFID标签的成本也会相应降低。大量产品需要大量RFID标签这一事实立即确证了将RFID标签的成本降低哪怕一分钱的重要性。
在本发明的第五实施例中,提供了一种方法,该方法可进一步降低用于存储数字签名的RFID标签存储器消耗。图21是通过用改进后的方法计算数字签名而得到的RFID标签2100的内部结构图,该RFID标签包括微芯片2101和标签耦合元件2102。微芯片2101中包括标识码存储区域2103、辅助存储区域2104和控制装置2105。辅助存储区域2104中存储了包含n个数字签名的数字签名集合{SIG1,SIG2,....,SIGn},为简明起见,图中只示意性的示出2个数字签名。数字签名集合{SIG1,SIG2,....,SIGn}中的每个数字签名SIGi采取(Si,C)的形式,包括Si部分和C部分,i=1,...,n,每个数字签名是按如下方法计算和验证的:
选择群(稍后将详细描述)G,其阶数为v;选择所述群G的一个子群,其阶数是u,并且u≤v;基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;选择群G的元素g作为生成子;选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表标识码和其他信息;计算Si=r*(r1*r2*...*rn)/ri-C*xi;将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;基于所述私钥、生成子和指示符计算公钥yi=(gri,gri*xi);并且基于公钥yi,通过计算C’=H(M,(gri)si*(gri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
或者
选择群G,其阶数为v;选择所述群G的一个子群,其阶数是u,并且u≤v;基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;选择群G的元素g作为生成子;选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表标识码和其他信息;计算Si=r*(r1*r2*...*rn)/(r1*r2*...*ri)-C*xi;将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;基于所述私钥、生成子和指示符计算公钥yi=(gr1*r2 *...*ri,gr1*r2*...*ri*xi);并且基于公钥yi,通过计算C’=H(M,(gr1*r2*...*ri)si* (gr1*r2*...*ri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
在本发明的说明书及权利要求书中,除非另外指出,否则术语“群”是指如下定义的数学概念:
群(G,◇)是由集合G以及G上的二元操作◇构成的,它满足以下公理:
(1)群操作◇满足结合律。即对于G的任何元素a、b、c,a◇(b◇c)=(a◇b)◇c;
(2)存在G的单位元素e,使得对于G的任何元素a,a◇e=e◇a=a;以及
(3)对于G的每个元素a,存在G的元素a-1,a-1被称为a的逆,它使得a◇a-1=a-1◇a=e。
例如,带加法操作的整数集Z形成群。其中单位元素是0,整数a的逆是整数-a。关于群的更多信息,请参考Handbook of AppliedCryptography,其可从http://www.cacr.math.uwaterloo.ca/hac/获得。
注意有许多种安全杂散算法可选,例如MD5和SHA-1,并且在杂散中可包含额外的信息,还注意到用于计算Si其他方法也是可直接或间接获得的,例如基于“Meta-ElGamal signature schemes,Proc.2nd ACMConference on Computer and Communications security,pp.96~107,1994”中所公开的那样。所有这些都是本领域的技术人员已知的。
本实施例的方法的优点是明显的。当使用160比特椭圆曲线和SHA-1时,由于相同的C被所有数字签名共享,因此12个数字签名只需要2080比特的RFID标签辅助存储区域,而在应用此方法之前需要3840比特。如果C的大小略减小到128比特—这并不损害安全水平—则2k比特的RFID标签辅助存储区域正好足够存储12个数字签名。
一般而言,存储在RFID标签中的n>1个数字签名可共享一个C。产品制造商需要n个公钥。注意在优选情况下,即x1=x2=...=xn=x的情况下,公钥是按照申请人的另一个关于匿名公钥的专利申请(中国专利申请200410090903.X)中所公开的原理来生成的。
不难验证,与先前不共享C的方法相比,RFID标签辅助存储区域节省率为(n-1)/2n。例如,对于n=12,RFID标签辅助存储区域消耗少了45.8%。
值得注意的是,当利用多组数字签名集合时,所有的数字签名可共享一个C,不论它们是否在相同的组中。这种分组实际上是逻辑上的划分,而不是物理上的。
由以上描述可以看出,根据本发明的实施例,向RFID标签中引入了“锁定”功能。从而通过存储在RFID标签中的多个数字签名以及由RFID标签所执行的“锁定”功能,禁止了对廉价的RFID标签中的数据的克隆,并且阻挠了大规模的伪造。
此外,多个数字签名被分组并存储在RFID标签中。通过使数字签名分组,保持了真品标签能够至少m次被确认为真实,其中m是数字签名的组数。
此外,利用了共享C部分的公钥和数字签名生成方法,从而大大降低了多个数字签名对RFID标签的存储空间的消耗。
尽管本发明是参照其特定的优选实施例来描述的,但本领域的技术人员应该理解,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种修改。
Claims (50)
1.一种射频识别系统,包括:
射频识别标签,其上存储了标识码以及可验证数据集;以及
射频识别读取器,其向所述射频识别标签发送读取请求,请求读取所述可验证数据集中的第一部分,该第一部分是从所述可验证数据集中随机选取的,其中
所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到来自所述射频识别读取器的读取请求时,在所述可验证数据集未被执行过锁定操作的情况下,对所述可验证数据集执行所述锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都无法被读取;其中所述第一部分为可验证数据集中的部分数据;所述所述可验证数据集的第二部分不包括所述可验证数据集的第一部分中的数据。
2.如权利要求1所述的射频识别系统,其中所述控制装置在执行所述锁定操作之前,使所述可验证数据集的第一部分被所述射频识别读取器读取。
3.如权利要求1所述的射频识别系统,其中所述控制装置在执行所述锁定操作之后,使所述可验证数据集的第一部分被所述射频识别读取器读取。
4.如权利要求1所述的射频识别系统,其中所述标识码唯一标识所述射频识别标签。
5.如权利要求1所述的射频识别系统,其中所述射频识别标签被附着到待认证的产品上,并且所述标识码包括EPC码。
6.如权利要求1所述的射频识别系统,其中所述可验证数据集中的数据是通过对所述标识码加密获得的。
7.如权利要求1所述的射频识别系统,其中所述可验证数据集中的数据是通过对所述标识码和辅助信息加密获得的。
8.如权利要求1所述的射频识别系统,其中所述射频识别读取器还包括认证装置,用于根据从所述射频识别标签读取到的所述可验证数据集的 一部分来认证所述射频识别标签。
9.如权利要求1所述的射频识别系统,其中所述可验证数据集包括n个数字签名SIG1,SIG2,....,SIGn,所述可验证数据集的第一部分是所述n个数字签名中的k个,并且所述可验证数据集的第二部分是所述n个数字签名中的q个。
10.如权利要求9所述的射频识别系统,其中如果n是偶数,则k=n*0.5;如果n是奇数,则k=n*0.5+0.5或k=n*0.5-0.5。
11.如权利要求9所述的射频识别系统,其中所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名SIGi采取(Si,C)的形式,包括Si部分和C部分,i=1,...,n,并且所述n个数字签名SIG1,SIG2,....,SIGn中的所有数字签名共享一个公共的C部分。
12.如权利要求11所述的射频识别系统,其中所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名是按如下方法来计算和验证的:
选择群G,其阶数为v;
选择所述群G的一个子群,其阶数是u,并且u≤v;
基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;
选择群G的元素g作为生成子;
选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;
选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表所述标识码和辅助信息;
计算Si=r*(r1*r2*...*rn)/ri-C*xi;
将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;
基于所述私钥、生成子和指示符计算公钥yi=(gri,gri*xi);并且
基于公钥yi,通过计算C’=H(M,(gri)si*(gri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
13.如权利要求11所述的射频识别系统,其中所述n个数字签名SIG1, SIG2,....,SIGn中的每个数字签名是按如下方法来计算和验证的:
选择群G,其阶数为v;
选择所述群G的一个子群,其阶数是u,并且u≤v;
基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;
选择群G的元素g作为生成子;
选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;
选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表所述标识码和辅助信息;
计算Si=r*(r1*r2*...*rn)/(r1*r2*...*ri)-C*xi;
将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;
基于所述私钥、生成子和指示符计算公钥yi=(gr1*r2*...*ri,gr1*r2*...*ri*xi);并且
基于公钥yi,通过计算C’=H(M,(gr1*r2*...*ri)si*(gr1*r2*...*ri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
14.如权利要求1所述的射频识别系统,其中
所述射频识别标签中还存储了另外m个可验证数据集;
所述射频识别读取器还向所述射频识别标签发送另外至少一个读取请求,分别请求读取所述m个可验证数据集中的至少一个可验证数据集中的一部分数据;并且
所述控制装置在所述射频识别标签接收到来自所述射频识别读取器的所述另外至少一个读取请求时,在被请求的可验证数据集未被执行过锁定操作的情况下,对所述被请求的可验证数据集执行所述锁定操作,使得从此以后所述被请求的可验证数据集中的另一部分数据无法被读取。
15.一种射频识别标签,其上存储了标识码以及可验证数据集,其中
所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到请求读取所述可验证数据集中的随机选取的第一部分的读取请求 时,在所述可验证数据集未被执行过锁定操作的情况下,对所述可验证数据集执行所述锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都无法被读取;其中所述第一部分为可验证数据集中的部分数据;所述所述可验证数据集的第二部分不包括所述可验证数据集的第一部分中的数据。
16.如权利要求15所述的射频识别标签,其中所述控制装置在执行所述锁定操作之前,使所述可验证数据集的第一部分被读取。
17.如权利要求15所述的射频识别标签,其中所述控制装置在执行所述锁定操作之后,使所述可验证数据集的第一部分被读取。
18.如权利要求15所述的射频识别标签,其中所述标识码唯一标识所述射频识别标签。
19.如权利要求15所述的射频识别标签,其中所述射频识别标签被附着到待认证的产品上,并且所述标识码包括EPC码。
20.如权利要求15所述的射频识别标签,其中所述可验证数据集中的数据是通过对所述标识码加密获得的。
21.如权利要求15所述的射频识别标签,其中所述可验证数据集中的数据是通过对所述标识码和辅助信息加密获得的。
22.如权利要求15所述的射频识别标签,其中所述可验证数据集包括n个数字签名SIG1,SIG2,....,SIGn,所述可验证数据集的第一部分是所述n个数字签名中的k个,并且所述可验证数据集的第二部分是所述n个数字签名中的q个。
23.如权利要求22所述的射频识别标签,其中如果n是偶数,则k=n*0.5;如果n是奇数,则k=n*0.5+0.5或k=n*0.5-0.5。
24.如权利要求22所述的射频识别标签,其中所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名SIGi采取(Si,C)的形式,包括Si部分和C部分,i=1,...,n,并且所述n个数字签名SIG1,SIG2,....,SIGn中的所有数字签名共享一个公共的C部分。
25.如权利要求24所述的射频识别标签,其中所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名SIGi是按如下方法来计算和验证的:
选择群G,其阶数为v;
选择所述群G的一个子群,其阶数是u,并且u≤v;
基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;
选择群G的元素g作为生成子;
选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;
选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表所述标识码和辅助信息;
计算Si=r*(r1*r2*...*rn)/ri-C*xi;
将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;
基于所述私钥、生成子和指示符计算公钥yi=(gri,gri*xi);并且
基于公钥yi,通过计算C’=H(M,(gri)si*(gri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
26.如权利要求24所述的射频识别标签,其中所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名SIGi是按如下方法来计算和验证的:
选择群G,其阶数为v;
选择所述群G的一个子群,其阶数是u,并且u≤v;
基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;
选择群G的元素g作为生成子;
选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;
选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表所述标识码和辅助信息;
计算Si=r*(r1*r2*...*rn)/(r1*r2*...*ri)-C*xi;
将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;
基于所述私钥、生成子和指示符计算公钥yi=(gr1*r2*...*ri,gr1*r2*...*ri*xi);并且
基于公钥yi,通过计算C’=H(M,(gr1*r2*...*ri)si*(gr1*r2*...*ri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
27.如权利要求15所述的射频识别标签,其中
所述射频识别标签中还存储了另外m个可验证数据集;
所述控制装置在所述射频识别标签接收到另外至少一个请求读取所述m个可验证数据集中的至少一个可验证数据集中的一部分数据的读取请求时,在被请求的可验证数据集未被执行过锁定操作的情况下,对所述被请求的可验证数据集执行所述锁定操作,使得从此以后所述被请求的可验证数据集中的另一部分数据无法被读取。
28.一种射频识别方法,包括:
在射频识别标签上存储标识码以及可验证数据集;以及
射频识别读取器向所述射频识别标签发送读取请求,请求读取所述可验证数据集中的随机选取的第一部分,其中
所述射频识别标签在接收到来自所述射频识别读取器的读取请求时,在所述可验证数据集未被执行过锁定操作的情况下,对所述可验证数据集执行锁定操作,使得从此以后所述可验证数据集的第二部分中的任何数据都无法被读取;其中所述第一部分为可验证数据集中的部分数据;所述所述可验证数据集的第二部分不包括所述可验证数据集的第一部分中的数据。
29.如权利要求28所述的射频识别方法,还包括在执行所述锁定操作之前,使所述可验证数据集的第一部分被所述射频识别读取器读取。
30.如权利要求28所述的射频识别方法,还包括在执行所述锁定操作之后,使所述可验证数据集的第一部分被所述射频识别读取器读取。
31.如权利要求28所述的射频识别方法,其中所述标识码唯一标识所述射频识别标签。
32.如权利要求28所述的射频识别方法,其中所述射频识别标签被附 着到待认证的产品上,并且所述标识码包括EPC码。
33.如权利要求28所述的射频识别方法,还包括对所述标识码加密以获得所述可验证数据集中的数据。
34.如权利要求28所述的射频识别方法,还包括对所述标识码和辅助信息加密以获得所述可验证数据集中的数据。
35.如权利要求28所述的射频识别方法,还包括
所述射频识别读取器根据从所述射频识别标签读取到的所述可验证数据的一部分来认证所述射频识别标签。
36.如权利要求28所述的射频识别方法,其中所述可验证数据集包括n个数字签名SIG1,SIG2,....,SIGn,所述可验证数据集的第一部分是所述n个数字签名中的k个,并且所述可验证数据集的第二部分是所述n个数字签名中的q个。
37.如权利要求36所述的射频识别方法,其中如果n是偶数,则k=n*0.5;如果n是奇数,则k=n*0.5+0.5或k=n*0.5-0.5。
38.如权利要求36所述的射频识别方法,其中所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名SIGi采取(Si,C)的形式,包括Si部分和C部分,i=1,...,n,并且所述n个数字签名SIG1,SIG2,....,SIGn中的所有数字签名共享一个公共的C部分。
39.如权利要求38所述的射频识别方法,还包括用以下步骤计算和验证所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名:
选择群G,其阶数为v;
选择所述群G的一个子群,其阶数是u,并且u≤v;
基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;
选择群G的元素g作为生成子;
选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;
选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表所述标识码和辅助信息;
计算Si=r*(r1*r2*...*rn)/ri-C*xi;
将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;
基于所述私钥、生成子和指示符计算公钥yi=(gri,gri*xi);并且
基于公钥yi,通过计算C’=H(M,(gri)si*(gri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
40.如权利要求38所述的射频识别方法,还包括用以下步骤计算和验证所述n个数字签名SIG1,SIG2,....,SIGn中的每个数字签名:
选择群G,其阶数为v;
选择所述群G的一个子群,其阶数是u,并且u≤v;
基于所述阶数u选择n个私钥x1,x2,....,xn,其中1<|xi|<u,i=1,...,n;
选择群G的元素g作为生成子;
选择所述阶数u内的n个整数r1,r2,...,rn作为指示符,其中0<|ri|<u,i=1,...,n;
选择所述阶数u内的整数r,0<|r|<u,并计算C=H(M,gr*r1*r2*...*rn),其中H是安全杂散函数,M代表所述标识码和辅助信息;
计算Si=r*(r1*r2*...*rn)/(r1*r2*...*ri)-C*xi;
将(S1,C),(S2,C),...,(Sn,C)作为相同消息M上的n个数字签名SIG1,SIG2,...,SIGn发布;
基于所述私钥、生成子和指示符计算公钥yi=(gr1*r2*...*ri,gr1*r2*...*ri*xi);并且
基于公钥yi,通过计算C’=H(M,(gr1*r2*...*ri)si*(gr1*r2*...*ri*xi)C)来验证签名SIGi=(Si,C)是否是所述消息M上的有效签名,如果C’=C则SIGi是所述消息M上的有效签名,否则SIGi是无效的。
41.如权利要求28所述的射频识别方法,还包括
在射频识别标签中存储另外m个可验证数据集;
所述射频识别读取器还向所述射频识别标签发送另外至少一个读取请求,分别请求读取所述m个可验证数据集中至少一个可验证数据集中的一部分数据;以及
所述射频识别标签在接收到来自所述射频识别读取器的所述另外至少一个读取请求时,在被请求的可验证数据集未被执行过所述锁定操作的情况下,对所述被请求的可验证数据集执行所述锁定操作,使得从此以后所述被请求的可验证数据集中的另一部分数据无法被读取。
42.一种射频识别系统,包括:
射频识别标签,其上存储了标识码以及m个可验证数据集;m≠0;以及
射频识别读取器,其向所述射频识别标签发送读取请求,请求读取所述m个可验证数据集中的t个可验证数据集中的每个可验证数据集的随机选取的一部分数据,其中
所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到来自所述射频识别读取器的读取请求时,在所述t个可验证数据集未被执行过锁定操作的情况下,对所述t个可验证数据集执行所述锁定操作,使得从此以后所述t个可验证数据集中的每个可验证数据集的另一部分数据无法被读取。
43.如权利要求42所述的射频识别系统,其中所述控制装置在执行所述锁定操作之前,使所述t个可验证数据集中的每个可验证数据集的被请求的部分被所述射频识别读取器读取。
44.如权利要求42所述的射频识别系统,其中所述控制装置在执行所述锁定操作之后,使所述t个可验证数据集中的每个可验证数据集的被请求的部分被所述射频识别读取器读取。
45.一种射频识别标签,其上存储了标识码以及m个可验证数据集,m≠0;其中
所述射频识别标签还包括控制装置,该控制装置在所述射频识别标签接收到请求读取所述m个可验证数据集中的t个可验证数据集中每个可验证数据集的随机选取的一部分数据的读取请求时,在所述t个可验证数据集未被执行过锁定操作的情况下,对所述t个可验证数据集执行所述锁定操作,使得从此以后所述t个可验证数据集中的每个可验证数据集的另一部分数据无法被读取。
46.如权利要求45所述的射频识别标签,其中所述控制装置在执行所 述锁定操作之前,使所述t个可验证数据集中的每个可验证数据集的被请求的部分被读取。
47.如权利要求45所述的射频识别标签,其中所述控制装置在执行所述锁定操作之后,使所述t个可验证数据集中的每个可验证数据集的被请求的部分被读取。
48.一种射频识别方法,包括:
在射频识别标签上存储标识码以及m个可验证数据集;m≠0;以及
射频识别读取器向所述射频识别标签发送读取请求,请求读取所述m个可验证数据集中的t个可验证数据集中的每个可验证数据集的随机选取的一部分数据,其中
所述射频识别标签在接收到来自所述射频识别读取器的读取请求时,在所述t个可验证数据集未被执行过锁定操作的情况下,对所述t个可验证数据集执行所述锁定操作,使得从此以后所述t个可验证数据集中的每个可验证数据集的另一部分数据无法被读取。
49.如权利要求48所述的射频识别方法,还包括在执行所述锁定操作之前,使所述t个可验证数据集中的每个可验证数据集的被请求的部分被所述射频识别读取器读取。
50.如权利要求48所述的射频识别方法,还包括在执行所述锁定操作之后,使所述t个可验证数据集中的每个可验证数据集的被请求的部分被所述射频识别读取器读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101275670A CN1955984B (zh) | 2005-09-13 | 2006-09-12 | 射频识别系统和方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510102866.4 | 2005-09-13 | ||
CN200510102866 | 2005-09-13 | ||
CN200510109693 | 2005-09-20 | ||
CN200510109693.9 | 2005-09-20 | ||
CN2006101275670A CN1955984B (zh) | 2005-09-13 | 2006-09-12 | 射频识别系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1955984A CN1955984A (zh) | 2007-05-02 |
CN1955984B true CN1955984B (zh) | 2011-11-30 |
Family
ID=38063300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101275670A Expired - Fee Related CN1955984B (zh) | 2005-09-13 | 2006-09-12 | 射频识别系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1955984B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497264B (zh) * | 2011-11-10 | 2014-04-02 | 西安电子科技大学 | 基于epc c-1 g-2标准的rfid安全认证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584911A (zh) * | 2004-05-31 | 2005-02-23 | 上海复旦微电子股份有限公司 | 一种利用移动通讯设备和电子标签的防伪方法 |
CN1604114A (zh) * | 2003-09-29 | 2005-04-06 | 三洋电机株式会社 | 仿造品防止识别装置 |
CN1664836A (zh) * | 2005-03-04 | 2005-09-07 | 刘雷 | 商品多重数码防伪技术 |
-
2006
- 2006-09-12 CN CN2006101275670A patent/CN1955984B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604114A (zh) * | 2003-09-29 | 2005-04-06 | 三洋电机株式会社 | 仿造品防止识别装置 |
CN1584911A (zh) * | 2004-05-31 | 2005-02-23 | 上海复旦微电子股份有限公司 | 一种利用移动通讯设备和电子标签的防伪方法 |
CN1664836A (zh) * | 2005-03-04 | 2005-09-07 | 刘雷 | 商品多重数码防伪技术 |
Also Published As
Publication number | Publication date |
---|---|
CN1955984A (zh) | 2007-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5008018B2 (ja) | 無線認証システム、無線認証タグ及び無線認証方法 | |
CN101246538A (zh) | 射频识别系统和方法 | |
Van den Breekel et al. | EMV in a nutshell | |
CN101647228B (zh) | 用于证书分发的系统和方法 | |
Avoine et al. | Reducing time complexity in RFID systems | |
CN100555316C (zh) | 一次验证系统 | |
US4912762A (en) | Management of cryptographic keys | |
CN101847296B (zh) | 集成电路、加密通信装置、系统和方法以及信息处理方法 | |
US8296852B2 (en) | Transponder, RFID system, and method for RFID system with key management | |
Ranasinghe et al. | Security and privacy: Modest proposals for low-cost RFID systems | |
CN101842792B (zh) | 保护芯片卡未经授权而被使用的方法、芯片卡以及芯片卡终端 | |
US20100308978A1 (en) | System and method for authenticating rfid tags | |
US20090030845A1 (en) | System and method for account identifier obfuscation | |
JP4834748B2 (ja) | 情報記憶媒体、媒体認証機器、媒体認証システム、及びicカード | |
CN104488219A (zh) | 用于在射频识别标签和读取设备之间进行安全通信的方法和系统 | |
CN114143041A (zh) | 基于区块链的身份校验方法、装置、设备及存储介质 | |
CN102594550A (zh) | 基于密钥阵列的rfid内部互认证安全协议 | |
EP1266275A2 (en) | A method for secured identification of user's i.d. | |
Ranasinghe et al. | Security and privacy solutions for low-cost rfid systems | |
CN1955984B (zh) | 射频识别系统和方法 | |
CN102473218B (zh) | 生成标识符的方法 | |
Avoine et al. | Tree-based RFID authentication protocols are definitively not privacy-friendly | |
David | Lightweight cryptography for passive RFID tags | |
KR20060013097A (ko) | 무선인식 태그 및 그의 메모리 접근방법 | |
KR20040092670A (ko) | 보안 기능을 구비한 무선인식(rfid) 태그의 인증방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1106313 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1106313 Country of ref document: HK |
|
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: 20111130 Termination date: 20170912 |