一种基于PUF的超轻量级RFID标签所有权转移协议*
2020-03-02黄可可刘亚丽殷新春
黄可可, 刘亚丽,2, 殷新春,3
1.扬州大学信息工程学院, 扬州225127
2.江苏师范大学计算机科学与技术学院, 徐州221116
3.扬州大学广陵学院, 扬州 225000
物联网安全技术专栏
1 引言
无线射频识别技术(radio frequency identification, RFID) 是一种使用无线射频技术在开放的环境下能够自动识别物体和人等目标的技术[1].RFID 系统包含后端数据库、阅读器及标签三部分, 后端数据库和阅读器之间的通信信道一般被认为是安全的; 而阅读器和标签之间通过不安全的无线信道通信, 所以在两端间交互传输的信息非常容易受到克隆攻击、伪造攻击、窃听攻击、去同步攻击等多种恶意攻击[2–6].低成本的无源 RFID 标签附着粘贴在物品表面经常被用于供应链管理体系中, 标签所标识物品的所有权随物品的流动而不断发生变化.因此, 在标签所有权发生转移过程中的安全和隐私问题是影响RFID 技术在供应链中广泛应用的主要因素之一.由于低成本的无源 RFID 标签的计算能力、存储空间等诸多因素的硬件限制, 无法在低成本标签上采用传统加密算法确保整个RFID 系统的安全性, 为了确保物品信息在供应链管理中的安全性和物品所有者的隐私性, 设计适用于低成本的无源 RFID 标签所有权转移协议成为近年来的研究热点.众多学者提出了一系列RFID 标签所有权转移协议[7–16], 但存在各种安全和隐私威胁[17–23].因此在设计 RFID 标签所有权转移协议时需要充分考虑通信过程中交互信息的安全性及隐私信息的保护性, 如数据完整性、前向安全性、双向认证性等, 同时能够抵抗克隆攻击、伪造攻击、重放攻击、去同步攻击等多种恶意攻击.
本文主要研究内容及贡献如下:
(1) 利用物理不可克隆函数 (PUF)、左循环移位变换运算 (Rot(X,Y)) 和异或运算 (⊕) 等三种轻量级运算提出一种不依赖于可信第三方 (trusted third party, TTP) 的所有权安全转移协议—PUROTP 协议, 实现了低成本无源RFID 标签的所有权安全转移;
(2) PUROTP 协议实现了两重认证, 所有权转移之前的标签原所有者与标签之间的双向认证、所有权转移之后的标签新所有者与标签之间的双向认证;
(3) 对新提出的PUROTP 协议使用BAN 逻辑分析, 证明结果表明该协议能够保证在通信过程交互信息的安全性和隐私性; 同时与现有部分经典所有权转移协议在协议的安全属性和性能指标分别进行分析, 结果表明PUROTP 协议在没有增加额外资源消耗的前提下, 能够切实有效的保证通信过程中交互信息的安全性和隐私性, 抵抗物理克隆攻击、重放攻击、中间人攻击、去同步攻击等多种恶意攻击, 弥补了现有方案存在的安全漏洞, 提高了协议的安全性;
(4) 利用协议安全分析工具Scyther 对PUROTP 协议的安全性进行分析验证, 结果表明Scyther 没有发现恶意攻击, 该协议通信中的交互信息是安全的.
本文的其余内容组织如下: 第 2 节简要描述了目前已经提出的部分 RFID 标签所有权转移协议及存在的安全威胁; 第 3 节简要介绍了相关知识; 第 4 节详细介绍了新提出的标签所有权转移协议; 第5 节利用BAN 逻辑对新提出协议的安全性进行逻辑分析证明; 第6 节对新提出协议进行安全属性分析、抵抗恶意攻击能力的安全分析以及使用 Scyther 工具对安全性进行验证; 第 7 节对新提出协议的性能进行分析和对比; 最后, 第8 节对全文进行总结.
2 相关工作
依据标签所有权转移过程是否需要引入可信第三方(TTP) 将协议大致分为两类: 一种是需要依赖可信第三方的标签所有权转移协议, 协议的身份认证以及密钥更新等工作都由可信第三方完成, 在保证协议安全性的同时增加了阅读器和标签与可信第三方的通信成本; 一种是无需引入可信第三方的标签所有权转移协议, 标签所有权的原所有者和新所有者进行直接通信完成标签所有权的转移.
Staito 等人在文献[7]首次提出标签所有权转移协议, 该方案采用对称密码体制加密传输信息, 同时引入可信第三方(TTP) 参与到标签所有权转移, 文献[13]指出该协议[7]无法保证原所有者的隐私安全,同时无法抵御去同步攻击; Molnar 等人在文献[8]提出了一个基于树的标签所有权转移协议, 文献[16]指出该协议[8]不能抵抗主动跟踪攻击; Zhou 等人在文献[9]中提出一种借助于TTP 可信第三方的标签所有权转移协议, 该协议中基于对称加密算法, 文献 [17]指出该协议[9]可能存在密钥泄露以及前向安全性较弱的安全隐患; Kulseng 等人在文献[10]中提出两种轻量级RFID 标签所有权转移协议, 其中一个方案是引入 TTP, 通信过程中需要依赖可信第三方来完成标签所有权转移, 文献 [18]中指出该方案[10]存在安全问题, 无法抵御去同步攻击; Zuo 等人在文献[11]提出了一种引入可信第三方(TTP)、基于对称加密算法和Hash 函数的标签所有权转移协议, 文献[19]指出该协议[11]无法抵抗去同步攻击同时不能保证后向隐私安全.
Li 等人在文献[12]中提出了一种基于Hash 散列函数的、共享的 RFID 所有权转移协议, 该协议没有借助于任何可信第三方, 文献[20]指出该方案[12]并不适用于低成本的无源RFID 标签; Osaka 等人在文献[13]中提出的标签所有权转移协议, 该协议是基于Hash 散列函数和对称密码体制, 文献[16]指出该方案[13]无法抵御去同步攻击, 重放攻击等; Jäppinen 等人虽然在文献 [21]中对 Osaka 等人[13]的方案进一步改进, 但文献[18]指出改进方案依旧无法抵抗去同步攻击; Song 在文献[14]中基于对称加密算法和散列函数提出一种新的所有权转移协议, 文献[22]指出该方案[14]存在重放攻击、去同步攻击等安全隐患; Dimitriou 等人在文献[15]中提出一种基于随机数和密钥加密的授权和所有权转移协议rfidDOT, 该方案实现了密钥能够在相对隐私的环境下进行更新, 但是文献 [18]发现该协议[15]不能保证标签新所有者的隐私安全; Kulseng 等人在文献[10]中提出第二种方案是无需依赖可信第三方(TTP) 来完成标签所有权的转移, 文献[18]中指出该方案[10]无法抵御中间人攻击.
鉴于上述已提出的部分 RFID 标签所有权转移协议存在的安全隐患, 如所有者之间没有实现双向认证、容易遭受去同步攻击、重放攻击等, 本文基于物理不可克隆函数 (PUF) 和左循环移位变换运算(Rot(X,Y))、异或运算 (⊕) 新提出一种不依赖于可信第三方 (TTP) 的超轻量级 RFID 标签所有权转移协议—PUROTP.
3 相关知识
在本节中, 主要介绍RFID 标签所有权转移协议中涉及到的相关基础知识.其中, 3.1 节简要介绍物理不可克隆函数的原理; 3.2 节描述了标签所有权转移过程中三个实体之间的通信关系; 3.3 节主要对协议的安全隐私要求做了介绍; 3.4 节介绍了协议的基本假设.
3.1 物理不可克隆函数
物理不可克隆函数[24–26](physical unclonable function, PUF) 是一组微型延迟电路.基于在制造期间自然发生的物理变化具有独特的特性, 即使用相同的设计、封装和制造工艺也不可能制造出两个完全相同的芯片, 因此使用PUF 技术的芯片具有抗克隆功能.PUF 是通过一种激励-响应机制进行验证, 原理是基于PUF 制作过程中产生的独特的差异,会生成无数且唯一的激励—响应对CRPs(Challenge Response Pairs, CRPs), 激励与响应之间的映射取决于诸如温度、电压供应、老化和电磁干扰等噪声, 因此PUF 的输出具有随机性、不确定性, 对于相同激励的响应也是不可预测的[27,28].
PUF 通过生成仅在芯片加电并运行时才存在的易失性秘密, 这样比攻击敌手发现存储在非易失性内存中的密钥要困难得多, 大大提高了物理安全性.TTP 拥有真实的芯片时会应用随机选择的激励来获得不可预测的响应, 将这些CRPs 存储在数据库中以用于将来的身份验证操作[29].本文在所提出的方案中Tag 端置入PUF 模块, 没有采用在数据初始化阶段使用PUF 模块生成若干CRPs 方案并参与到信息的生成中, 由于该方法产生的CRPs 有限,因此存在被跟踪安全隐患[30,31].所提的方案中具体方法是在执行一轮标签所有权转移认证通信过程中, Tag 会根据该轮次中新鲜的输入(challenge) 对应产生新鲜输出(response).
3.2 实体之间通信关系
RFID 标签所有权转移协议一般涉及三个实体: 分别为标签所有权原始所有者、标签所有权新所有者和标签, 三种实体之间通信关系如图1 所示.RFID 标签所有权转移协议在进行所有权转移之前需要先进行标签所有者和标签两者之间的双向认证工作, 双向认证确保标签和标签所有者都是合法的一方, 这为所有权转移过程的顺利进行提供了坚实的基础[32,33].
3.3 协议安全和隐私需求
一个安全的RFID 标签所有权转移协议, 应具备以下安全和隐私需求:
(1) 标签与原所有者和新所有者的认证均为双向认证;
(2) 标签所有权的完全转移, 即标签在成功进行所有权转移后标签原所有者不能再继续访问标签, 从而保护标签新所有者的隐私;
(3) 标签新所有者在成功获得标签所有权后不能访问该标签之前的秘密数据, 从而保护标签原所有者的隐私;
(4) 标签所有权转移协议能够抵抗物理克隆攻击、伪造攻击、重放攻击、中间人攻击、去同步攻击等多种恶意攻击.
3.4 协议基本假设
本文所提出来的RFID 标签所有权转移协议基于如下假设:
(1) 标签原所有者和新所有者之间的通信信道是安全的、可靠的, 安全的标签新所有者能够接收标签原所有者发送的与标签相关秘密信息;
(2) 标签是低成本无源标签, 标签与其当前所有者之间共享秘密密钥;
(3) 标签所有者与标签之间的无线通信信道易遭受各种恶意攻击;
(4) 标签所有者的阅读器与后端数据库服务器默认是一个整体.
4 标签所有权转移协议—PUROTP
在本节中, 我们将详细介绍所提出的RFID 标签所有权转移协议—PUROTP.
4.1 符号说明
本文所涉及到的相关符号说明如表1所示(信息长度为L=96 bits).
表1 符号说明Table 1 Notations
4.2 协议流程
PUROTP 所有权转移协议过程可以分为以下四个阶段: 1) 数据初始化阶段; 2) 原所有者与标签双向认证阶段; 3) 标签秘密信息转移阶段; 4) 新所有者与标签双向认证阶段.PUROTP 协议整个执行过程如图2 所示.
图2 PUROTP 协议流程Figure 2 Process of PUROTP
4.2.1 数据初始化阶段
本阶段对标签原所有者阅读器、新所有者阅读器和标签需要存储的相关密钥信息、标签假名信息分别进行初始化, 将产生的密钥信息同步存储到标签端、合法的所有者阅读器, 其中标签端初始化信息为 ID,IDS,KRcurrent,标签原所有者阅读器端标签新所有者阅读器端初始化的信息为在此时标签新所有者Rnew阅读器端并没有同步存储标签假名信息IDSold, IDSnext,并且新所有者的密钥信息标签也没有获知.
4.2.2 原所有者与标签双向认证阶段
步骤 1 发起所有权转移及标签识别
(1) RFID 标签所有权转移由Rnew发起,Rnew发送所有权转移请求OTRequest 到Rcurrent,Rcurrent收到标签所有权转移请求OTRequest 后转发给Tag;
(2) Tag 收到请求 OTRequest 后, 发送其 IDS 作为响应信息给 Rcurrent;
(3) Rcurrent收到IDS 后, 在其后端数据库搜索是否存在相匹配的信息(首先匹配IDSnext, 即IDS=IDSnext, 若无法匹配则使用IDSold验证, 即IDS=IDSold), 若存在匹配则继续下一阶段通信认证; 若不存在, 则表示 Tag 非法, 终止认证;
(4) Rcurrent验证Tag 后同时将收到的IDS 通过可信信道发送给Rnew, 用于Rnew识别标签;
(5) Rnew收到 IDS 后, 更新 IDSold, 即 IDSold=IDS.
步骤 2 标签认证原所有者
(1) Rcurrent通过伪随机数发生器 (PRNG()) 生成一个 96 位伪随机数 r1, 利用 r1, IDS 以及Rcurrent 与 Tag 共享的密钥 KRcurrent生成信息 A, B 其中 A = Rot(r1,IDS) ⊕ KRcurent,B =Rot(KRcurent,r1)⊕IDS, Rcurrent发送信息 A||B 到 Tag 端;
(2) Tag 收到信息 A||B 后根据信息 A 的计算公式提取出 Rcurrent生成并隐藏的伪随机数 r1, 利用r1, IDS 和 KRcurrent生成信息 B′, 其中 B′=Rot(KRcurrent,r1)⊕ IDS;
(3) Tag 通过比较信息 B′和 B 是否相等来验证信息的完整性, 若信息 B′和 B 相等 (B′=B ), 表示信息 A||B 传输过程中是安全的, 其中隐藏的伪随机数 r1也是安全的, 此时标签认证 Rcurrent合法, 标签成功认证 Rcurrent; 若不相等 ( B′B), 有两种可能情况, 一是 Rcurrent和 Tag 受到去同步攻击, 两端密钥没有同步更新; 另一种情况是信息A||B 传输的过程中被攻击、篡改, 即认证失败, 认证通信终止;
(4) Tag 端的PUF 模块利用提取到的r1和密钥KRcurrent作为输入激励生成响应p1, 其中ptemp=P(KRcurrent⊕ID), p1=P(ptemp⊕r1), ptemp在参与响应 p1的生成后随即删除;
(5) Tag 利用 r1, p1, IDS 和 KRcurrent生成信息 C,D, 其中 C = Rot(p1,KRcurrent)⊕IDS, D =Rot(KRcurrent,p1)⊕r1, Tag 发送信息 C||D 到 Rcurrent.
步骤 3 原所有者认证标签
(1) Rcurrent收到信息 C||D 后, 根据信息 C 的计算公式提取出隐藏的 PUF 模块响应 p1, Rcurrent利用 p1和 KRcurrent生成信息 D′, 其中 D′=Rot(KRcurrent,p1)⊕r1;
(2) Rcurrent通过比较信息D′和D 是否相等来验证信息的完整性, 若信息D′和D 相等(D′=D),则表示信息 C||D 安全传输且 Rcurrent认定 Tag 合法, 即 Rcurrent成功认证 Tag, 若不相等(D′D), 则表示信息 C||D 传输过程中被攻击、篡改, 或者 Tag 为非法标签, 即 Rcurrent认证Tag 失败, 认证通信终止.
步骤 4 Rcurrent 和 Tag 两端同步更新:
(1) Rcurrent和Tag 双向认证后进入同步更新阶段,Rcurrent通过PRNG()生成伪随机数r2,利用r2,IDS, KRcurrent, p1生成信息E,F, 其中E =Rot(r2,IDS)⊕KRcurrent, F =Rot(KRcurrent,r2)⊕p1, Rcurrent发送信息 E||F 到 Tag.
(2) Rcurrent执行更新操作, 其中
(3) Tag 收到信息 E||F 后根据秘密信息 E 的计算公式提取出 Rcurrent生成并隐藏的伪随机数 r2,再根据信息 F 的计算公式生成信息 F′, 其中 F′=Rot(KRcurrent,r2)⊕p1;
(4) Tag 比较信息F′和F 是否相等验证信息完整性,若信息F′和F 相等(F′=F),表示信息E||F安全传输, 确认Rcurrent已经完成更新操作, Tag 进行同步信息更新, 其中IDS=Rot(IDS,p1)⊕r2, KRcurent= Rot(KRcurent,(r1⊕p1))⊕r2, Rcurrent和 Tag 两端完成密钥信息的同步更新操作, 表示双向认证成功完成; 若信息不相等(F′F), 则表示信息 E||F 在传输中可能遭受攻击、篡改, 标签不执行更新操作, 认证通信终止.
4.2.3 标签秘密信息转移阶段
成功完成原所有者和标签的双向认证阶段后Rcurrent和Rnew进行直接通信, Rcurrent将Tag 最新的相关信息r2, IDSnext隐藏在信息α, β 中发送给Rnew, 以便于完成标签所有权的转移.
(1) Rcurrent与 Tag 双向认证阶段的步骤 4 中除了产生信息 E,F 发送给 Tag 外, 同时产生信息 α,β, 其中α=IDSold⊕r2, β =IDSnext⊕r2, Rcurrent通过与Rnew之间的安全通信信道发送信息α||β 到 Rnew;
(2) 信息 α, β 中隐藏了 IDSold,IDSnext和伪随机数 r2三个信息, 通过这三个信息 Tag 和 Rnew之间建立联系从而进一步进行通信认证, Rcurrent开始将Tag 相关秘密信息权转移到Rnew;
(3) Rnew收到信息 α||β 后分离出得到 α, β, 根据 α, β 的计算公式利用 Rcurrent曾发送的 IDS 从信息 α 中提取出隐藏的伪随机数 r2, 然后再利用 r2从信息 β 提取出IDSnext;
(4) Rnew更新IDS (为了避免混淆将第(3) 步从信息β 提取出IDSnext表示为), 其中用于当前轮认证通信.
4.2.4 新所有者与标签双向认证阶段
步骤 1 标签认证新所有者
(1) Rnew利用 r2, IDS, KRnew生成信息 M1,M2, 其中生成公式为 M1= KRnew⊕Rot(IDS,r2),M2=Rot(KRnew,r2)⊕IDS, Rnew发送信息 M1||M2到 Tag;
(2) Tag 收到信息M1||M2后从M1中提取到Rnew的密钥信息KRnew,结合利用Rcurrent与Tag 双向认证阶段的步骤4 中提取到的r2以及IDS 生成信息, 其中=Rot(KRnew,r2)⊕IDS;
(4) Tag 成功认证后更新其存储的密钥信息, 即Kcurrent=KRnew;
(5) Tag 端的 PUF 利用 r2, KRnew作为输入激励生成对应响应 p2, 其中 ptemp= P(KRnew⊕ID),p2=P(ptemp⊕r2), ptemp在参与响应p2的生成后随即删除;
(6) Tag 利用 r2, p2, IDS, KRnew生成信息 M3, M4, 其中 M3= Rot(r2,KRnew) ⊕IDS, M4=Rot(KRnew,p2)⊕r2, Tag 发送信息 M3||M4到 Rnew.
步骤 2 新所有者认证标签
(1) Rnew收到信息M3||M4后从M3中提取出伪随机数p2, 利用p2和KRnew生成信息, 其中=Rot(KRnew,p2)⊕r2;
(2) Rnew比较信息和M4是否相等验证信息完整性, 若和M4相等则表示信息M3||M4安全传输; 若不相等则表示信息M3||M4在传输过程中可能遭受攻击、篡改或者标签非法, 即新所有者认证标签失败, 认证通信终止.
步骤 3 Rnew 和 Tag 两端同步更新:
(1) Rnew利用 r2, p2, KRnew生成信息 M5, 其中 M5=Rot(KRnew,p2⊕r2), Rnew发送信息 M5到Tag;
(2) Rnew执行更新操作, 其中
(3) Tag 收到信息M5后生成信息, 其中=Rot(KRnew,p2⊕r2);
当数据初始化阶段、原所有者与标签双向认证阶段、标签秘密信息转移阶段、新所有者与标签双向认证阶段这四个阶段都成功执行, 表示标签所有权转移成功执行一轮, 标签所有权由Rcurrent完全转移到Rnew.
5 BAN逻辑分析与证明
本节将采用 BAN (Burrows-Abadi-Needham)[34–38]逻辑分析方法对新提出来的 PUROTP 协议进行形式化安全性分析证明.BAN 逻辑是由Burrows、Abadi 和Needham 提出的基于信念的模态逻辑, 其语法、推理步骤在文献 [34]中有详细介绍.BAN 逻辑对协议进行形式化分析和证明, 也就是通过 BAN逻辑将协议用逻辑语言对协议的初始状态进行初始化假设, 建立初始假设集合; 将协议的实际传输消息转移为BAN 逻辑能够进行识别的形式化公式, 建立理想化协议模型; 通过应用BAN 逻辑中的相关推理法则对协议进行形式化分析, 逐步推导最终判断协议是否能够达到期望的安全目标.PUROTP 协议的BAN逻辑形式化分析如下.
5.1 BAN逻辑推理规则
BAN 逻辑主要有如下推理法则[34–38](仅列出涉及到的主要推理规则):
(1) R1: 消息含义法则
(2) R2: 管辖权法则
(3) R3: 随机数验证法则
(4) R4: 接收消息法则
(5) R5: 消息新鲜性法则
5.2 PUROTP的形式化描述
我们所提出的RFID 标签所有权转移协议PUROTP 的整个认证流程可以分为四个阶段, 分别是: 1)初始化阶段; 2) 原所有者与标签双向认证阶段; 3) 标签秘密信息转移阶段; 4) 新所有者与标签双向认证阶段.需要进行安全性分析的主要是2)、3)、4) 三个阶段, 为了便于描述这里将标签符号表示为 T, 原所有者符号为Rcurrent, 新所有者符号为Rnew.协议的理想化模型描述如下:
Message 1:Rnew→Rcurrent:OTRequest, Rnew向 Rcurrent发起所有权转移请求;
Message 2 : Rcurrent→ T : {OTRequest,A,B}, 其中信息 A, B 是通过密钥 KRcurrent和伪随机数r1以及标签假名IDS 加密生成的秘密信息;
Message 3:T →Rcurrent:{C,D} 其中信息C,D 是通过密钥 KRcurrent, 伪随机数 r1, 利用 PUF 模块产生的唯一响应p1以及标签假名IDS 加密生成的秘密信息;
Message 4:Rcurrent→T :{E,F} 其中信息 E,F 是通过密钥 KRcurrent, 伪随机数 r2, PUF 模块产生的响应p1以及标签假名IDS 加密生成的秘密信息;
Message 5 : Rcurrent→ Rnew: {α,β} 其中信息 α, β 是通过伪随机数 r2以及标签假名 IDS 加密生成的秘密信息;
Message 6 : Rnew→ T : {M1,M2} 其中信息 M1, M2是通过密钥 KRnew和伪随机数 r2以及标签假名IDS 加密生成的秘密信息;
Message 7:T →Rnew:{M3,M4} 其中信息M3, M4是通过密钥KRnew和伪随机数 r2, PUF 模块产生的唯一响应p2以及标签假名IDS 加密生成的秘密信息;
Message 8:Rnew→T :{M5} 其中信息 M5是通过密钥 KRnew和伪随机数r2, PUF 模块产生的唯一响应p2以及标签假名IDS 加密生成的秘密信息.
在该协议模型中, 消息 Message 1 传输形式是明文传输所以不做安全分析证明; 消息 Message 4,Message 8 是标签分别用于确认原所有者和新所有者已成功认证通知标签启动更新的信息, 所以不做安全分析证明; 消息 Message 5 是由原所有者发送到新所有者的信息, 我们假设它们之间的传输信道是安全的, 所以也不做安全分析证明; 主要的安全分析工作是将消息 Message 2, Message 3, Message 5,Message 7 转换为形式化的语言并做安全性分析证明.
消息Message 2, Message 3, Message 5, Message 7 的形式化描述可以写成如下形式, 其中为了便于描述这里将信息生成涉及的密钥信息、标签假名、伪随机数等统一使用符号K 表示:
Message 2:T ◁{OTRequest,{A,B}K}
Message 3:Rcurrent◁{C,D}K
Message 6:T ◁{M1,M2}K
Message 7:Rnew◁{M3,M4}K
5.3 初始化假设
提出的协议满足以下基本假设:
5.4 安全目标
通过5.2 节分析知, 本协议安全性证明的4 个目标如下:
G1:T |≡{A,B}, T 信任信息 A,B;
G2:Rcurrent|≡{C,D}, Rcurrent信任信息 C,D;
G3:T |≡{M1,M2}, T 信任信息 M1,M2;
G4:Rnew|≡{M3,M4}, Rnew信任信息 M3,M4.
5.5 安全目标证明
分析推理证明如下:
(1) 由 Message 2, 初始假设 P2, P4 以及推理法则 R1, R4 可得:
由初始假设P7 以及推理法则R5 可得:
由式(1),(2) 结合推理法则R3 可得:
最后由初始假设P9, 推理法则R2 以及式(3) 可得:
综上所述, 安全目标 G1:T |≡{A,B} 得证.
(2) 由 Message 3, P1, P3 以及 R1 可得:
由 P5, P6 以及 R5 可得:
由式 (5), 式 (6), 结合 R3 可得:
最后由 P10, R2 以及式 (7) 可得:
综上所述, 安全目标 G2:Rcurrent|≡{C,D} 得证.
(3) 由 Message 6, P12, P14 以及 R1, R4 可得:
由 P8 以及 R5 可得:
由式 (9), 式 (10), 结合 R3 可得:
最后由 P17, R2 以及式 (11) 可得:
综上所述, 安全目标 T |≡{M1,M2} 得证.
(4) 由 Message 7, P11, P13 以及 R1, R4 可得:
由 P15, P16 以及 R5 可得:
由式 (13), 式 (14), 结合 R3 可得:
最后由 P18, R2 以及式 (15) 可得:
综上所述, 安全目标 Rnew|≡{M3,M4} 得证.
经过 BAN 逻辑形式化的推理和证明, 综上证明结果: 式 (4), 式 (8), 式 (12), 式 (16) 可知 PUROTP 协议是能够达到期望的安全目标, 因此PUROTP 协议是安全的.
6 协议安全性分析
本节将对PUROTP 协议的数据完整性、前向安全性、双向认证性等安全属性及对主动攻击、被动攻击等多种恶意攻击的抵抗能力进行安全性分析.
6.1 安全属性分析
6.1.1 数据完整性
通信过程中交互信息的完整性标志交互信息在传输的中途没有受到攻击者的篡改, 能够完整的传送到接收端, 是保证所有权转移协议安全执行的因素之一.PUROTP 协议的 Tag 与 Rcurrent, Tag 与 Rnew的双向认证阶段以及各自更新阶段所有的交互信息在接收端都有完整性验证操作, 实现方法是将生成的两个单独信息组合发送, 即 A||B, C||D, M1||M2, M3||M4.而在每个单独信息生成公式中都有共同的密钥 KRcurrent, KRnew或者伪随机数 r1, r2, 以及 PUF 模块生成响应 p1, p2.如 A||B 的生成公式为:A=Rot(r1,IDS)⊕KRcurent, B =Rot(KRcurent,r1)⊕IDS, 接收端在收到上述交互信息后利用自身拥有的共享密钥信息 KRcurrent, KRnew和IDS 从A 中先提取一个新的未知密钥信息 KRcurrent, KRnew, 或者伪随机数r1, r2, 以及PUF 模块生成响应p1, p2, 再计算一个本地信息 B′, 通过验证接收到的B 与本地计算的B′是否相等来验证交互信息的数据完整性; 交互信息C||D, M1||M2, M3||M4的完整性验证同理,具体验证过程在4.2 节已具体介绍.因此, PUROTP 协议能够切实保护认证通信过程中交互信息的数据完整性.
6.1.2 前向安全性
前向安全性即要求协议通信过程中的交互信息即使泄露给攻击者, 攻击者也无法从当前认证轮次的交互信息中获取出标签及其所有者之间历史认证轮次的共享密钥K, 标签假名IDS 等相关信息.PUROTP协议不论是在 Rcurrent与 Tag 之间的双向认证还是在 Rnew与 Tag 的双向认证通信完成后, 所有参与交互信息生成的共享密钥 KRcurrent, KRnew, IDS 都会进行同步更新, 并且在更新过程中都有一个或者多个伪随机数 ri,i = 1,2 参与, 保证下一轮通信中共享密钥 KRcurrent, KRnew的新鲜性.因此, PUROTP 协议能够切实保护认证通信的前向安全性.
6.1.3 双向认证性
双向认证性即在协议通信中所有者和标签之间相互认证彼此的身份是否合法, 合法的标签和所有者是所有权转移协议成功通信的基础.PUROTP 协议中, Rcurrent与 Tag 的认证、Rnew与 Tag 的认证都是两方的双向认证, 只有Tag 成功完成与Rcurrent的双向认证才能进入到标签所有权转移的阶段, 继而才能开始与 Rnew的双向认证.在 Rcurrent与 Tag 的认证通信中, 完成标签识别后首先是 Tag 对 Rcurrent的认证, Rcurrent生成并发送信息 A||B 到 Tag, Tag 通过一系列验证完成对 Rcurrent的认证; Tag 成功认证 Rcurrent后生成并发送信息 C||D 到 Rcurrent, Rcurrent通过一系列验证完成对 Tag 的认证, 具体验证过程在 4.2.2 节已具体介绍, Rnew与 Tag 的双向认证同理, 具体验证过程在 4.2.4 节已具体介绍.因此,PUROTP 协议具有双向认证性.
6.1.4 所有权完全转移
标签所有权转移的安全和隐私要求标签所有权是从Rcurrent到Rnew的完全转移, 即在成功完成所有权转移后, Rcurrent不能再继续访问 Tag, 同时 Rnew在成功获得标签所有权后不能访问 Rcurrent与 Tag的秘密数据, 从而达到保护Rcurrent与Rnew的隐私安全.PUROTP 协议中Tag 在数据初始化阶段同步存储与 Rcurrent共享的密钥 KRcurrent用于实现 Tag 与 Rcurrent双向认证; 在完成 Tag 与 Rcurrent双向认证阶段及所有权转移阶段之后, Rnew与 Tag 进行双向认证, 在该阶段 Tag 的 KRcurrent信息会更新为KRnew, 此时也就标志着Tag 的所有权已经从Rcurrent完全转移到Rnew.
6.1.5 不可追踪性
在RFID 系统中, 如果一个标签的两个响应不能相互关联, 而这两个响应又被一个有效的读取器成功地认证分开, 那么标签就无法被追踪, 即不会导致跟踪攻击[39–41].PUROTP 协议对于标签的识别采用的标签假名IDS, 不使用标签的唯一静态标识ID, 而标签假名IDS 在经过一轮认证通信后会进行动态的更新, 同时用于 IDS 更新的密钥信息KRcurrent, KRnew, 随机数 r1, r2, 在每一轮完整认证后也会进行更新,PUF 模块响应p1, p2在每新一轮认证通信中的输入激励也都是新鲜的.所有者阅读器和标签之间通信交互的信息也是随机化的信息, 攻击者不能从截获两端的通信交互信息来追踪标签.所以PUROTP 协议能够较好的抵御恶意的位置追踪攻击.
6.2 抵抗恶意攻击的安全分析
6.2.1 抵抗物理克隆攻击
物理攻击即通过探测标签的线路或尝试以其他机械方式克隆标签.新提出的 PUROTP 协议的标签是基于物理不可克隆函数(PUF), 在生产制造过程中自然发生的物理变化具有独特的物理特性, 即使用相同的设计、封装和制造工艺也不可能制造出两个完全相同的芯片.在Rcurrent与Tag 双向认证期间, Tag端 PUF 模块会根据 Rcurrent与 Tag 之间最新的共享密钥 KRcurrent以及标签标识 ID 作为激励输入而产生对应的响应输出 ptemp, 即 ptemp= P(KRcurrent⊕ID), 然后再以 ptemp和 Rcurrent端产生的新鲜随机数 r1作为输入激励产生对应的响应输出 p1, 即 p1= Pptemp⊕r1; 而 ptemp只是作为 PUF 模块的临时输出响应, 在参与 p1生成后随即删除; 即 PUF 模块所产生的响应并不是由存储在 Tag 非易失性存储中的相关秘密信息直接生成, 所以使用置入PUF 技术的标签具有抗克隆功能, 攻击者无法针对基于PUF的标签发起物理克隆攻击, 无法物理克隆出与合法标签完全一致标签.因此PUROTP 协议能够抵抗物理克隆攻击.
6.2.2 抵抗伪造攻击
伪造攻击即攻击者通过伪造合法所有者或者标签的相关信息假冒为合法所有者或标签.PUROTP 协议中 Tag 与 Rcurrent的共享密钥 KRcurrent和 IDS, 以及 Tag 与 Rnew的共享密钥 KRnew和 IDS 均为同步一致的, 若攻击者伪造一个Tag 的密钥信息假冒为一个合法标签, 但是伪造标签无法利用伪造验证合法阅读器发送交互信息A||B 和M1||M2, 不能提取出合法所有者发送交互信息中隐藏的信息, 因为伪造标签的与合法所有者的合法KRcurrent或KRnew不一致, 因此PUROTP 协议能够抵御标签伪造攻击.同样若攻击者通过伪造合法所有者发送的伪造信息来假冒合法所有者, 因为攻击者无法获取合法所有者与合法Tag 的KRcurrent或KRnew和随机数信息r1, r2, 因此发送的伪造信息和合法所有者使用合法信息生成的信息A||B 和M1||M2不同, 当合法Tag 接收到假冒阅读器发送伪造信息后, 无法通过验证, 即认证失败.因此PUROTP 协议能够抵御阅读器伪造攻击.
6.2.3 抵抗重放攻击
重放攻击是一种被动的攻击方式, 即在所有者阅读器和标签进行通信过程中, 攻击者可以交互信息再伪装成合法所有者阅读器向标签重放截获的信息或伪装成标签向所有者阅读器重放截获的信息.在PUROTP 协议中, 所有者与标签间的交互信息都有新产生的伪随机数 ri,i = 1,2 参与, 因此每轮通信中的交互信息均不相同, 对于攻击者截获前一轮的交互信息进行重放攻击均不会成功.当Tag 与Rcurrent,Rnew 成功完成一轮认证通信后Rcurrent, Rnew和Tag 对于共享密钥信息KRcurrent, KRnew以及IDS 会分别进行同步更新, 同时每轮新产生的伪随机数ri,i=1,2 也会参与到密钥更新.因此PUROTP 协议能够抵御重放攻击.
6.2.4 抵抗中间人攻击
中间人攻击相比于重放攻击具有更严重的危险性, 重放攻击仅仅重复发送旧消息, 而中间人攻击可以修改消息以达到攻击目的, 攻击者截获交互信息进行修改也就破坏了信息的完整性, 当被修改后的信息发送到标签端或所有者端都将无法通过验证.在PUROTP 协议中, 通信过程中所传输的信息都是由新产生的伪随机数与密钥信息共同参与生成, 且密钥信息只有合法的双方拥有.在Rcurrent与Tag、Rnew与Tag的双向认证通信阶段发送的交互信息都是由两个单独信息组合而成, 即A||B, C||D, M1||M2, M3||M4, 而每组交互信息中的两个单独信息生成公式中都有共同的密钥信息或者伪随机数信息, 如A, B 的生成公式为:A = Rot(r1,IDS)⊕KRcurent, 这样既在其中隐藏了密钥信息 KRcurent又可以用于交互信息完整性的验证, 具体过程在协议流程已具体介绍, 交互信息C||D, M1||M2, M3||M4同理.当攻击者发起中间人攻击截获篡改了交互信息Rcurrent、Rnew与Tag 在进行信息完整性的验证时不会成功, 因此 PUROTP 协议能够抵抗中间人攻击.
6.2.5 抵抗去同步攻击
去同步攻击是一种主动的攻击方式, 即攻击者通过破坏所有者阅读器和标签之间消息的一致性, 使两端信息失去同步性.在PUROTP 协议中, 在所有者的后端数据库中对共享密钥信息KRcurent, KRnew以及IDS 分别存储了两轮, 即保留上一轮正常认证的相关密钥信息和更新后的相关信息若受到去同步攻击导致两端密钥信息更新不一致, 当合法Tag 使用更新后的通信失败后,会再一次使用上一轮成功通信的进行通信, 可以成功进行认证通信.因此PUROTP 协议能够抵御去同步攻击.
PUROTP 协议和现有部分经典 RFID 标签所有权转移协议[10,13,14]的安全性对比分析如表2 所示,其中Yes 表示该协议满足该安全性, No 表示不满足该安全性.
6.3 使用Scyther工具安全分析
Scyther[42–44]是一种被广泛接受应用于协议的安全性分析验证的工具.该工具提供了一个友好的图形用户界面, 便于分析验证目标协议上的复杂攻击场景.在该工具中, 协议角色用安全协议描述语言 (spdl) 进行编写, 然后评估协议需要保证的信息的机密性和真实性的安全声明.认证声明: Alive,Weakagree, Niagree 和 Nisynch 分别用于检测重放攻击, 反射攻击, 中间人攻击等恶意攻击[45].在PUROTP 协议建模中, 我们定义三个角色, 分别为: Rcurrent, Rnew与 T 表示参与协议通信方.分别对通信两端的发送和接收的每条消息都做了相应的秘密声明, 使用 Scyther 对 PUROTP 协议安全性进行验证, 验证结果如图3 所示, 结果表明 Scyther 工具无法找到针对所提出协议 PUROTP的任何攻击, PUROTP 协议能够保证原所有者和标签之间、新所有者和标签之间的秘密信息安全,能够经受恶意攻击.因此证明了该协议的安全性, 能够保证通信安全.实现源码在 GitHub 可见:https://github.com/hkkhuang/PUROTP/blob/master/PUROTP.spdl.
图3 使用 Scyther 验证 PUROTP 安全性的结果Figure 3 Result of PUROTP’s security vertification with Scyther
7 性能分析
本节将从标签存储空间消耗、标签信息生成计算开销以及通信代价等三个方面对 PUROTP 和现有典型RFID 所有权转移协议[10,13,14]进行性能分析和对比.
7.1 标签存储空间消耗
PUROTP 协议的标签端存储信息包括标签唯一标识ID, 标签假名IDS, 密钥K (不同阶段存储不同所有者的密钥信息KRcurrent, KRnew), 标签总的存储空间消耗为3L.
7.2 计算开销
PUROTP 协议主要涉及三种位运算操作, 分别是左循环移位变换运算 (Rot(X,Y))、异或运算 (⊕)以及标签端基于不可克隆函数(PUF) 产生随机数运算 (P()).PUROTP 协议通信过程中的所有者阅读器端和标签端交互信息的生成只涉及到左循环移位变换运算(Rot(X,Y))、异或运算(⊕); 在标签中集成不可克隆函数(PUF), 在接收一个输入后会输出一个唯一的响应, 为了降低标签计算代价, 在标签上集成运算, 功能上等同于随机数发生器, 上述超轻量级运算操作在低成本的无源RFID 标签上可以进行有效的实现[46,47].因此, PUROTP 整体计算符合超轻量级协议要求.
7.3 通信代价
PUROTP 协议在标签与原所有者进行双向认证、所有权转移通信以及标签与新所有者进行双向认证三个阶段, 总通信量为15L+2S.可以看出, 虽然与已提出协议[10,13,14]相比在整个通信过程中总的通信量处于同类平均水平, 但PUROTP 克服了协议[10,13,14]存在的安全和隐私隐患, 确保标签和阅读器通信过程中交互信息的数据完整性, 保护了标签、原所有者以及新所有者隐私信息的安全性.
PUROTP 协议和现有部分经典 RFID 标签所有权转移协议[10,13,14]在标签端存储空间消耗、计算开销、通信代价等性能对比分析如表3 所示, 其中L 表示参数信息的长度; S 表示通信中发送的请求信息或通知信息; Yes 表示该协议依赖TTP 或PUF, No 表示该协议不依赖TTP 或PUF.
表3 性能对比分析Table 3 Comparisons of performance with other protocols
8 总结
本文提出了一种基于物理不可克隆函数 (PUF) 的超轻量级 RFID 标签所有权转移协议 PUROTP.该协议不依赖于可信第三方(TTP), 仅利用物理不可克隆函数(PUF)、左循环移位变换运算(Rot(X,Y))和异或运算(⊕) 等三种轻量级运算实现单个标签的所有权安全转移, 适用于低成本的无源RFID 系统.同时该协议实现了双重认证, 分别体现在完成标签所有权转移之前的标签原所有者与标签之间的双向认证、完成标签所有权转移之后的标签新所有者与标签之间的双向认证, 通过双重认证进一步保证 RFID 标签所有权转移的安全性.BAN 逻辑形式化分析证明了 PUROTP 协议通信过程中的安全性和隐私性, 满足了标签所有权转移过程中的多种安全隐私属性要求, 能够抵抗多种恶意攻击.同时利用协议安全性分析工具Scyther 对PUROTP 协议的安全性进行分析验证, 结果表明该协议能够保证交互信息的安全, 没有发现恶意攻击, 该协议是安全的.在没有增加额外资源消耗的前提下, 弥补了现有方案存在的安全漏洞, 提高了协议的安全性.