安全分区
非易失性存储器可以被分成独立的存储器分区,每个分区具有单独的访问控制。有一个单独的硬件强制性访问控制来控制程序的读取、程序的擦除,以及改变分区的访问权限的其它动作。访问可以通过密码控制,为了增强安全性,也可以采用PKI鉴权。在不同的寿命阶段,由不同的保管者来创建这些分区。例如,网络运营商可以创建一个代码分区,其中包括OS和运营商的其他验证软件。该分区将只有一个读取访问,没有任何的鉴权,故代码可以任意地执行。而同时,程序的擦除却需要运营商的PKI鉴权。这就防止了主机平台上运行的任何流氓软件来修改代码分区。从而在并非只是启动过程中的所有时间内,维持了OS和其他相关软件的完整性。
具有丰富的访问控制的安全分区提供了数据完整性和保密性。该分区可以被保护,免于未授权的人利用密码或PKI鉴权来读取访问。从而提供了所需数据的保密性。相似地,分区还可以被保护避免未授权的写操作,从而保持了数据的完整性。
该访问控制还具有一个附加功能,即定义了单独分区的可用性。例如,在通过SIM卡锁检查之前,主代码分区被锁定到只能读取。这就迫使在SIM卡锁检查没有通过之前无法使用手机。
存储对象
基于闪存的安全系统被用来存储数据、代码、密钥、证书以及代币。移动设备通常将密钥存在ROM中,但与闪存相比其灵活性较差且容量有限。在非易失性存储器中加密的密钥也能够提供保密性,但无法防止密钥被流氓软件擦除。而基于闪存的安全系统则允许存储一个虚拟的数量无限的密钥。在任何时候可以利用OTA更新来增加更多的密钥。通过将存储对象存储到合适的分区中,可以提供保密性,完整性和鉴权。
动态加密和加密服务
安全处理器还提供一个动态加密功能。该功能允许主机向存储器发送纯文本,文本在写入闪存时被加密。所用的加密算法是AES-CTR。
密码服务是PKCS#11 API的一个子集。API独立于主机平台,并支持对称密钥和公钥。API将功能呼叫转换成送往安全处理器的消息,在这里利用加密闪存内核进行处理。密钥的完整性和保密性得到很好的保护,因为它们不会离开安全处理器。由安全处理器提供的加密服务允许人们在安全处理器与外部服务器之间创建一个安全的通信信道。该通信通道的安全与主机平台无关。从而可以实现FOTA和移动商业这类的应用。安全处理器提供一个高级的设备鉴权,这是由于根密钥根本不会离开安全处理器。