首页> 中国专利> 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备

用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备

摘要

本发明揭示一种用于阻止具有装置特定编号的装置的安全启动过程期间的基于时序的假信号攻击的方法。在所述方法中,所述装置产生安全启动过程的特定执行所特定的伪随机数。所述装置组合所述装置特定编号与所述伪随机数以产生分集值。所述装置可基于所述分集值改变所述安全启动过程的至少一个处理步骤的时序。并且,所述装置可基于所述分集值改变所述安全启动过程的处理步骤的次序。

著录项

  • 公开/公告号CN104428789A

    专利类型发明专利

  • 公开/公告日2015-03-18

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201380036042.4

  • 发明设计人 伊万·麦克莱恩;

    申请日2013-07-23

  • 分类号G06F21/71;G06F21/57;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人宋献涛

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 08:25:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-01

    授权

    授权

  • 2015-08-05

    实质审查的生效 IPC(主分类):G06F21/71 申请日:20130723

    实质审查的生效

  • 2015-03-18

    公开

    公开

说明书

技术领域

本发明一般来说涉及阻止安全启动过程期间的基于时序的假信号攻击。

背景技术

假信号攻击是针对高度安全平台的广泛使用的攻击。假信号可通过对到平台的处 理器或外部存储器的电力或时序输入的非常精确的恶意修改来实现。通常,修改是由 “修改芯片(mod chip)”发送到处理器或存储器的微小脉冲。意图是改变代码的执行路 径,通常为跳过或颠覆关键的检查或验证步骤。

一般来说,攻击者的目标是:1)创建容易在给定装置上重复的攻击;2)创建进行传 播且可加以商品化及商业化的攻击(使得能够便宜地创建、容易地安装修改芯片);且3) 尽可能早地破坏信任链(根除或持有装置)。

一旦已完成对一个装置的假信号攻击,便可使用其来对具有相同配置的每一装置 进行攻击。假信号攻击几乎总是针对安全启动-在启动过程中很早就在装置上建立信任 根的代码或逻辑。攻击安全启动的吸引人的方面是:一旦泄密,装置上的所有安全性 通常便崩溃。

因此,需要一种用于阻止安全启动过程期间的假信号攻击的技术。

发明内容

本发明的一方面可在于一种用于阻止具有装置特定编号的装置的安全启动过程期 间的基于时序的假信号攻击的方法。在所述方法中,装置产生安全启动过程的特定执 行所特定的伪随机数。装置组合装置特定编号与伪随机数以产生分集值。装置基于分 集值改变安全启动过程的至少一个处理步骤的时序。

在本发明的更详细的方面中,装置特定编号可为序列号或安全存储的装置特定密 钥。装置可使用密码组合装置特定密钥与伪随机数以产生分集值。并且,装置可基于 分集值改变安全启动过程的处理步骤的次序。

本发明的另一方面可在于一种具有装置特定编号的设备,其包括:用于产生安全 启动过程的特定执行所特定的伪随机数的装置;用于组合装置特定编号与伪随机数以 产生分集值的装置;以及用于基于分集值改变安全启动过程的至少一个处理步骤的时 序的装置。

本发明的另一方面可在于一种具有装置特定编号的设备,其包括:处理器,其经 配置以:产生安全启动过程的特定执行所特定的伪随机数;组合装置特定编号与伪随 机数以产生分集值;以及基于分集值改变安全启动过程的至少一个处理步骤的时序。

本发明的另一方面可在于一种计算机程序产品,其包括:计算机可读媒体,其包 括:用于致使计算机产生安全启动过程的特定执行所特定的伪随机数的代码;用于致 使计算机组合装置特定编号与伪随机数以产生分集值的代码;以及用于致使计算机基 于分集值改变安全启动过程的至少一个处理步骤的时序的代码。

本发明的又一方面可在于另一种用于阻止具有装置特定编号的装置的安全启动过 程期间的基于时序的假信号攻击的方法。在所述方法中,装置产生安全启动过程的特 定执行所特定的伪随机数;装置组合装置特定编号与伪随机数以产生分集值;以及装 置基于分集值来改变安全启动过程的处理步骤的次序。

在本发明的更详细的方面中,装置特定编号可为序列号或安全存储的装置特定密 钥。装置可使用密码组合装置特定密钥与伪随机数以产生分集值。

本发明的另一方面可在于一种具有装置特定编号的设备,其包括:用于产生安全 启动过程的特定执行所特定的伪随机数的装置;用于组合装置特定编号与伪随机数以 产生分集值的装置;以及用于基于分集值改变安全启动过程的处理步骤的次序的装 置。

本发明的另一方面可在于一种具有装置特定编号的设备,其包括:处理器,其经 配置以:产生安全启动过程的特定执行所特定的伪随机数;组合装置特定编号与伪随 机数以产生分集值;以及基于分集值改变安全启动过程的处理步骤的次序。

本发明的另一方面可在于一种计算机程序产品,其包括:计算机可读媒体,其包 括:用于致使计算机产生安全启动过程的特定执行所特定的伪随机数的代码;用于致 使计算机组合装置特定编号与伪随机数以产生分集值的代码;以及用于致使计算机基 于分集值改变安全启动过程的处理步骤的次序的代码。

附图说明

图1是根据本发明的用于阻止安全启动过程期间的基于时序的假信号攻击的方法 的流程图。

图2是示出从装置特定编号及伪随机数产生分集值的示意图。

图3A到3E是安全启动过程的处理步骤的示意图。

图4是示出用于实施方法的计算机的实例的框图。

图5是根据本发明的用于阻止安全启动过程期间的基于时序的假信号攻击的另一 方法的流程图。

图6A到6B是安全启动过程的处理步骤的示意图。

图7是用于将安全启动过程的处理步骤重新排序的网络的示意图。

图8是无线通信系统的实例的框图。

具体实施方式

本文中使用词“示例性”意指“充当实例、例子或说明”。本文中被描述为“示 例性的”任何实施例不必须被理解为比其它实施例优选或有利。

参看图1到4,本发明的一方面可在于一种用于阻止具有装置特定编号200的装置 400的安全启动过程300期间的基于时序的假信号攻击的方法100。在所述方法中,装 置产生安全启动过程的特定执行所特定的伪随机数210(步骤110)。装置组合装置特定 编号与伪随机数以产生分集值220(步骤120)。装置基于分集值改变安全启动过程的至 少一个处理步骤PSN的时序TN

图3A示出在装置400的安全启动过程300期间执行的处理步骤PSN的简化视图。 三个处理步骤PS1、PS2以及PS3各具有用于各个处理步骤的开始及/或执行时间的相 关联时序,例如,T1、T2以及T3。作为实例,当在第三处理步骤PS3期间的特定时 间施加脉冲310时,假信号攻击可为有效的。但是,第二处理步骤的执行时间可增 加,或第三处理步骤的开始时间可延迟。处理步骤的时序的此改变可基于如由时序差 ΔT2示出的分集值。作为实例,分集值可界定在第二处理步骤PS2之前、期间或结束 的延迟时间。延迟时间Td可作为分集值DV及比例因子S的函数来导出,作为实例, 根据等式:Td=f(DV*S)导出。可使用哈希函数或模(mod)函数来减少表示分集值的位 数。比例因子可根据执行启动过程的处理器的时钟速度来调整延迟时间,以允许延迟 时间处于有效范围内。如图3B中所示,此时序差可使得脉冲310在第二处理步骤PS2 期间无法被有效地施加,从而使假信号攻击无用。图3C示出可对一个以上处理步骤所 做的数个时序改变ΔT1及ΔT2。因此,本发明通过分集提供对假信号攻击的防御,这 是因为每一装置针对安全启动过程的每一特定执行、启动循环或实例的行为不同。

在本发明的更详细的方面中,装置特定编号200可为序列号或安全存储的装置特 定密钥。装置400可使用密码组合装置特定密钥与伪随机数210以产生分集值220。尽 管图2中示出哈希函数240,但可使用其它密码函数来组合装置特定编号与伪随机数以 产生分集值。

并且,如图3D及3E中所示,装置可基于分集值220改变安全启动过程300的处 理步骤PSN的次序。举例来说,在图3D中,可基于分集值是奇数还是偶数来交换第一 处理步骤PS1及第三处理步骤PS3的次序。在图3D中,可基于分集值来交换第一处 理步骤PS1及第二处理步骤PS2的次序。

可使用所产生的分集值220或数据来驱使对安全启动过程300的控制流程及时序 两者进行相对较小但重要的改变。举例来说,可基于分集值将较小延迟添加到一个或 一个以上处理步骤PSN,或可调换某些操作或例程的次序。可基于此输出来将关键检查 重复任何数目次。这些改变可使得攻击者很难对单个装置400发起可靠的攻击。其同 样使得甚至更难向其它装置传播成功攻击,这是因为攻击者将不能够可靠地预测到何 时射出假信号。因此,时序差可使得难以创建可重复的攻击。并且,逻辑流程差异可 使得难以基于例如旁侧通道信息(例如,功率波动)来作出关于随机时序的任何预测。

为了创建安全启动实施的较小时序差及/或逻辑流程差异,需要安全熵源。一个源 可包含由併入装置400中的基于硬件的随机数产生器230产生的随机数RAN 210。替 代地,伪随机数产生器可由处理器420用基于硬件事件或方面等的熵来实施。随机数 产生器的输出可能不需要是“密码质量”。为了促进装置/芯片之间的分集,可将唯一 的秘密密钥、保护状态或串行化信息与随机数产生器的输出混合。因此,利用分集来 提供对抗装置安全启动期间的物理假信号攻击的保护。

装置400(或站)可为包含处理器420、存储器430(及/或磁盘驱动器)、显示器440 以及小键盘或键盘450的计算机410。计算机还可包含麦克风、扬声器、摄影机及类似 者。另外,装置还可包含用于通过诸如因特网等的网络460与其它装置及/或服务器 470通信的USB、以太网及类似接口。

本发明的另一方面可在于一种具有装置特定编号200的设备400,其包括:用于产 生安全启动过程300的特定执行所特定的伪随机数210的装置420;用于组合装置特定 编号与伪随机数以产生分集值220的装置420;以及用于基于分集值改变安全启动过程 的至少一个处理步骤PSN的时序TN的装置420。

本发明的另一方面可在于一种具有装置特定编号200的设备400,其包括:处理器 400,其经配置以:产生安全启动过程300的特定执行所特定的伪随机数210;组合装 置特定编号与伪随机数以产生分集值220;以及基于分集值改变安全启动过程的至少一 个处理步骤PSN的时序TN

本发明的另一方面可在于一种计算机程序产品,其包括:非暂时性计算机可读媒 体430,其包括:用于致使计算机410产生安全启动过程300的特定执行所特定的伪随 机数210的代码;用于致使计算机410组合装置特定编号200与伪随机数以产生分集 值220的代码;以及用于致使计算机410基于分集值改变安全启动过程的至少一个处 理步骤PSN的时序TN的代码。

进一步参看图5及6,本发明的又一方面可在于另一种用于阻止具有装置特定编号 200的装置400的安全启动过程300期间的基于时序的假信号攻击的方法500。在所述 方法中,装置产生安全启动过程300的特定执行所特定的伪随机数210(步骤510)。装 置组合装置特定编号与伪随机数以产生分集值220(步骤520)。装置基于分集值改变安 全启动过程的处理步骤(例如,PS1及PS2)的次序(步骤530),如图6A及6B中所示。

在本发明的更详细的方面中,装置特定编号200可为序列号或安全存储的装置特 定密钥。装置400可使用密码组合装置特定密钥与伪随机数210以产生分集值220。

本发明的另一方面可在于一种具有装置特定编号200的设备400,其包括:用于产 生安全启动过程的特定执行所特定的伪随机数210的装置420;用于组合装置特定编号 与伪随机数以产生分集值220的装置420;以及用于基于分集值改变安全启动过程的处 理步骤(例如,PS1及PS2)的次序的装置420。

本发明的另一方面可在于一种具有装置特定编号200的设备400,其包括:处理器 420,其经配置以:产生安全启动过程300的特定执行所特定的伪随机数210;组合装 置特定编号与伪随机数以产生分集值220;以及基于分集值改变安全启动过程的处理步 骤(例如,PS1及PS2)的次序。

本发明的另一方面可在于一种计算机程序产品,其包括:非暂时性计算机可读媒 体430,其包括:用于致使计算机410产生安全启动过程300的特定执行所特定的伪随 机数210的代码;用于致使计算机410组合装置特定编号200与伪随机数210以产生 分集值220的代码;以及用于致使计算机410基于分集值为奇数还是偶数(也就是,分 集值对2取模)来改变安全启动过程的处理步骤(例如,PS1及PS2)的次序的代码。

参看图7,贝奈斯(Benes)网络700可用于对安全启动过程300的处理步骤的执行进 行重新排序。可识别可以任何次序执行的处理步骤。尽管可识别20到100个或100个 以上的处理步骤来进行重新排序,但作为实例,图7中示出8个独特的处理步骤。8个 处理步骤被指配识别编号,且由Benes网络左侧的8个输入I1到I8(四个输入电平开 关S1L1到S4L1中的每一者有两个输入)来表示。Benes网络中的每一方框具有两个输 入,且基于单个位的值(0或1)来重新投送输入。在实例中,Benes网络具有4个开关 (S1到S4)的5个电平(L1到L5),之后建立输出次序。在形成Benes网络的每一层级 处,设置4个开关的5个电平需要20个位。20个位可选自分集值的哈希的20个最低 有效位(LSB)。对于启动过程的每一特定执行,8个识别的/选定的处理步骤的次序将不 同,这是因为对于启动过程的每一特定执行,用于产生用于设置开关的20个位的分集 值不同。

参看图8,无线远程站(RS)802(用户装备UE及/或装置400)可与无线通信系统 800的一或多个基站(BS)804通信。RS可进一步与无线对等装置配对。无线通信系统 800可进一步包含一或多个基站控制器(BSC)806及核心网络808。核心网络可通过合 适的回程连接到因特网810及公共交换电话网络(PSTN)812。典型的无线移动站可包含 手持式电话或膝上型计算机。无线通信系统800可使用数种多址接入技术中的任一 者,例如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、空分多址 (SDMA)、极化分多址(PDMA),或所属领域中已知的其它调制技术。

所属领域的技术人员将了解,可使用多种不同技术和技艺中的任一者来表示信息 及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任 何组合来表示在以上描述中始终参考的数据、指令、命令、信息、信号、位、符号及 码片。

所属领域的技术人员将进一步了解,可将结合本文中所揭示的实施例而描述的各 种说明性逻辑块、模块、电路以及算法步骤实施为电子硬件、计算机软件或两者的组 合。为清楚说明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明 性组件、块、模块、电路以及步骤。所述功能性是实施为硬件还是软件取决于特定应 用及施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方 式来实施所描述的功能性,但所述实施方案决定不应被解释为会导致脱离本发明的范 围。

可使用经设计以执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专 用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体 管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实施例而描述 的各种说明性逻辑块、模块和电路。通用处理器可为微处理器,但在替代例中,处理 器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置 的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处 理器与DSP核心的联合,或任何其它此配置。

可直接以硬件、以由处理器执行的软件模块或以上述两者的组合实施结合本文所 揭示的实施例而描述的方法或算法的步骤。软件模块可驻留于RAM存储器、快闪存储 器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除式磁 盘、CD-ROM,或所属领域中已知的任何其它形式的存储媒体中。示范性存储媒体耦 接到处理器,以使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代 例中,存储媒体可与处理器成一体式。处理器及存储媒体可驻留于ASIC中。ASIC可 驻留于用户终端中。在替代例中,处理器及存储媒体可作为离散组件驻留于用户终端 中。

在一个或一个以上示范性实施例中,所描述的功能可在硬件、软件、固件或其任 何组合中实施。如果作为计算机程序产品在软件中实施,那么可以将功能作为一个或 一个以上指令或代码存储在计算机可读媒体上。计算机可读媒体包含便于将计算机程 序从一个位置传送到另一个位置的计算机存储媒体。存储媒体可为可由计算机存取的 任何可用媒体。以实例方式(且并非限制),所述计算机可读媒体可包括RAM、ROM、 EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可 用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒 体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多 功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光 光学地复制数据。上文的组合也应包含在计算机可读媒体的范围内。计算机可读媒体 可以是非暂时性的,使得它不包含暂时的传播信号。

提供所揭示实施例的先前描述以使得任何所属领域的技术人员能够制作或使用本 发明。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本发明 的精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,本发明 并不既定限于本文中所展示的实施例,而应符合与本文中所揭示的原理及新颖特征一 致的最广范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号