嵌入式系统的安全正逐渐成为一个急迫的问题。无处不在的手持设备可能是对安全的最大挑战。因为它们的便携特性以及较小的外形,这些设备很容易丢失或被窃。与此同时,针对这些设备的安全解决方案极大地受到它们的成本、尺寸以及可用计算和电池资源的限制。
手持设备设计者首要关注的问题是找到一条既能显著提高安全性、又能适应其成本、尺寸、功耗及处理器限制的有效途径。除此之外,设计者还必须充分认识到维持开发成本和缩短上市时间的重要性。
借助一种低功率、高性能的软硬件组合,可信平台模块(TPM)能够实现可信计算安全目标,从而帮助设计者有效应对上述挑战。
可信平台模块
TPM是一种基于TCG(可信赖计算组织)工业标准规范的微控制器。该控制器用于存储口令、数字证书和加密密钥,并为各种计算平台提供安全认证、加密和网络接入服务。通过扩展,这种基于硬件的“信任之源”可以包含相关软件,并对安全风险进行准确的测量。一旦能测量风险,工程人员就可以采取相应措施来降低风险,包括适当的策略、风险保险以及改进或加固计算环境等。
更具体地讲,TPM是一种安全密钥生成器和一种支持工业标准的加密应用编程接口(API)的密钥缓存管理器件。TPM以硬件来生成、存储和管理密钥,并利用系统平台的余下资源来“加固”以前那些只依靠软件加密算法并将密钥存储在不安全的存储器中的许多应用。
在只对数据和文件采取软件加密的嵌入式系统中,密钥通常被存储在不安全的存储器中,因而很容易被剽窃。密钥还可以被存储在可移动介质上,如智能卡或USB道尔芯片(dongle)等,但这些器件很容易放错地方,而且成本远远高于TPM。TPM可以将密钥存储在受TPM控制器及TPM防窜改电路保护的非易失性存储器中,包括存储根密钥、签名密钥及其它敏感数据等。
TPM管理5种主要的安全功能。它利用硬件随机数发生器(RNG)来执行公共密钥功能,以产生片上密钥对;并管理公共密钥签名、加密与解密,以安全地存储数据和数字机密信息。它可以存储哈西数字(从预先配置信息中所计算出的唯一数字),以便在系统启动时验证机器配置。它可以创建签名密钥,并相应生成一个匿名的ID密钥。它还提供和管理初始化功能,以允许所有者启用或关闭TPM功能、复位芯片并接管所有权。
一个真正的RNG用来创建TPM内部的RSA密钥对。TPM的微控制器负责控制整个TPM的功能及顺序,包括其内部功能模块以及与其余系统资源的接口等。它还负责在系统处理器与内部TPM存储器之间传输数据,并对加密引擎进行排序。TPM的RNG产生用于加密处理器的加密、解密及密钥生成等功能的种子数字。通过从通用系统处理器上卸载RSA计算等任务,TPM一般能同时提高系统性能与加密性能。
TPM采用哈西算法来测试在可信任状态下的系统软硬件,然后将测量结果存储在安全的非易失性存储器中。通过比较后续的测量结果与所存储的测量结果,任何变化都将警告系统:软件或硬件已经被修改,表明有病毒或蠕虫入侵。
嵌入式安全挑战
计算机与嵌入式设备之间的差别正变得模糊,尤其是在新兴的手持多模设备中,同一个产品可能融合了PDA、蜂窝电话和照相机。现在,甚至连照相机也能运行通常被认为是计算机应用的软件,如简单的照片编辑程序等。
因此,根据设备的类型,嵌入式系统可能需要提供以下安全措施:创建用户ID;只允许授权设备连接网络或服务;存储敏感信息,如口令、PIN、密钥及证书等;对病毒及特洛伊木马的防护;保护硬件免遭物理及电气攻击(防窜改);保证与网络中其它设备或服务器之间的通信数据的机密性和完整性,以及保证设备所下载或存储的内容只能根据内容提供商设定的条件来使用等。
设计者面临的挑战通常分为6类:安全算法所需的计算开销、缺乏统一的互操作标准、可用电能的限制、易受物理攻击、成本与上市时间因素以及无线通信中脆弱的安全性等。
计算开销:由于TPM包含用于算法及其它安全功能的专用低功率、高性能处理器,所以设计者可以省去烦恼的抉择:是让主CPU过载,还是为安全功能增加一个单独的处理器,并为它编写相关的程序。
标准不兼容:与专有解决方案相比,由TCG(目前在计算机行业拥有70多家成员)开发的这种工业标准规范有助于确保供应商创建互操作设备,并能从众多公司的经验和知识产权财产中受益。
有限的可用电能:据某些人估计,在电池供电的设备上运行安全应用能够将电池工作时间缩短一半或更多。通过以硬件而不是软件的方式来运行安全功能,TPM能节省功率,并极大地延长电池使用时间。
丢失或被窃:某些厂家开发的TPM采用防窜改电路来检测任何侵入模块的企图,尽管这不是TCG规范的要求。例如,它可以对TPM工作环境的电压、时钟频率及其它指标进行监视,以发现窜改的迹象。如果某些指标超出规定的范围,防窜改电路将采取相应措施来防止对TPM内所存储敏感信息的访问。
开发成本:专有安全解决方案通常采用伪随机数发生器而不是真正的随机数发生器,这使得密钥更容易被破解。这些解决方案通常只用软件来实现,不仅计算效率低而且更容易破解。此外,如果这些解决方案需要经过一个认证过程,那么会显著增加成本并延缓上市时间。
由于TPM是遵循标准的现成组件,而且已经通过认证,并正在大批量出货,所以与专有解决方案相比,它可以节省时间和资金。
脆弱的无线安全
移动设备常常使用无线通信,这意味着物理信号容易被窃听或受到黑客的攻击。无线安全是大部分移动设备必须解决的一项重要挑战。
目前的无线安全通常是基于用软件实现的协议,而且经常没有经过彻底的测试。相反,TPM能提供基于硬件的安全,并采用已经过广泛测试的算法。
通过提供一种有效途径来解决嵌入式系统设计者所面临的挑战,TPM比当前只采用软件的解决方案更安全、更经济。OEM现在能够在基于工业标准的开放系统架构中提供可靠的硬件安全性。
作者:Kevin Schutz
安全产品经理
Atmel公司