原文地址:http://www.cttl.cn/top10/2013/sb/201310/t20131029_954527.html

摘要:本文阐述了移动智能终端所面临的安全问题,介绍了两个国际标准组织TCG和GP,以及他们针对移动智能终端安全问题所提出的技术方案和标准规范。最后给出了国内在可信环境方面的标准进展。

关键词:移动智能终端,可信计算组,全球平台

Abstract:In this paper, we first describe the problems of security that smart mobile terminals are facing. Then we introduce the two international standard organizations TCG and GP, including their corresponding technical methods and standard specifications for the security of smart mobile terminals. Finally, we give the progress of standardization in the domain of trusted environment in CCSA.

Key Words:Smart Mobile Terminal,Trusted Computing Group,Global Platform

1              前言

伴随着终端智能化及网络宽带化的趋势,移动互联网业务日益繁荣,与此同时,移动终端越来越多的涉及商业秘密和个人隐私等敏感信息,移动终端也面临各种安全威胁,如恶意订购、自动拨打声讯台、自动联网等,造成用户的话费损失;木马软件可以控制用户的移动终端,盗取账户、监听通话、发送本地信息等;在移动支付市场上,支付应用开始成为攻击目标。黑客发现了他们所窃取的敏感数据的价值,例如用户的信用卡和积分卡信息,或其他个人数据。移动终端作为移动互联网时代最主要的载体,面临着严峻的安全挑战,防止数据泄露是个人和企业都在更加关心的问题。

为了打造更安全的移动智能终端, Trusted Computing Group和GlobalPlatform两个标准组织相继提出了分别以TPM(Trusted Platform Module)和TEE(Trusted Execution Environment)为代表的解决方案。本文将逐一介绍这两个技术方案以及相关的标准工作,以供评估选用相关技术作为参考。

2              可信计算

2.1          TPM的组成结构

从Anderson首次提出可信系统概念至今,可信计算研究已经经历了30多年的历程[1]。目前具有代表性的可信计算研究机构是TCG,其主要目的是通过增强现有PC终端体系结构的安全性,从终端平台开始在源头控制不安全因素,从根本上解决信息安全问题。它最早是在1999年,由微软、Intel、HP、IBM等国际大公司发起成立的可信计算平台联盟(Trusted Computing Platform Alliance,TCPA)提出的。其目的是通过增强现有PC终端体系结构的安全性来保证整个系统的安全,提高信息安全的防护能力。2001年,该联盟发布了基于硬件系统的TCPA 1.1标准规范。2003年4月TCPA改组为可信计算组织(Trusted Computing Group,TCG),其目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。TCG规范定义了一个叫做可信平台模块(TPM)的芯片设备作为受保护活动的“信任基”[2],TPM是TCG规范的核心,是实现可信计算平台所必须具备的核心模块。

TPM通常是具有密码运算能力和存储能力的芯片,它能够提供密钥生成和公钥签名等功能,并且内部带有非易失性存储器,能够永久保存用户身份信息或秘密信息。TPM组成结构如图1所示。

 
 

图1 TPM组成结构

图中,I/O部件负责管理通信总线,完成协议的编码和译码,执行操作TPM的安全策略;密码协处理器负责RSA运算的实现,执行加密、解密、签名和签名验证功能,在内部实现对称密码;密钥生成器负责生成对称密码的密钥和非对称密码运算的密钥对,TPM可以无限制地生成密钥;HMAC引擎提供HMAC运算功能;随机数发生器通过内部的状态机和单向散列函数完成TPM所需随机数的产生;SHA-1引擎提供SHA-1运算功能,其HASH接口可以被直接调用;电源检测部件管理TPM和平台的电源状态,其必须能检测到所有的电源变化情况;选项控制提供了对TPM功能开启与关闭的机制,对TPM的设置必须在TPM所有者授权的情况下进行;执行部件负责执行经过I/O传送给TPM的命令,在执行命令之前应确信命令执行环境是隔离的和安全的;非易失性存储器用于存储密钥、证书以及标识等重要数据。

2.2       TPM安全机制

2.2.1          数字证书

可信计算的技术基础是密码技术,其诸多安全功能基于TPM中使用的数字证书实现。从TCG规范来看,目前在TPM中使用的数字证书有5种,分别为凭证证书、一致性证书、平台证书、验证证书和TPM身份证书。其中凭证证书是用来声明TPM模块正确实现了TCG规范所定义的各种功能,通常由TPM制造厂商签发;一致性证书与平台证书比较相似,主要用来证实计算平台符合TCG规范;验证证书用来声明某个组件的指令具有证书中所包含的属性,通常由组件制造厂商签发;TPM身份证书可以证实一个平台是可信平台,其对应的密钥称为身份证实密钥,通常仅在某次通信会话中产生和使用。

2.2.2          硬件保护存储

用户通过硬件保护存储机制,可以将特定的秘密信息(如文件加/解密密钥、鉴别密钥以及用户身份信息等)加密后存储到TPM中的特定区块中。用户还可以利用TPM平台配置寄存器(Platform Configuration Registers,PCR)中存储的平台配置信息将某些关键数据逻辑绑定到计算平台上,这样只有在满足绑定条件的特定平台中才能使用这些关键数据,当条件不满足时,则无法获取数据。

2.2.3          平台认证

平台认证是实现可信计算功能的核心安全机制之一。从概念上来看,平台认证指向要通信的对方证明TPM当前处于一个可信的状态,同时说明本机的配置情况。如果通信双方都能证实彼此信息的有效性,则可以继续进行通信,否则服务中断。身份认证密钥(Attestation Identity Key,AIK)的产生和使用是平台认证中比较重要的部分,其可以在不泄露平台身份信息的情况下证明平台的可信性。

2.3       TPM工作流程

在TPM模块中,可执行部件通过执行TPM操作命令实现模块操作状态的一系列转换,从而向系统提供可信服务功能。TPM的操作状态包括初始化状态、自检状态、管理模式状态和完全操作状态,其中,每个状态又由许多更加细化的状态组成。各个状态的转换如图2所示。

 
 

图2 TPM工作流程

图中,当系统加电后,TPM通过执行初始化命令进入初始化状态,同时TPM在特定存储块中设置相应内部标志来标识系统目前所处的状态,在进入下一操作状态前,TPM必须正确完成初始化阶段的操作,之后,执行自检命令并进入自检状态。类似的,系统正确完成自检阶段的操作后,TPM才可以进入完全操作状态,此时若TPM可信功能被所有者开启,则可以实现所有规定的功能,接受外界命令并提供相应的服务,否则TPM只能执行比较有限的功能。

2.4       移动可信模块MTM

将适用于PC和服务器的安全芯片TPM应用到移动平台上主要存在以下问题:移动平台是受限终端,因此移动平台安全芯片的设计及安全策略都有别于PC机;移动平台应用环境比较复杂,不同的机主对移动平台的要求不同,可信移动平台的设计要满足多样化需求。因此在2006年9月TCG移动工作组发布了MTM(移动可信模块,mobile trusted module)可信硬件安全标准规范,代替TPM为移动终端安全提供保障。该规范为可信计算技术应用于移动设备提供了有力的理论依据。MTM规范是基于TPM 1.2规范上构建的,添加了一系列新的命令和结构,将可信计算技术引入到移动平台中,以增强移动终端在安全处理方面的能力,消除其面临的安全隐患。其中,为了防止对嵌入式系统中软件映像进行恶意篡改,MTM中引入了安全启动(secure boot)功能,需要对软件完整性保护和安全启动。与计算机平台的认证启动相比,安全启动不仅要对启动序列进行度量,也要中止任何非预期的状态转换。第二点不同的是MTM不仅支持用硬件方式实现,也支持用软件方式实现。这使得MTM可能成为现有的手机附加地部署这种安全元素。这种参考结构考虑到在同一个设备中平行地支持几个MTM实例,有些可以由用户任意部署,有的由厂商强制定义安全策略(强制的安全访问控制)。

3              可信任执行环境

3.1       TEE的产生

Trusted Execution Environment(可信任执行环境)作为一项新兴不久的移动安全技术,正由其组织者GlobalPlatform拿来进行全球路演。GP希望将这一技术推向全球,直至成为智能手机和平板等移动终端的标准配置,TEE创建了一个新的可信任环境,在此环境下可以运行涉及敏感资料的应用,并且真正地信任他们。在TEE可信执行环境下,这些应用能够在Android、Windows phone和Linux等开放式环境中运行。同时,可信应用需要较高的安全水平,涉及移动支付,数字版权管理和内容保护等。

TEE的优势就是将不安全部件的运行与安全部件的运行分离开来。TEE是一个独立的环境,与通常的Windows操作系统或任何其他操作系统隔离开,负责安全存储用户的证书以及其他需要避免收到恶意软件和主操作系统攻击的才来。在操作系统中执行的攻击或操作系统中运行的应用无法抵达TEE中受保护的软件和数据。

此外,尽管用户在观看流媒体内容时即观看呈现的内容,用户的交互不需要在安全环境中运行。但是,将内容解密、真正管理并保护内容和保护操控内容的缓冲等,这些都需要在可信环境中执行。

3.2       TEE的安全架构

TEE的架构如图3所示,分为两大部分[3]:第一部分是REE(Rich Execution Environment,一般指通用的操作系统)端API,包含TEE Functional API和TEE Client API,主要供一般用户端应用软件接入TEE环境用;第二部分是TEE端的可信应用软件、可信操作系统(Trusted OS,包含Trusted Kernel、Trusted Core Environment、Trusted Functions等)与硬件外围设备(包括可信用户界面、安全元件、存储空间等)

图3 TEE系统架构

为了确保操作安全,具备TEE的移动终端在开机或重新开机时,先启动TEE环境,再启动一般操作系统。完成开机程序后的操作方式,说明如下:

可信的应用程序建立须开放给用户端应用软件(Client Application,如金融机构开发的交易应用软件)的可信应用程序界面(TA Interface),REE用户端应用程序可透过TEE Client或Functional API与可信应用程序互通,以存取TEE特定信息与交换信息。例如:进行交易时,经由可信使用者界面(Trusted UI)输入卡片密码,传递给后端安全元件产生交易授权资料,再回传给REE的用户端程序进行交易验证。

TEE架构的各部分,进一步说明如下:

3.3       用户端应用程序

指在一般开放操作系统下开发的程序,该用户端程序可以通过TEE Client API与可信应用程序互通。

3.4       TEE Client API

TEE Client API是较低级别的通信接口设计,基本上是以C语言编写,提供REE用户端应用程序与可信应用程序互通的媒介,主要包含Session、Command、Shared Memory等操作与信息交换。目前,GP已经发布了该规范1.0版本。

3.5       TEE Functional API

这是在TEE Client API的基础上,架构一层对开发人员较为友善的API,使用户端应用程序开发者更容易上手,但目前这部分的规格尚未制定完成。

3.6       可信应用程序

这是以执行命令方式为模式,主要提供用户端(REE用户端应用程序或者另一可信应用程序)相关安全服务,用户端要存取可信应用程序,须先建立会话(session),并下达命令,可信应用程序再针对命令执行相关的操作,并回传结果。建立可信应用程序的要素如下:

?   定义UUID(Universally Unique Identifier)以供识别;

?   呼叫TEE Internal API,作为可信应用程序界面,以供客户端使用;

?   定义可信应用程序配置属性(Trusted Application Configuration Properties),限制可信应用程序所可使用的资源;

目前,可信应用程序的生命周期依各厂商具体应用TEE而有所差异,尚无标准或一致性的规范供参考,但未来GP组织将加以定义。

3.7       TEE Internal API

仅以C语言来编写,提供可信应用程序使用,目前包含下列几个功能子集:Trusted Core Framework API(提供一些基本操作系统功能,如:时间、记忆管理、线程、通讯、系统信息的取得等)、Trusted Storage API for Data and Keys(提供可信存储空间给保密、一般信息所使用)、Cryptographic Operations API(提供密码学相关应用)、Time API(提供多种时间相关应用)等,但现行这些API尚未提供可信用户界面,须由各厂商自行实现。由于没有一致的API可用,可信应用程序在面对不同的可信操作系统时,可能需要调整配合。目前,GP已经发布了该规范1.0版本。

3.8       TEE应用领域以及规格厂商

TEE主要应用以下领域[4]

?   移动支付:金融机构移动支付的安全需求等级极高,通过TEE与安全元件结合的存取控制将是很好的解决方案。

?   数字版权管理:一般软件无法抵制音乐、电影等数字内容被破解的命运,TEE的可信应用程序可以提供安全的运行方式。

?   企业应用:企业远端存取公司资料、安全VPN与动态密码(OTP)使用等操作的安全需要较高的安全需求,使用TEE是不错的解决方案。

目前,ARM公司提出了在嵌入式领域实现安全性的方法,就是基于TrustZone平台的概念。TrustZone包含:硬件(提供代码隔离的保密环境)、保密软件(提供基本的安全服务和其它安全环节上各部件(如智能卡、操作系统和普通应用程序)间的接口。这些软件代码是和TrustZone的硬件构架紧密集成在一起。要完整地实现TrustZone,还必须有其它条件配合,首先是TrustZone硬件,也就是类似Cortex-A5这样的处理器,然后就是配套的系统软件,这也是最关键的部件,主要有下面两个厂商在做:

1          Trusted Logic Mobility(Gemalto旗下公司)的移动支付软件Trusted Foundations是符合TEE规格的产品,可支持Android、Symbian OS、Windows Mobile、Linux等操作系统,目前多家移动装置制造商已将其移动装置内建此产品,例如:HTC One X等。

2          Giesecke & Devrient(G&D)公司的安全平台MobiCore也符合TEE规格,目前Samsung Galaxy S Ш在欧洲发行的手机就是采用此产品。

4          小结

随着移动互联网应用的多样性以及复杂性,移动智能终端所面临的安全威胁也愈演愈烈,目前适合移动设备和嵌入式平台的硬件安全技术主要有TCG定义的MTM和GP定义的TEE。但由于两个标准组织性质的不同,导致TEE相比TPM在移动终端领域上应用要广泛和成熟,并且以ARM公司的低功耗设计优势让其更胜一筹。今年,基于GP的“移动智能终端可信环境”系列标准已经在国内CCSA的TC11成功立项,以此来填补国内这方面的标准空白。

参考文献

[1]Kumar R. Trustworthy pervasive computing: the hard security problems[C]// Proceedings of the 2nd IEEE Annual Conference on Pervasive Computing and Communications Workshops. Orlando: IEEE, 2004:117-121.

[2]TPM Main Specification V1.2.  https://www.trustedcomputinggroup.org/home,2004.

[3]GlobalPlatform Device Technology, TEE System Architecture Version 1.0 December 2011.

[4]GlobalPlatform TEE White Paper, February 2011.

移动智能终端可信环境分析相关推荐

  1. “2016智能终端峰会新闻发布会暨移动信息化可信选型认证结果发布会” —— 在京成功召开...

    2016年7月19日,"2016移动智能终端峰会新闻发布会暨移动信息化可信选型认证结果发布会"在北京召开.工业和信息化部电子信息司副司长乔跃山.移动智能终端技术创新与产业联盟秘书长 ...

  2. android手机数字取证,基于Android智能终端微信应用的数字取证分析模型的研究

    第 42卷 第 10A期 2015年 10月 计 算 机 科 学 Computer Science Vo1.42 No.10A Oct 2015 基于 Android智能终端微信应用的数字取证分析模型 ...

  3. 2016可信云大会进入倒计时 顶级“参会攻略”强势来袭

    发展至今,可信云已经成为贯穿云计算生命周期.覆盖企业级SaaS市场.多方支撑的体系化认证.作为我国唯一针对云计算信任体系进行认证的权威会议,2016可信云大会(TRUCS2016)将于9月1日-2日在 ...

  4. Android可信执行环境TEE最全介绍

    TEE简介 TEE的全称trusted execution environment,它是移动设备(智能手机.平板电脑.智能电视)CPU上的一块区域.这块区域的作用是给数据和代码的执行提供一个更安全的空 ...

  5. 移动智能终端安全技术要求及测试评价方法

    声明 本文是学习移动智能终端安全技术要求及测试评价方法. 下载地址 http://github5.com/view/627而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 移动智能 ...

  6. 首款可信通信CHAKEN技术认证定制手机:天翼1号2022

    近日,中国电信全球首款通过可信通信CHAKEN国家标准认证的定制手机--天翼1号2022正式开售,内嵌的可信通信技术能力有效解决了通信中身份仿冒和骚扰问题,实现电话呼叫端到端的安全通话. 首款可信通信 ...

  7. 互联网早报:蚂蚁链正式发起“宝藏计划”,开放可信数字技术守护传统文化

    行业热点 1.蚂蚁链正式发起"宝藏计划",开放可信数字技术守护传统文化: 2.生鲜电商呆萝卜宣布停运,各线下门店将停止营业: 3.京东物流计划组建货运机队,2030年将有超100架 ...

  8. 可信执行环境TEE介绍及在区块链领域的应用

    随着移动设备的发展,移动设备的功能越来越强大,移动设备会存储用户的资产,处理支付等操作.目前移动端的系统运行环境叫做REE(Rich Execution Environment),在其中运行的系统叫做 ...

  9. 2016年度智能终端“墨提斯奖”(METIS)申报开始!

    各相关单位: 为落实工信部<智能硬件产业创新发展专项行动(2016-2018年)>,并展示智能终端领域最新成果.产业亮点.创新技术,移动智能终端技术创新与产业联盟和数据中心联盟计划评选20 ...

最新文章

  1. php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)
  2. Response对象学习
  3. spring基于XML的声明式事务控制-配置步骤
  4. 【定时同步系列4】QPSK调制+OM定时(FFT实现及频域补偿)+信号分段处理+误码率曲线之MATLAB仿真(复信号模型)
  5. 进阶学习js中的执行上下文
  6. 在.Net 4.0下用dynamic为你的系统解耦
  7. Go 语言基础(三)——基本数据类型
  8. 运营商回应 5G 商用放号推迟;iPhone 或推出渐变色;GoLand 2019.2.1 发布 | 极客头条...
  9. pytest学习(1)
  10. 还原 idea undo commit
  11. MySQL保存历史执行语句
  12. UOJ#211. 【UER #6】逃跑 (Dynamic Programming)
  13. 怎么用一个计算机控制两个屏幕,一台电脑带2个显示器,这样操作就对了,双屏显示操作更方便...
  14. HeadFirst设计模式学习笔记
  15. ansys经典界面分析工字钢_ANSYS经典界面讲解.ppt
  16. 一阶导数和二阶导数的一些性质
  17. 海致大数据京信_2018华为全联接大会|海致网聚提出公安大数据个人计算新理念...
  18. 用Python爬取英雄联盟(lol)全部皮肤
  19. Android8内测申请,微信8.0.6 for android内测版上线,附内测体验入口
  20. 阿里云天池【Docker练习场】踩坑指南

热门文章

  1. 公告:CSDN个人空间即将改版
  2. 电子专业毕业后,到底能做什么?
  3. 四、node系列之购物车的业务逻辑
  4. spring Mvc中的适配器模式
  5. 浅谈“双平面”冗余架构
  6. 选点问题(贪心算法)
  7. 组合数学_排列与组合
  8. 求1!+2!+3!+.....+20!
  9. CComObject 。。。(转)
  10. 【FPGA入门教程】(二)FPGA学习路线及开发流程