一种基于非接触IC卡的防伪方法转让专利

申请号 : CN200810026517.2

文献号 : CN101247230B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐跃文龙冬阳樊凯

申请人 : 唐跃文

摘要 :

本发明公开了一种基于非接触IC卡的防伪方法,包括制做防伪标识信息载体、密钥组合过程、数字签名过程和真伪识别过程;本发明适用于以与防伪对象融为一体的一次性使用的非接触IC卡做防伪标识信息载体的防伪,可以鉴别防伪对象、防伪对象生产者、防伪商家、非接触IC卡的身份及真伪;可以鉴别造假者对防伪标识信息及防伪对象的一切造假行为;本发明特别适用于名牌烟酒、身份证、文凭、银行卡、车牌、工业产品、名贵药品等的防伪。

权利要求 :

1.一种基于非接触IC卡的防伪方法,其特征在于包括以下过程:

用于防伪标识信息或者其载体不会被重用的一次性防伪标识体的制作过程;所述载体是非接触IC卡,与防伪对象融为一体,具有全球唯一的不可改写的序列号,一旦离开防伪对象,将被物理的或技术的方法损坏其本身实体或存储的防伪标识信息;

用于满足海量的防伪对象生产者对密钥的需求及减小防伪对象生产者数字签名信息的比特数,选定有限比特公钥组合参数来生成防伪对象生产者的公钥数据,采用非对称密码体制来产生防伪对象生产者公私密钥对的密钥组合的过程;所述密钥组合过程包括以下步骤:(1)选定一个保密强度高的非对称密码算法,选定U1,U2,…,Ur作为r个种子公钥,选定一个r元代数函数f;对每一个防伪对象生产者,任意选取一组(c1,c2,…,cr)作为它的公钥组合参数;其中ci∈{0,1},i=1,…,r;(2)计算公钥s:s=f(c1U1,c2U2,…,crUr);(3)计算私钥t:根据选取的非对称密码算法,求得私钥t;(4)上述的公钥s、私钥t构成该防伪对象生产者的公私密钥对(s,t);

用于识别防伪对象及防伪对象生产者的真实身份,采用非对称密码体制的数字签名算法,对非接触IC卡的序列号、防伪对象及防伪对象生产者的身份信息进行数字签名的过程;所述数字签名过程包括以下步骤:(1)选取一种基于非对称密码算法的数字签名算法;(2)给第三方监督者分配一个唯一的公私密钥对;给每个防伪对象生产者分配一个唯一的公私密钥对及其各自对应的公钥组合参数;(3)第三方监督者把非接触IC卡的序列号、防伪对象及其生产者的名称、防伪对象生产者的公钥组合参数进行级联,第三方监督者用自己的私钥对此级联信息进行数字签名;第三方监督者并把此数字签名写入非接触IC卡中;(4)防伪对象生产者进行数字签名;

用于验证防伪标识信息与所声称的防伪对象及防伪对象生产者的身份是否相符的真伪识别的过程。

2.根据权利要求1中所述的防伪方法,其特征在于:所述的防伪对象生产者进行数字签名的过程包括:防伪对象生产者读取非接触IC卡中第三方监督者的数字签名,把它与防伪对象身份信息进行级联;防伪对象生产者用自己的私钥对这个级联信息进行数字签名,然后删除非接触IC卡中原第三方监督者的数字签名,把防伪对象生产者的数字签名和自己的公钥组合参数写入非接触IC卡中。

3.根据权利要求1中所述的防伪方法,其特征还在于:所述的防伪对象生产者进行数字签名的过程包括:防伪对象生产者直接对防伪对象身份信息与非接触IC卡序列号的级联信息进行数字签名,然后把防伪对象生产者的数字签名、自己的公钥组合参数及防伪对象身份信息写入非接触IC卡中。

4.根据权利要求2或3中所述的防伪方法,其特征在于真伪识别过程包括以下步骤:

第一步,识别器读取非接触IC卡中防伪对象生产者写入的自己公钥组合参数和识别器中存储的种子公钥和代数函数f,生成防伪对象生产者的公钥,读取识别器中存储的第三方监督者的公钥;

第二步,识别器读取非接触IC卡中防伪对象生产者的数字签名,用第一步得到的防伪对象生产者的公钥对防伪对象生产者的数字签名进行解签名,得到第三方监督者的数字签名与防伪对象身份信息明文;然后用第三方监督者的公钥对防伪对象生产者解签名得到第三方监督者的数字签名进行解签名,得到非接触IC卡的序列号、防伪对象及其生产者名称和防伪对象生产者的公钥组合参数明文;

第三步,识别器读取非接触IC卡序列号及防伪对象生产者写入非接触IC卡中的公钥组合参数和防伪对象身份信息中的防伪对象及其生产者名称,分别与第二步中第三方监督者和防伪对象生产者解签名后得到的相应明文数据进行比较,若有一项不相符的,则识别器显示该防伪对象为假冒品;若完全相符,则进行第四步;

第四步,识别器显示第二步解签名后的防伪对象身份信息明文,人工把识别器显示的防伪对象身份信息与粘贴在防伪对象表面的商标信息进行对比,若信息内容完全相符,则该防伪对象为真品,否则,该防伪对象是以次充好商品。

5.根据权利要求2或3中所述的防伪方法,其特征还在于真伪识别过程包括以下步骤:

第一步,识别器读取非接触IC卡中防伪对象生产者写入的自己公钥组合参数和识别器中存储的种子公钥和代数函数f,生成防伪对象生产者的公钥;

第二步,识别器读取非接触IC卡的序列号、防伪对象生产者写入非接触IC卡的公钥组合参数和防伪对象身份信息中的防伪对象及其生产者名称以及识别器中第三方监督者的公钥,对非接触IC卡中第三方监督者的数字签名进行签名验证,若验证不通过,则显示该防伪对象为假冒品;若验证通过,则进行下述第三步;

第三步,识别器读取非接触IC卡的序列号、防伪对象生产者写入非接触IC卡中的防伪对象身份信息和第一步得到的防伪对象生产者的公钥,对防伪对象生产者的数字签名进行签名验证,若验证不通过,则显示该防伪对象是假冒品;若验证通过,则进行下述第四步;

第四步,识别器显示防伪对象生产者写入非接触IC卡中的防伪对象身份信息,人工把识别器显示的防伪对象身份信息与粘贴在防伪对象表面的商标信息进行对比,若信息内容完全相符,则该防伪对象为真品,否则,该防伪对象是以次充好商品。

说明书 :

所属技术领域

本发明涉及一种以非接触IC卡作为防伪标识信息载体的防伪方法,本发明还涉及该防伪方法的一次性防伪标识体的制作过程、密钥组合过程、数字签名过程和真伪识别过程。

背景技术

应用于商品、证件、车牌等防伪领域的技术和方法很多,市场上主要采用激光防伪、数码防伪等,但现行防伪技术普遍存在如下问题:
1、商品载体、包装体及其生产工艺不管多么复杂,在如今的制造技术下,造假者都能很快仿制出来或重用商品载体、包装体;
2、商品防伪标识同样容易被造假团伙仿制和重用;
3、不能识别商家以次充好;
4、在商品流通过程中不能识别商品真伪或真伪识别受各种条件的制约;
5、商品防伪的控制权由防伪商家主控,存在着少数防伪商家或泄密者防伪制伪现象;
6、商品真伪识别靠人的感官经验或简陋的工具,识别繁琐,对绝大多数消费者来说,商品真伪模糊不清;
7、商品真伪识别需要各种网络和数据库的支持,给商品厂家和消费者带来诸多不便,防伪成本和效果也备受质疑,如信息网络防伪技术、数码(电码)防伪技术等;
近年来应用高新技术成果也提出过新的防伪技术,如射频识别技术,密码防伪技术,智能卡防伪技术等,由于没有解决商品信息的复制、重放、克隆的识别技术和不同非接触IC卡防伪系统彼此不能兼容导致使用成本过高以及识别复杂等问题,一直没有得到推广应用。特别是非接触IC卡在各行各业得到普遍推广应用的今天,但在防伪领域却没有得到应用。
基于上述存在的问题,国家发明专利《密码防伪系统及其加密和识别方法》(发明专利号:ZL200410051039.2)较好地解决了非接触IC卡在防伪领域的应用问题。但是该发明专利中的技术方案存在着如下不足:
1、在国家发明专利《密码防伪系统及其加密和识别方法》中,其公钥函数库中公钥的个数为m个,由于要保证足够多的防伪对象生产者使用,m一般都比较大,至少100以上。所以原发明中,占用的设备资源比较多,如在防伪识别器中至少就要占用1024*m比特容量空间,防伪识别器尺寸相对较大,成本也较高,可携带性差。
2、在国家发明专利《密码防伪系统及其加密和识别方法》中,其公钥函数库中公钥的个数为m个,在组合公钥时随机地取r个公钥构成防伪对象生产者的公钥组及相应的私钥组,r的取值不能太大,就是取3,用其组合的公钥组和私钥组进行加解密时,其速度也比较慢。
3、在国家发明专利《密码防伪系统及其加密和识别方法》中,其密钥组合数还是相对比较小,只有Cmr个,如果其中m,r取大了,密钥就会占用太多容量用于存储,导致成本过高和防伪识别器尺寸偏大;同时大大延缓了加解密的速度,影响识别商品真伪的效率。

发明内容

本发明的目的在于提供一种以非接触IC卡为防伪标识信息载体的,能识别各种商品、各类证件、银行卡、车牌等真伪和上述所列假冒伪劣行为及解决发明专利《密码防伪系统及其加密和识别方法》中存在的不足的防伪方法,本发明的防伪方法主要包括一次性防伪标识体的制作、密钥组合、数字签名和真伪识别四个过程。
为实现上述目的,本发明通过以下技术步骤实现:
一、制作防伪标识体
此发明的防伪方法是以非接触IC卡做为防伪标识信息的载体,防伪标识体是非接触IC卡与防伪对象构成的一个整体。首先,根据防伪对象的需要,把非接触IC卡制作成适应于防伪对象的形状和大小,然后,把非接触IC卡与防伪对象融为一体,一当非接触IC卡离开防伪对象,将被物理的或技术的方法损坏非接触IC卡,使得非接触IC卡内的数字签名不能再被读取和利用,防止非接触IC卡重用。
二、密钥组合过程
选取一个保密强度高的数字签名方法,选取U1,U2,…,Ur作为r个种子公钥,选取一个r元代数函数f及r个公钥组合参数c1,c2,…,cr;ci∈{0,1},i=1,…,r。
1、计算公钥s:s=f(c1U1,c2U2,…,crUr)。
2、计算私钥t:根据选取的数字签名方法,求得私钥t。
上述的公钥s、私钥t称为公私密钥对(s,t)。
三、数字签名过程
给第三方监督者分配一个唯一的公私密钥对;给每个防伪对象生产者分配一个唯一的公私密钥对,确定并分配各自对应的公钥组合参数。
首先,第三方监督者进行数字签名如下:
把非接触IC卡的序列号、防伪对象及其生产者的名称、防伪对象生产者的公钥组合参数进行级联,第三方监督者用自己的私钥对此级联信息进行数字签名。第三方监督者把此数字签名写入非接触IC卡中。
其次,防伪对象生产者进行数字签名如下:
分两种情况。第一种签名方法:防伪对象生产者读取非接触IC卡中第三方监督者的数字签名,把它与防伪对象身份信息(如防伪对象及其生产者名称、防伪对象规格、生产日期、条码等)进行级联;防伪对象生产者用自己的私钥对这个级联信息进行数字签名,然后删除非接触IC卡中原第三方监督者的数字签名,把防伪对象生产者的数字签名、自己的公钥组合参数写入非接触IC卡中。
防伪对象生产者的数字签名也可以这样生成,既第二种签名方法:防伪对象生产者直接对防伪对象身份信息(如防伪对象及其生产者名称、防伪对象规格、生产日期、条码等)与非接触IC卡序列号的级联信息进行数字签名,然后把防伪对象生产者的数字签名、自己的公钥组合参数及防伪对象身份信息写入非接触IC卡中。
本发明中的防伪对象生产者是指商品厂家、证件的颁发单位或部门(如文凭的发放学校)、银行、车管单位等;第三方监督者是指由国家政府或指定的、充当第三方公正的、对此项防伪发明专利应用时进行监督的唯一单位。
四、真伪识别过程
r个种子公钥U1,U2,…,Ur和第三方监督者的公钥已经事先固化在识别器存储器中,用本发明的专用电子识别器对防伪对象的真伪进行鉴别。
下面分两种情况进行,第一种情况是针对防伪对象生产者的第一种数字签名方法进行真伪识别:
第一步,识别器读取非接触IC卡中防伪对象生产者写入的自己公钥组合参数和识别器中存储的种子公钥、代数函数f,生成防伪对象生产者的公钥,读取识别器中存储的第三方监督者的公钥。
第二步,识别器读取非接触IC卡中防伪对象生产者的数字签名,用第一步得到的防伪对象生产者的公钥对防伪对象生产者的数字签名进行解签名,得到第三方监督者的数字签名与防伪对象身份信息明文;然后用第三方监督者的公钥对防伪对象生产者解签名得到第三方监督者的数字签名进行解签名,得到非接触IC卡的序列号、防伪对象及其生产者名称、防伪对象生产者的公钥组合参数明文。
第三步,识别器读取非接触IC卡序列号及防伪对象生产者写入非接触IC卡中的公钥组合参数、防伪对象及其生产者名称分别与第二步中第三方监督者、防伪对象生产者解签名后得到的相应明文数据进行比较,若有一项不相符的,则显示该防伪对象为假冒品。若完全相符,则进行第四步。
第四步,识别器显示第二步解签名后的防伪对象身份信息明文,人工把识别器显示的防伪对象身份信息与粘贴在防伪对象表面的商标信息进行对比,若信息内容完全相符,则该防伪对象为真品,否则,该防伪对象是以次充好商品。
第二种情况是针对防伪对象生产者的第二种数字签名方法进行真伪识别:
第一步,识别器读取非接触IC卡中防伪对象生产者写入的自己公钥组合参数和识别器中存储的种子公钥、代数函数f,生成防伪对象生产者的公钥。
第二步,识别器读取非接触IC卡的序列号、防伪对象生产者写入非接触IC卡的公钥组合参数和防伪对象身份信息中的防伪对象及其生产者名称以及识别器中第三方监督者的公钥,对非接触IC卡中第三方监督者的数字签名进行签名验证,若验证不通过,则显示该防伪对象为假冒品;若验证通过,则进行下述第三步。
第三步,识别器读取非接触IC卡的序列号、防伪对象生产者写入非接触IC卡中的防伪对象身份信息、第一步得到的防伪对象生产者的公钥,对防伪对象生产者的数字签名进行签名验证,若验证不通过,则显示该防伪对象是假冒品;若验证通过,则进行下述第四步。
第四步,识别器显示防伪对象生产者写入非接触IC卡中的防伪对象身份信息,人工把识别器显示的防伪对象身份信息与粘贴在防伪对象表面的商标信息进行对比,若信息内容完全相符,则该防伪对象为真品,否则,该防伪对象是以次充好商品。
本发明的识别器是由非接触IC卡读卡器模块和非对称密码算法的加解密运算模块等集成的一体化、自动化设备,大多为便携式、离线式、单机式的小型自动电子设备。
本发明与国家发明专利《密码防伪系统及其加密和识别方法》等类似防伪方法相比,具有以下显著优点:
1、在国家发明专利《密码防伪系统及其加密和识别方法》中,其密钥组合数还是相对比较小,若种子公钥数为m个,只能选取r个进行组合,其组合数只有Cmr个;还本发明的公钥组合数相应为2m个,是原来的指数倍数。本发明只要取m=32就可以满足超过42亿家防伪商家及防伪对象生产者的密钥需求,这样就可以减小防伪识别器的电子存储容量、能耗和尺寸,大大节约了防伪识别器的成本,又极大限度地满足了防伪对象生产者对密钥的海量需求,突破了国家发明专利《密码防伪系统及其加密和识别方法》在应用时受m、r限制的局限性。
2、在国家发明专利《密码防伪系统及其加密和识别方法》中,其组合的公钥组和私钥组进行一次加解密任务时,要进行r次加解密运算;本发明只要一次加解密运算,速度提高了r倍。尤其是使用如ECC数字签名方法,由于ECC算法本身的优越性,大大提高了签名与验证的速度。所以,本发明中,识别器对防伪对象进行真伪识别时,由于运算速度的提高,可以大大提高识别器工作效率。
3、本发明的数字签名方法极大的缩小了防伪标识信息的比特数,对防伪对象生产者的第一种数字签名方法来说,如果采用RSA算法,写入非接触IC卡中的防伪标识信息最多只要4Kbit左右,相应的非接触IC卡的成本价格也下降了70%,使得非接触IC卡的容量只要2-4Kbit即可。对防伪对象生产者的第二种数字签名方法来说,如果采用椭圆曲线密码ECC数字签名算法,写入非接触IC卡中的防伪标识信息更小,甚至可以小于1Kbit,非接触IC卡的容量只要2Kbit即可,相应的非接触IC卡的成本价格也下降了90%。因此大大降低了防伪成本。

具体实施方式

实施例一:选取RSA数字签名算法
一、制作防伪标识体
此发明的防伪方法是以非接触IC卡做为防伪标识信息的载体,防伪标识体是非接触IC卡与防伪对象构成的一个整体。首先,根据防伪对象的需要,把非接触IC卡制作成适应于防伪对象的形状和大小,然后,把非接触IC卡与防伪对象融为一体,一当非接触IC卡离开防伪对象,将被物理的或技术的方法损坏非接触IC卡,使得非接触IC卡内的数字签名不能再被读取和利用,防止非接触IC卡重用。
二、密钥组合过程
RSA签名方案如下:
系统参数:设n=pq,且p和q是两个大素数,则M=A=Zn,定义K={(n,e,p,q,d)}。这里e和d满足ed≡1(mod(n))(·)为欧拉函数。
公钥:e,n
私钥:d,p,q
签名算法:y=Sig(x)=xd mod n
验证算法:Ver(x,y)=TRUEye=x mod n,(x,y)∈Zn×Zn。
选取种子公钥:随机选择r个正整数U1,U2,…,Ur作为种子公钥,选取函数f(x1,x2,…,xr)=x1+x2+…+xr。
计算公钥:随机地选取c1,c2,…,cr;ci∈{0,1},i=1,2,…,r;那么,公钥e=f(c1U1,c2U2,…,crUr)=c1U1+c2U2+…+crUr
计算模数:选取分别由两个素数之积组成的k个彼此互素的1024位大整数N1,N2,…,Nk作为种子模数;选取函数g(x1,x2,…,xk)=x1x2…xk;随机地选取b1,b2,…,bk作为模的组合参数;其中bi∈{0,1},i=1,2,…,k;则模数为n=g(N1b1,N2b2,···,Nkbk)=N1b1N2b2···Nkbk.
计算私钥:根据上述得到的公钥e及模数n,由ed≡1(mod(n))求得私钥d。
种子公钥和种子模数以及第三方监督者的公钥存储在识别器中。
三、数字签名过程
给第三方监督者分配一个唯一的公私密钥对(eA,dA);模nA为两素数之积、1024位、与种子模数两两互素。给每个防伪对象生产者分配一个唯一的公私密钥对(eB,dB),模数为nB;对应的公钥组合参数为c1,c2,…,cr;模的组合参数为b1,b2,…,bk。
首先,第三方监督者进行数字签名如下:
把非接触IC卡的序列号ID、防伪对象及其生产者的名称w、防伪对象生产者的公钥组合参数(c1,c2,…,cr)、模的组合参数(b1,b2,…,bk)进行级联,得到信息数据为x;第三方监督者用自己的私钥dA对此级联信息进行数字签名。即计算y=Sig(x)=dA(x)=xdAmodnA.第三方监督者把此数字签名写入非接触IC卡中。
其次,防伪对象生产者进行数字签名如下:
防伪对象生产者读取非接触IC卡中第三方监督者的数字签名y,把它与防伪对象身份信息m(如防伪对象及其生产者名称、防伪对象规格、生产日期、条码等)进行级联;得到信息数据z。防伪对象生产者用自己的私钥dB对这个级联信息z进行数字签名,即计算u=Sig(z)=dB(z)=zdBmodnB.然后删除非接触IC卡中原第三方监督者的数字签名y,把防伪对象生产者的数字签名u、自己的公钥组合参数(c1,c2,…,cr)、模的组合参数(b1,b2,…,bk)写入非接触IC卡中。
四、真伪识别过程
用本发明的专用电子识别器对防伪对象的真伪进行鉴别:
第一步,识别器读取非接触IC卡中防伪对象生产者写入的自己公钥组合参数(c1,c2,…,cr)、模的组合参数(b1,b2,…,bk)、识别器中存储的种子公钥U1,U2,…,Ur、种子模数N1,N2,…,Nk、代数函数f、g,生成防伪对象生产者的公钥eB和模数nB;即计算:
eB=f(c1U1,c2U2,…,crUr)=c1U1+c2U2+…+crUr
nB=g(N1b1,N2b2,···,Nkbk)=N1b1N2b2···Nkbk
第二步,识别器读取非接触IC卡中防伪对象生产者的数字签名u,读取识别器中存储的第三方监督者的公钥eA,用第一步得到的防伪对象生产者的公钥eB对防伪对象生产者的数字签名u进行解签名,得到第三方监督者的数字签名y′与防伪对象身份信息明文m′;即计算z=ym=eB(u)=ueBmodnB.然后用第三方监督者的公钥eA对防伪对象生产者解签名得到的第三方监督者的数字签名y′进行解签名,得到非接触IC卡的序列号ID′、防伪对象及其生产者名称w′、防伪对象生产者的公钥组合参数明文(c1,c2,…,cr)、模的组合参数(b1,b2,…,bk)。
第三步,识别器读取非接触IC卡序列号ID及防伪对象生产者写入非接触IC卡中的公钥组合参数(c1,c2,…,cr)、模的组合参数(b1,b2,…,bk)防伪对象及其生产者名称分别与第二步中第三方监督者、防伪对象生产者解签名后得到的相应明文数据进行比较,若有一项不相符的,则显示该防伪对象为假冒品。若完全相符,则进行第四步。
第四步,识别器显示第二步解签名后的防伪对象身份信息明文,人工把识别器显示的防伪对象身份信息明文与粘贴在防伪对象表面的商标信息进行对比,若信息内容完全相符,则该防伪对象为真品,否则,该防伪对象是以次充好商品。
实施例二:选取椭圆曲线数字签名算法
一、制作防伪标识体
此发明的防伪方法是以非接触IC卡做为防伪标识信息的载体,防伪标识体是非接触IC卡与防伪对象构成的一个整体。首先,根据防伪对象的需要,把非接触IC卡制作成适应于防伪对象的形状和大小,然后,把非接触IC卡与防伪对象融为一体,一当非接触IC卡离开防伪对象,将被物理的或技术的方法损坏非接触IC卡,使得非接触IC卡内的数字签名不能再被读取和利用,防止非接触IC卡重用。
二、密钥组合过程
椭圆曲线ECDSA算法描述如下:
全局参数D=(q,FR,a,b,G,n,h):其中q为有限城的大小,如果基于Fp,则q=p,如果基于F2m,则q=2m;FR为Fq的一个元素;其中椭圆曲线方程为y2=x3+ax+b或y2+xy=x3+ax2+b,a,b∈Fq;G=(xG,yG)∈E(Fq),xG、yG∈Fq,且G的阶为素数n,n>2160,n>4q;h=#E(Fq)|n。
公私钥算法:选择一个随机数d,d∈[1,n-1];计算Q,Q=d G;那么公钥为Q;私钥为整数d。
密钥组合:选取代数函数f(t1,t2,…,tr)=t1+t2+…+tr;随机地选取c1,c2,…,cr;ci∈{0,1};d1,d2,…,dr;di∈[1,n-1];i=1,2,…,r。选取种子公钥为:Q1=d1G,Q2=d2G,…,Qr=drG。那么,公钥Q=f(c1Q1,c2Q2,…,crQr)=c1Q1+c2Q2+…+crQr;公钥的组合参数为:(c1,c2,…,cr);相应私钥为:d=c1d1+c2d2+…+crdr。
签名算法:待签名的消息m;全局参数D=(q,FR,a,b,G,n,h),还有签名者的公钥私钥对为(Q,d),则签名算法步骤如下:
(1)选择一个随机数k∈[1,n-1];
(2)计算kG=(x1,y1);
(3)计算r=x1 mod n;如果r=0,则回到步骤(2);
(4)计算k-1 mod n;
(5)计算e=SHA1(m);
(6)计算s=k-1(e+dr)mod n,如果s=0,则回到步骤(1);
(7)对消息m的签名为(r,s)
验证算法:已知消息m的签名为(r,s),全局参数D=(q,FR,a,b,G,n,h),签名者的公钥为Q,则签名验证算法步骤如下:
(1)检查r、s,要求r、s∈[1,n-1];
(2)计算e=SHA1(m);
(3)计算w=s-1 mod n;
(4)计算u1=ew mod n;u2=rw mod n
(5)计算X=u1G+u2Q;
(6)如果X=0,表示签名无效;否则,X=(x1,y1),计算v=x1 mod n;
(7)如果v=r,表示签名有效;否则表示签名无效。
把选取的种子公钥Q1,Q2,…,Qr以及第三方监督者的公钥存储在识别器中。
三、数字签名过程
给第三方监督者分配一个唯一的公私密钥对(QA,dA);给每个防伪对象生产者分配一个唯一的公私密钥对(QB,dB),确定并分配各自对应的公钥组合参数(c1,c2,…,cr)。
首先,第三方监督者进行数字签名如下:
把非接触IC卡的序列号ID、防伪对象及其生产者的名称w、防伪对象生产者的公钥组合参数(c1,c2,…,cr)进行级联,得到待签名信息m,第三方监督者用自己的公私钥对(QA,dA)及全局参数D=(q,FR,a,b,G,n,h),对此级联信息m进行数字签名。既计算如下:
(1)选择一个随机数k∈[1,n-1];
(2)计算kG=(x1,y1);
(3)计算r=x1 mod n;如果r=0,则回到步骤(2);
(4)计算k-1 mod n;
(5)计算e=SHA1(m);
(6)计算s=k-1(e+dAr)mod n,如果s=0,则回到步骤(1);
得到对级联信息m的签名为(r,s),第三方监督者把此数字签名(r,s)写入非接触IC卡中。
其次,防伪对象生产者进行数字签名如下:
防伪对象生产者利用自己的公私钥对(QB,dB),全局参数D=(q,FR,a,b,G,n,h),直接对防伪对象身份信息x(如防伪对象及其生产者名称、防伪对象规格、生产日期、条码等)与非接触IC卡序列号ID的级联信息m进行数字签名。既计算如下:
(1)选择一个随机数k∈[1,n-1];
(2)计算kG=(x1,y1);
(3)计算r=x1 mod n;如果r=0,则回到步骤(2);
(4)计算k-1 mod n;
(5)计算e=SHA1(m);
(6)计算s=k-1(e+dBr)mod n,如果s=0,则回到步骤(1);
然后,防伪对象生产者把数字签名(r,s)、自己的公钥组合参数(c1,c2,…,cr)及防伪对象身份信息x写入非接触IC卡中。
四、真伪识别过程
r个种子公钥(Q1,Q2,…,Qr)、全局参数D=(q,FR,a,b,G,n,h)、公钥组合函数f和第三方监督者的公钥QA已经事先固化在识别器存储器中,用本发明的专用电子识别器对防伪对象的真伪进行鉴别:
第一步,识别器读取非接触IC卡中防伪对象生产者写入的自己公钥组合参数和识别器中存储的种子公钥、代数函数f,生成防伪对象生产者的公钥。既计算QB=f(c1Q1,c2Q2,…,crQr)=c1Q1+c2Q2+…+crQr
第二步,识别器读取非接触IC卡的序列号ID、防伪对象生产者写入非接触IC卡的公钥组合参数(c1,c2,…,cr)和防伪对象身份信息中的防伪对象及其生产者名称w以及识别器中第三方监督者的公钥QA,对非接触IC卡中第三方监督者的数字签名进行签名验证。既把ID、w、(c1,c2,…,cr)三者进行级联得到签名信息m;读取签名(r,s),其验证计算如下:
(1)检查r、s,要求r、s∈[1,n-1];
(2)计算e=SHA1(m);
(3)计算w=s-1 mod n;
(4)计算u1=ew mod n;u2=rw mod n
(5)计算X=u1G+u2QA;
(6)如果X=0,表示签名无效;否则,X=(x1,y1),计算v=x1 mod n;
(7)如果v=r,表示签名有效;否则表示签名无效。
若验证签名无效,则显示该防伪对象为假冒品;若验证签名有效,则进行下述第三步。
第三步,识别器读取非接触IC卡的序列号ID、防伪对象生产者写入非接触 IC卡中的防伪对象身份信息x、第一步得到的防伪对象生产者的公钥QB,对防伪对象生产者的数字签名进行签名验证。既既把ID、x两者进行级联得到签名信息m;读取签名(r,s),其验证计算如下:
(1)检查r、s,要求r、s∈[1,n-1];
(2)计算e=SHA1(m);
(3)计算w=s-1 mod n;
(4)计算u1=ew mod n;u2=rw mod n
(5)计算X=u1G+u2QB;
(6)如果X=0,表示签名无效;否则,X=(x1,y1),计算v=x1 mod n;
(7)如果v=r,表示签名有效;否则表示签名无效。
若验证签名无效,则显示该防伪对象为假冒品;若验证签名有效,则进行下述第四步。
第四步,识别器显示防伪对象生产者写入非接触IC卡中的防伪对象身份信息,人工把识别器显示的防伪对象身份信息与粘贴在防伪对象表面的商标信息进行对比,若信息内容完全相符,则该防伪对象为真品,否则,该防伪对象是以次充好商品。