发明内容
本发明的目的在于提供产品真伪验证方法及装置,以解决上述的问题。
在本发明的实施例中提供了产品真伪验证方法,包括:
发送预先获取的特征信息;
接收加密信息,加密信息是设置在产品上的加密芯片在接收到特征信息后,使用预先存储在加密芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密后得到并发出的;
使用本地存储的解密密钥对加密信息进行解密;
若解密成功,则从加密信息中得到待验证的特征信息和产品信息;
判断待验证的特征信息是否满足预设的验证条件,若是,则确定产品为真,且显示产品信息。
优选的,发送的特征信息包括发送时的即时时间值,即发送时间值,待验证的特征信息包括待验证的发送时间值;
判断待验证的特征信息是否满足预设的验证条件包括,
判断待验证的发送时间值是否与解密成功的即时时间值的差值在预先设定的范围内。
优选的,预先设定的范围为2秒至10秒。
优选的,产品信息包括,真伪验证信息;
方法还包括,判断真伪验证信息是否与预先存储在本地的验证信息相同;
若是,且判断待验证的特征信息是否满足预设的验证条件的结果为是,则确定产品为真,且显示产品信息。
优选的,使用本地存储的解密密钥对加密信息进行解密还包括:
若解密失败,则确定产品为假,且显示表示产品为假的信息。
优选的,加密芯片为NFC芯片。
优选的,加密密钥和解密密钥为非对称密钥。
优选的,还包括:加密使用RSA加密方式进行加密。
优选的,接收包括:
向加密芯片发送接收加密信息的指令信息;
接收加密信息,加密信息是加密终端在接收到预先获取的特征信息后,使用预先存储在加密芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密后得到,且在接收到指令信息后发出的。
本发明的实施例还提供了产品真伪验证装置,包括:
发送模块,发送预先获取的特征信息;
接收模块,接收加密信息,所述加密信息是设置在产品上的加密芯片在接收到所述特征信息后,使用预先存储在加密芯片中的加密密钥将所述特征信息和预先储存在加密芯片中的产品信息进行加密后得到并发出的;
解密模块,使用本地存储的解密密钥对所述加密信息进行解密;
获取模块,若解密成功,则从所述加密信息中得到待验证的特征信息和所述产品信息;
判断模块,判断所述待验证的特征信息是否满足预设的验证条件,若是,则确定所述产品为真,且显示所述产品信息。
本发明实施例提供的产品真伪验证方法及装置,与现有技术中的使用手机终端通过网络从服务器获取随机数,再将使用该随机数与NFC芯片进行交流和运算后得到的号码发送至服务器进行验证相比,其通过将预先存储在本地的特征信息发送给加密芯片,再由加密芯片将加密后将后的加密信息发送给使用终端,在使用终端成功解密后,验证待验证的特征信息是否满足预设的验证条件,如果满足,则说明产品为真,达到了对产品真伪验证的功能,同时,在对产品真伪进行验证的时候不需要使用到互联网,简化了产品真伪验证的步骤,提高了真伪验证方法的可靠性,并且不需要网络流量使用费,提高了对产品真伪验证的速度。
具体实施方式
下面通过具体的实施例子并结合附图对本发明做进一步的详细描述。如图1所示,本发明实施例1提供了产品真伪验证方法的基本流程,包括:
S101,发送预先获取的特征信息;
S102,接收加密信息,加密信息是设置在产品上的加密芯片在接收到特征信息后,使用预先存储在加密芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密后得到并发出的;
S103,使用本地存储的解密密钥对加密信息进行解密;
S104,若解密成功,从加密信息中得到待验证的特征信息和产品信息;
S105,判断待验证的特征信息是否满足预设的验证条件,若是,则执行步骤S106;
S106,确定产品为真,且显示产品信息。
本发明所提供的产品真伪验证方法,首先发送预先获取的特征信息,由使用终端向设置在产品上的加密芯片发送预先获取的特征信息,。该特征信息可以是使用终端的当前时间、使用终端的当前的时间与其他数字的组合等。使用终端的当前时间作为特征信息,可以使特征信息是时时在变化的,很难被伪造者进行仿冒
在加密芯片接收到特征信息后,根据预先设置的指令,将接收到的特征信息和预先存储在加密芯片中的产品信息使用预先存储在加密芯片中的密钥进行加密,并得到加密信息。在加密成功后将加密信息向使用终端发送。产品信息可以是产品的产品名称,生产日期、地址、批次等相关描述产品特性和生产的信息,以方便操作使用终端的使用者能够看到产品的相关资料。
使用终端接收加密信息,加密信息是设置在产品上的加密芯片在接收到特征信息后,使用预先存储在加密芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密后得到并发出的。在使用终端接收到加密信息后,使用本地存储的解密密钥对加密信息进行解密,也就是使用储存在使用终端内的密钥对加密信息进行解密。当然,解密的结果可能是成功,也可能是失败。当解密成功时,则从加密信息中得到待验证的特征信息和产品信息。此处的待验证的特征信息与预先获取的特征信息是相对应的,而且,在使用加密芯片中的加密密钥进行加密前,需要先将预先获取的特征信息和预先储存在加密芯片中的产品信息结合到一起,再进行加密。
在解密成功后,使用终端还要对待验证的特征信息进行判断。待验证的特征信息可能是有真的产品上的加密芯片进行加密后,再由使用终端解密后得到的,也可能是由伪造者制造的,假的加密芯片在加密后得到的,判断待验证的特征信息是否满足预设的验证条件,若是,则确定产品为真,且显示产品信息。若使用终端向加密芯片发送的特征信息是使用终端的当前时间,则待验证的特征信息也应是时间信息。若使用终端向加密芯片发送的特征信息是使用终端的时间信息和预设的其他参数值相结合后的数值,则待验证的特征信息也应是和时间信息与该参数值相关的信息。
判断待验证的特征信息是否满足预设的验证条件,若是,则确定产品为真,且显示产品信息。当使用终端解密后得到的待验证的产品信息满足预设的验证条件时,则说明带有加密芯片的产品是真,也就是这个产品是正品,然后将和该产品所相关的产品信息显示给使用者进行查看。所以如果待验证的加密信息是满足预设的条件的话,那么产品信息也是可以正常解密出来的。产品信息解密后的形式与加密前是相同的,也就是产品名称,生产日期、地址、批次等相关信息。
本发明所提供的产品真伪验证方法,通过将预先获取的特征信息发送给加密芯片,再由加密芯片将加密后将后的加密信息发送给使用终端,在使用终端成功解密后,验证待验证的特征信息是否满足预设的验证条件,如果满足,则说明产品为真,达到了对产品真伪验证的功能。同时,在对产品真伪进行验证的时候不需要使用到互联网,简化了产品真伪验证的步骤,提高了真伪验证方法的可靠性,并且不需要网络流量使用费,提高了对产品真伪验证的速度。
如图2所示,本发明实施例2提供了产品真伪验证方法的功能流程,
S201,发送预先获取的特征信息;
S202,向加密芯片发送接收加密信息的指令信息;
S203,接收加密信息,加密信息是加密终端在接收到预先获取的特征信息后,使用预先存储在加密芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密后得到,且在接收到指令信息后发出的;
S204,使用本地存储的解密密钥对加密信息进行解密,是否成功解密,若是,则执行步骤S205,若否,则执行步骤S206;
S205,从加密信息中得到待验证的特征信息和产品信息,执行步骤S207;
S206,确定产品为假,且显示表示产品为假的信息;
S207,判断待验证的发送时间值是否与解密成功的即时时间值的差值在预先设定的范围内,若是,则执行步骤S208;
S208,判断真伪验证信息是否与预先存储在本地的验证信息相同,若是,则执行步骤S209;
S209,确定产品为真,且显示产品信息。
使用时,当使用者的使用终端,也就是智能手机靠近NFC芯片时,发送预先获取的特征信息,本实施例后文中所提及的使用终端也可以具体的认为是智能手机或者NFC带有芯片读卡器等能够与NFC芯片进行通信的使用终端,为简化说明,后文中使用智能手机作为使用终端的描述客体,但并不限于智能手机这种使用终端的形式。使用终端中的发送指令模块会向加密芯片发送特征信息,也就是向NFC芯片发送特征信息,这个特征信息是该发送动作进行的即时时间,考虑到具体使用的问题,该即时时间,也就是发送时间可以是2010年第一天的0时0分0秒开始,到进行发送动作当前时间为止,其间所经过的秒值,当然,发送时间值也可以使从其他时间点开始,到进行发送动作当前时间其间为止,期间所经过的秒值,或者分钟值、小时值等。发送的特征信息的数据长度是4个字节,若发送时间是从2010开始统计的话,且发送时间是2010年第一天的0时0分0秒开始,到进行发送动作当前时间为止,其间所经过的秒值,4个字节就所能表达的发送的时间为136年的时间长度,也就是有效期可以达到2146年。
在NFC芯片接收到特征信息后,NFC芯片将包括产品真伪、产品名称,生产日期、地址、批次等产品信息与接收到的特征信息结合,并在结合后使用预先储存在NFC芯片中的加密密钥进行对结合后的信息进行加密,并得到加密信息。此处先介绍下有关NFC芯片的相关内容,NFC(近距离无线通讯技术),NFC近场通信技术是由非接触式射频识别及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。工作频率为13.56MHz.。其中产品信息包括产品名称、生产日期、生产厂家等对产品生产、制造进行说明的信息。举个例子,典型的产品信息为:真品,飞天茅台,生产时间:2013-12-2915:28,贵州茅台总厂、第2013122921批次。其中“真品”为后文将会提及到的真伪验证信息。将接收到的特征信息和产品信息结合后为:真品,飞天茅台,生产时间:2013-12-2915:28、贵州茅台总厂、第2013122921批次、发送时间值:126139000。当然,发送时间值与产品信息的结合方式还可以是其他形式。
使用终端在向NFC芯片发送特征信息后,还会向加密芯片发送接收加密信息的指令信息,也就是还会向NFC芯片发送接收加密信息的指令。在NFC芯片在接收到预先获取的特征信息后,使用预先存储在加密芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密后得到,且在接收到指令信息后将加密信息向使用终端发送。由于接收指令信息是使用终端实时向NFC芯片发送的,所以当NFC芯片在完成对预先获取的特征信息和预先存储在NFC芯片中的产品信息进行加密后,很快就会将加密得到的加密信息向使用终端发送的。
使用终端在接收到加密信息后,使用终端使用本地存储的解密密钥对加密信息进行解密,也就是使用预先储存在使用终端中的解密密钥对接收到的加密信息进行解密。如果解密失败,则说明产品为假,且显示表示产品为假的信息,对加密信息解密失败也就是说明产品为假。若无法解密,则说明NFC芯片中没有与使用终端中的解密密钥相对应的加密密钥,也就是说明产品上的加密芯片没有按照预定的方式对产品信息和特征信息进行加密,此种情况说明该加密芯片并没有预定的加密功能,也就是说明产品不是使用者想要获得的产品,即产品是假的,从而完成了对产品真伪进行验证的功能。当然,还可能有另一种情况,就是对加密信息进行解密后得到的待验证的特征信息的格式是错误的,也就是解密后得到的信息的格式与预先设置在使用终端中的待验证信息的格式是不符的,这也是一种解密失败的情况,同样,可以理解为解密失败,也就是产品是假的。由此,解密失败的含义可以理解为,没有得发送时间值的待验证信息和/或包括真伪验证信息的产品信息均为解密失败的情况,此时说明产品为假,从而完成了对产品真伪进行验证的功能。若解密成功,从加密信息中得到待验证的特征信息和产品信息,也就是使用终端从加密信息中获得了需要进行下一步验证的特征信息和部分产品信息,即真伪验证信息,也就是产品信息中的“真品”;以及用来显示的部分产品信息,即产品名称,生产日期、地址、批次等相关信息。解密后可以执行步骤S207,判断待验证的发送时间值是否与解密成功的即时时间值的差值在预先设定的范围内,由于待验证的发送时间值是使用终端执行发送动作时的即时时间,即时时间的定义前文已经叙述,此处不再赘述,所以在使用终端成功解密时的时间与发送动作执行时的即时时间应当在一个预定的小范围内,否则如果不对解密成功时和发送动作执行时的时间间隔进行限定,由于该时间间隔过长,使得本方法无法正常的对产品真伪进行验证,也给了仿造者以可以乘之机。在本发明所提供的真伪验证方法中,该时间间隔具体可以为2S至10S之间的一个数值。从时间的角度来看,使用终端向NFC芯片发送预先获取的特征信息和NFC芯片将加密信息向使用终端发送所需要的时间取决于传输的内容长度和传输的速度。我们认为二者之间所传输的内容都小于256字节,由于NFC传输速度是大于106Kbps,所以每个步骤的传输时间小于256*8/(106*1000)=0.04秒,两个步骤一起传输时间小于0.08秒。NFC芯片使用预先存储在NFC芯片中的加密密钥将特征信息和预先储存在加密芯片中的产品信息进行加密,加密时间取决于芯片的运行速度,按照当今一般芯片的技术,进行RSA加密256字节内容,远远小于0.1秒。使用终端将接收到的加密信息进行解密,。其解密速度取决于使用终端的运行速度,若使用终端是一般的智能手机,按照当今一般智能手机的运算速度,进行RSA解密256字节内容,也远远小于0.1秒。综上,整个过程总时间,小于0.3秒。但同时考虑到信号传输时可能会受到一定程度的干扰,且加密和解密的过程也是受到NFC芯片和使用终端本身的运算速度所限制,取2秒作为判断依据的下限值,是很可靠的。另一方面,这个值不是越大越好,它要远小于一个伪造者使用一个旧的密串来伪造所需要的时间。考虑到现代伪造技术的情况,所以预先设定的范围为2秒至10秒之间的数值都是相对合理的,当然,在具体使用的时候还可以根据使用环境和使用终端与加密终端的具体情况来更开预先设定的范围。由于每次发送的发送时间值均是不同的,所以每次由NFC芯片发出的加密信息中的代表发送时间值的密文也都是不同的,典型的伪造者会记录NFC芯片的一次返回结果,然后依此制造伪造芯片。然而,伪造芯片每次都返回相同的字符串,也就可以在S207步骤中判断出伪造芯片发回的字符串是假的,也就是产品是假的。
在步骤S207的判断为是之后,也就是待验证的发送时间值与解密成功的即时时间值的差值在预先设定的范围内,还需要执行步骤S208,判断真伪验证信息是否与预先存储在本地的验证信息相同,前文提及的NFC芯片将产品信息进行加密时,产品信息中的“真品”就是此处对真伪验证信息进行判断的对象。在使用前,先将带有表示产品为正品的信息的产品信息写入NFC芯片中,即,将真伪验证信息写入NFC芯片中,在NFC芯片对产品信息进行加密时,同时也就将真伪验证信息进行了加密,在使用终端进行解密后,自然可以获得真伪验证信息,如果获得的真伪验证信息与预先存储在本地的验证信息相同,则表明产品是真的,并且要显示产品信息和表示产品为真的提示信息。反之,如果获得真伪验证信息与预先存储在本地的验证信息不相同,则说明产品是假的,此时要显示表示产品为假的信息提示信息。从广义的角度来讲,真伪验证信息可以理解为一种特殊表示,并不限制与带有“真”字样的代码或字符串,能够起到验证功能的特殊字符均可作为真伪验证信息进行使用。
需要说明的是,步骤S207和步骤S208在具体执行时的顺序是可以相互调换的,也就是可以先执行步骤S207,当步骤S207为真后,在验证步骤S208是否为真,若步骤S208也为真,则说明产品为真;还可以先执行步骤S208,当步骤S208为真后,在验证步骤S207是否为真,若步骤S207也为真,则说明产品为真。
由于加密密钥是一次性写入NFC芯片中,在外部不可读,因此不会泄露。使用本发明所提供的产品真伪验证装置的厂家也可以定期更换密钥以增强安全性。而且,即使密钥泄露了,由于定制芯片的伪造成本和专业性很高,一般伪造者不可能制造;即使有人不惜成本伪造,在国内由于芯片只有不多的厂家能够制造,所以可以通过法律手段轻易对伪造者进行排查和打击。
值得说明的是,由NFC芯片进行加密和使用终端解密的过程是使用RSA加密方式进行加密,此处先介绍下有关RSA算法的相关内容。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。在公开密钥密码体制中,加密密钥(或称为公开密钥)PK是***息,而解密密钥(或称为秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
预先存储在加密芯片中的加密密钥和预先存储在本地的解密密钥是非对称密钥,也就是方法所提供的产品验证方法中的加密是非对称加密,而且是安全性最高的RSA加密方式进行的加密,所以本发明所提供的产品真伪验证方法的安全性与传统的真伪验证方法相比,安全性大大提升。由于伪造者不知道加密密钥,所以无法伪造出有效的密文。加入发送时间值验证的步骤后,以往惯用的克隆有效密文的方法,也不能奏效。另外,RSA加密体系是目前最安全的加密体系之一,银行也是使用此加密体系,安全性的可靠程度毋庸置疑。
同时,本发明所提供的真伪验证方法中,可以将使用终端中的解密密钥储存在具有公信力的公共平台中,如此做,可以让任何人和大型网站实现解密,进而对产品的真伪进行辨别,使本方法更有公信力。
本发明所提供的真伪验证方法,其安全性方面,相较于现有技术有了很大的提高,本方案使用RSA加密体系,破解密码接近不可能;结合实时时间作为加密要素,同时用时间做检验,杜绝了“克隆密文”攻击;使用定制NFC芯片,伪造者成本大大提高;综合这几个方面,本方案接近绝对安全性。其次使用了非对称加密,能够实现本地认证,既方便也省钱。
本发明所提供的产品真伪验证方法,通过将预先获取的特征信息发送给加密芯片,再由加密芯片将加密后将后的加密信息发送给使用终端,在使用终端成功解密后,验证待验证的特征信息是否满足预设的验证条件,如果满足,则说明产品为真,达到了对产品真伪验证的功能,同时,在对产品真伪进行验证的时候不需要使用到互联网,而且本方案还使用RSA加密体系,破解密码接近不可能;结合发送特征信息的即时时间作为加密要素,同时使用解密成功时的时间做检验,杜绝了“克隆密文”攻击;使用定制NFC芯片,伪造者成本大大提高;综合这几个方面,本方法所提供的产品真伪验证方法相较于传统的产品真伪验证方法,在可靠性方面有了明显的提高,并且不需要网络流量使用费,提高了对产品真伪验证的速度,并且不需要使用网络,提高了对产品真伪验证的速度;同时节约了网络流量使用费,使得本方法更容易推广。。
如图3所示,本发明实施例3提供了产品真伪验证装置的结构,包括:
发送模块301,发送预先获取的特征信息;
接收模块302,接收加密信息,所述加密信息是设置在产品上的加密芯片在接收到所述特征信息后,使用预先存储在加密芯片中的加密密钥将所述特征信息和预先储存在加密芯片中的产品信息进行加密后得到并发出的;
解密模块303,使用本地存储的解密密钥对所述加密信息进行解密;
获取模块304,若解密成功,则从所述加密信息中得到待验证的特征信息和所述产品信息;
判断模块305,判断所述待验证的特征信息是否满足预设的验证条件,若是,则确定所述产品为真,且显示所述产品信息。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。