17. 安全
提供一定级别安全性的系统,即受信任的系统,是一种保护资产(例如密码和加密密钥或信用卡详细信息)免受 一系列似是而非的攻击的系统,以防止它们被复制、损坏或制造不可用。
安全性通常由机密性、完整性和可用性原则定义。机密性是密码和加密密钥等资产的关键安全问题。防止修改和真实性证明对于用于安全的软件和片上机密至关重要。可信系统的示例可能包括移动支付的密码输入、数字版权管理(DRM)和电子票务。在开放系统的世界中,安全性更难实现,在开放系统中,您可以将各种软件下载到一个平台上,无意中也会下载恶意或不可信的代码,这些代码可能会篡改您的系统。
移动设备可用于观看视频、听音乐、玩游戏或浏览 Web 和访问金融服务。这需要用户和银行或服务提供商都信任该设备。该设备运行具有高度连接性的复杂操作系统,并且可能容易受到恶意软件的攻击。您可以通过软件系统设计实现一定程度的安全性,但您可以通过 CPU 和系统级内存分区获得更高级别的保护。
ARM 处理器包括特定的硬件扩展,以支持构建受信任的系统。编写可信操作系统或可信执行环境(Trusted Execution Environment, TEE) 系统超出了本书的范围。但是,如果您设置安全部分字段以实现ARMv7 安全扩展,请注意这会对操作系统和非特权代码(即不属于受信任系统的代码)施加一些限制。
软件和硬件攻击可以分为以下几类&#x