新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 现实世界中的嵌入式安全

现实世界中的嵌入式安全

作者:时间:2011-05-02来源:网络收藏


您也必须保护系统的完整性,防止系统运行中受到流氓固件的攻击,这些流氓固件可绕过加密,篡改数据或向未经授权的接收端发送数据。系统完整性的最好保护是,利用哈希算法检测固件内未经授权的改变,并采取相应措施。


哈希算法生成一种被称为给定信息摘要的压缩指纹。就像人类的指纹一样,这个摘要是唯一的。被广泛采用的著名的哈希算法(SHA)就是一个哈希算法的范例。为检测固件篡改,在使用中,您需要定期地产生它的现场摘要,并与出厂时生成的参考进行比较。您也许已经在问,是什么能保证任何人都无法伪造摘要或参考。


我们的做法是,我们需要保证摘要和它的参考不被伪造。在输入哈希算法生成出厂参考之前,我们通过向固件中追加一条任意长度的附加信息的办法实现这一点。如果您保证附加信息是保密的,那么,只有您才能够重新生成相同的摘要,这就是您能保证摘要不被伪造的方法。


在使用中,保证参考不被现场伪造的方法是:将它存储在存储器中。若要知道摘要没有被伪造这一事实,必须进行身份验证,本例中,要实现这一点,需要知道嵌入在集成电路中的密钥。


所以,加密仅仅是对数据加扰而已,与此相比,身份认证是安全系统的真正基础。明白了这一点,值得注意的是:哈希密码算法本身很适合身份认证,这是由于好的哈希算法必须具有3个基本特征。


首先,它们的运算是不可逆的。这意味着,不可能从摘要中恢复出原始信息,所以,私密信息是安全的。第二点是非冲突性,即各种不同的输入必须生成独一无二的摘要。在验证时,唯一的摘要可提升对固件完整性的信任。第三个同时也是最终的性质被称为雪崩,是指哈希算法输入的任何改变,无论多么小,都会产生摘要的显著变化。


存在一些经过仔细分析的公开方法,这些方法可允许使用加密算法,以实现传统上由哈希算法实现的功能。这类系统可同时实现身份验证和加密。同样,加密算法本身很适合数据加扰,由它们所带来的安全性与密钥一样强大。哈希算法的身份认证特点具有互补性,可实现安全系统中密钥的安全管理。


不同的密码算法可保护系统的不同层面的安全,在对它们的微妙作用、强度、差异和相互影响有了清晰的了解之后,就可以使用更少的算法组合来实现牢靠的安全性能。对于像我们所面临的这样的挑战而言,这尤其重要,因为我们的代码空间十分有限。

配套的安全集成电路
对于您的任务而言,您需要固件空间以及来自防篡改和侵入的安全集成电路的资源。可以通过配套的安全集成电路来解决这一问题。这些安全集成电路与安全MCU一样,具有硬件防篡改和侵入的功能,但做了一些简化,可为各种具体应用提供相应的功能,因而成本更低。

图2 作为配套的安全装置的集成电路很小,成本较低,需要非常少的系统资源,但却可提供与安全MCU相同的物理保护


在我们的例子中,配套的安全集成电路将保护和管理密钥,以对由加密所带来的安全性进行互补。它们也可进行各种类型的身份认证,能够实现系统完整性验证。它们还可实现许多其他功能,包括安全存储以及可信固件的现场升级。通过提供智能和易用的API,它们可实现这一点,因此,使用配套的安全集成电路不需要深入掌握密码学,也无须较多代码空间。


这与那些提供处理和存储功能的安全MCU不同,因此,您可将所有需要的函数写入固件里,而配套的安全集成电路中的函数是硬连线的,使得它们很紧凑,因而成本更低。Atmel系列“加密认证”产品就是一个例子。通过采用这些低成本(大量购买时的单价为0.5美元)的集成电路芯片,可以在已有平台上编写代码并追加在这个小小的额外固件上。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭