34、自安全PUF:通过掩码保护环形PUF

自安全PUF:通过掩码保护环形PUF

1. 时间掩码

环形物理不可克隆函数(PUF)的测量是按顺序进行的,先对挑战C进行测量,接着对其补码¬C进行测量。频率测量的顺序很重要,因为它根据特定公式决定了秘密比特。然而,这种有序的顺序测量方式容易受到侧信道分析(SCA)的攻击。

为了保护顺序测量免受SCA攻击,使用一个1位掩码m来随机化获取特定PUF响应比特kC的测量顺序,相关算法如下:

Algorithm 2. Protected Loop PUF Operation
Input: Challenge C (a word of N bits)
Input: Measurement time in terms of periods nacq of the reference clock
Input: mask m (1-bit random variable)
Output: Response δC (a signed integer whose sign is mapped to the secret bit kC)
1: Set current challenge C′ = m ? C : ¬C
2: Count oscillations of Loop PUF for nacq cycles of reference clock ⇒vC′
3: Set current challenge ¬C′
4: Count oscillations of Loop PUF for nacq cycles of reference clock ⇒v¬C′
5: Compute δC = m ? vC′ −v¬C′ : v¬C′ −vC′
6: return δC with kC = MSB(δC) ∈{0, 1}

与未加掩码的算法相比,掩码位m决定了先应用C还是¬C。如果m为逻辑0,挑战序列为C ≺¬C;如果m为逻辑1,顺序则为¬C ≺C。由于攻击者不知道m的值,所以无法确定频率测量的顺序,从而使SCA攻击失效。

同时,为了避免测量顺序改变导致芯片上频率差符号错误,在减法运算中也考虑了测量顺序(第5行),确保最终结果不受m影响,且攻击者无法观察到。需要注意的是,测量顺序的重新排列不会影响PUF的质量指标,因为它对振荡频率没有影响。

2. 使用LSB的1位随机数生成器实现自安全环形PUF

为了高效实现上述掩码方案,同时避免使用额外的随机数生成器(RNG),建议使用频率计数器的最低有效位(LSB)作为掩码位m = LSB(v)。

以下是带有掩码的密钥生成算法,用于避免侧信道泄漏:

Algorithm 3. Protected Loop PUF
Input: Measurement time in terms of periods nacq of the reference clock
Output: k = [kN−1, . . . , k1] = key of (N −1) bits
1: Compute the Hadamard codewords set C = {C1, . . . , CN−1} with HW(Ci) = N/2
2: Set current challenge C′ = C0 = 0
3: Count oscillations of Loop PUF for nacq cycles of reference clock ⇒vC′
4: Set mask m = LSB(vC′)
5: for all i = N −1 down to and including 1 do
6:
    Set current challenge C′ = m ? Ci : ¬Ci
7:
    Count oscillations of Loop PUF for nacq cycles of reference clock ⇒vC′
    i
8:
    Set current challenge ¬C′
    i
9:
    Count oscillations of Loop PUF for nacq cycles of reference clock ⇒v¬C′
    i
10:
    Compute δC = m ? vC′
    i −v¬C′
    i : v¬C′
    i −vC′
    i
11:
    Set ki = MSB(δC) ∈{0, 1}
12:
    Set mask m = LSB(vC′
    i)
13: end for

该算法在设计时将参考时钟的采集时间nacq作为输入。执行时,首先计算除空挑战C0 = 0之外的所有Hadamard码字。空挑战不能用于提取密钥比特,但可用于推导第一个响应比特的掩码位。通过对C0的环形PUF振荡进行固定时间测量,取结果计数器值的LSB作为m。

随后,将其他Hadamard码字Ci及其补码¬Ci应用于环形PUF,测量顺序由当前掩码位m随机化。从计数器差值的MSB中导出秘密PUF比特ki,最后将掩码位更新为计数器值vC′i的随机LSB,以保护下一次测量。

以下是自安全环形PUF可能的硬件实现流程:

graph LR
    A[开始,m = 0, select = 0] --> B[测量环形PUF在采集时间内的振荡次数]
    B --> C[在nacq时钟周期后,设置store = 1,缓冲LSB作为第一个掩码位]
    C --> D[重复四个主要状态,直到应用所有N - 1个挑战]
    D --> E[应用缓冲区的掩码位到XOR树输入,加载新挑战,重置计数器]
    E --> F[设置select = 0,enable = 1]
    F --> G[nacq周期后,缓冲LSB,切换select = 1]
    G --> H[nacq周期后,取MSB作为秘密比特]
    H --> D
3. LSB掩码的实证分析

时间掩码的有效性取决于攻击者是否无法预测掩码位m。虽然之前的测量策略无法解析LSB,但攻击者仍可能通过其他方式预测LSB,例如LSB存在可利用的偏差或与可观察属性(如振荡频率)相关。

  • 偏差分析 :如果对于相同挑战,所有设备的LSB(v)相同,或者LSB(v)相对于所有挑战存在全局偏差,则认为该偏差是可利用的。排除所有设备上挑战频率相同的情况(因为这意味着PUF质量低,需要重新设计)。通过对不同挑战进行1000次测量,发现各挑战之间没有明显偏差,所有挑战的LSB全局偏差为0.5022,在预期范围内。
  • 与频率的相关性分析 :考虑两种情况,一是在固定挑战的多次重复测量中,LSB与频率的相关性;二是在多个挑战中,LSB与频率的相关性。通过实验结果表明,在这两种情况下,LSB与频率之间均不存在显著相关性。

综上所述,环形PUF计数器的LSB适合用作掩码位,它没有明显偏差,也不与攻击者可观察的振荡频率相关,这使得自安全环形PUF成为一种低复杂度且安全的设计。

4. 自安全环形PUF的侧信道分析

最后,通过实际测量评估自安全PUF设计的有效性。为了保证公平比较,使用与之前相同的测量数据,但根据算法3修改呈现给攻击者的C和¬C的测量顺序,随机比特m由设备获得的计数器值确定。

测量结果显示,攻击者估计计数器差值的能力受到影响。由于采集顺序的随机化,真实计数器差值与基于SCA的计数器差值估计之间的关系被打破,自安全环形PUF有效地抵御了SCA攻击。

5. 对所提解决方案的讨论
  • 测量时间的影响 :频率测量很大程度上取决于测量窗口Tacq。减小Tacq会使攻击变得更困难,因为FFT精度降低,同时设计的延迟也会减小,效率提高。然而,较小的Tacq会显著降低可靠性,因为计数过程的量化噪声增加。因此,最佳折衷方案取决于所需的延迟和密钥生成的可靠性等不同因素。忽略延迟因素,较大的Tacq可提供更高的PUF响应比特可靠性,但会增加SCA攻击的泄漏风险,因此时间掩码等对策是必要的。时间掩码提供的安全优势与测量时间无关,它能独立于攻击者解析频率的能力来阻止攻击,例如在攻击者能够通过降低参考计数器频率来延长测量时间的故障攻击中仍然有效。
  • 时间掩码在环形振荡器(RO)PUF中的应用 :时间掩码是一种基于延迟顺序测量的简单而安全的环形PUF对策。经典的RO PUF需要对连接到单独计数器的两个RO进行并行频率测量,但如果使用相同计数器顺序测量两个选定RO的频率,该对策也可应用。

RO PUF的时间掩码使得在RO本身无法被空间解析的情况下,那些能够空间解析计数器的攻击变得不可行。由于需要测量多个RO对以获得足够数量的比特,因此存在不同的设计权衡:
| 设计方案 | 计数器数量 | 延迟 | 说明 |
| ---- | ---- | ---- | ---- |
| 顺序测量(使用相同计数器) | 减半 | 加倍 | 减少了计数器数量,但增加了获取PUF响应的延迟 |
| 保持计数器数量不变 | 不变 | 不变 | 可并行测量与经典RO PUF设计相同数量的RO,但为避免侧信道泄漏,测量的RO必须属于不同的RO对,可能需要额外的开销,如缓存测量频率和第一个激活RO所需的随机比特的额外内存 |

综上所述,从复杂度角度来看,计数器数量可以减少到单个,但典型RO PUF设计中大量RO所需的面积远大于单个计数器的面积,因此计数器数量主要受延迟要求限制,而不是面积限制。更重要的是,与现有的路径随机化方法不同,该保护措施不需要特定的设计工作。

6. 结论

研究表明,环形PUF的SCA对其安全性构成了严重威胁。通过引入低成本、安全且健壮的对策,即时间掩码,随机改变挑战顺序,可有效抵御物理攻击。利用LSB的低可靠性将其用作掩码随机比特,实现了环形PUF的自安全,同时兼具PUF和随机数生成器的双重功能,实现了低复杂度和高效集成。测量结果验证了保护机制提供的高安全级别。此外,这种低成本保护措施易于移植到其他RO PUF,避免了额外的复杂性和设计工作。未来的工作包括研究基于RO的PUF的故障注入攻击以及进一步分析SCA保护。

自安全PUF:通过掩码保护环形PUF

7. 时间掩码方案优势总结

时间掩码方案应用于环形PUF时展现出了显著的优势,具体如下:
- 安全性提升 :通过随机化挑战的测量顺序,有效抵御了侧信道分析(SCA)攻击,使攻击者难以准确估计计数器差值,从而保护了PUF的秘密比特。
- 低复杂度设计 :利用环形PUF计数器的LSB作为掩码位,避免了使用额外的随机数生成器,降低了设计的复杂度和成本。
- 可移植性强 :该保护措施易于移植到其他环形振荡器(RO)PUF,无需额外的复杂设计工作,具有良好的通用性。

8. 不同设计权衡的详细分析

在将时间掩码应用于RO PUF时,不同的设计方案存在着不同的权衡,下面进行详细分析:
- 顺序测量(使用相同计数器)
- 优点 :计数器数量减半,减少了硬件资源的使用。
- 缺点 :获取PUF响应的延迟加倍,可能影响系统的实时性。
- 适用场景 :对硬件资源要求较高,对延迟要求较低的应用场景。
- 保持计数器数量不变
- 优点 :可并行测量与经典RO PUF设计相同数量的RO,保持了较高的测量效率,延迟不变。
- 缺点 :为避免侧信道泄漏,测量的RO必须属于不同的RO对,可能需要额外的开销,如缓存测量频率和第一个激活RO所需的随机比特的额外内存。
- 适用场景 :对延迟要求较高,对硬件资源有一定容忍度的应用场景。

以下是两种设计方案的对比表格:
| 设计方案 | 硬件资源 | 延迟 | 额外开销 | 适用场景 |
| ---- | ---- | ---- | ---- | ---- |
| 顺序测量(使用相同计数器) | 低 | 高 | 无 | 对硬件资源要求高,对延迟要求低 |
| 保持计数器数量不变 | 高 | 低 | 有 | 对延迟要求高,对硬件资源有一定容忍度 |

9. 实际应用中的考虑因素

在实际应用自安全PUF设计时,需要考虑以下因素:
- 测量时间选择 :测量时间Tacq的选择需要在可靠性和安全性之间进行权衡。较大的Tacq可提高PUF响应比特的可靠性,但会增加SCA攻击的泄漏风险;较小的Tacq可降低攻击的可行性,但会降低可靠性。
- 硬件实现复杂度 :虽然自安全PUF设计降低了复杂度,但在实际硬件实现中,仍需要考虑如Hadamard码字生成、状态机控制等因素,确保设计的稳定性和可实现性。
- 攻击场景多样性 :除了SCA攻击,还需要考虑其他可能的攻击方式,如故障注入攻击等。未来需要进一步研究针对这些攻击的保护措施。

10. 未来研究方向展望

基于当前的研究,未来有以下几个值得深入研究的方向:
- 故障注入攻击研究 :深入研究基于RO的PUF在故障注入攻击下的安全性,提出相应的防御策略。
- SCA保护进一步分析 :进一步分析时间掩码方案在不同场景下的SCA保护效果,优化保护机制,提高安全性。
- 与其他技术结合 :探索自安全PUF与其他安全技术(如加密算法、认证协议等)的结合,提供更全面的安全解决方案。

11. 总结与建议
  • 总结 :自安全PUF通过时间掩码方案有效保护了环形PUF免受SCA攻击,利用LSB作为掩码位实现了低复杂度和高效集成。该方案具有良好的安全性和可移植性,在实际应用中具有重要的价值。
  • 建议 :在实际应用中,根据具体的需求和场景选择合适的设计方案和测量时间。同时,持续关注未来的研究方向,不断优化和完善自安全PUF设计,以应对日益复杂的安全挑战。

以下是一个简单的mermaid流程图,展示自安全PUF设计的整体流程:

graph LR
    A[开始] --> B[生成Hadamard码字]
    B --> C[获取初始掩码位m]
    C --> D[应用挑战和补码,随机化测量顺序]
    D --> E[计算计数器差值,导出秘密比特]
    E --> F[更新掩码位]
    F --> G{是否应用所有挑战}
    G -- 否 --> D
    G -- 是 --> H[结束]

通过以上内容,我们对自安全PUF的设计、原理、应用和未来发展有了更全面的了解,希望能为相关领域的研究和应用提供有益的参考。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值