手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解

帅峰云 黄腾 宋洋 编著
推荐序 近年来随着指纹支付的盛行,如支付宝、微信支付等,可信执行环境(Trusted Execution Environment,TEE)被广泛应用在手机、平板电脑等移动终端设备中。尤其是近年来谷歌对系统安全问题越来越重视,可信执行环境已成为谷歌提升系统安全性的重要技术之一,包含为人熟知的keymaster、gatekeeper等,未来在Android P上还会引入基于TUI(Trusted User Interface)衍生的Confirmation UI,这将会为使用者提供更好的安全体验。 可信执行环境是一个典型的软硬件协同合作的概念,基于ARM的TrustZone技术为系统提供资源的物理隔离,将系统执行环境区隔为安全区域和非安全区域。开发者通过使用安全操作系统(secure OS)提供的API开发更多的可信应用来实现特定的安全功能。系统的安全是环环相扣的信任链,从设备开机的安全引导到安全操作系统的安全性验证,一直到软件开发者开发的软件安全性验证,每层相扣,而可信执行环境为可信应用提供了一个基础且可信任的执行环境。 未来TEE的发展方向是多元的,TEE的应用也会进入更多的产业,除了目前大热的指纹识别之外,系统也会引入更多的生物识别技术,如虹膜与人脸识别,从摄像头获取图像到识别演算的整个过程都会在TEE中完成。此外TUI也是重要的方向之一,使用者如何确认所见即所支付,确认的支付金额或转账账号不会被别人攻击或修改,都是相当重要的安全需求。除了移动终端设备之外,车载系统和IoT设备也都有对应的安全需求,因此在可遇见的未来,TEE将会被广泛应用到不同领域、不同的电子设备中。 此外,安全应用的开发者如何将安全应用广泛部署到不同的设备中,以及如何安全升级它们也相当重要。当发现了软件漏洞,如何第一时间更新安全应用并避免版本回滚的攻击,是系统安全的一个重要议题,目前商用TEE的生态、…