当前位置:无忧公文网 >范文大全 > 征文 > 基于NFC芯片的防伪溯源系统的设计

基于NFC芯片的防伪溯源系统的设计

时间:2022-03-28 08:21:39 浏览次数:

zoޛ)j馓EBwk'@EBwk'M--$Ri4PZiL
wm׭7N??^jbzWBi'*'4P-M-}׈B4P#EiBM/]/]E 4E 5
BPDRP 3E	HiBMx4P>'{bEB4P#EBM/omEii4P工作;另外,总平台又是NFC防伪标签的提供商,因此录入防伪标签的工作由总平台管理员来完成。

(2)平台企业用户

企业用户可以用读写设备对防伪芯片进行数字签名;还可以系统的管理平台,对企业的防伪产品进行管理,查看防伪产品被扫描的记录,并根据具体数据了解消费者的喜好,根据销售记录调整公司战略。

(3)消费者用户

可以用装有Android防伪客户端的NFC手机扫描NFC防伪标签对商品进行真伪鉴别,如果扫描到假冒产品,还可以选择将扫描结果分享出去,并获得礼券等奖励。

2.2 防伪查询的主要功能流程

本系统的关键功能是消费者用装有Android防伪客户端的NFC手机扫描NFC防伪标签对商品进行真伪鉴别。用NFC手机进行防伪查询的主要流程图如图1所示。具体方法如下:

(1)消费者用NFC手机下载安装Android防伪客户端,可对贴有NFC防伪标签的商品进行防伪验证。

(2)客户端与防伪标签进行相互认证,只有本系统的防伪标签且只有本防伪系统才能通过相互认证。若没通过相互认证,客户端显示假冒伪劣商品提示页面,还可以选择是否分享打假信息;若通过,则进行下一防伪验证。

(3)客户端将防伪标签的UID发送到后台应用程序进行查询,看是否已经录入到系统标签。若还未录入,客户端展示打假信息页面;若已经录入,则展示正品信息页面。

(4)在正品信息页面,用户可以选择是否购买。若选择购买,则将带防伪标签对应的商品进行下架处理,使该标签失效;若不购买,则退出相应页面。

3 系统Android客户端与NFC标签的认证机制

3.1 认证机制的策略

系统为了实现防止标签被批量复制的目标,采用了标签与防伪系统服务器端相互认证的机制,只有由防伪系统平台商提供的防伪标签才能通过与系统服务器端的相互认证,也只有合法的服务器端才能通过防伪标签的相互认证。下面就对系统采用的认证机制的策略进行介绍。

(1)UID是NFC芯片的Unique ID,即芯片的唯一标识码,在出厂后不可更改。

(2)EPC是防伪标签对应的具体商品的唯一标示号。

(3)产品信息是指商品的详细描述信息。

(4)count是芯片中内置的计数器,每当被NFC设备扫描一次,count值加1。

(5)会话密钥被写入到NFC防伪标签内,用来加密要传输的数据和标签信息。

(6)访问密文由会话密钥对通信两端要发送的信息加密得来。

(7)签名用来表示这个防伪标签是属于谁所有。

在整个系统的应用场景中,由于NFC手机不是系统专门的NFC读写设备,所以它只作为防伪标签和服务器端数据传输的媒介,认证过程在NFC防伪标签与系统服务器端进行。进行认证的某个NFC标签与服务器两端使用同一个会话密钥K和相同的加密算法E,会话密钥K由加密算法对两端约定好的主控密钥进行加密后得出,会话密钥K存储在标签中,用来对信息明文进行加密。认证过程分如下步骤进行:

(1)NFC手机向防伪标签发送相互认证请求;

(2)防伪标签接收到请求后,生成随机数RA,将RA与标签UID一起发给服务器端;

(3)服务器端根据UID和对应的主控密钥计算出会话密钥K,用K对RA经加密算法E加密得出RA’,另外生成随机数RB,用会话密钥K经加密算法E对RA’和RB加密后发给标签;

(4)标签收到密文后解码得出RA’和RB,用K和E对自己的RA进行加密得到RA2,接收的RA’与自己加密得到的RA2比对,若相等则通过对服务器端的认证;标签对收到的RB进行加密得出RB’,发送给服务器端;

(5)服务器端收到RB’后进行解密得出RB2,RB2与自己的RB比较,若相同则通过服务器端对防伪标签认证;

(6)只有认证通过后才能进行下一步操作。

NFC防伪标签与服务器端的相互认证如图3 所示。

3.2 基于对称加密算法3DES实现认证机制

算法主要有对称加密算法和非对称加密算法,使用比较广泛的前者主要有DES、3DES和AES,最有影响力和权威性的后者主要有RSA和ECC[4]。3DES算法的对称加密机制可以用图4表示。

对称加密算法DES使用的密钥长度为56位,将明文每64位分为一组,再将分组后的明文和密钥按位置换得到密文组[5]。DES加密算法有三个形参: key、data和mode。其中key为加密密钥,即上文所说的会话密钥;data为需要加密或解密的数据;mode为模式,分为加密和解密两种模式。3DES即triple DES,利用64位长度的密钥对明文进行三重加密。3DES是对DES加密算法的改进:假设DES的加密过程为Ek(),解密过程为Dk(),用Ek1()表示第一重加密,Dk1()表示第一重解密,以此类推,K是密钥,M是明文,S是密文,那么3DES的加密和解密过程可以用如下函数表示:

加密:S=Ek3(Dk2(Ek1(M)));

解密:M=Dk1((EK2(Dk3(S)))。

3.3 对称加密和非对称加密混合算法实现认证机制

上文介绍的是用对称加密算法3DES对系统认证机制的实现。虽然3DES算法的计算速度比其他非对称算法的计算速度快了几个数量级,适合对大容量数据进行加密和解密运算,但由于这种对称加密算法的通信两端要共享同样的密钥,所以有比较大的密钥安全隐患;而非对称加密算法RSA采用公钥和私钥这种非对称的密钥体系,通信的两端都各自拥有一对公钥和私钥,公钥可以交给对方使用,而私钥仅自己知道,例如A给B发送信息时,先将信息用B的公钥进行加密得到密文,B收到密文后可以用B的相应密钥解密密文,并且只有与B对应的密钥才能解密,这样就确保了B的合法性;如果A用自己的私钥对信息进行加密后发给B,B接受后可以用A对应的公钥进行解密,如果解密成功说明是用A的私钥进行的加密操作,也就确保了A的合法性。这种方式可以实现对芯片的数字签名,即用芯片所有者的私钥来对签名的信息进行加密,以表明芯片的所有权。但是RSA算法的计算速率比较低,对大容量数据的加密和解密运算不适用[6]。对这两种算法各自的优缺点进行比较后,本系统采用RSA算法和3DES算法综合使用的方式来实现防伪标签和服务器端的相互认证机制,即采用RSA算法对3DES的加密密钥进行加密,确保了3DES密钥的安全性,用3DES算法对防伪标签和服务器端的通信信息进行加密和解密运算,提高了对通信数据的加密解密运算速度。基于非对称加密算法的相互认证机制如图5所示。

该认证机制的详细过程如下:

(1)当NFC手机靠近防伪标签时,标签向服务器端发送访问密文,访问密文是由防伪系统平台服务器端的公钥加密会话密钥和UID得来,所以服务器端可以用自己与之对应的私钥对访问密文进行解密,得到会话密钥和UID。

(2)服务器端再用会话密钥加密标签的UID得出密文,发送给NFC标签。

(3)标签收到密文后,用会话密钥加密自己保存的UID并与接收到的密文进行比对,如果相等则认证通过,进行下一步认证。

(4)标签用会话密钥加密标签中产品信息,并用平台企业用户的私钥加密芯片的数字签名,发送至服务器端。

(5)服务器端再用会话密钥对受到的密文解密得到产品明文信息并进行散列,用平台企业用户的公钥解密签名,再与产品明文信息散列值进行比对,相等则说明该平台企业用户已经经过防伪系统总平台授权,是总平台认证的平台企业用户。

经过上述双向认证机制,可确保NFC防伪芯片和平台企业用户的合法性,有效防止防伪标签被批量复制的问题。

改进后的认证机制在原有对称加密算法3DES的基础上,加入了非对称加密算法RSA,3DES和RSA算法结合使用的整个加密和解密流程如图6所示。

4 结 语

本文的目的是要设计一个基于NFC芯片的防伪溯源系统,该系统主要由NFC防伪标签、Android客户端和后台管理平台组成。本文对NFC防伪应用的优势和前景进行了介绍,阐述了该系统的主要工作流程,而且重点对Android客户端和NFC标签的认证机制进行了详细讨论。在加入了对称加密算法3DES和非对称加密算法RSA的综合算法后,3DES算法的密钥可以对要传输的大容量信息进行加密,提高了加密解密速度;RSA算法的密钥可以对3DES算法的密钥进行加密,而且芯片所有者可以利用自己的私钥对芯片进行数字签名,这种混合算法让系统的加密解密速度、安全性和权威性有了极大的保障。

参考文献

[1]韩露,桑亚楼.NFC技术及其应用[J].移动通信,2008(6):25-28.

[2]马金涛.激光全息防伪技术及其应用[J].中国防伪报道,2007(11):31-40.

[3]赵宇枫.RFID与NFC技术与应用浅析[J].科学咨询(科技·管理),2011(5):75-76.

[4]潘文明.DES加密芯片的研制及其实现[D].广州:暨南大学,2008.

[5]吴明航.DES和RSA混合加密算法的研究[D].哈尔滨:哈尔滨工业大学,2013.

[6]钮时金,杨奎河.基于RSA与三重DES的数据安全传输机制研究[J].电脑开发与应用,2009(10):70-73.

推荐访问: 溯源 防伪 芯片 设计 系统