安全处理器及安全闪存服务
安全处理器为手机上运行的应用提供一个可信任的EE。手机OEM和网络运营商严格控制安全处理器上运行的软件,并且是与主机相互隔离的。只有经验证且信任的程序才能安装到安全处理器上。安全处理器上运行的软件比手机上运行的一般OS要小得多,故软件的验证比较容易。安全处理器提供与手机安全相关的四种安全服务(鉴权、数据完整性、数据保密性和非抵赖性)。图3给出了基于闪存的安全系统的软件结构。在主机平台上实现的API提供安全存储服务,以及加密服务。API将功能呼叫转换成通过存储器接口发往安全处理器的消息。
为了消除对安全处理器的恶意消息攻击,利用精心定义的语法和语义设计这些消息被。在一个消息中,每个变量长度的数据域的开始带有一个特殊标记,随后是域长度,它在数据之前。这与C字符串不一样,其长度只有当你浏览字符串并发现一个无效字符后方可知道其长度。有一个消息分析器来分析消息并检查是否是有效的语法,直到语法检查通过后才对数据进行处理,这就对缓冲器溢出这类的攻击提供了保护。然后,才根据消息中特定域将消息分发到正确的中介(agent)。该中介根据消息中的规定为缓冲器分配足够的空间,并经消息分析器验证。只有有限的中介来处理有限的消息,这些中介将仔细地分析安全漏洞。消息不能生成能够在安全处理器中执行的任意的本地代码。消息中没有功能指针。
安全处理器提供安全存储器服务,包括存储密钥、证书、代码和数据。可以根据应用中的安全需求来制订这些内容的访问权限。

图3:基于闪存的安全软件结构。
|