89、RFID系统中的安全所有权与所有权转移

RFID系统安全所有权与转移研究

RFID系统中的安全所有权与所有权转移

1. 引言

射频识别(RFID)有望成为供应链管理中的关键技术,因其具有显著的成本节约潜力。该技术的两大成本节约优势在于:一是提高库存跟踪效率,这得益于RFID的非接触性以及无需RFID阅读器与附着在产品上的RFID标签之间保持视线接触;二是减少假冒产品,因为RFID标签能够存储和处理信息,并执行简单的通信协议。

随着产品在供应链中流动,其所有权会从一个合作伙伴转移到下一个合作伙伴,这种所有权的转移也延伸到了附着在产品上的RFID标签。在供应链的某个时间点,合作伙伴通过合法的所有权凭证和实际占有货物,在法律和物理层面拥有产品和RFID标签。一般来说,对一个物体的所有权允许所有者(排他性地)与该物体进行交互、修改该物体,并将其所有权转移给他人。

本文提出并尝试验证RFID系统中所有权的定义,该定义受所有权的法律和物理含义启发。基于此定义,后续将定义安全所有权和RFID协议中的安全所有权转移。这些定义不仅适用于供应链中的RFID系统,也有望应用于其他具有相同所有权直觉的场景,如未来的包裹递送系统。这些属性的定义是首次提出的正式定义,我们将通过分析一个已发布的所有权转移协议来验证这些定义,并展示该协议中的漏洞以及对安全所有权和安全所有权转移的攻击。

2. 有状态安全协议

我们引入了关于安全协议的基本符号和定义。这里不提供安全协议语法和语义的完整描述,仅介绍定义和分析所有权及相关概念所需的基本要素。更详细的描述可在附录A中找到。本文提出的模型基于Cremers和Mauw的无状态协议模型,并扩展了对有状态协议的支持。无状态协议每次执行都从相同的状态开始,而有状态协议可能会使用先前和并行协议执行的信息。

  • 协议定义 :协议被定义为从不同角色的n元组到角色规范的n元组的映射。角色规范定义了执行该角色的诚实代理的行为。在RFID系统中,典型的角色是由实际的RFID阅读器和RFID标签执行的阅读器和标签角色。代理对协议角色的特定执行称为运行。
  • 规范组成 :规范由事件的组合以及组合中出现的所有随机数和变量的声明组成。事件可以是消息的发送或接收,两者都可以伴随着对变量的赋值。消息的接收称为读取事件。受Ryan等人的启发,我们使用信号来表示协议中已到达某个特定点。
  • 消息组成 :角色之间交换的消息由项组成。这些项由基本项(如随机数、常量和代理名称)构建而成。可以使用诸如{·}·(加密)、h(·)(哈希)、· ⊕·(异或)和(·, ·)(配对)等函数构造复杂项。当代理执行角色时,随机数会被新生成,变量通过读取事件和赋值获得其实际值。我们将变量分为两种类型:局部变量模拟协议的无状态部分,其值通过读取事件赋值,每次运行都会重新赋值,一旦赋值,其值不会改变;全局变量模拟协议的有状态部分,它们通过显式赋值接收值,并且其值在不同运行中保持不变。

我们通过所谓的轨迹(traces)来研究一组代理执行一组协议Π的系统的可能行为。非正式地说,轨迹是协议运行的交错执行中发生的事件列表。轨迹的精确构造由系统的语义决定(在附录A中给出)。形式上,轨迹t = t0 … tn - 1是系统状态s0 … sn和事件t0 … tn - 1的有效推导,|t| = n是其长度。我们用Σ(t)表示轨迹t的状态s0 … sn。

系统状态是一个五元组,包含以下组件:
|组件|描述|
|----|----|
|A|用于记录活动运行,每个运行包含一个标识符、执行代理的名称、仍需执行的事件列表以及局部变量赋值|
|G|存储代理的全局变量赋值的当前状态|
|SB|发送缓冲区,代理发送的消息会被放置在此处|
|RB|读取缓冲区,代理从这里读取消息|
|I|入侵者的知识|

我们假设标准的Dolev - Yao入侵者控制网络。入侵者通过将消息从发送缓冲区移动到读取缓冲区来传递消息,通过将消息添加到其知识中来窃听消息。入侵者可以从其知识中构造任何消息并将其放置在读取缓冲区中,可以通过不将消息从发送缓冲区移动到读取缓冲区来阻止或延迟消息,还可以通过伪造消息并阻止原始消息来修改消息。通常在Dolev - Yao入侵者模型中,我们假设加密是完美的,即入侵者无法反转哈希函数,并且除非知道解密密钥,否则无法了解加密项的内容。我们假设存在一个完全受入侵者控制的代理E。

我们使用消息序列图来直观地表示协议规范。每个消息序列图在图表顶部附近以框架形式显示角色名称,角色名称上方显示该角色的秘密项。诸如随机数生成、计算、项的验证和赋值等操作显示在框中。要发送和期望接收的消息在连接角色的箭头上方指定。假设代理只有在接收到符合规范的消息时才会继续执行其运行。

3. 所有权

我们从两个角度考虑标签所有权,即系统视角和代理视角,并将这两个视角之间的关系作为安全要求。

3.1 系统视角的所有权

我们将标签的所有权定义为能够与标签执行指定协议的能力,这个协议称为(所有权)测试协议。选择这种方法而不是基于知识的解决方案(即知道标签上的秘密表示所有权),是因为它更具通用性,例如允许在所有权决策中包含可信或其他第三方。

需要注意的是,测试协议不一定需要在标签上实现,它只是用于定义什么构成标签的所有者,因此可能是一个虚拟协议。在系统的每个状态中,标签与其他代理之间的所有权关系都被精确定义,而所有权测试协议的(假设)执行不是系统轨迹的一部分。所有权测试在一个仅由测试代理、标签和测试协议角色指定的其他代理组成的虚拟环境中进行,且没有任何对抗性影响。测试代理能够成功完成测试协议证明其拥有标签的所有权。在某些情况下,对密钥的知识可能是所有权的定义性概念,而在其他情况下,可能是执行标签上实现的某些或所有协议的能力。在前一种情况下,简单的知识证明协议将是合适的测试协议;在后一种情况下,标签上实现的协议集合将是测试协议。

定义所有权相对于测试协议的一个结果是,诸如所有权转移等概念也相对于所选的测试协议。因此,选择合适的测试协议是所有验证工作的重要步骤。选择不充分的测试协议可能会导致与所有权相关的漏洞被忽视。一个简单的例子是任何代理都能成功执行的测试协议,这会将每个人都声明为标签的所有者。然而,由于直观的所有权概念通常与能够与标签完成相互认证协议的能力相吻合,因此在这种情况下,可以简单地将认证协议作为测试协议。

在状态s中测试标签的所有权相当于验证测试协议是否可以在初始状态为s的虚拟环境中执行。为了模拟这一点,我们引入了微轨迹的概念。微轨迹可以通过允许每个参与方仅进行一次运行并禁止入侵者活动,从第2节描述的轨迹中推导出来。

我们用μtracesP (a1,…,an)(s)表示协议P在由代理a1 … an执行、从初始状态s开始时的微轨迹。对于每个角色,只允许创建一次运行。由于我们不是在微轨迹中验证安全声明,而是定义所有权,因此不模拟入侵者,所以从一个代理发送到另一个代理的所有消息都会被传递。

下面正式定义所有权:
定义1(标签所有者) :设A是从系统状态到活动运行的投影。在系统状态s中,相对于测试协议P,代理R是标签T的所有者,记为ownsP (R, T, s),当且仅当:
∃t∈μtracesP (R,T )(s) ∀r∈A(Σ(t)|t|) success(r, Σ(t)|t|)
非正式地说,如果在没有所有对抗性活动的情况下,代理R和标签T能够成功完成协议P,则R相对于P拥有标签T。在这种情况下,R被称为相对于P的T的所有者,T被称为相对于P的R的财产。

需要强调的是,我们对所有权的定义不是安全要求的定义,它只是用于定义某些安全要求的基础,特别是安全所有权和安全所有权转移。

3.2 代理视角的所有权

标签所有权的定义允许验证代理是否拥有标签,但它缺少所有者的视角。这个视角在讨论所有者转移所有权的意图时很重要,即所有者参与所有权转移协议的事实。因此,我们通过定义标签持有者来引入代理关于标签所有权的视角。

标签持有者是基于其协议执行和本地数据结构,认为自己是标签所有者的代理。我们使用变量holds(P, T)来模拟代理是否持有相对于测试协议P的标签T。

定义2(标签持有者) :设s是系统状态⟨A, G, SB, RB, I⟩,使得G(R) = σ对于代理R成立。在系统状态s中,相对于测试协议P,我们称R是标签T的持有者,记为holdsP (R, T, s),当且仅当:
σ(holds(P, T)) = true

通过显式建模标签持有,我们可以让协议执行依赖于holds变量的值。例如,我们可以规定代理在实际持有标签之前不得转移其所有权。

为了验证目的,我们用获得(obtain)和释放(release)信号来装饰角色中改变holds变量值的协议。获得信号表示将true赋值给holds变量,释放信号表示将false赋值给holds变量。我们将在第4.1节中更详细地讨论这些信号。

3.3 安全和排他所有权

在理想情况下,标签所有者和标签持有者的概念是一致的。然而,在异步通信模型中,这是不可能实现的。当标签更新其知识时,标签所有权会发生变化。由于异步性,代理通常无法与所有权变化同时更新其holds变量。

我们将安全所有权定义为所有状态的一致性要求。如果一组协议满足以下条件,则称其提供安全所有权:只要一个代理是标签的持有者,它也必须是该标签的所有者。

定义3(安全所有权) :一组协议Π相对于测试协议P提供安全所有权,当且仅当:
∀t∈traces(Π) ∀0≤i≤|t| ∀R,T∈Agent holdsP (R, T, Σ(t)i) ⇒ ownsP (R, T, Σ(t)i)

安全所有权为所有者提供了保证,即只要持有标签,就不会被“剥夺”所有权。但安全所有权并不能保证没有其他代理可以同时拥有该标签。排他所有权的概念可以防止同时所有权,它保证标签的持有者是该标签的唯一所有者。这在某些情况下很重要,例如当除了标签的持有者(特别是没有先前的所有者)之外,没有人应该能够识别或跟踪标签时。我们将排他所有权定义为:如果一个代理持有标签,则没有其他代理是该标签的所有者。

定义4(排他所有权) :一组协议Π相对于测试协议P提供排他所有权,当且仅当:
∀t∈traces(Π) ∀0≤i≤|t| ∀R,T∈Agent
holdsP (R, T, Σ(t)i) ⇒ ¬∃R′∈Agent{R} ownsP (R′, T, Σ(t)i)

显然,在所有者可以跟踪标签的环境中,排他所有权是所有权转移协议满足针对标签的先前和未来所有者的不可跟踪性的必要条件。

4. 所有权转移

我们定义了所有权转移协议的概念以及此类协议的自然安全要求。如果一个协议Q满足以下功能要求,则称其为所有权转移协议:通过执行Q,一个代理可以成为标签的所有者(前提是它之前不是该标签的所有者)。

定义5(所有权转移协议) :设P是所有权测试协议。我们称Q∈Π是相对于P的所有权转移协议,当且仅当:
∃t∈traces(Π) ∃0≤i<|t| ∃R,T∈Agent ¬ownsP (R, T, Σ(t)i) ∧ ownsQ·P (R, T, Σ(t)i)
其中Q · P用于表示顺序协议组合。

非正式地说,如果存在一个代理R满足以下两个条件,则Q是所有权转移协议:首先,R不是T的所有者,因此无法与T成功完成协议P;其次,R能够与标签T成功完成Q之后接着P的顺序组合。

4.1 信号

为了在转移协议中推理代理对所有权的看法,我们需要跟踪轨迹中代理改变holds变量值的事件。为此,我们用获得和释放信号来装饰协议:
- 我们将将true赋值给holds变量与获得信号的出现相关联,将false赋值给holds变量与释放信号的出现相关联。对于轨迹t = t0 … tn - 1,0 ≤ i < n,我们用ti = obtainP (B, T, A)表示协议P运行中任何伴随着将true赋值给代理B的holds(P, T)变量的事件。此时,我们说代理B在状态Σ(t)i + 1中显然从代理A获得了标签T。
- 类似地,ti = releaseP (A, T, B)表示与信号相关的任何事件,其中代理A显然将标签T释放给代理B,即给代理A的holds(P, T)变量赋值为false。我们称这样的事件ti为释放事件。

注意 :对于安全所有权,在所有权转移协议中正确放置释放和获得信号非常重要。释放信号应放置在标签所有权更新之前的因果点,通常在当前标签所有者角色的开始处;获得信号应放置在标签确认所有权更新之后的因果点,通常在新所有者角色的结束处。很容易看出,如果释放信号出现太晚或获得信号出现太早,代理可能在不拥有标签的情况下持有标签,从而违反安全所有权。

4.2 安全所有权转移

如果一组协议满足以下条件,则称其提供安全所有权转移:只要一个代理R成为标签的所有者,这必须是执行所有权转移协议的结果,即所有权的改变必须是有意的。

为了捕捉代理放弃所有权的意图,我们要求每次使R成为T的所有者的所有权改变都必须先有一个释放信号。我们从两个方面限制所有权改变和释放信号之间的关系:
- 所有权改变必须与释放信号一一对应,即一个释放信号不能是两个或更多所有权改变的来源。
- 与T相关的相应释放和所有权改变事件不能与其他与T相关的相应释放和所有权改变事件交错。也就是说,一一映射必须使得T的所有权改变映射到T的最新先前释放信号。

对于被入侵者拥有的标签,这些要求无法强制执行。因此,代理R可以成为标签的所有者,要么是因为标签被有意释放给R,要么是因为标签被释放给受入侵者控制的代理E。在后一种情况下,入侵者必须在没有正确释放标签的情况下使R成为新的所有者。

综上所述,本文通过对RFID系统中所有权和所有权转移的形式化定义和分析,为相关协议的安全性验证提供了理论基础,并揭示了现有协议中可能存在的安全漏洞,为后续的研究和实践提供了有价值的参考。在实际应用中,需要根据具体场景选择合适的测试协议,并确保所有权转移协议满足安全所有权和排他所有权等要求,以保障RFID系统的安全运行。

RFID系统中的安全所有权与所有权转移

5. 对现有RFID协议的分析

为了验证我们所提出的所有权和所有权转移的定义,我们对一个已发布的用于所有权转移的协议进行了研究。通过分析,我们发现该协议存在漏洞,并展示了针对安全所有权和安全所有权转移的攻击。

5.1 协议漏洞分析

在研究过程中,我们发现该协议在设计上未能充分考虑到各种可能的攻击场景。具体来说,协议在处理所有权转移过程中的信号传递和状态更新方面存在缺陷。例如,释放信号和获得信号的放置位置可能不符合安全要求,导致代理在不满足所有权条件的情况下被错误地标记为标签的持有者。

此外,协议可能没有对入侵者的行为进行足够的防范。入侵者可以利用协议中的漏洞,通过伪造消息、干扰通信等方式来破坏所有权的安全性和转移的正确性。

5.2 攻击演示

我们针对该协议的漏洞,设计了以下几种攻击方式:
- 安全所有权攻击 :入侵者可以通过干扰协议的执行,使得代理在不拥有标签的情况下被标记为持有者。例如,入侵者可以延迟释放信号的传递,或者提前发送获得信号,导致代理的 holds 变量与实际所有权状态不一致,从而违反安全所有权的定义。
- 安全所有权转移攻击 :入侵者可以在没有正确释放标签的情况下,使一个代理成为标签的新所有者。例如,入侵者可以控制代理E,绕过正常的所有权转移流程,直接将标签的所有权转移给其他代理,从而破坏所有权转移的安全性和意图性。

6. 总结与展望

本文围绕RFID系统中的安全所有权和所有权转移展开了深入研究,提出了一系列形式化的定义和分析方法。

6.1 主要成果总结
  • 形式化模型 :我们提出了一个有状态安全协议的形式化模型,该模型扩展了无状态协议模型,支持对协议的状态和执行过程进行更精确的描述。
  • 所有权定义 :从系统视角和代理视角分别定义了标签的所有权,并提出了安全所有权和排他所有权的概念,为评估协议的安全性提供了明确的标准。
  • 所有权转移定义 :定义了所有权转移协议的概念和安全所有权转移的要求,明确了所有权转移的功能和安全性条件。
  • 协议分析 :通过对现有RFID协议的分析,揭示了协议中存在的漏洞,并展示了针对安全所有权和安全所有权转移的攻击,为协议的改进提供了依据。
6.2 未来研究方向

尽管本文取得了一定的研究成果,但仍有许多问题值得进一步探讨:
- 更复杂的攻击场景 :目前的研究主要考虑了一些常见的攻击方式,未来可以研究更复杂的攻击场景,如联合攻击、自适应攻击等,以提高协议的安全性。
- 协议优化 :根据本文的分析结果,对现有协议进行优化,改进协议的设计和实现,使其满足安全所有权和安全所有权转移的要求。
- 应用拓展 :将本文的研究成果应用到更多的实际场景中,如物联网、智能物流等,验证其在不同环境下的有效性和实用性。
- 新的安全机制 :探索新的安全机制和技术,如区块链、零知识证明等,为RFID系统的安全提供更强大的保障。

7. 技术要点回顾与流程图

为了帮助读者更好地理解本文的核心内容,我们对关键技术要点进行了回顾,并绘制了相应的流程图。

7.1 技术要点回顾
  • 有状态安全协议 :支持协议的状态更新和并行执行,通过局部变量和全局变量模拟协议的无状态和有状态部分。
  • 所有权定义 :系统视角通过测试协议定义所有权,代理视角通过 holds 变量定义标签持有者,安全所有权和排他所有权确保所有权的一致性和唯一性。
  • 所有权转移 :定义了所有权转移协议的功能和安全要求,强调所有权改变的意图性和信号传递的正确性。
7.2 所有权验证流程图
graph TD;
    A[开始] --> B[选择测试协议P];
    B --> C[获取系统状态s];
    C --> D[生成微轨迹μtracesP(R,T)(s)];
    D --> E{是否存在成功完成的轨迹};
    E -- 是 --> F[R是T的所有者];
    E -- 否 --> G[R不是T的所有者];
    F --> H[结束];
    G --> H;
8. 总结表格
概念 定义 作用
系统视角所有权 能够与标签执行指定测试协议的能力 精确界定标签所有者
代理视角所有权 基于本地数据结构认为自己是标签所有者 考虑所有者意图
安全所有权 代理是标签持有者时必须也是所有者 保证所有者权益
排他所有权 标签持有者是唯一所有者 防止多主体同时拥有标签
所有权转移协议 能使非所有者成为所有者的协议 实现标签所有权合法转移
安全所有权转移 所有权改变是执行转移协议的结果 确保所有权转移的意图性和安全性

通过以上的研究和分析,我们对RFID系统中的安全所有权和所有权转移有了更深入的理解。在实际应用中,我们应根据具体场景选择合适的测试协议和安全机制,确保RFID系统的安全稳定运行。同时,不断探索新的技术和方法,以应对日益复杂的安全挑战。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值