自从1946年人类发明计算机以后,数字技术的迅猛发展使人们逐渐脱离了原子的束缚,人们得以使用比特流进行创造财富。在这个数字时代,比特超越了原子,成为世界的主角。今天,物联网技术和发展,原子又实现了与比特的紧密连接,成为了一个用比特武装起来的原子。

在物联网中,RFID技术是最关键也是最基础的技术。目前,国际RFID编码体系存在3个标准体系:ISO标准体系,EPCglobal标准体系和UID标准体系。

一、Rpcglobal与ONS

目前应用最广泛的是EPCGlobal标准体系。EPCglobal是由UCC和EAN联合发起并成立的非盈利性机构。EPC系统最终目标是为每一单品建立全球的、开放的标识标准。,它由全球产品电子代码( EPC)的编码体系(EPC代码)、射频识别系统(EPC标签,读写器)及信息网络系统(EPC中间件,ONS,EPCIS)3部分6个方面组成。

EPCglobal作为一个开放的全球性网络,要具有能够追踪物品的功能。因为EPC标签的容量相对较小,只能存储EPC编码,而与商品相关的其他详细信息只能存储在服务器上。因此除了将EPC代码存储在标签中外,还要能将EPC编码与对应商品信息进行匹配的方法,这就需要对象名解析服务(ONS)实现。ONS用来为Savant系统定位某EPC对应的存储本产品信息的服务器。从结构与流程上来讲,ONS与互联网的DNS系统类似。ONS服务器是ONS系统的核心,用于响应本地软件的ONS查询,查询成功,则返回此EPC码对应的URI如图1所示。

一种改进的RFID物联网系统加密技术

二、一种安全的RFID标签信息传输方法

RFID技术的信息安全是RFID系统得到广泛应用的前提,也是基于RFID技术的物联网的发展根本。为了保证电子标签的密钥传输、分发及读写器和RFID标签之间通信的安全,必须采用加密技术,目前RFID系统中常用的加密算法有DES(对称加密)、RSA(非对称加密)等,但由于受到标签内芯片尺寸的限制,电子标签的计算能力还不强,这就导致了在电子标签中实现RSA加密算法时加密解密速度慢、密钥生成速度慢等缺点,因此在大部分的对系统安全性要求不太高的RFID应用系统中一般采用DES加密算法。

本文提出了一种基于变种DES的RFID标签加密信息传输的方法,在RFID标签和读写器的通信过程中,经过三重相互认证体制(ISO/IEC DIS9798-2)确认标签与读写器匹配后,利用一种变种DES加密的方法,对传输过程中的明文进行加密,以保证数据的传输安全。即使数据被窃取,由于攻击者不知道密钥和加密规则,这些数据对攻击者也毫无用处。

1、三重相互认证体制

三重相互认证方法可以保证相互通信的RFID标签和读写器是可信的,过程如下:

①际签进入读写器的范围后,读写器发出查询ID和口令;

②f示签中产生随机数A1,发送给读写器;

③读写器接收到A1卮产生随机数B1,并使用相同的密钥k和相同的密钥生成算法Ek,产生一个加密过的的数据令牌1,令牌中包括随机数A1,B1和附加的控制数据(CD),并发送给RFID标签:Tokenl=Ek( A1,B1,CD,明文1);

④RFID标签收到标签后,进行解密,从中取得刚才发送的随机数A1*,并与自身生成的A1进行比较,如果一致说明读写器与自身RFID标签是一致的,属于同一系统。然后产生另一个随机数A2,使用相同的密钥K和相同的密钥算法生成加密过的数据令牌2,发送给读写器:Tok en2=E k(A2,B1,明文2);

⑤读写器收到令牌2后,使用与RFID相同的方法进行身份识别。检查接收到的B1*与刚才发送的B1,确认一致后,说明读写器与标签间的共同密钥K是相同的,所以,RFID标签与读写器是共同的系统可以开始进一步的通信,如图2所示。

一种改进的RFID物联网系统加密技术

这种三重相互认证的优势在于:

①共同的密钥K不经空间传输,而只传输产生的随机数;

②认证传输的数据由两个随机数加密,密钥在通信中随机变化,可以保护传输的数据;

③可以使用任意的自定义算法来进行令牌加密,保证安全性;

④从产生的随机数可以算出随机的密钥(会话密钥),以便加密保护后继传输的数据。

三重相互认证的目的在于确认通信双方的互信,保证数据的传输不会被伪造的一方进行接收,下面的方法是用来保证可信双方数据传输过程中即使被第三方窃取,也很难得到有效的数据。

在以上认证过程中,Ek()为加密函数,目前来说最适合用于RFID标签电路中的就是DES算法,相对其他加密方法,比如RSA来说,DES加密方法的加解密速度快,安全性较好。

2、基于变种DES的数据加密方法

在读写器与RFID标签之间经过相互确认过,就可以进行数据的传输了,为了保证数据即使被窃取,也只是加密过的数据,不会造成信息的泄露。必须在数据传输前进行匹配强度的加密一在本文中,针对DES这种对称加密方法的缺点,采用了变种DES的加密方法,提出了一个有效的规则,来提高加密的安全性,流程如下:

已有:EPC数据data,约定好的对称密钥Mkey,接收端也保存相同的一份密钥,这些要由密钥管理机制来保证密钥的安全。

发送端(RFID TAG):

①利用随机函数,产生一个64位(8字节)的随机密钥( Rkey),对Rkey利用Mkey进行DES加密。产生密文DATAI;

②利用随机密钥Rkey,对数据data按自义加密规则进行加密。产生DATA2;

③拼装DATAI和DATA2产生等传输密文DATA。

接收端(RFID Reader):

①将接收到的密文DATA按规则拆分为两个部分,DATA1和DATA2;

②在数据库中查询此标签存储的密钥MKey,并利用MKey对DATA1进行DES解密,得到发送端产生的随机密钥,也就是解密密文所需的密钥Rkey;

③利用Rkey对DATA2进行按自义加密规则解密,得到明文data。

在接收端中,DES的解密算法与加密算法共用相同的算法过程,两者不同之处仅在于解密时子密钥M key的使用顺序与加密时相反。如果加密的子密钥为K1,K2,...,K16,那么解密时子密钥的使用顺序应该为K16,K15,…,K1,即:使用DES解密算法进行解密时,将以64位密文作为输入,第一轮迭代运算使用子密钥K16,第二轮迭代运算使用子密钥K15…,第十六轮迭代运算使用子密钥K1,其他的运算过程与加密算法相同,这样,最后输出的便是64位明文。

3、利用iPhone平台实现的模拟情况

本文利用智能手机iPhone 3GS与Windows系统电脑作为实验平台,来模拟RFID标签与读写器的工作流程。其中,iPhone3GS模拟RFID标签,作为客户端,程序使用Objective-C与C/C++混合编写;利用Windows平台模拟读写器,作为服务器端,程序使用C#语言编写,实现了上述认证过程的模拟,其中的RFID客户端的关键代码如下:

(1)生成随机密钥(Rkey),并进行DES加密,其中encrypt()函数是标准的DES加密过程,代码略过。

//生成随机key( Rkey)

unsigned char Rkey[8]={0};

for( intj=0;j<8;j++)

{

srand( time( nil));

int ranNum= random()%8+ 1;

Rkey[j]=ranNum;

}

//对随机key进行加密,encrptK ey为加密过的DA-ta1

NSData*DATAI=encrypt( Mkey, Rkey, 8);

(2)利用Rkey对明文data进行加密,生成DATA2

//用Rkey对数据进行加密

int length= len;

unsigned char*byt edata=(unsigned char*)malloc (lengLh);

memset ( bytedata, O, lengt h) ;

unsigned char* copydata = ( unsigned char* ) malloc (length);

memset ( copydata, 0, lengt h) ;

memcpy(copydata, data, length);

for (int n = 0; ri < length; )

{

for(inti= O; i< 8; i+ + , n+ +) { if (n > length)

{

break;

}

*( bytedata + n) = ( unsigned char)((int) *

( copydata+n)“(int) Rkey[i]);

}

}

NSData*DATA2= [[NSData alloc]initWith Byt es: byt edata length:length;

(3)将DATA1与DATA2组合成DATA,并做为结果返回。

NSM utableData术DATA=[NSM ut ableData dataW-ithData: DATA l];

[ DATA appendData: DATA 2];

(4)解密过程与加密过程类似,在Windows端使用C#编写。

至此,此加密解密过程结束,这个过程虽然简单,但却可以进行自定义的扩展,对EPC编码的不同长度也可以很好地适应,利用不同的规则,对数据进行不同形式的拼装或拆分。而如果密文传输过程被截获,黑客因为不清楚特殊的规则,也很难进行破解。这样,就实现了通过简单的密文拼装规则改变,达到一个有相当强度的加密方法,有较高的性价比。

再者,DES加密本身具有一定的安全性,因此只要做好密钥管理分配,并对密文拼装自义加密规则进行较好的规划,就可以达到效果。这样的加密策略,不失为一种简单,可行的方案。

小知识之物联网

物联网是新一代信息技术的重要组成部分,其英文名称是:“The Internet of things”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。