1、合肥工业大学 计算机与信息学院RFID原理与应用原理与应用第第2版版单承赣单承赣 教授教授2第5章 RFID系统数据传输的安全性5.1 信息安全概述信息安全概述信息安全主要解决数据保密和认证的问题。数据保密就是采取复杂多样的措施对数据加以保护,防止数据被有意或无意地泄露给无关人员,造成危害。认证分为信息认证和用户认证两个方面,信息认证是指信息从发送到接收整个通路中没有被第三者修改和伪造,用户认证是指用户双方都能证实对方是这次通信的合法用户。RFID系统应用范围的不断扩大,其信息安全问题也日益受到重视。3第5章 RFID系统数据传输的安全性5.2 密码学基础密码学基础5.2.1 密码学的基本概念
2、密码学的基本概念 加密模型 加密和解密变换的关系式:c=EK(m)m=DK(c)=DK(EK(m)4第5章 RFID系统数据传输的安全性 5.2.2 对称密码体制对称密码体制 概述 一种常规密钥密码体制,也称为单钥密码体制或私钥密码体制。在对称密码体制中,加密密钥和解密密钥相同。从得到的密文序列的结构来划分,有序列密码和分组密码两种不同的密码体制。序列密码是将明文m看成是连续的比特流(或字符流)m1m2,并且用密钥序列K=K1K2中的第i个元素Ki对明文中的mi进行加密,因此也称为流密码。分组密码是将明文划分为固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变化而
3、得到密文。5第5章 RFID系统数据传输的安全性分组密码分组密码 数据加密标准(Data Encryption Standard,DES)DES由IBM公司1975年研究成功并发表,1977年被美国定为联邦信息标准。DES的分组长度为64位,密钥长度为56位,将64位的明文经加密算法变换为64位的密文。高级加密标准(Advanced Encryption Standard,AES)新的加密标准,它是分组加密算法,分组长度为128位,密钥长度有128位、192位、256位三种,分别称为AES-128,AES-192,AES-256。65 RFID系统数据传输的安全DES加密算法 Li=Ri-1
4、RiLi-1 f(Ri-1,Ki)从左图可知 7第5章 RFID系统数据传输的安全性f函数的变换8第5章 RFID系统数据传输的安全性 AES和和DES的不同之处有以下几点:的不同之处有以下几点:DES密钥长度为64位(有效位为56位),加密数据分组为64位,循环轮数为16轮;AES加密数据分组为128位,密钥长度为128,192,256位三种,对应循环轮数为10,12,14轮。DES中有4种弱密钥和12种半弱密钥,AES选择密钥是不受限制的。DES中没有给出S盒是如何设计的,而AES的S盒是公开的。因此,AES在电子商务等众多方面将会获得更广泛的应用。序列密码 序列密码序列密码(流密码流密码
5、),其计算复杂度低,其计算复杂度低,硬件实现容易,在硬件实现容易,在RFID系统中获得了广泛应用。系统中获得了广泛应用。9第5章 RFID系统数据传输的安全性5.2.3 非对称密码体制非对称密码体制 1.公开密钥与私人密钥 加密算法E和解密算法D必须满足以下三个条件:D(E(m)m,m为明文;从E导出D非常困难;使用“选择明文”攻击不能破译,即破译者即使能加密任意数量的选择明文,也无法破译密文。2.RSA算法 密钥获取的步骤如下:选择两个大素数p和q,它们的值一般应大于10100;计算n=pq和欧拉函数(n)=(p-1)(q-1);选择一个和(n)互质的数,令其为d,且1d(n);选择一个e,
6、使其能满足ed=1 mod(n),则公开密钥由(e,n)组成,私人密钥由(d,n)组成。10第5章 RFID系统数据传输的安全性RSA算法算法 加密方法 首先将明文看成是一个比特串,将其划分成一个个的数据块M,且满足0Mn。为此,可求出满足2kn的最大k值,保证每个数据块长度不超过k即可。对数据块M进行加密,计算C=Me(mod n),C即为M的密文。对C进行解密时的计算为M=Cd(mod n)。演示 取p=3,q=11 n=pq=311=33,(n)=(p-1)(q-1)=210=20;由于7和20没有公因子,因此可取d=7;解方程7e=1(mod 20),得到e=3;公开密钥为(3,33)
7、,私人密钥为(7,33)。假设要加密的明文M4,则密文CMe(mod n)=43(mod 33)=31,接收方解密时计算MCd(mod n)=317(mod 33)=4,即可恢复出原文。11第5章 RFID系统数据传输的安全性3.椭圆曲线密码体制(椭圆曲线密码体制(ECC)椭圆曲线 Weierstrass方程 y2+a1xy+a3y=x3+a2x2+a4x+a6 12第5章 RFID系统数据传输的安全性椭圆曲线的基本椭圆曲线的基本ElGamal加解密方案加解密方案 加密算法:首先把明文m表示为椭园曲线上的一个点M,然后再加上KQ进行加密,其中K是随机选择的正整数,Q是接收者的公钥。发方将密文c
8、1=KP和c2=M+KQ发给接收方。解密算法:接收方用自己的私钥计算 dc1=d(KP)=K(dP)=KQ 恢复出明文点M为 M=c2-KQ 13第5章 RFID系统数据传输的安全性 RSA算法的特点之一是数学原理简单,在工程应用中比较易于实现,但它的单位安全强度相对较低,用目前最有效的攻击方法去破译RSA算法,其破译或求解难度是亚指数级。ECC算法的数学理论深奥复杂,在工程应用中比较困难,但它的安全强度比较高,其破译或求解难度基本上是指数级的。这意味着对于达到期望的安全强度,ECC可以使用较RSA更短的密钥长度。ECC在智能卡中已获得相应的应用,可不采用协处理器而在微控制器中实现,而在RFI
9、D中的应用尚需时日。14第5章 RFID系统数据传输的安全性 椭圆曲线加/解密15第5章 RFID系统数据传输的安全性5.3 序列密码序列密码 5.3.1结构框架结构框架 密钥序列产生器进行初始化 ci=E(mi)=mi Ki 接收端,对ci的解密算法 D(ci)=ci Ki=(mi Ki)Ki=mi 需要同步 16第5章 RFID系统数据传输的安全性5.3.2 m序列序列由n级D触发器作为移位寄存单元,开关S1,S2,Si,Sn-1用于控制相应某一级Di是否参加反馈的模2加(异或)运算。在时钟信号的控制下,虽然电路无外界激励信号,但能自动产生一个二进制周期序列。17第5章 RFID系统数据传
10、输的安全性m序列序列反馈函数线性移位寄存器的特征多项式 12012=0()=nininif xS XSS XS XS X18第5章 RFID系统数据传输的安全性m序列序列本原多项式系数19第5章 RFID系统数据传输的安全性m序列序列较高阶次的n而项数为3的本原多项式一个n阶多项式的互反多项式1()nf xx fx20第5章 RFID系统数据传输的安全性m序列序列阶数n与其本原多项式的数量Nm的关系21第5章 RFID系统数据传输的安全性m序列序列m序列产生器电路f(x)=1+x+x4本原多项式为22第5章 RFID系统数据传输的安全性m序列序列M序列用于流密码加密23第5章 RFID系统数据
11、传输的安全性5.3.3 非线性反馈移位寄存器序列非线性反馈移位寄存器序列M序列序列 在m序列中,寄位寄存器的值为全0时,系统为静止态。但在非线性反馈的情况下,移位寄存器全0状态可以参加反馈循环,使n级移位寄存器产生的周期序列比m序列长一位,即周期L2n。它包括了n级移位寄存器的所有状态。24第5章 RFID系统数据传输的安全性5.4 射频识别中的认证技术射频识别中的认证技术 三次认证过程25第5章 RFID系统数据传输的安全性射频识别中的认证技术射频识别中的认证技术 三次认证过程阅读器发送查询口令的命令给应答器,应答器作为应答响应传送所产生的一个随机数RB给阅读器。阅读器产生一个随机数RA,使
12、用共享的密钥K和共同的加密算法EK,算出加密数据块TOKEN AB,并将TOKEN AB传送给应答器。TOKEN ABEK(RA,RB)应答器接受到TOKEN AB后,进行解密,将取得的随机数与原先发送的随机数RB进行比较,若一致,则阅读器获得了应答器的确认。应答器发送另一个加密数据块TOKEN BA给阅读器,TOKEN BA为TOKEN BAEK(RB1,RA)阅读器接收到TOKEN BA并对其解密,若收到的随机数与原先发送的随机数RA相同,则完成了阅读器对应答器的认证。26第5章 RFID系统数据传输的安全性5.5 密钥管理密钥管理 1.应答器中的密钥 为了阻止对应答器的未经认可的访问,采
13、用了各种方法。最简单的方法是口令的匹配检查,应答器将收到的口令与存储的基准口令相比较,如果一致,就允许访问数据存储器。分级密钥 密钥A仅可读取存储区中的数据,而密钥B对数据区可以读写。如果阅读器A只有密钥A,则在认证后它仅可读取应答器中的数据,但不能写入。而阅读器B如果具有密钥B,则认证后可以对存储区进行读写。存储区分页密钥27第5章 RFID系统数据传输的安全性 2.密钥分层管理密钥分层管理 结构结构 初级密钥用来保护数据,即对数据进行加密和解密;二级密钥是用于加密保护初级密钥的密钥;主密钥则用于保护二级密钥。这种方法对系统的所有秘密的保护转化为对主密钥的保护。主密钥永远不可能脱离和以明码文的形式出现在存储设备之外。28第5章 RFID系统数据传输的安全性密钥层级的名称与加密对象29第5章 RFID系统数据传输的安全性 3.密码装置密码装置