首页 理论教育 防篡改技术升级:硬件保护方案

防篡改技术升级:硬件保护方案

时间:2023-06-22 理论教育 版权反馈
【摘要】:当数据和指令进入到防篡改处理器时,通过加密和动态完整性检查保护位于硬件设备里的数据,实现安全。另外,由于每次数据输入防篡改处理器时,都需要进行加密和动态完整性检查,基于硬件的保护在能量、时延和系统资源如内存和进程时间上是更耗成本的。可是由于基于硬件防篡改技术能使用一个可信装置来保证程序安全,通过联合使用基于软件和基于硬件的防篡改技术,我们就能更好地保护节点。

防篡改技术升级:硬件保护方案

传感器网络的节点易受物理攻击,因为它们以分布式方式部署在易接近的环境中。对无线传感器网络的物理攻击之一是捕获节点,也就是,敌手能通过直接的物理接入,控制某些节点。目前,随着硬件篡改技术的发展,一个受过良好训练的攻击者在很短时间内就能破坏传感器节点。一个节点受到破坏之后,节点里的秘密信息可能会泄漏,节点行为会被未授权的接入控制。这些对整个网络的安全具有很大威胁。软件和硬件保护都可用来抵御攻击。一些方法使用硬件让敌手难以得到存在传感器节点里的信息,其他方法可能同时使用硬件和软件来保护节点。由于硬件成本的快速降低,对无线传感器网络基于硬件的保护方法会变得更有效。

为了保护节点免受物理攻击,当节点检测到一个可能的攻击时,节点能选择销毁它自己所有的数据和密钥。网络可以通过杀死受破坏节点,有效避免潜在的攻击。所有节点需要做的是检测出可能的入侵。只要用一个低频传感器检测出攻击,传感器中的信息就会对攻击者不可见,或者电路被毁坏来防止攻击者获取节点中的信息。

有许多针对无线传感器网络的物理攻击,包括手工探测传感器获得信息、激光切割和能量分析。例如使用芯片测试设备,像智能卡(Komerling and Kuhn,1999)这样的防篡改设备可以进行逆向工程。借助一些特殊技术(Anderson and Kuhn,1997),像差别故障分析(Differential Fault Analysis)、芯片重写和内存剩磁(Mem-ory Remanence),逆向工程的成本急剧下降。为保护网络的安全,人们提出了一些使这类攻击更困难的方法(Komerling and Kuhn,1999)。例如,我们可以利用随机化的多线程在执行算法时增加更多的不确定性;在任何可观察的反应和关键操作之间插入随机时延,可以增加攻击的难度;添加额外的金属层在实际电路之上形成传感器Mesh,并且不会携带任何关键信号,仍然是对微探针攻击者最有效的刺激之一。

我们把用这些方法的基于硬件的保护方案分成两类(Atallah et al.,2004):使用防篡改处理器(Tamper-Resistant Processor)用于保护和使用轻量级硬件如令牌。在防篡改处理器这种方法中,系统依赖安全处理器来防止非法软件复制、未授权软件修改和未授权软件逆向工程。安全处理器结构采用一些特性创建一个安全环境,使得只有授权的和未经篡改的硬件和软件才能存在。当数据和指令进入到防篡改处理器时,通过加密和动态完整性检查保护位于硬件设备里的数据,实现安全。当执行应用程序时,该架构确保敏感数据和应用指令在任何时间都不会泄漏,始终保证软件的完整性。安全处理器架构既能用来防止可能的对受保护应用基于软件的攻击,又能阻止许多硬件攻击。

另外一种基于硬件的保护机制是用更轻量级硬件,比如硬件令牌或防篡改智能卡,来防止各种攻击。在这种保护机制中,通过硬件防复制片段嵌入一份用户许可。软件或操作系统检查是否有令牌,如果没有,就拒绝运行。检查硬件令牌的机制是基于一个密码学密钥,这个密钥从来不在防篡改令牌之外存储或使用。(www.xing528.com)

基于硬件的保护既有优点也有缺点,其最重要的优点是应用程序在可信处理器上运行,这可以阻止攻击者接入内存,提供更大的保护。软件以加密的方式存储在系统中,它只在运行前在处理器内部解密,这能阻止对系统有完全控制权的任何用户检查明文指令。更重要的是,为了防止代码的逆向工程,所有在处理器和内存之间通信的数据都被加密。基于硬件的保护还有另外一个优点,只有通过加密和动态完整性检查的程序才能进入防篡改处理器中。

然而,基于硬件的保护方法也有很多缺点。与基于软件的保护相比,硬件更难修改和更新,需要花更多时间安装、整合和进行硬件测试。另一个缺点就是硬件成本高于基于软件的保护方法。另外,由于每次数据输入防篡改处理器时,都需要进行加密和动态完整性检查,基于硬件的保护在能量、时延和系统资源如内存和进程时间上是更耗成本的。

基于硬件和软件防篡改技术的底线是用来阻止对软件未授权的修改和使用,它们都有优点和缺点。基于软件技术包括水印、代码扰乱、完整性验证和包装器。软件防篡改方法的主要缺点是程序运行在一个不被信任的主机上(Atallah et al.,2004)。可是由于基于硬件防篡改技术能使用一个可信装置来保证程序安全,通过联合使用基于软件和基于硬件的防篡改技术,我们就能更好地保护节点。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈