随着更多的设备采用系统级芯片(SoC)方案,安全性设计变得越来越重要。越来越多的SoC设计师已经意识到,消费类设备除了性能外还需要安全性,以防止设备及其内容遭到破坏和非法拷贝。设计一个安全系统必须作全面考虑,改进系统的安全功能只是临时性的修补措施。保护设备的密钥和内容并理解安全SoC的基本要求,才是系统设计师能否开发出前沿产品的关键所在。
随着越来越多的手机开始提供电子商务功能,移动系统正着力解决安全性问题。移动处理器以往都依赖用户识别模块(SIM)卡作为安全部件,但随着更多的外设被集成进单颗芯片中,目前的处理器和集成架构已成为影响整个系统安全性的关键问题。
一个安全系统包含三个要素:防止未授权访问的安全外设,理想情况下应具有多个访问等级;运行信任软件和安全存储敏感数据的可信任环境;加密加速。
系统管理程序
向外设提供多安全等级的方法之一是建立系统管理程序。这是一个非常‘精巧’的软件层,其优先级比系统的超级管理员还要高。Trango Systems等公司提供的管理程序只有20KB,但所建立的虚拟处理器允许多个操作系统运行在同一个CPU上。这是因为该系统管理程序可以保证虚拟CPU之间正确的任务管理和时间片分割。
这种系统管理程序方法提供了一个高效、精巧的程序代码层,为系统设计师带来了很大的灵活性,他们可以扩展现有系统的功能,或者使用一个CPU处理多个操作系统。
一些系统设计师在信任环境中执行安全操作时选择双CPU方案:例如,用一个CPU处理运行应用程序的开放OS,而另一个用于处理安全OS以实现密钥管理。有了管理程序后,单个CPU就能保持OS和多个环境之间的隔离。采用现有系统进行工作的系统设计师可以建立多个信任区域,在这些区域中不必增加另外的CPU就能执行类似密钥管理或安全启动等安全过程。或者在有多个CPU的系统中,无需对硬件做大幅改动,就可以扩展管理程序功能。
这种方法可以用于各种系统,包括DVD播放机、打印机、有线和DSL调制解调器、路由器、医疗设备、电子支付系统、视频和数据处理、机顶盒及数字电视等。
对手机应用来说,管理程序可方便地整合多媒体程序、实时程序和受信任程序。在网络设备中,管理程序可以将Linux和市场标准安全整合到现有的嵌入式系统中,并支持对称多处理OS、高可用性和OS冗余策略。
无论配置如何,管理程序都能使所有环境保持独立,禁止系统的不同部分未经允许就发生交互,因而能提供完整的可预测性和高性能。
安全外设
展望未来,新一代标准正在促进许多安全外设实现个性化的访问等级。这样可以避免单一信任环境中可能产生的问题,即突破一个外设就可以访问所有其它外设。采用多等级访问机制后,那些要求最高安全性的外设和资源(如处理信用卡卡号部分)仍能保持独立于其它外设的安全性。
开放内核协议国际合作组织(OCP-IP)正在制定相关标准,它能根据总线信号建立安全外设。为了设置不同的访问等级,信号可以通过任意比特数进行定义。这就允许处理器内核集成与安全机制类似的功能,而芯片设计师也能利用各种外设建立起安全系统。作为OCP-IP的支持者之一,MIPS科技公司开发的外设生态系统和软件经过整合后就可以创建安全系统。

图1:虚拟化技术带来了更大的灵活性。

图2:mSafe内核可抵抗攻击。

图3:Trango Systems软件设定虚拟机,系统管理程序可让多个操作系统执行在单个CPU上。

图4:4KSd内核提供数字版权管理功能。
信任环境
迄今为止,信任环境一直是利用专有技术建立封闭式系统,并且只建立在新的处理器内核之上。结果导致新应用程序的开发和验证非常耗时,且不能后向兼容。不过,现在有更好的方法建立这些信任环境。
例如,MIPS32 4KSd内核就增加了带安全存储器管理单元的4KEc嵌入式内核。该管理单元对缓存接口作了加扰,并通过SmartMIPS扩展指令增加了加密加速功能,此外还设计了反分析功能。这种软硬件的混合只增加了不到10%的内核尺寸,却可以提供智能卡中已采用的安全系统。
SmartMIPS特殊应用扩展(ASE)是专门针对MIPS32架构优化的广义指令。这些指令是与智能卡供应商Gemplus(现已更名为Gemalto)联合开发的,可以提高加密和安全应用程序的性能,全面实现加密性能提升、安全存储器空间、代码压缩和虚拟机性能增强。在其它一些应用场合,SmartMIPS ASE还能提供低价、低功率的智能卡处理器解决方案。
加密技术的增强进一步推进了公共密钥数据安全算法,其速度是仅采用软件实现方案的3到10倍。密钥处理同样能够受益,只是受益程度稍低一些。
软件加密方法能够方便地实现现场升级加密算法。因此,安全算法的潜在性破坏不要求召回正在使用的卡,而被加速的软件加密方法可以根据每个应用来选择算法。
安全内存空间可以通过应用程序保护敏感的用户数据,防止欺骗性程序进行非法数据访问。内置的代码压缩功能可以尽量减少对内存的占用,从而节省宝贵的内存资源。
由于核心是可合成的,且具备极高的最大频率,因此SoC设计师可进行许多底层规划。这点很重要,因为一些分析方法可确定特殊执行单元的活动模式,并由此推断出一些程序代码活动。
4KSd内核可以用作安全用途的第二个核心,与作为主核的24Kk内核共同使用,提供数字版权管理(DRM)和认证处理功能。这种安排要求最少的缓存,故4KSd内核的面积仅有1.5平方毫米。
主控制器
另外一种方式是把内核用作安全系统控制器。这样可以节省SoC的面积,但要求安全程序的优先权高于OS。由于大多数OS运行在核心(kernel)模式下,因此OS必须接出以执行在监视(supervisor)模式下,而让安全程序执行于核心模式。以银行的POS为例,这种方案允许同一核心用于非安全功能,而核心模式的安全程序用来完成支付过程。
Trango Systems公司的虚拟化方法可以用于任何MIPS内核。该技术可创建虚拟的第二个安全CPU,并运行于核心模式,而主OS运行在“虚拟核心”模式,然后在用户模式下实例化。
接下来内核就在两种环境下进行切换,其中管理程序的虚拟层用于处理地址保护、中断向量和异常处理,以保证系统的安全。这种方法要求的额外负载微不足道,环境切换所需时间不超过60个周期,通常仅16个周期。
关于此系统的实例之一是在单个MIPS内核上同时运行Linux和两个实时OS。该方法向系统设计师提供了集成新功能所急需的灵活性,包括可在现有系统中增加安全性,同时节省软件或硬件投资。
安全和内容保护
安全和内容保护正变得越来越重要,这不仅表现在企业的网络设备中,而且表现在家庭网络中。安全SoC是一个平台,软件提供商(如Trango Systems)和硬件IP解决方案提供商(如M-Systems)可以通过安全SoC来整合自己的技术,以提供安全系统单芯片基础。
这种SoC应该能够提供信任执行功能,以便在启动前保证启动验证程序代码的完整性;保护隐藏安全储存区内容/限制的有效期;保护签名密钥;并防止复制。
M-Systems公司(现为SanDisk全资子公司)在其mSafe内核基础上成功开发出了紧密耦合、模块化可配置的安全硬件域。这种安全硬件域被直接连接到可直接访问任何MIPS内核的MIPS专用协处理器接口(CoP2)上,该域受CPU的保护。
CoP2不与其它外设或业务流共享,可隔离潜在恶意软件和硬件的攻击。与共享总线接口相比,这种隔离可以实现更高的吞吐量和更少的延迟。
M-Systems提供的加密功能包含所要求的安全内存(CryptoRAM),其中秘密系统资源在算法执行期间可得到储存和保护。加密内核,如基于硬件的高级加密标准(AES),可以在M-Systems公司提供的高稳健性和经过验证的mSafe内核基础上,提供快速高效的解决方案。与基于软件的竞争性方案相比,该方案在响应时间上有很大的改进,显著降低功耗,在分析和对付攻击方面具有更好的灵活性。这些优点在便携式产品中的效果尤为明显。
这种方法的另外一个主要优点是其可配置性。加密功能和性能等级可以根据特定要求进行选择,因此可以提供最高的性价比,相比之下,通用型加密协处理器成本就比较高。这点在对成本敏感的消费类应用中特别重要。
M-Systems公司可以提供许多加密算法,如AES、3DES、SHA-A和MD5,以及使用公钥/私钥进行认证和验证所需的全部PKI算法。该协处理器还包含了一个完全数字化的随机数发生器。
例如,3DES引擎只占用8k门,工作速率达100到200Mbps。如果再包含SuperMAP内核,那么认证操作的时间可以从秒缩短到毫秒级。
总之,新设计的安全性内核可以为这些技术提供最佳平台,并使安全SoC设计能够执行后向和前向兼容程序。只有系统级方法才能使下一代器件具有真正的安全性。
作者:Albert Chiang
策略行销经理
MIPS科技公司



