admin管理员组

文章数量:1532332


2024年6月18日发(作者:)

2016年第4期 

文章编号:1006-2475(2016)04-0029-07 

计算机与现代化 

JISUANJI YU XIANDAIHUA 第248期 

基于可信硬件的智能手机短信加密方案 

马明阳 

(上海交通大学软件学院,上海200240) 

摘要:手机短信已成为手机应用中双因子验证的常用方法,广泛用于网站登录、移动支付、银行转账等关键应用中。许多 

恶意软件利用手机系统漏洞来窃听短信和截取用户的验证码,从而对用户的财产安全造成了巨大的威胁。为防御这类 

恶意软件,许多基于对称密钥、公私钥体制等加密算法的手机短信加密软件已经被开始使用,给用户带来了较大便利。 

然而此类解决方案并不能保证在智能手机操作系统被攻破时短信明文数据与密钥数据的安全性。本文提出的TrustSMS 

系统通过利用ARM TrustZone技术,可以同时保证短信数据在传输过程中与在智能手机操作系统内的安全性。本文在三 

星Exynos 4412开发板上实现了TrustSMS的原型系统,实验数据表明TrustSMS系统对智能手机操作系统产生的影响极 

小,性能开销则低于1%。 

关键词:短信加密;ARM TrustZone技术;NTRU公钥密码体制;移动安全 

中图分类号:TP309 文献标识码:A doi:10.3969/j.issn.1006-2475.2016.4.0007 

SMS Encryption Scheme for Smartphones Based on Trusted Hardware 

MA Ming—yang 

(School of Software,Shanghai Jiao Tong University,Shanghai 200240,China) 

Abstract:SMS has become a common used method in two.factor authentication,which iS widely used for website login,mobile 

payment,bank transfer and other critical applications.However,many malicious applications take use of mobile operating system 

vulnerabilities to eavesdrop and intercept SMS or fusers’authentication code,which brings a great threat on the security of the US— 

er’S prope ̄y.To de ̄nd such malicious applications,many SMS encryption applications based on symmetric key encryption algo- 

rithm or public/private key system have been started using,which bring reatg convenience to the users.However,such solutions 

cannot guarantee the confidentiality of the SMS plaintext or even the seeds when the mobile OS is compromised.This paper pres— 

ents TrustSMS(Trusted Shoa Message Service),a secure SMS encryption scheme by using ARM TrustZone technology.TrustSMS 

can not only protect the conidentifliaty of the SMS against a malicious mobile OS.but alSO guarantee reliable end.to.end SMS 

transmission.A prototype of TrustSMS is developed on Samsung Exynos 4412.The experimentl resultas show that TrustSMS has 

small impacts on the mobile OS and its performance overhead is less than 1%. 

Key words:SMS encryption;ARM TrustZone technology;NTRU public—key cryptosystem;mobile security 

0 引 言 

近年来,随着智能手机设备的快速发展与普及, 

短信正在身份认证、日常交流等领域起到越来越重要 

的作用u J。基于用户绑定性强、不需要额外设备、用 

户广泛拥有、校验成本极低等特点,短信被广泛地应 

络中是明文传输的,而GSM标准中用于手机到基站 

连接加密的A5算法却极易被攻破 ,因此,对短信 

明文数据加密后再进行传输很有必要。有许多解决 

方案基于对称密钥或公私钥体制的加密算法对短信 

明文数据进行加密传输 剖,这些方案大多基于用户 

态应用软件实现,依靠加密算法保证短信明文数据的 

用于双因子验证解决方案中 J。然而,短信功能的 

使用却在当前面l临着许多安全方面的威胁 J,如窃 

听、拦截和篡改等攻击手段。由于短信数据在手机网 

安全性。在另一方面,用户智能手机操作系统自身也 

面临着十分严峻的安全问题。 

首先,当智能手机操作系统被攻破时,短信明文 

收稿日期:2015.12.15 

基金项目:国家自然科学基金资助项目(61303011);上海张江国家自主创新示范区专项发展资金重点项目(201501.YP— 

B108-012) 

作者简介:马明阳(1990·),男(回族),黑龙江哈尔滨人,上海交通大学软件学院硕士研究生,研究方向:移动安全。 

30 计算机与现代化 2016年第4期 

数据与密钥数据的安全性都无法得到保证。例如,攻 

击者可以通过截屏的方式获取包含短信明文数据的 

屏幕截图 J 而如果用户用于收发短信的应用程序 

被篡改,被恶意注入的代码可以隐蔽地将短信明文数 

据发送给攻击者¨ 。此外,一个恶意的操作系统甚 

至可以直接存内存或持久化存储设备中删除用于收 

DRAM),它们通过AXI总线相互通信。通过使用 

AXI.to.APB桥,SoC可以实现与外部设备的通信功 

能。AXI—to.APB可以获取当前访问外部设备事务的 

安全屙I生,当普通世界下的事务访问一个屙l生被设置 

为安全的外部设备时,AXI—to—APB会拒绝该访问。 

安全RAM与安全ROM利用软硬件机制进行隔离, 

它们用于存储安全世界中执行的操作系统。核心处 

理器工作在2种模式下:安全世界与普通世界。Tz— 

PC用于设置外围设备的安全属性;TZASC负责控制 

发短信的应用程序文件或短信明文数据以及密钥数 

据,导致短信收发功能无法正常使用,用户短信数据 

永久性丢失等严重后果。 

针对上述问题,本文提出TmstSMS(Trusted 

Short Message Service)系统:一个可信的智能手机短 

信加密解决方案,通过采用NTRU公钥密码体制实现 

在智能手机平台上对短信数据的快速加解密,保证短 

信数据在传输过程中的安全性;通过利用ARM Trust— 

Zone技术… 实现短信明文数据与智能手机操作系统 

的隔离以及可信的显示、输入功能,保证了在手机操 

作系统存不可信的情况下短信数据的安全性。 

1 背 景 

1.1 ARM TrustZone安全技术 

ARM TrustZone技术是在ARM平台上建立硬件 

可信的技术,南ARM公司在ARM v6后期版本开始 

加入的安全拓展。与设计成固定功能设备并具有一 

个预定义的功能集的可信计算平台模块(TPM,Trus— 

ted Platform Module)不同,TrustZone可以被认为是一 

种利用CPU作为TPM的更灵活的方法。在常规的 

正常世界之外,ARM引入了一个特殊的CPU模式 

“安全世界”,从而建立了“安全的世界”的概念。此 

外,ARM TrustZone对状态的划分不仅限于CPU,还 

包括系统总线、外同设备和内存控制器。当安全世界 

模式被激活时,安伞世界中运行的软件与在普通世界 

模式下运行的软件相比具有更高的访问权限。这样, 

些系统功能,特别是安全功能和加密认证等,可以 

隐藏在正常世界之外以保证安全性。毫无疑问,这一 

概念远远比TPM芯片更灵活。 

图1清晰地展现了TrustZone硬件体系结构,包 

括片上系统(SoC,System on Chip)与外围设备连接。 

SoC包括一个核心处理器、直接内存访问(DMA,Di— 

rect Memory Access)、安全的RAM、安全的引导 

ROM、通用中断控制器(GIC,Generic Interrupt Con— 

troller)、TrustZone地址空间控制器(TZASC,Trust— 

Zone Address Space Controller)、TrustZone保护控制器 

(TZPC,TrustZone Protection Controller)、动态内存控 

制器(DMC,Dynamic Memory Controller)和动态随机 

存取存储器(Dynamic Random Access Memory, 

对DRAM安全属性的划分,它可以将一部分DRAM 

设置为安全的,其余部分设为非安全的,如果处于非 

安全世界的处理器对安全的内存发起访问,该请求会 

被拒绝。普通世界下的DMA对安全内存的访问也会 

被拒绝,这保证了安全内存不会被非安全世界下的软 

件或硬件访问。中断控制器GIC负责控制所有中断 

信息,可以将某些中断设置为安全的,某些中断设置 

为普通的。 

f 1 

J 用中断控制剥【安全RAMj【安全启动RoMJ 

: 

AXI总线 

£ £ 

厂T\空间控制器,rustZone地址、 ‘ stZ。ne ̄)-(AXI—APB ̄) 

I tJ 外部设备 、 

态内 控制 }区 

护 

外部设 

备保护 (其他外部设备) 

_+( 触摸屏 ) 

(DRAM卜一.  _+(显示没备) 

I..............一 _.(用户自定义按键) 

\ / 

图1 TrustZone硬件架构 

1.2 NTRU公钥密码体制 

NTRU(Number Theory Research Unit)算法是由 

布朗大学的3位数学家J.Hoffstein,J.Pipher和J.H. 

Silverman在1996年提出的一种全新的公钥密码体 

制。NTRU算法的安全性基于数论中从一个非常大 

的维数格中寻找一个最短向量的困难性。由于该算 

法只使用了简单的模乘法和模求逆运算,因而具有产 

生密钥容易,加解密速度快,内存占用低等优点 。 

NTRU算法很好地解决了公钥密码体制加解密效率 

较低的难题,也十分适合应用于系统资源相对受限的 

智能手机平台。与RSA算法相比,NTRU的密钥生成 

速度快200倍,加密速度比RSA-2048快1000倍,解 

密速度快30倍¨ 。 

1.3威胁模型 

本文假设运行在普通世界中的手机操作系统极 

易受到恶意代码的攻击,甚至会被用于直接攻击用户 

短信数据。 

2016年第4期 马明阳:基于可信硬件的智能手机短信加密方案 

1)恶意代码可能会试图通过直接读取内存或显 

示设备数据的方式获取短信数据;2)恶意代码可能 

通过搜索存储设备的方式来试图获取用于加密短信 

的密钥数据;3)恶意代码可能通过篡改TrustSMS的 

代码或控制流窃取短信数据明文。 

直接针对硬件的攻击则不在本文的讨论范围内, 

本文假设攻击者可以物理接触到移动设备,同时运行 

在安全世界中的代码都是可信的。 

1.4相关工作 

目前的手机平台端到端短信加密解决方案大多 

假设用户持有的智能手机可信,依靠所选取的加密算 

法的安全性保证短信明文数据的安全性 。 。此类 

解决方案可以较为有效地抵御在短信数据传输过程 

中针对GSM等传输协议的缺陷所进行的短信包窃 

听、拦截、修改等攻击手段,却极易受到来自智能手机 

内部的恶意程序或恶意操作系统的攻击。 

本文利用支持ARM TrustZone技术的智能手机 

设备上的可信硬件,将短信加密系统TrustSMS与易 

受攻击的普通世界操作系统隔离,从而为用户提供可 

信的短信数据加解密功能与短信明文数据的显示、输 

入功能。 

2 TrustSMS框架设计 

2.1概述 

本文利用ARM TrustZone技术设计并实现了可 

信智能手机短信加密系统TrustSMS,其基础框架如图 

2所示。一个手机Android操作系统运行在普通世界 

中,TrustSMS进程运行在安全世界的T6操作系统 

中,包含3个主要组件:基于NTRU算法的短信数据 

加解密程序、可信显示控制器和可信触摸屏驱动。运 

行在普通世界Android操作系统内的代理程序负责 

接收用户输入。当用户长按某个短信密文文本框时, 

代理程序主动切换至安全世界,执行TrustSMS程序 

进行解密操作并将短信明文数据显示给用户。当用 

户选择发送短信功能时,代理程序先切换至安全世 

界,等待用户输入短信明文,加密后将短信密文数据 

传回普通世界的代理程序并继续短信发送流程。 

由于TrustSMS与普通世界中的操作系统共享相 

同的显示设备,因此需要一个安全显示控制器来保证 

短信明文数据的显示安全,一块安全显示缓冲区将被 

保留以用于存储需要显示的短信明文数据。同时为 

了支持新建短信的功能,TrustSMS需要提供可信的触 

摸屏驱动以便用户进行输入。 

图2 TrustSMS基础框架 

2.2短信数据加解密过程 

TrustSMS中的短信数据加解密功能基于NTRU 

公钥密码体制实现。建立NTRU密码体制需要3个 

整数参数(N,P,q)和4个次数为N~1的多项式集 

合Lf,L , ,L 。其中P和q互素,且q远大于P。 

2.2.1密钥生成 

首先随机选取2个多项式f,g∈L ,且f关于模 

P和模q的逆Fp,Fq必须存在,即: 

。 

f 1(mod p) (1) 

F。 f 1(mod q) (2) 

然后计算: 

h=F g(mod q) (3) 

由此得到多项式h为公钥,多项式f为私钥,但 

在实际中也需要存储F 作为私钥的一部分,记为(f, 

F )。客户端将私钥保存在可信持久化存储设备中, 

将公钥上传至TrustSMS服务器供其他通信方发送短 

信时用于加密。 

2.2.2加密过程 

首先,发送方选择出需要加密的短信明文数据 

1TI,然后随机选择一个多项式 ∈L ,从TrustSMS服 

务器获取接收方的公钥h后计算: 

e p h+m(mod q) (4) 

e即为加密后的短信密文数据。 

2.2.3解密过程 

接收方收到加密后的消息m后,用自己的私钥 

(f,F )进行解密。首先计算: 

if e(mod q) (5) 

这里选择的仅的系数在一q/2到q/2之间,然后 

计算: 

32 

F。 (mod p) 

计算机

( 

与现代化 2016年第4期 

5可信触摸屏 

计算结果即为短信数据明文。 

2.3可信显示 

TmstSMS需要一个可信的图形化用户界面以向 

除了显示解密后的短信明文数据外,TmstSMS还 

支持对新建短信数据的加密。当用户需要向其联系 

人发送短信时,首先需要在相关的认证系统注册并获 

取共享密钥,然后将密钥数据输入到智能手机中。基 

于对普通世界中操作系统的不信任,TrustSMS提供了 

在安全世界中的输入支持以便于用户输入要发送的 

用户显示解密后的短信明文数据,可信显示控制器负 

责将显示数据从安全显示缓冲区复制到显示设备上。 

由于智能手机通常只有一块显卡和一个显示屏,这些 

硬件设备由安全世界和普通世界共享,因此为了防止 

短信明文数据被泄露,需要将显示数据缓冲区预先保 

留一部分作为安全显示缓冲区,并标记为安全状态。 

系统切换至安全世界后,TmstSMS首先保存显卡和显 

示设备的状态,然后重新设置安全显示缓冲区数据为 

需要显示的短信明文数据,显示完成后清除当前数据 

并恢复普通世界操作系统的显示状态,最后切换回普 

通世界。 

2.4可信启动 

TrustSMS在系统启动时被加载至安全世界并一 

直持续到系统重启或关机,系统启动流程如图3所 

示。手机开机后首先执行只读存储器(ROM)中的代 

码,将可信引导装载程序从可信持久化存储设备中加 

载至安全内存,之后可信引导装载程序取得系统控制 

权并开始初始化安全世界。完成后将T6操作系统的 

镜像文件从可信持久化存储设备中加载至安全内存, 

再将不可信的引导装载程序和Android操作系统镜 

像文件加载至普通世界的不可信内存。最后,可信引 

导装载程序将系统CPU状态从安全状态切换至非安 

全状态,并执行不可信的引导装载程序。不可信引导 

装载程序对普通世界进行初始化并开始启动普通世 

界的操作系统。 

当用户在普通世界启动TmstSMS程序后,长按 

已收到的短信文本框或点击新建短信将触发可信切 

换。此时普通世界的操作系统将被挂起,系统切换至 

安全世界,根据切换请求解密选中的短信或开始等待 

用户输入新建短信内容。切换请求基于普通世界 

TmstSMS代理程序主动调用SMC(Secure Monitor 

Cal1)命令切换至安全世界实现。 

普通世界 : 安全世界 

● 

 启动电源 

图3 TustSMS可信启动顺序 

短信明文数据。 

3 TrustSMS框架实现 

3.1概述 

本文在一款三星Exynos 4412开发板上实现了 

TrustSMS的原型系统,包括可信启动路径实现、基于 

NTRU算法的短信数据加解密程序、可信显示控制器 

和可信触摸屏驱动。 

3.2可信持久化存储 

提供可信的持久化存储功能是TrustZone技术的 

项关键特性,然而TrustZone将具体的实现机制交 

由厂商决定,因此不同厂商或许会对存储资源的分配 

与隔离存在不同的设计方案。为了防止某些厂商不 

提供专用的可信持久化存储设备,可将已有的持久化 

存储设备转为可信设备。 

智能手机通常都装有多种持久化存储设备。例 

如,智能手机一般将一块NAND闪存卡作为主存储 

设备,将MicroSD卡设为扩展存储设备。因此,可以 

将其中一块存储设备设为只允许在安全世界访问,将 

另一块存储设备提供给普通世界使用。由于在Exy— 

nos 4412开发板上没有NAND闪存卡,但拥有一个 

MicroSD卡接口和若干USB接口,因此TrustSMS的 

原型系统将MicroSD卡分配给安全世界使用,而将一 

块8 G存储空间的U盘分配给普通世界使用。在 

MicroSD卡中存储了可信引导装载程序、TmstSMS可 

执行程序、不可信的引导装载程序和普通世界操作系 

统的镜像。在不可信的u盘中则只保存了普通世界 

操作系统的文件系统。由于不可信的引导装载程序 

和普通世界操作系统的镜像均保存在可信MicroSD 

卡中,系统可以保证即使普通世界操作系统受到了攻 

击或破坏,它的静态内核镜像仍然是安全的,并且可 

以在系统重启之后恢复。本文修改了Android操作 

系统的init.re文件以使普通世界操作系统启动时将 

U盘加载为文件系统。 

3.3 内存隔离 

Exynos 4412开发板提供了内存标记机制以将安 

2016年第4期 马明阳:基于可信硬件的智能手机短信加密方案 33 

全内存区与非安全内存区隔离,通过多主存多内存接 

口(M4IF,Multi Master Multi Memory Interface)控制。 

Exynos 4412开发板包含2块512 MB大小的RAM空 

间,M4IF最高可以设置256 MB大小的连续安全内 

存。在TrustSMS的原型系统中将RAM最高位的16 

MB内存保留为安全内存。显示缓冲区包含800× 

480个像素点,每个像素点由2字节TGB565值控制。 

系统在启动时即将NTRU密钥数据读人到安全内存 

中,可以大大减少短信密文数据解密是的时间消耗。 

3.4可信启动 

TrustSMS系统的详细启动过程如图4所示。当 

手机开机时系统首先执行ROM中的代码,将可信启 

动装载程序从MicmSD卡中加载至安全内存,可信启 

动装载程序负责将TrustSMS从MicroSD卡中加载至 

安全内存,并将不可信启动装载程序和普通世界操作 

系统的镜像加载至非安全内存。最后,可信启动装载 

程序将系统切换至普通世界并执行不可信启动装载 

程序,初始化普通世界的环境设置,启动普通世界操 

作系统,随后将u盘加载为普通世界操作系统的文 

件系统。启动时系统会检查可信启动装载程序和 

TrustSMS镜像的完整性,以确保对篡改MicroSD卡上 

静态存储数据行为的检测。 

普通世界 

安全世界 

MicroSD ̄ 

普通世界操作系统镜像文件 

l赢 不可信引导装载程序l蒜 iI学 可信引导 

: 非安全内存 / 

7I

 

不---

礞 

可--信.--.-引-草 蠡藕每;

/ 

 

Ir: r II 意 一j. 可信引导装载程序! Ii:

图4 TmstSMS可信引导装载流程 

3.5短信密文加密 

TrustSMS原型系统实现了基于NTRU公钥密码 

体制的短信数据加解密算法,并将NTRU开源项 

目¨ 中的数据加解密相关代码移植到了安全世界 

中。 

NTRU加密算法的函数为ntru—crypto—ntru—encr 

ypt(),其声明如下所示: 

extem uint32

_

t ntru

crypto_ntru_encrypt( 

uintl6

_

t pubkey

_

blob

_

len, 

uint8

_

t const pubkey

_

blob, 

uintl6

_

t pt——len, 

uint8

_

t const pt. 

uint8

_

t }ct); 

NTRU加密函数的各个参数意义如表1所示。 

表1 NTRU加密算法参数 

参数 参数含义说明 

pubkeyblob

len 密钥长度 

pubkey

blob 密钥数据 

pt_len 明文数据长度 

pt 明文数据 

ct len 加密后得到的密文数据长度 

ct 加密后得到的密文数据 

NTRU解密算法函数为ntru—crypto—ntru—decrypt 

(),其声明如下所示: 

extem uint32

t ntru

_

crypto—ntru—decrypt( 

uintl6

t privkey

_

blob

len, 

__

uint8

_

t const privkey

_

blob, 

uintl6

t ct

__

len, 

uint8

_

t const ct, 

uintl6

_

t pt_len, 

uint8

_

t :It pt); 

NTRU解密函数的各个参数意义如表2所示。 

表2 NTRU解密算法参数 

参数 参数含义说明 

privkey

_

blob

_

le“ 密钥长度 

privkey

blob 密钥数据 

ct len 密文数据长度 

ct 密文数据 

pt_len 解密后得到的明文数据长度 

pt 解密后得到的明文数据 

3.6可信触摸屏驱动 

由于新建短信时用户需要在安全世界中输入准 

备发送的短信数据明文,安全世界必须包含一个可信 

的触摸屏驱动以确保用户输入不会被普通世界操作 

系统截获或屏蔽。在TrustSMS原型系统中,一个四 

线电阻式触摸屏连接至电源管理集成芯片(PMIC, 

Power Management Integrated Circuit),PMIC监控触摸 

屏的电压值并将模拟信号转成代表触摸点x—Y坐标 

的数字信号,每次触摸的坐标值存储在PMIC的模拟 

信号.数字信号转换器(ADC,Analogto—Digital Convert— 

er)寄存器中,值为0时表示当前没有触摸事件。 

当用户点击触摸屏时会触发一个PMIC中断,中 

断处理程序调用触摸屏驱动读取ADC寄存器以获取 

此次触摸的位置信息,触摸屏驱动根据点击位置和当 

前显示信息执行相应的响应操作。由于触摸屏被普 

34 计算机与现代化 2016年第4期 

通世界和安全世界共享,因此其拥有2个中断处理程 

序分别在2种模式下调用。当系统切换至安全世界 

后,触摸屏驱动被设置为安全状态,此后的所有触摸 

事件将由安全模式下的中断处理程序响应。当系统 

由安全世界切换至普通世界时,触摸屏中断将被重新 

设置为非安全中断。 

3.7可信显示控制器 

由于普通世界和安全世界共享LCD显示屏,而普 

通世界操作系统极易受到攻击与篡改,为了防止其通过 

直接读取显示缓冲区数据的方式获得短信数据明文和 

密钥数据,安全世界必须拥有独立的显示缓冲区驱动。 

TmstSMS原型系统实现了可信显示控制器,直接 

在安全世界内设置开发板的图像处理单元(IPU,Im. 

age Processing Unit)数据以显示短信明文数据。Exy— 

nos 4412开发板的显示系统主要由IPU和LCD显示 

器2部分组成,IPU负责将数据从显示缓冲区发送至 

显示设备,LCD则负责显示相应数据,其使用之前需 

要被初始化。 

在普通世界操作系统启动时,IPU被设置为非安 

全状态,可以将非安全显示缓冲区的数据传送至LCD 

显示器。当系统切换至安全世界时,可信显示控制器 

首先保存IPU的当前状态,然后由可信触摸屏驱动对 

IPU进行重新设置,并将其设置为安全状态,开始从 

预先保留的安全显示缓冲区读取数据。系统切换回 

普通世界前可信显示控制器会首先清除安全世界的 

显示数据,随后恢复之前保存的IPU状态以保证普通 

世界操作系统正常运行。 

TrustSMS保留了RAM的16 MB最高位内存作 

为安全内存,其中15 MB用作安全显示缓冲区。显 

示缓冲区包含800×480个像素点,每个像素点由2 

字节的RGB565值控制。 

4实验与性能评估 

4.1实验环境 

TrustSMS原型系统实现于一款三星Exynos 4412 

开发板,该开发板配备了ARM Cortex—A9处理器, 

CPU频率为1.4 GHz,普通世界运行的操作系统是An- 

droid IceCream Sandwich(Android 4.0版本),Linux内 

核版本为3.0.2。运行在安全世界的安全操作系统为 

T6 l1 

rf’ⅢstSMs作为T6的一个安全应用程序运行。 

4.2性能评估 

首先测试TrustSMS原型系统中短信数据的解密 

与显示功能性能开销。从用户执行普通世界TrustSMS 

代理程序并长按某条短信密文数据选择解密触发可信 

切换后,到短信明文数据由LCD显示给用户,系统执 

行主要分为4个步骤,各步骤的具体执行操作和所用 

时间如表3所示,实验选取的短信长度平均为30个汉 

字,所用时间为30次短信密文解密显示过程耗时的平 

均值。 

表3加密短信解密各步骤所用时间 

执行步骤 执行操作 所用时间/ms 

1 可信切换 0.0013 

2 短信密文解密 16.57 

3 可信显示背景绘制 35.61 

4 短信明文绘制 5.74 

从普通世界切换到安全世界需要1858个CPU 

周期,共1.3 US;短信密文解密函数执行平均需要 

16.57 ms;系统切换至安全世界后,为了便于用户交 

互,系统会重新设置显示缓冲区首先绘制纯色背景, 

此过程平均需要35.61 ms完成,这也是整个切换过 

程中最大的性能开销部分。最后系统根据解密后的短 

信数据明文将对应的像素点信息写入可信显示缓冲区 

以完成短信数据明文的显示,此步骤需5.74 ms。 

综上,从用户选中短信密文选择解密到短信数据 

明文在屏幕上显示出来平均需要57.92 ms,而An— 

droid操作系统的一次触摸屏点击事件响应时间通常 

需要60 ms以上,用户在使用TrustSMS系统时几乎不 

会感受到延迟。 

对于发送短信时的加密过程,用户完成短信明文 

数据输入后系统会首先请求接收方最新的NTRU加 

密公钥数据,这一网络通信过程的性能开销受网络环 

境影响较大,在WiFi网络环境下30次请求的平均用 

时为217.91 ms,在4G网络环境下的平均用时为 

273.22 ms。短信明文数据的平均长度为30个汉字, 

30次加密平均用时为9.12 ms。因此用户完成短信 

明文数据输入后TrustSMS系统带来的额外开销不超 

过300 ms,对用户体验影响较小。 

同时,智能手机作为与用户频繁交互的设备,对 

普通世界操作系统实时性要求很高,因此TrustSMS 

需要保证较低的性能开销以减小对用户体验的影响。 

本文采用Android操作系统测评工具Antutu【16]对启 

动时加载了TrustSMS的系统与原生的Android操作 

系统性能进行了对比。图5为测试结果,得分越高表 

示性能越好。从图中可知,加载了TrustSMS的系统 

具有较好的总体性能,其性能开销低于1%。这是由 

于TrustSMS几乎不对普通世界的Android操作系统 

做任何修改,只会对内存访问、外部存储设备访问性 

2016年第4期 马明阳:基于可信硬件的智能手机短信加密方案 35 

能产生极低的影响。 

图5 Antutu测试结果 

5 结束语 

本文设计并实现了智能手机平台可信短信加密 

解决方案TrustSMS,通过利用ARM TrustZone技术, 

TrustSMS保证了短信数据在端到端传输中的安全性, 

同时可以抵御智能手机平台内普通世界操作系统针 

对短信明文数据与密钥数据的多种类型的攻击,保证 

了短信数据的加解密功能与显示功能正常、可信。 

TrustSMS解决方案不需要对普通世界操作系统做任 

何修改,针对原型系统的性能测试显示其带来的性能 

开销低于1%。 

与传统基于对称密钥加密的解决方案相比, 

TrustSMS系统由于密钥交换过程的存在,会额外产生 

200 ms左右的延迟。一个可能的解决方案是参考动态 

口令生成算法设计一种轻量级的具有足够安全性的短 

信加密方案,以减少对通信和计算资源的消耗。同时 

本文的未来工作还将着眼于实现安全世界中不同安全 

进程之间的隔离以防止某些存在恶意的安全进程对 

TrustSMS进程进行攻击,一个可能的解决方案是将不 

同的安全进程运行在不同的Linux容器中_1’j。 

参考文献: 

[1] Amani N.Using SMS as a business communication tools for 

SMES[C]//The 6th Regional Innovation System and In— 

novation Clusters,2009. 

[2] Symantec.Whitepaper:Two-factor Authentication:A TCO 

Viewpoint[EB/OL].https://www4.symantec.eom/mkt— 

ginfo/whitepaper/userauthentication/whitepaper—twofae— 

tor-authentication.pdf,2015—12—15. 

[3] 

Babu K S.Saleems A F.SMS encryption for mobile comnlu— 

nication[J].International Journal of Scientific Engineering 

and Technology Research,2013,2(17):1965—1972. 

[4] 

Mueller R,Sehrittwieser S,Fruehwirt P,et a1.Security 

and privacy of smartphone messaging applications[J].In— 

ternational Journal of Pervasive Computing and Communi. 

cations,2015,11(2):132—150. 

[5] 

Rayarikar R,Upadhyay S,Pimpale P.SMS eneryption u— 

sing AES algoirthm on Android[J].International Journal 

of Computer Applications,2012,50(19):12—17. 

[6] 

Agoyi M,Seral D.SMS security:An asymmetric encryption 

approach[C]//2010 6th International Conference on Wire- 

less and Mobile Communications(ICWMC).2010:448-452. 

[7] 

Qi Na,Pan Jing,Ding Quan.The implementation of FP— 

GA··based RSA public·-key algorithm and its application in 

mobile-phone SMS eneryption system[c]//201 1 1 st Inter— 

national Conference on Instrumentation,Measurement, 

Computer,Communication and Contro1.2011:700-703. 

[8] 

Abdel—latef B A,Ahmed A A,Malfouz A,et a1.Hybrid 

compression encryption technique for securing SMS[J]. 

International Journal of Computer Science and Secufity, 

2010,3(6):473-481. 

[9] 

Lin Chia—chi,Li Hongyang,Zhou Xiaoyong,et a1.Screen— 

milker:How to milk your Android screen for secrets『C 1// 

The 21 st Annual Network and Distirbuted System Security 

Symposium(NDSS).2014. 

[1O] 

Arzt S,Rasthofer S,Bodden E.Instrumenting Android and 

Java印plications sa esay as abc[C]//Runtime Verification 

(The 4th International Conference RV20B).2013,8l74:364- 

381. 

Alves T,Fehon D.TrnstZone:Integrated hardware and soft— 

ware security[J].ARM White Paper,20O4,3(4):18—24. 

[12] 

Shen Xiaoyu,Du Zhenjun,Chen Rong.Research on NT— 

RU algorithm for mobile Java security[C]//International 

Conference 0n Scalable Computing and Communications/ 

8th International Conference on Embedded Computing. 

2009:366—369. 

[13] 

Kaur E A,Singh E N.SMS encryption using NTRU algo— 

rithm『J].International Journal of Advanced Research in 

Computer&Technology,2015,3(2):96-100. 

[14] 

TrnstKemel Team.TrnstKernel[EB/OL].http://tnrstker- 

ne1.or#,2015—12—14. 

[15] 

Whyte W,Etzel M,Jenney P.Open source NTRU Public 

key Cryptography Algorithm and Reference Code[EB/ 

OL].https://github.com/NTRUOpenSourceProject/ntnr— 

crypto,2015—12—14. 

[16] Aututu.Antutu Benchmark[EB/OL].http://www.antu— 

tu.eom/en/Ranking.shtml,2015-12—14. 

[17] 

Ubuntu Wiki.Booting the Android LXC Container『EB/ 

OL 1.https://wiki.ubuntu.com/Toueh/ContainerArchi. 

tecture,2015—12—14. 


本文标签: 短信数据世界