从TrustZone建置安全验证硬件基础

发布者:温馨小屋最新更新时间:2016-02-04 来源: CTIMES 关键字:TrustZon 手机看文章 扫描二维码
随时随地手机看文章
    为了解决个资与密码验证的问题,FIDO(Fast Identity Online,线上快速身分认证)联盟制订了新的协定,为使用者、装置和信赖凭证者网站之间提供简单且强大的验证机制。采用FIDO的行动装置,可以利用生物辨识技术例如指纹感测或虹膜扫描来启动服务,进而大幅改善使用者体验,让交易更简单便利,装置制造商也能迅速导入。

FIDO必须有安全的硬体设计,才能抵御恶意攻击,例如加密金钥、机密流程、存取验证资料等资源皆须受到保护,以防止恶意攻击并维持系统的完整性。此文将介绍 ARM TrustZone 技术如何协助GlobalPlatform 组织建构可信任执行环境(Trusted Execution Environment, TEE)所需的硬体隔离,以及为何此安全层最适用于FIDO安全验证。



图1 : FIDO结合了生物辨识以启动安全认证机制,强化了传统系统的不足之处。(Source:www.biometricupdate.com)
为防止系统资源遭受攻击,ARM提出多项技术组合:从Cortex 核心Hypervisor模式,到以 TrustZone架构为基础的 TEE、防篡改安全处理器、或采用ARM SecurCoreR处理器 IP 的安全元件。这些技术透过多层次或隔离的方式,提升整体系统的安全,并且让行动装置不仅是作业系统的其他资源都能获得适切的保护。

基于TrustZone技术的可信任执行环境 (TEE) 提供强化的安全机制,以抵御不断加剧的软体攻击和一般的硬体威胁(所谓的shack攻击),而且成本更低。此架构将两个执行区域分隔开:“一般区域”(normal world)执行开放作业系统和应用程式;隐密的“安全区域”(secure world) 执行机密操作如加密、金钥管理和完整性检查。此设计已成为重要的硬体安全层,装置制造商过去十年来针对此机制进行开发和标准化,以保护珍贵的系统资源。TEE标准化组织GlobalPlatform负责制订法规和认证计画,独立的测试实验室可据此检视各种平台能否抵御设定档中所辨识到的威胁。GlobalPlatform已发布多篇探讨TEE的白皮书,而本文则是针对他们提出的 FIDO 案例和 ARM TrustZone 技术提供更多的说明。

FIDO联盟的标准化工作加速安全认证朝向生物辨识之无密码登录形式。通用验证架构(Universal Authentication Framework, UAF)等FIDO协定能够利用多种验证方式进行在地用户的身分验证,例如指纹感测器、虹膜扫描器、或是取代传统帐号与密码的PIN码登入。

我们常说安全就像是一条锁链,里面的每道环节都与安全息息相关。以此为喻,第一个重要的环节就是安全硬体,透过TrustZone技术将它与正常执行环境隔离,并成为安全开机(Trusted Boot)的基础。安全开机启动正常区域的作业系统之前,会先进行安全作业系统 (Trusted OS) 及TEE的初始化。建立TEE之后FIDO可信任应用程式 (Trusted App) 就会被下载安装,负责管理重要资料、密码和其他机密操作程序。

FIDO UAF 的无密码体验

消费者使用具备FIDO技术的智慧型装置,只要在喜爱的线上购物网站或银行注册一次即可。注册时装置会建立专属于使用者、使用者的装置以及信赖凭证者网站的公用金钥和私用金钥。注册之后,消费者造访该线上商店时将变得轻松便利,只要手指快速按一下或输入简易的 PIN 码 (图1) ,即可取代常见的帐号/密码验证步骤和购买确认流程。FIDO 协定不会将一般使用者资讯分享出去,因为执行程序无法泄露使用者的个人资讯。此外,信赖凭证者网站仅保管公用金钥,因此若网站伺服器受到攻击(当前业界的一大难题),骇客也无法透过公用金钥直接盗取帐户。



图2 : 简单便利的FIDO 使用者体验
FIDO 和 FIDO 联盟简介

FIDO 联盟由 180 多个成员组成,涵盖整个产业价值链包括晶片合作夥伴(如高通)、装置制造商(如三星和联想)、作业系统厂商(如微软和Google)、FIDO 伺服器供应商(如 Nok Nok Labs)、以及信赖凭证者网站(如美国银行和 PayPal)。FIDO 联盟负责制定技术规范和认证计画,以落实更简便和强大的验证机制。FIDO 协定的目标在于提升验证的便利性、内建保密性、设计安全性以及推动标准化,让信赖凭证者网站能够使用符合 FIDO 规范的验证方式。最终版 FIDO 1.0 规范已经公布于网路上,包含两种不同的使用者体验:

1.通用验证架构(Universal Authenticator Framework, UAF),为智慧型手机等内建验证机制的装置提供无密码体验;

2.通用第二要素(Universal 2nd Factor,U2F),适用于软体加密锁,防止传统帐号/密码遭到钓鱼式攻击。 FIDO 2.0 统一标准相关准备工作正在进行当中 。

信赖凭证者网站使用帐号和密码作为安全防护已行之有年,但这种方式存在诸多风险,已无法满足消费者和企业的安全需求。首先,消费者通常偏好安全防御较弱的密码,并且在不同网站均使用相同的密码,这等于为骇客盗取帐户开启了方便之门。但如果消费者被迫设定复杂的密码,他们可能会因为忘记密码而放弃交易。更严重的是,密码容易被垃圾邮件透过钓鱼方式取得,造成大规模的金融诈欺。根据卡巴斯基的估计,2014年网路钓鱼犯罪集团从多家银行窃取的金额高达十亿美元。

因此企业有时会要求使用第二要素 (second factor) ,例如一次性密码(One Time Password, OTP)token,亦即除了输入帐号和密码之外,还要提供一组随机产生的代码。此私密代码让消费者的口袋和抽屉塞满各种硬体:一组是银行专用的 OTP 代码,另一组是开启公司e-mail专用,其他服务供应商也各有各的代码。

其次,使用传统验证机制的信赖凭证者网站也遭遇挑战,他们必须保管每一位用户的私密金钥。这些存有个资的巨量资料库成为骇客的最爱,他们只需精心设计一次攻击行动,便能同时窃取数百万消费者的个人身分资料。这给大品牌企业带来信誉上的风险,他们得先坦承有安全漏洞,才能要求客户立即重设密码。

FIDO 可以解决传统帐号和密码衍生的问题,并且能为消费者带来更加愉悦的使用体验。例如,使用新款 Samsung Galaxy行动装置的消费者,能够透过指纹登入网站或购物付款。如此简便的使用者体验,幕后功臣是FIDO UAF协定,利用指纹感测等内建验证机制取代帐号/密码登入之后,即可直接解开装置中的私密金钥,然后再与远端伺服器(握有公开金钥)的加密机制结合。信赖凭证者网站则可取得后设资料 (metadata) 例如验证类型、金钥防护机制、装置型号等基本资料,进行后端风险分析。此外,生物辨识、PIN 码或私密金钥均不会与线上伺服器进行资讯交换。

FIDO 协定的“隐私设计 (Privacy by Design)”为消费者提供额外的保护,降低因为商店伺服器的安全漏洞而受害的可能性。此加密机制是基于完善的公开金钥加密 (Public Key Cryptography) 原则,透过每一组使用者/装置/信赖凭证者网站在装置上所生成的一对公开金钥/私密金钥来进行安全把关。

总结FIDO的安全效益如下:

·确保装置的完整性

·保护重要资料的机密性,防止未经授权的使用

·维护机密流程的机密性和完整性


如果骇客取得实体装置,即有可能展开进一步的攻击,例如透过存取装置的档案系统窃取资料。倘若资料已经加密,骇客可先复制资料,再针对加密机制进行离线攻击。虽然威胁通常来自于软体攻击,但如果骇客取得手机,拆解行动装置和破解主机板等硬体亦不无可能。

传统的安全架构设计仰赖两个基本概念:最少特权原则、隔离系统的安全区域。例如,基于 TrustZone的TEE,即使一般区域 (Normal World) 已被攻破,安全区域 (Secure World) 仍能保持隔离。骇客可能占领正常区域和窥视TEE(可信任执行环境)的通讯内容,但安全区域的完整性和机密性将毫发无伤。

TrustZone和TEE

GlobalPlatform 对 TEE 平台进行标准化(图1),制定了规格、法规遵循和认证方案。透过出版白皮书,GlobalPlatform深入探讨 TEE技术以及其如何提供支付、内容保护和装置双重角色 (dual persona)等服务充分的机密性和完整性。本文在此仅提供简短的说明。为了维护完整性和机密性,TEE平台透过安全区域保护机密密码和资料,使得恶意应用程式无法读取储存在装置内的私密金钥。TEE 技术可以抵御不断加剧的软体攻击,就算装置失窃,也能抵抗常见的硬体攻击,例如“shack 攻击”(由专业攻击者对一般电子装置发起的猛烈攻击)。

基于 TrustZone 的TEE平台所建立的“安全区域 (Secure World)”,安全边界虽小但已足以作为身分辨识和确保安全的路径。安全区域通常用于保护加密金钥、凭证和其他安全资源。TrustZone 提供诸多hypervisor并不具备的系统安全功能:支援安全除错机制、提供安全的汇流排输出入、采取安全中断措施并直接进入安全区域(可信任输入)。另一个主张是限制安全区域的安全功能,从而减少受袭层面和实现安全验证。

TrustZone透过提供处理器晶片额外的“安全模式 (secure state)”,让安全应用程式码和资料与一般操作隔离开来,进而强化安全防护功能。这种分区的做法让执行环境受到保护,以执行可信任密码和存取安全硬体资源,例如记忆体或周边。通常,安全区域有专属的安全作业系统和可信任开机流程,形成能与传统作业系统(如 Linux 或 Android)协同合作的 TEE,提供安全的服务。

安全是否可靠,取决于信任链中最薄弱的环节。信任链的起点为信任根源(ROT),通常部署在硬体中以防遭到窜改。要确保行动装置安全可靠,一开始就必须将装置重置成为安全环境,透过唯读记忆体开启安全的硬体,存取可信任的硬体资源,例如硬体专属金钥、乱数生成器、计数器、计时器和可信任记忆体等。设计周全且经验证的可信任开机流程是行动装置完整性的基础,可信任开机流程会先启动可信任作业系统,然后才开启正常区域的通用作业系统。



图1 : TrustZone 可为 TEE 提供硬体分区和存取安全资源
基于TrustZone的TEE 在FIDO执行中的具体角色

基于 TrustZone (安全区域) 的可信任开机流程和硬体 ROT 是维护装置完整性的基础。可信任作业系统可以 FIDO 协定提供可信任服务,例如在硬体的安全执行环境中处理加密和用户配对演算法。通常,几乎所有的 FIDO 堆叠都置于正常区域中,只有少数安全加密的功能会被移入TEE 。移到 TEE的程式称为“可信任应用程式 (Trusted App)”,其机密性和完整性受到安全的保护。区域隔离的做法可抵御持续增强的攻击。

TEE的一个重要案例是安全金钥储存,由于应用处理器很少搭载非挥发性记忆体,FIDO金钥在TEE环境中与烧在晶片上的硬体唯一金钥 (hardware unique key) 结合加密。加密并封装后的金钥储存在开机时提供储存功能的外接记忆体内,只能在TEE解码和使用,而且无法进入正常区域。

FIDO 可信任应用程式可以纳入生物特征范本储存和比对的功能,执行方式与储存加密金钥相似,亦即在 TEE 中加密和封装并储存在外接非挥发性记忆体中。 基于TrustZone的TEE提供符合 FIDO 安全要求的解决方案:

1. 确保装置的完整性:

透过使用硬体信任根以及 TrustZone 隔离验证的可信任开机流程,来实现装置完整性。

2. 保护金钥资料的机密性,以免未经授权存取:

TrustZone 架构提供系统层级的硬体隔离,形成一个小和安全的 TEE以处理金钥资料。FIDO 金钥本身可以透过强化加密和融合硬体唯一金钥 (hardware unique key) 进行加密。

3. 维护机密流程的机密性和完整性:

TEE提供完整性和机密性的安全保障。一般来说,FIDO 流程的一小部分会被划分纳入安全区域,成为可信任应用程式执行任务。

4. 维护机密资料输入的机密性:

TrustZone 可将突如其来的装置输入(例如身分验证方式) 直接引导到安全区域,交由可信任装置驱动程式处理。例如,TEE可以在采集PIN 码时处理来自触控式萤幕的触控动作,或是来自指纹感测器的感测动作,并将它与正常区域的恶意软体区隔,让后者无法对其拦截使用。当 PIN 采集或其他输入完成时,中断模式可再切回到正常区域。

5. 保护机密的显示资料:

TrustZone 可保护安全区域的框架缓冲区 (frame-buffer)及其内容,实现“所见即所签/购”功能,因为该框架缓冲区无法被拦截、修改或隐藏。

未来强化方向

GlobalPlatform 为 TEE 开发保护设定档,作为安全认证方案的基础。多家测试实验室已着手制订平台测试和TEE效益评估方案,独立测试有助于装置制造商确保解决方案的品质,进而让整体价值链受益。

当今的ARM架构晶片越来越熟稔 TrustZone 技术的应用,例如采用TUI 来保护触控萤幕输入和安全框架缓冲区的显示器(图2)。这代表周边设备可以在正常区域和安全区域之间切换:触控萤幕和显示器即是应用的范例。在 PIN 采集模式中,TEE获得可信任存取触控萤幕的独占权,等PIN 采集结束后再返回到正常执行区域。显示处理器就像是各种图形层的集合,必须显示来自安全区域的可信任资料,从而确保“所见即所得/签”。可信任显示资料可以在TrustZone保护的框架缓冲区中生成,合成为可以防止覆盖的安全层。GlobalPlatform 的标准化工作完成后,可望增加TUI的采用。

除了基于 TrustZone 的 TEE 外,当今的行动装置内建由价值链不同厂商所提供诸多安全元件。SIM 卡可能归通讯业者所有,OEM 可能有自己的安全元件,而作业系统可能要求使用安全元件来保管金钥或执行系统完整性检查。由于安全元件无法使用输入法或显示,因此安全元件和 TEE 之间最好建立安全通讯。GlobalPlatform 正在进行安全元件和 TEE 通讯的标准化工作。



图2 : 基于 TrustZone 的 TEE,由 FIDO 可信任应用程式、可信任使用者介面和安全元件加密通道组成
结论

基于 TrustZone 的 TEE 能以较低的成本为FIDO实作提供有效的系统安全性。设计完善的 TEE 可为FIDO提供适当的安全保护,比正常执行环境所使用的帐号/密码机制跃进了一大步。

未来,我们期待更多的改善,例如装置制造商和晶片合作夥伴的TEE平台可以获得独立测试实验室的安全认证;TrustZone安全技术可以应用到触控式萤幕输入(用于保护 PIN 输入)和显示输出,实现“所见即所签/购 ”功能。

FIDO 的验证机制让消费者打破密码的限制,目前已展开大规模部署,可望成为产业的成功范例。基于 TrustZone 的 TEE 证明了完善的安全架构可以带来愉悦的使用者体验。(本文作者现任ARM安全行销暨系统与软体部门总监)
关键字:TrustZon 引用地址:从TrustZone建置安全验证硬件基础

上一篇:汽车电子/云端商机涌现 半导体新一轮竞技赛开打
下一篇:CMOS传感器,3D化发表接二连三

小广播
最新手机便携文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved