CN103150514B - 一种基于移动设备的可信模块及其可信服务方法 - Google Patents
一种基于移动设备的可信模块及其可信服务方法 Download PDFInfo
- Publication number
- CN103150514B CN103150514B CN201310072567.5A CN201310072567A CN103150514B CN 103150514 B CN103150514 B CN 103150514B CN 201310072567 A CN201310072567 A CN 201310072567A CN 103150514 B CN103150514 B CN 103150514B
- Authority
- CN
- China
- Prior art keywords
- trusted
- module
- mobile device
- world
- credible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于移动设备的可信模块及其可信服务方法。本发明的可信模块包括一移动设备和一可信平台模块;所述移动设备上构建有安全世界和正常世界,所述可信平台模块部署在所述移动设备的安全世界;所述可信平台模块包括可信服务进程、可信模块库和密码库;其中:可信服务进程负责监听并解析来自各种计算平台的可信命令请求,并根据可信命令的类型信息交给可信模块库中相应的可信功能模块进行处理;可信模块库包括多个可信功能模块,每个可信功能模块完成与各种选定安全芯片兼容的可信功能;密码库包括多个密码算法,为可信模块库提供支撑的密码服务。本发明真正地实现了跨多种平台的便携式可信模块,能够为各种应用提供安全和可信保障。
Description
技术领域
本发明涉及一种基于移动设备的可信模块及其可信服务方法,特别是涉及基于用户的移动设备来构建便携式可信模块及其可信服务方法,可以同时为多种计算平台提供灵活可配置的可信计算功能。属于信息安全技术领域。
背景技术
随着信息化技术的发展,个人信息和数据的安全已经成为人们关心的重要问题。特别是现在处于后PC(Personal Computer)时代,涌现出了多种多样的计算设备。对于一个普通用户,其可能同时拥有多个计算设备,如传统的桌面计算机和笔记本电脑,以及现在比较流行的新型智能手机和平板电脑等。使用这些设备,用户可以完成很多机密操作和存储重要的个人信息。例如,用户在上班时可能使用公司配备的桌面计算机编写各种机密文档;在公交车或者地铁上,用户可以使用随身携带的智能手机发送私人短信和存储私人电话号码;回家后,使用自己的笔记本电脑进行网上购物或者收发个人私密邮件等等。但是,由于这些设备通常都不可信,硬件或者软件上的漏洞都会破坏或者泄露用户的机密信息。因此,使用可信计算技术为用户构建一个安全可信的计算平台变得非常重要。
可信计算技术由国际TCG组织提出和推广,可以加强各种计算设备的安全和可信。对于传统的桌面计算机,国际上推荐使用TPM(Trusted Platform Module)芯片作为构成平台信任根的可信平台模块。国内使用国家密码管理局规范化的TCM(Trusted Cryptography Module)芯片来构建平台可信。为了使得构建平台信任的可信计算基(TCB)最小,AMD的安全虚拟机(SVM)和Intel的可信执行技术(TXT)也可以用来构建动态可信的计算平台。对于移动设备和嵌入式系统平台,美国德州仪器公司的M-shield安全技术和ARM公司的TrustZone安全扩展技术可以用来构建一个安全可信的移动环境。TCG组织的MTM(Mobile Trusted Module)规范也对可信计算应用到移动环境进行了标准的制定。
尽管在各种计算设备上都存在构建可信平台模块和可信环境的方法,但是没有一种方案能够真正地支持多种平台,如既支持传统的桌面PC平台,也能为智能手机和平板电脑等移动设备提供可信计算服务。一般为桌面计算机提供的TPM/TCM安全芯片不适合移动平台,反之亦然。主要原因有三个:首先,桌面机器和移动设备往往基于不同的硬件平台,如桌面机通常是x86的,而移动设备很多都基于ARM芯片;其次,相比桌面机器,移动设备在计算资源和存储空间上都非常受限,不适合使用传统的硬件芯片;第三,桌面机和移动设备拥有不同的软硬件配置,支持不同的应用场景,不同的应用场景通常需要不同的可信功能。因此,构建一个支持多平台(跨平台)的通用可信模块非常关键,也很具有挑战性。如果没有这种跨平台的可信模块,并且用户也需要在多种设备上进行安全操作,那么用户就必须针对不同的设备学习和使用不同的可信构建技术,这对用户是一个很大的负担。北京交通大学的基于EFI(Extensible Firmware Interface)的Portable TPM方案和澳大利亚CSIRO ICT Centre机构提出的TPD(Trusted Personal Devices)方案在一定程度上可以支持多平台,但仅限于供多个桌面平台使用(如桌面PC,服务器和笔记本电脑),无法为日益增加的移动设备提供可信保证。他们的主要思路是将可信计算模块(TPM软件实现或者TPM硬件模块)植入到一个特殊的USB设备上,修改相应的内核模块和驱动,使得各种带有USB接口的主机平台可以识别并使用这种便携式的可信平台模块。这种基于USB设备构建的便携式可信平台模块方法值得借鉴,但是其存在两个问题:首先,这种方法要求用户必须购买一个额外的特定USB设备,增加用户的购买负担;其次,这种方法无法为用户的移动设备服务,只能满足用户的各种桌面机器的可信功能要求,没有真正地实现跨多种平台。
总之,将可信计算更好的为用户服务,更好的应用到实际生活中,现有可信平台模块构建方法存在以下不足:跨平台支持不够,特别是无法同时满足桌面机器和移动设备的可信需求。虽然基于USB的便携式可信平台模块能够同时支持多个桌面机器,但是其无法为现在的智能手机等移动设备提供可信服务。
发明内容
针对现有技术中存在的技术问题,本发明基于用户的移动设备构建一种支持多平台的便携式可信模块及其可信服务方法。本发明可信模块的可信功能是灵活可配置的,支持命令的增加、算法的替换、协议和可信模块的升级等更新或者扩展操作,并能为用户提供一种友好的使用可信计算功能的方式。本发明的可信平台模块构建在用户的移动设备之上,因此支持为移动设备提供可信计算功能,为各种移动应用提供可信计算服务。本发明的方法也能为各种传统的桌面机器提供可信计算功能,通过USB接口与主机相连,将移动设备作为桌面机器的便携式可信模块使用,其基于的载体不再是特定的USB设备,而是用户已有的移动设备,如智能手机或者平板电脑等。
本发明的目的是提供一种跨平台可信模块,能够支持多种平台,为桌面机器和移动设备提供可信计算服务。采用的技术方案是设计一种灵活的软件架构,使得可信平台模块由各个功能独立的软件模块组成,并能够通过简单的接口供用户使用。将灵活的可信平台模块部署在用户的移动设备上以实现跨平台支持。首先,由于移动设备的便携性,可信功能供用户随身携带;其次,移动设备作为可信平台模块功能的载体,可以为移动应用设计使用可信功能的通信模块和方式,为移动平台提供可信服务;最后,移动设备通过USB线与桌面主机相连,可以为桌面机器设计使用可信功能的通信模块和方式,为桌面主机平台提供可信服务。
所述灵活的软件架构,主要包括四个重要的模块:可信服务进程、可信模块库、密码库和用户交互界面。这四个模块将可信平台模块的功能进行了分离,每部分功能都能独立完成,如可信服务进程主要负责通信,可信模块库实现主体可信功能,密码库提供需要的密码算法,用户交互界面用来配置和管理可信平台模块。这些独立的功能模块使得可信平台模块更容易扩展,在一定程度上增加了灵活性。如需要增加密码算法,只需要修改密码库,可信模块库就可以使用新的密码算法;而如果需要更新协议和增加可信命令时,只需要修改相应的可信模块库。这四个功能独立的模块描述如下:
1)可信服务进程实现为一个后台服务,负责监听来自各种计算平台的可信命令请求,解析命令请求后,并根据命令的类型信息交给可信模块库中正确的模块进行处理。可信命令请求由很多数据段组成,如表示类型的字段,表示具体命令参数的字段,表示数据长度的字段,认证码字段等(公知的TCG规范和TCM规范中都有详细的格式定义),可信服务进程通过类型字段就可以解析是哪种命令,并调用相应的可信模块库中的可信功能模块进行处理。
2)可信模块库由多个可信功能模块组成,每个可信功能模块都完成与各种选定安全芯片兼容的可信功能,都遵循相应的可信计算标准进行设计,如TPM模块、TCM模块和MTM模块等。而且在可信模块库中,可以根据需要增加新的模块,对于每一个可信功能模块,可以灵活配置和更新其使用的密码算法和协议。
3)密码库提供各种密码功能,主要为可信模块库提供支撑的密码服务,密码库支持扩展和增加新的密码算法,如增加国产密码算法等。
4)用户交互界面为用户提供友好的操作和管理可信平台模块的窗口,供用户查询可信平台模块的状态、配置其参数和测试其提供的可信功能。
所述将灵活的可信平台模块部署在用户的移动设备上,即只需要一个软件更新,就可以将软件实现的可信平台模块功能部署在满足要求的移动设备上。软件实现的可信平台模块更加适合计算资源和存储空间受限的移动环境,因为实验证明在移动设备上的软件可信平台模块命令的运行效率比最快的TPM安全芯片高出4倍。为了在移动设备上保护软件可信平台模块的安全,需要使用移动设备处理器的安全特征。由于很多移动设备都是基于ARM处理器的,所述的安全特征采用ARM TrustZone安全扩展技术。该技术可以在移动设备上构建两个环境:安全世界和正常世界。安全世界环境拥有可信的TCB,可以运行安全敏感的代码;正常世界环境运行正常操作系统和移动应用,由TrustZone保证两个环境的隔离,即安全世界的代码和数据不会受到外界的影响。软件实现的可信平台模块运行在受保护的安全世界环境里面,因此可以保证其代码完整性和数据机密性。
所述为移动应用提供使用可信平台模块功能的通信模块和方式,即让位于移动设备正常世界环境的移动应用可以使用位于移动设备安全世界环境的可信平台模块功能。可信模块为移动平台及其应用提供可信服务所采用技术方案如下:
1)位于正常世界环境的移动应用调用一个通用的可信软件库,发起可信命令请求。所述可信软件库能够提供使用可信功能的统一API接口,所述可信命令请求包括相关命令的类型以及命令的参数信息。
2)可信命令请求通过正常世界的内核模块驱动调用特殊的处理器指令,发送给安全世界的内核模块驱动。所述正常世界内核模块驱动和安全世界内核模块驱动主要负责在两个环境之间进行切换,所述特殊的处理器指令一般指ARM处理器提供的SMC(Secure Monitor Call)指令。
3)安全世界的内核模块驱动通过上层应用接口将可信命令请求进一步发送给可信平台模块处理。所述上层应用接口用来连接安全世界的内核模块和可信平台模块,一方面提供与内核模块交互的I/O接口,一方面与可信平台模块交互可信命令请求与响应。该接口主要是内核态与用户态之间的一个转发接口,通过访问该接口,使得可信平台模块可以与安全世界的内核模块通信,获取可信命令请求,并发送可信命令响应到内核模块。
4)可信平台模块根据命令的类型及参数信息,完成命令处理,并将命令响应信息沿原通信路径返回给位于正常世界的应用程序。
所述为桌面机器提供使用可信平台模块功能的通信模块和方式,即让位于个人PC等主机上的应用程序可以使用移动设备安全世界的可信平台模块功能,同时保证移动设备便携的特点,使用USB代替LPC连接可信功能设备和主机。可信模块为桌面主机平台及其应用提供可信服务所采用的技术方案如下:
1)主机通过USB连接线与带有可信平台模块的移动设备建立连接,通过移动设备端的USB驱动程序和主机端的USB驱动程序,使得主机识别移动设备为一个提供可信功能的硬件模块,因此对主机而言,移动设备就是通过USB与主机相连的便携式可信平台模块。所述设备端USB驱动程序和主机端USB驱动程序可以通过USB线连接后进行交互。
2)主机的应用程序调用一个通用的可信软件库(为了统一使用可信平台模块的方式,该软件库的API接口与所述移动设备上可信软件库的接口保持一致),发起可信命令请求;
3)可信软件库通过调用与USB内核驱动程序的通信接口,将可信命令请求发送给USB内核驱动模块;
4)USB内核驱动模块通过USB连接线将可信命令请求发送给移动设备端的USB驱动模块(一般是USB Gadget驱动);
5)移动设备端的USB驱动模块通过相应的应用进程转发命令,交给位于安全世界环境的可信平台模块处理。所述应用进程负责监听设备端USB驱动模块的可信命令请求,并能与可信平台模块进行通信。
6)可信平台模块处理命令并生成响应,将响应沿原始USB路径返回给位于主机端的应用程序。
与现有技术相比,本发明的有益效果:
传统的可信计算芯片主要针对桌面PC进行设计,通过LPC(Low Pin Count)总线连接到平台主板,提供与平台绑定的可信功能,只能为该平台服务。后来出现的基于特殊USB设备的可信平台模块虽然能够为多个桌面主机平台提供可信功能,但是其无法满足日益兴起的智能手机和平板电脑等移动设备的可信需求,本发明在移动设备上构建可信平台模块,只需要一个简单的软件更新(安装相关可信模块和驱动程序),就可以把可信计算应用到各种移动和嵌入式平台。而且,由于移动设备的便携性,通过简单方便的USB通信方式,也可以将移动设备上的可信平台模块功能供多个桌面主机使用。因此,本发明真正地实现了跨多种平台的便携式可信平台模块的需求,能够为各种应用(传统的桌面应用和新型的移动应用)提供安全和可信保障。
另一方面,传统可信安全芯片无法进行可信功能的配置和升级,也没有提供友好的用户界面接口。这些限制使得用户几乎无法感觉到可信计算的存在,一般用户基本很难学习并使用可信计算功能。本发明通过良好的软件架构设计,使得可信平台模块可以满足各种灵活的实验需求,如科研工作者可以测试新的可信功能,扩展新的可信计算命令和协议,使用新的密码算法,以促进可信计算的进一步发展;本发明也可以真正地让用户体验到可信计算,通过友好的用户界面,用户可以配置和尝试可信计算提供的各种命令和服务。
附图说明
图1是是本发明整体使用结构示意图;
图2是本发明灵活可配置的可信平台模块软件结构示意图;
图3是本发明中移动设备使用可信功能的流程示意图;
图4是本发明中桌面主机使用可信功能的流程示意图。
具体实施方式
以下结合附图对本发明的方法进行详细的描述。
本发明的方法主要是构建一个通用的可信平台模块,使得其能为用户的各种计算平台提供可信计算服务。如图1所示,将用户的计算平台分为两类:移动设备,包括智能手机、平板电脑和其他嵌入式设备;桌面机器,包括个人或者共用PC、笔记本电脑和大型服务器等。可信平台模块以软件的方式(C/C++代码)在移动设备上进行实现和部署,可信计算要求可信平台模块必须运行在隔离的执行环境里,即可信平台模块的代码和数据不受正常操作系统和其他应用程序的干扰,其基于的TCB应该尽可能的小,且保证TCB可信。为了保护可信平台模块的安全,其运行由嵌入式处理器提供的硬件安全扩展功能进行保护。由于大多数移动设备是基于ARM处理器的,本发明采用ARM提供的TrustZone安全扩展技术进行设计。ARMTrustZone安全扩展技术允许在同一个处理器核上运行两个环境:正常世界和安全世界。一个新的处理器模式,称为Monitor模式,可以支持在两个世界之间进行环境切换。使用TrustZone技术,正常的操作系统和其他应用程序运行在正常世界中,而一个小的安全内核和可信软件模块运行在隔离的安全世界中。ARM的硬件安全体系提供内存隔离、DMA保护和硬件中断隔离等安全特征,可以保护可信软件模块的代码完整性和数据机密性。
如图1所示,本发明的可信平台模块可以进一步通过USB通信的方式供桌面机器使用。对于桌面机器而言,本发明的移动设备就相当于一个便携式的外设可信平台模块。由于目前的智能手机等移动设备都拥有一个Mini USB接口(USB设备接口),通过USB数据连接线可以与桌面机器的通用USB接口相连。通过实现相应的USB驱动模块,可以将移动设备识别为桌面机器的一个可信平台模块外设。针对USB驱动模块,构建对应的上层应用库,可以基于USB通信实现可信命令请求和响应的传递,将可信平台模块的功能直接供桌面应用使用。因此,本发明采用这种USB的通信方式来构建一个基于移动设备的便携式可信平台模块。
为了构造一个灵活的可信平台模块,使得其容易配置和扩展,本发明采用通信和处理功能相隔离的方式构建了可信平台模块的软件体系,如图2所示。由以下几个功能模块构成:
1)可信服务进程主要实现通信功能,具体作用如下:
A、通过Unix Socket监听来自各种计算设备发出的可信命令请求,并将可信命令响应结果通过Unix Socket返回;
B、负责管理可信命令请求,监听到的命令按照先到先处理的方式进行管理;
C、负责解析和分发可信命令请求,解析命令主要是获取命令的类型和命令的参数信息,分发命令是根据命令的类型,将命令请求交给与类型匹配的可信功能模块进行处理。
2)可信模块库由多个可信功能模块组成,每个可信功能模块实现与实际标准相符的可信功能,包括密钥、数据和存储状态管理、可信命令执行、授权协议等良好定义的函数,每个可信功能模块负责调用这些函数处理与自己类型匹配的可信命令,并生成可信命令响应交给可信服务进程。可信模块库具有以下特征:
A、当新的可信计算标准生成时,可以根据新的标准增加新的可信功能模块,例如TCG组织的下一代TPM标准规范公开后,可以在可信模块库中设计和增加满足该规范的新一代TPM可信功能模块;
B、各个地区和组织,可以根据自己的实际需求,设计并增加新的可信功能模块,如在国内,可以设计和增加满足国家密码管理局标准规范的TCM可信功能模块;
C、对于每个可信功能模块,可以根据实验要求和实际需求,增加新的可信命令和授权协议;
D、对于每个可信功能模块,可以通过配置采用新的密码算法,如在TPM可信功能模块中,可以配置使用SHA512代替SHA1,采用ECC代替RSA算法等;
3)密码库实现为一个动态链接库,供可信服务进程和可信模块库调用,密码库应该满足如下特征:
A、支持各种密码算法,如为TPM可信功能模块提供支持的SHA1和RSA算法,为TCM可信功能模块提供支持的SM2、SM3和SMS4等密码算法;
B、可以基于各种开源的密码库进行构建,如Openssl密码库;
C、支持扩展并增加新的密码算法。
4)用户交互界面提供对可信平台模块进行状态查询、配置、和测试的窗口,构成如下:
A、状态查询窗口:查询PCR值、属主建立状态、激活状态、使能状态、PCR数量、NV空间规模、密码学算法参数、EK、SRK、已经加载的密钥等。查询界面使得用户可以随时了解可信平台模块的状态。
B、配置窗口:设置owner、重置owner、设置激活、设置使能、设置PCR、扩展PCR(命令调用);设置PCR数量、NV空间(可加载密钥数量)和密码学算法参数等;开启、关闭可信服务进程等。配置界面使得用户可以根据需要灵活设置可信平台模块。
C、测试窗口:提供密码学测试功能,为密码学功能提供标准代码,让编程人员随时验证可信密码功能的正确性。提供各种可信命令使用的方式,包括密钥生成、加解密、签名和验证、封装和解封装以及远程证明等命令,让用户能方便的感受到可信计算的作用。
为了让用户在移动设备上使用可信平台模块提供的可信功能,需要在安全世界和正常世界提供相应的驱动模块和软件库。如图3所示,正常世界的主要模块有位于内核的驱动模块和位于用户模式的可信设备驱动库和移动可信软件库,安全世界的主要模块包括位于内核的驱动模块和位于用户模式的可信设备驱动库。正常世界的移动应用使用安全世界可信平台模块的可信功能需要经过如下的步骤:
1)移动可信软件库为上层应用提供使用可信模块功能的标准接口,因此移动应用需要先调用移动可信软件库提供的API来发起一个可信命令请求。
2)可信设备驱动库提供与正常世界内核驱动模块进行通讯的方式,包含正常的读、写和I/O控制接口。并以类似TDDL设备接口规范的方式为移动可信软件库提供传送可信命令的I/O接口。因此,移动可信软件库需要通过可信设备驱动库提供的类TDDL接口函数,将可信命令请求传送到正常世界的内核模块。
3)正常世界的内核模块会调用ARM处理器提供的一个特殊指令即SMC指令,使得处理器保存正常世界的状态并进入特殊的Monitor模式;通过Monitor模式,处理器会恢复安全世界状态,将可信命令请求交给安全世界的内核驱动模块处理;
4)安全世界的内核模块驱动将接收到的可信命令请求转发给上层的可信设备驱动库;
5)安全世界的可信设备驱动库是建立可信服务进程与内核驱动通信的桥梁,其实现基本的读写和I/O控制接口,用于与内核驱动模块通信,并通过Unix Socket接口与可信服务进程通信。因此,可信设备驱动库将可信命令请求进一步转发给可信服务进程进行处理。
6)可信服务进程解析可信命令请求后,调用相应的可信功能模块和密码库处理该请求并生成可信命令响应。
7)可信命令响应会沿着可信请求到达路径的逆路径返回给正常世界的移动应用。
为了让用户在桌面机器上使用其随身携带的移动设备提供的可信平台模块功能,需要在移动设备和桌面主机之间建立USB连接。移动设备需要配备一个Mini USB接口,桌面主机需要一个通用(兼容USB 2.0)的USB接口。在USB硬件接口的基础上,需要通过合适的驱动和上层软件库来传送可信命令请求和响应。图4给出了各种需要的驱动设备和软件库,并用箭头标出了桌面应用使用可信平台模块功能的流程,具体包含如下步骤:
1)用户将自己的移动设备(如智能手机)切换到安全世界环境,并且开启可信服务进程;然后,用户用USB连接线将移动设备和桌面主机连接起来。
2)用户在移动设备端加载USB设备端驱动,并开启USB守护进程;并在桌面机器上安装USB主机端驱动,可信USB设备驱动库和桌面可信软件库。
注意,所述桌面可信软件库和移动可信软件库拥有完全相同的API接口,只是一个用于桌面x86平台环境,一个用于基于ARM处理器的移动平台环境。一般,同样的代码通过使用不同的编译器即可以分别构建这两个可信软件库。
所述可信USB设备驱动库,类似于移动设备正常世界的可信设备驱动库,提供与USB主机端驱动通信的接口(读写和I/O操作),并封装为与TDDL标准相符的方式供上层应用使用。
所述USB主机端驱动是标准的USB设备驱动程序,其能够识别移动设备端的Gadget驱动,并能通过USB连接线与移动设备端的Gadget驱动进行通信。
所述USB设备端驱动,一般实现为Gadget驱动,可以将移动设备呈现为需要的形式供主机使用。这里通过USB设备端驱动将移动设备呈现为主机的一个外设可信安全模块,并能完成基本的数据传出和传入操作。
所述USB守护进程一方面负责监听来自USB设备端驱动的可信请求,一方面将可信请求通过Unix Socket发送给可信服务进程进行处理。
当移动设备和桌面机器分别安装好必要的驱动模块和软件库后,桌面应用就可以按如下步骤使用可信平台模块的功能:
3)桌面应用通过桌面可信软件库提供的API调用可信命令,发起可信命令请求。
4)桌面可信软件库通过可信USB驱动库提供的I/O接口,将可信命令请求发送给USB主机端驱动。
5)USB主机端驱动通过USB连接线将可信命令请求进一步发送给移动设备的USB设备端驱动(Gadget驱动)。
6)USB守护进程会监听到USB设备端的可信命令请求,将其转发给可信服务进程;
7)可信服务进程解析可信命令请求,并发送给正确的可信功能模块,调用正确的密码库对命令进行处理,生成可信命令响应。
8)可信命令响应会沿着原路径的逆过程,通过USB通信的方式返回给主机端的桌面应用。这样,一个完整的主机可信功能请求就完成了。
Claims (10)
1.一种基于移动设备的可信模块,其特征在于包括一移动设备和一可信平台模块;所述移动设备上构建有安全世界和正常世界,所述可信平台模块部署在所述移动设备的安全世界;所述可信平台模块包括可信服务进程、可信模块库和密码库;其中:
可信服务进程负责监听并解析来自各种计算平台的可信命令请求,并根据可信命令的类型信息交给可信模块库中相应的可信功能模块进行处理;
可信模块库包括TPM、TCM、MTM多个可信功能模块,每个可信功能模块完成与各种选定安全芯片兼容的可信功能;可信模块库支持扩展和增加新的可信功能模块;
密码库包括RSA、SHA、SM系列多个密码算法,为可信模块库提供支撑的密码服务;密码库为TCM可信功能模块提供SM2、SM3和SMS4算法,密码库支持扩展并增加新的密码算法;
所述可信平台模块还包括一用户交互界面,用于为用户提供操作和管理可信平台模块的窗口,供用户查询可信平台模块的状态、配置其参数和测试其提供的可信功能;
所述可信服务进程、可信模块库、密码库和用户交互界面,四个模块相互分离,独立完成对应的功能。
2.如权利要求1所述的可信模块,其特征在于采用ARM TrustZone安全扩展技术在所述移动设备上构建所述安全世界和所述正常世界。
3.一种基于移动设备的可信模块可信服务方法,其步骤为:
1)在一移动设备上构建安全世界和正常世界,所述移动设备的安全世界内部署一安全内核和一可信平台模块;所述可信平台模块包括可信服务进程、可信模块库和密码库;所述可信平台模块还包括一用户交互界面,用于为用户提供操作和管理可信平台模块的窗口,供用户查询可信平台模块的状态、配置其参数和测试其提供的可信功能;
2)建立所述安全世界与计算平台之间的数据通信;
3)所述安全世界将所述计算平台的可信命令请求发送给所述可信平台模块;
4)所述可信平台模块的可信服务进程解析所述可信命令请求后,调用所述可信模块库中相应的可信功能模块和密码库处理该可信命令请求并生成可信命令响应;
5)所述可信平台模块将该可信命令响应沿该可信命令请求到达路径的逆路径返回给所述计算平台。
4.如权利要求3所述的方法,其特征在于所述计算平台通过一API接口向所述安全世界发送可信命令请求。
5.如权利要求4所述的方法,其特征在于所述计算平台为所述移动设备的正常世界,所述移动设备的正常世界通过所述API接口将所述可信命令请求发送给所述安全世界。
6.如权利要求5所述的方法,其特征在于通过所述安全世界将所述正常世界的可信命令请求发送给所述可信平台模块的方法为:
61)所述正常世界安装一内核模块和一与该内核模块交互的可信设备驱动库,所述安全世界安装一内核模块和相应的可信设备驱动库,使得所述正常世界和所述安全世界可以相互通信;
62)所述正常世界调用所述API接口,发起可信命令请求;
63)所述API接口调用所述正常世界的可信设备驱动库,将所述可信命令请求发送给所述正常世界的内核模块;
64)所述正常世界的内核模块调用SMC指令将所述可信命令请求发送给所述安全世界的内核模块;
65)所述安全世界的内核模块将所述可信命令请求转发给上层的可信设备驱动库;
66)所述安全世界的可信设备驱动库将所述可信命令请求转发给所述可信服务进程。
7.如权利要求4所述的方法,其特征在于所述计算平台为一台主机,所述主机与所述移动设备通过USB接口数据连接;所述API接口位于所述主机上,所述主机通过所述API接口向所述移动设备的安全世界发送可信命令请求。
8.如权利要求7所述的方法,其特征在于通过所述安全世界将所述主机的可信命令请求发送给所述可信平台模块的方法为:
81)所述移动设备端的安全世界安装一USB设备端驱动和一USB守护进程,所述主机端安装一USB主机端驱动和一可信USB设备驱动库,使得所述主机能够识别所述移动设备为一提供可信功能的硬件模块;
82)所述主机调用所述API接口,发起可信命令请求;
83)所述API接口调用所述可信USB设备驱动库,通过所述USB主机端驱动将所述可信命令请求发送给所述安全世界的USB设备端驱动;
84)所述安全世界的所述USB守护进程会监听到所述USB设备端驱动的所述可信命名请求,并发送给所述可信服务进程。
9.如权利要求8所述的方法,其特征在于所述主机端与所述移动设备端的正常世界分别具有一API接口,且所述主机端的所述API接口与所述移动设备端正常世界的所述API接口一致。
10.如权利要求3至9任一权利要求所述的方法,其特征在于采用ARM TrustZone安全扩展技术在所述移动设备上构建所述安全世界和所述正常世界;所述密码库实现为一个动态链接库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310072567.5A CN103150514B (zh) | 2013-03-07 | 2013-03-07 | 一种基于移动设备的可信模块及其可信服务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310072567.5A CN103150514B (zh) | 2013-03-07 | 2013-03-07 | 一种基于移动设备的可信模块及其可信服务方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150514A CN103150514A (zh) | 2013-06-12 |
CN103150514B true CN103150514B (zh) | 2015-09-09 |
Family
ID=48548586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310072567.5A Expired - Fee Related CN103150514B (zh) | 2013-03-07 | 2013-03-07 | 一种基于移动设备的可信模块及其可信服务方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150514B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252388B (zh) * | 2013-06-27 | 2018-10-23 | 中国银联股份有限公司 | 移动设备中的非可信环境与可信环境之间的切换 |
CN103942074A (zh) * | 2014-04-09 | 2014-07-23 | 华为技术有限公司 | 一种算法加载方法和装置 |
CN105446713B (zh) * | 2014-08-13 | 2019-04-26 | 阿里巴巴集团控股有限公司 | 安全存储方法及设备 |
CN104408371B (zh) * | 2014-10-14 | 2017-12-19 | 中国科学院信息工程研究所 | 一种基于可信执行环境高安全应用系统的实现方法 |
US9735968B2 (en) * | 2014-10-20 | 2017-08-15 | Microsoft Technology Licensing, Llc | Trust service for a client device |
US9444627B2 (en) * | 2014-12-24 | 2016-09-13 | Intel Corporation | System and method for providing global platform compliant trusted execution environment |
CN104598841B (zh) * | 2014-12-29 | 2017-11-28 | 东软集团股份有限公司 | 一种面向终端安全的双系统引导方法和装置 |
CN104765612B (zh) * | 2015-04-10 | 2018-05-08 | 武汉天喻信息产业股份有限公司 | 一种访问可信执行环境、可信应用的系统及方法 |
CN105138930A (zh) * | 2015-08-12 | 2015-12-09 | 山东超越数控电子有限公司 | 一种基于TrustZone的加密系统及方法 |
CN107533596B (zh) | 2015-08-19 | 2019-11-29 | 华为技术有限公司 | 指纹识别方法及移动终端 |
CN105045669A (zh) * | 2015-08-26 | 2015-11-11 | 北京元心科技有限公司 | 容器系统的管理服务方法以及智能终端 |
CN106656939A (zh) * | 2015-11-03 | 2017-05-10 | 华耀(中国)科技有限公司 | 国密ssl协议和标准ssl协议转发系统及方法 |
CN106127059B (zh) * | 2016-06-30 | 2019-03-29 | 中国船舶重工集团公司第七0九研究所 | 一种arm平台上可信密码模块的实现和服务方法 |
CN108090376B (zh) * | 2016-11-23 | 2021-01-12 | 厦门雅迅网络股份有限公司 | 基于TrustZone的CAN总线数据防护方法及系统 |
CN108205491B (zh) * | 2016-12-20 | 2021-02-09 | 中标软件有限公司 | 一种基于nkv6.0系统的可信技术兼容性测试方法 |
CN106815494B (zh) * | 2016-12-28 | 2020-02-07 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
CN106970678B (zh) * | 2017-03-10 | 2020-01-21 | 武汉融卡智能信息科技有限公司 | 一种tee下rpc机制下安全时钟的控制方法 |
CN109284603B (zh) * | 2017-07-20 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 一种配置数据处理方法、装置及存储介质 |
CN110008708A (zh) * | 2019-04-11 | 2019-07-12 | 北京可信华泰信息技术有限公司 | 一种主机与可信平台控制模块之间的通信方法及系统 |
US20230261875A1 (en) * | 2020-05-19 | 2023-08-17 | Mitsubishi Electric Corporation | Apparatus, network apparatus, and command execution method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582765A (zh) * | 2009-06-29 | 2009-11-18 | 北京交通大学 | 绑定用户的便携式可信移动装置 |
CN102054136A (zh) * | 2009-11-03 | 2011-05-11 | 联发科技股份有限公司 | 计算系统与计算方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8522018B2 (en) * | 2006-08-18 | 2013-08-27 | Fujitsu Limited | Method and system for implementing a mobile trusted platform module |
US8326266B2 (en) * | 2010-05-25 | 2012-12-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Redundant credentialed access to a secured network |
-
2013
- 2013-03-07 CN CN201310072567.5A patent/CN103150514B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582765A (zh) * | 2009-06-29 | 2009-11-18 | 北京交通大学 | 绑定用户的便携式可信移动装置 |
CN102054136A (zh) * | 2009-11-03 | 2011-05-11 | 联发科技股份有限公司 | 计算系统与计算方法 |
Non-Patent Citations (1)
Title |
---|
基于ARM TrustZone技术的移动可信平台;杜文银 等;《测控技术》;20091019;第28卷;第52-54页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103150514A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150514B (zh) | 一种基于移动设备的可信模块及其可信服务方法 | |
EP3582129B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
CN103748594B (zh) | 针对arm*trustzonetm实现的基于固件的可信平台模块 | |
CN104303190B (zh) | 用于提供对系统的地理保护的装置和方法 | |
CN105493097B (zh) | 用于远程存储的数据的保护方案 | |
TWI277904B (en) | Method, recording medium and system for protecting information | |
CN110785759B (zh) | 用于多核处理器的远程认证 | |
CN104081713B (zh) | 云计算环境中的服务器和客户机的远程信任认证和地理位置 | |
CN101238471B (zh) | 用于提供对音频i/o设备的独占安全访问的方法和系统 | |
CN105446713A (zh) | 安全存储方法及设备 | |
CN107851167A (zh) | 在计算环境中保护计算数据的技术 | |
CN107466464A (zh) | 输入验证 | |
CN107431621A (zh) | 采用输入标记的可信二进制的二进制转换 | |
CN103353931A (zh) | 安全增强型计算机系统和方法 | |
CN104541280A (zh) | 用于利用非易失性存储器装置的备选引导路径支持 | |
CN103917949A (zh) | 使用管理引擎的部件更新 | |
CN107667347A (zh) | 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 | |
CN101251879A (zh) | 用于保护数据的方法和装置 | |
US10523427B2 (en) | Systems and methods for management controller management of key encryption key | |
CN107592636A (zh) | 一种处理信息的方法、终端及服务器 | |
CN108701191A (zh) | 硬件完整性检查 | |
Rijswijk-Deij et al. | Using trusted execution environments in two-factor authentication: comparing approaches | |
EP3494482B1 (en) | Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor | |
CN104380301A (zh) | 管理分布式操作系统物理资源 | |
CN103959203A (zh) | 具有多个安全域的移动设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150909 |
|
CF01 | Termination of patent right due to non-payment of annual fee |