CN111859395B - 具备tee扩展的计算平台上的通信优化方法及系统 - Google Patents
具备tee扩展的计算平台上的通信优化方法及系统 Download PDFInfo
- Publication number
- CN111859395B CN111859395B CN202010706425.XA CN202010706425A CN111859395B CN 111859395 B CN111859395 B CN 111859395B CN 202010706425 A CN202010706425 A CN 202010706425A CN 111859395 B CN111859395 B CN 111859395B
- Authority
- CN
- China
- Prior art keywords
- application program
- tee
- shared memory
- ree
- mode
- 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.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004891 communication Methods 0.000 title claims abstract description 68
- 238000005457 optimization Methods 0.000 title claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000013175 transesophageal echocardiography Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 235000003642 hunger Nutrition 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000037351 starvation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种具备TEE扩展的计算平台上的通信优化方法及系统,本发明包括为普通应用程序CA、安全应用程序TA分配共享内存;普通应用程序CA调用安全应用程序TA并通过共享内存传递数据;在TEE系统中采用执行方式一、执行方式二两者之一执行安全应用程序TA;销毁为普通应用程序CA、安全应用程序TA分配的共享内存。执行方式一、执行方式二,提供两种TEE调用接口,分别通过选择屏蔽和不屏蔽来自REE中断请求,实现两种切换方式,能够满足可信执行环境的各项功能,根据实际需要,在程序执行过程中,综合考虑提升通信效率,解决通信安全性和多样性通信需求,还解决了REE应用程序“饿死”和共享内存分配不合理等问题。
Description
技术领域
本发明涉及计算机操作系统领域,具体涉及一种具备TEE扩展的计算平台上的通信优化方法及系统。
背景技术
TEE(Trusted Execution Environment)又称为可信执行环境,是同主机系统相隔离的安全区域。TEE技术通过对现有的CPU添加硬件扩展能力,基于软硬件结合的方式获得一个同主机环境相隔离的执行环境,并确保隔离环境中所加载的代码和数据的机密性和完整性,主机环境将作为REE(Rich Execution Environment)环境(通用计算环境)同TEE并发运行,并能利用安全通信机制获得TEE的服务。而硬件隔离机制保证TEE中的组件不受REE中所运行软件的影响。TEE的实现一般符合GlobalPlatform(GP)公司的TEE系统架构规范,这是为保护应用程序而提供的一系列功能,包括安全存储,安全内存和执行过程的私密性。
在有TEE扩展的程序中,应用程序划分为安全应用程序(TA)和普通应用程序(CA)两部分。TEE提供了授权安全软件(可信应用,TA)的安全执行环境,同时也保护TA的资源和数据的保密性,完整性和访问权限,在TEE中,每个TA是相互独立的,而且不能在未授权的情况下不能互相访问。CA运行在REE中,使用REE内核提供的服务来访问资源。
TEE和REE之间通过监控模式进行安全隔离,切换是通过调用特定接口实现的,一般称为SMC(Secure Monitor Call)调用服务。为了在隔离的基础上实现数据交换和通信,两者之间一般建立共享内存作为数据交换的媒介,通过将指令和数据放入共享内存中,再进行状态切换,完成数据交换和通信过程。
通过将操作系统的划分,重要敏感操作在TEE中实现,其他操作在REE中实现,提升了系统的安全性。但必须注意到的是,两者通信过程中,必然需要借用共享内存这个载体,也需要进行二者之间状态切换。因此共享内存和状态切换,影响了TEE和REE之间的通信过程。对于运行在REE和TEE中的CA和TA程序来说,在实际程序执行过程中,存在单次或多次调用TA、短时或长时调用TA、高优先或低优先级调用TA、需要大数据或小数据量调用TA等等多种多样调用情况。如何在多种多样的实际需求情况下,依然能够实现高效安全的通信过程,成为关注的重点。因此我们需要综合考虑各种问题,设计一种灵活多样的通信过程来满足需要。本发明重点关注了以下几个问题:1、TEE和REE之间切换方式对通信性能的影响。TEE和REE之间的通信是依靠两者之间切换来完成,二者之间切换需要进行状态保存和恢复等操作,带来较大时延,同时,过多的状态切换也引入了更多的通信过程需求和程序执行效率的降低。因此在TA执行过程中,尽可能的减少切换次数会提高程序执行效率,减少不必要的通信过程,对整个程序执行过程比较有利。具体来说执行TA时,可以通过屏蔽来自REE的中断请求来减少不必要的切换次数。但是屏蔽中断,也面临在REE中其他应用程序面临过长等待而“饿死”的情况,也不适应当前大数据量处理的需求,因此如何综合考虑屏蔽中断和优化通信过程成为需要关注的问题;2、TEE和REE之间的共享内存分配方案缺乏灵活性。共享内存是TEE和REE之间数据交换和通信过程的重要载体,共享内存大小和在程序运行过程中如何分配共享内存策略,影响了程序通信效率。一般情况下,共享内存在程序运行前分配完成并绑定到应用,当有其它应用执行时,需要释放前一个应用的共享内存并重新分配,因此多个应用的交叉运行时要会导致多次分配回收共享内存,从整个程序执行过程看,带来了多次的共享内存分配和回收的通信冗余;另一方面,共享内存分配的大小也影响执行效率。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种具备TEE扩展的计算平台上的通信优化方法及系统,本发明要解决的技术问题是在具备TEE扩展的计算平台上,针对现有REE-TEE通信的上述问题,关注于现实TA和CA之间通信需求,设计安全灵活的通信调用过程和通信媒介分配方式,优化通信方法,在整个程序执行过程中,提高程序通信效率。本发明能够满足可信执行环境的各项需求,根据实际需要,在程序执行过程中,综合考虑提升通信效率,解决通信安全性和多样性通信需求,还解决了REE应用程序“饿死”和共享内存分配不合理等问题。
为了解决上述技术问题,本发明采用的技术方案为:
一种具备TEE扩展的计算平台上的通信优化方法,实施步骤包括:
1)为普通应用程序CA、安全应用程序TA分配共享内存;
2)普通应用程序CA调用安全应用程序TA并通过共享内存传递数据;
3)在TEE系统中采用执行方式一、执行方式二两者之一执行安全应用程序TA;
执行方式一:CPU在调用安全应用程序TA整个过程中,屏蔽来自REE的中断请求,CPU直至运行完安全应用程序TA后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;
执行方式二:CPU在进入TEE系统并加载安全应用程序TA线程之前屏蔽来自REE中断请求,在开始执行安全应用程序TA后打开来自REE系统的中断请求;对于来自REE系统的中断请求,CPU暂停执行安全应用程序TA,将运行该安全应用程序TA的线程状态和TEE系统状态进行保存,切换到REE系统执行中断请求的响应,且在执行完毕后,重新恢复TEE系统状态、加载刚保存的安全应用程序TA线程继续运行安全应用程序TA,待所有安全应用程序TA执行完毕后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;
4)销毁为普通应用程序CA、安全应用程序TA分配的共享内存。
可选地,步骤1)为普通应用程序CA分配共享内存具体是指采用分配方式一、分配方式二两者之一;分配方式一:REE系统用户态下的普通应用程序CA在调用安全应用程序TA之前,不提前分配共享内存,调用安全应用程序TA过程中,指定需要的共享内存大小,由TEE系统自动临时注册分配所需共享内存;分配方式二:在REE系统用户态下的普通应用程序CA调用安全应用程序TA之前,用户根据安全应用程序TA需要提前注册共享内存,在注册分配共享内存后,为调用TEE服务和访问共享内存上锁,使得在销毁该共享内存前其他程序无法调用安全应用程序TA,也无法访问该共享内存。
可选地,步骤2)的详细步骤包括:将执行安全应用程序TA所需要的数据和参数加载进共享内存,调用TEE系统的接口继而通过调用SMC命令使系统由REE环境切换至TEE环境,TEE环境下的TEE系统自动查找空余线程,创建新线程,无法创建则返回REE系统中报错并退出;若创建成功后加载安全应用程序TA,则跳转执行步骤3)。
可选地,步骤3)中的执行方式一和执行方式二分别封装有不同的调用接口,且其选择是根据安全应用程序TA所选择的调用接口来进行选择的。
可选地,步骤4)销毁为普通应用程序CA分配的共享内存为销毁方式一、销毁方式二两者之一;
销毁方式一,对应分配方式一,在每轮通信结束时都会将共享内存中数据,拷贝到指定的数据区中,之后系统自动销毁共享内存,关闭之前的共享内存和释放调用TEE系统中服务的锁,以便其他程序可能在一次服务调用的过程中插入新的服务调用、TEE系统以嵌套方式提供服务;
销毁方式二,对应分配方式二,在单轮通信结束后仍继续保留共享内存并持有调用TEE系统中服务的锁,当整个服务调用全部完成后,由普通应用程序CA调用销毁共享内存服务接口,之后 TEE系统才会销毁共享内存后释放锁,此后其他程序才可以发起新的TEE系统中的服务调用。
此外,本发明还提供一种具备TEE扩展的计算平台上的通信优化系统,包括计算机设备,该计算机设备被编程或配置以执行所述具备TEE扩展的计算平台上的通信优化方法的步骤。
此外,本发明还提供一种具备TEE扩展的计算平台上的通信优化系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行所述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
此外,本发明还提供一种存储设备,该存储设备上存储有被编程或配置以执行所述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明在TEE系统中采用执行方式一、执行方式二两者之一执行安全应用程序TA;执行方式一:CPU在调用安全应用程序TA整个过程中,屏蔽来自REE的中断请求,CPU直至运行完安全应用程序TA后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;执行方式二:CPU在进入TEE系统并加载安全应用程序TA线程之前屏蔽来自REE中断请求,在开始执行安全应用程序TA后打开来自REE系统的中断请求;对于来自REE系统的中断请求,CPU暂停执行安全应用程序TA,将运行该安全应用程序TA的线程状态和TEE系统状态进行保存,切换到REE系统执行中断请求的响应,且在执行完毕后,重新恢复TEE系统状态、加载刚保存的安全应用程序TA线程继续运行安全应用程序TA,待所有安全应用程序TA执行完毕后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果。通过上述两种执行方式,在具备TEE扩展的计算平台上针对现有REE-TEE通信的上述问题,面向TA和CA之间通信需求实现了安全灵活的通信调用过程和通信媒介分配方式、优化了它们之间的通信方法,在整个程序执行过程中程序通信效率高,能够满足可信执行环境的各项需求,根据实际需要,在程序执行过程中,综合考虑提升通信效率,解决通信安全性和多样性通信需求,还解决了REE应用程序“饿死”和共享内存分配不合理等问题。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中CA和TA之间的通讯原理示意图。
具体实施方式
本发明是为具备TEE扩展的计算平台上,优化TEE和REE之间通信方法和系统,通过这个系统,可以为用户提供灵活高效的可信执行环境。本实施例的实现平台为拥有TrustZone支持的ARM平台,在TEE侧运行OPTEE系统并提供安全应用程序TA应用支持,在REE侧运行Linux操作系统。
如图1所示,本实施例具备TEE扩展的计算平台上的通信优化方法的实施步骤包括:
1)为普通应用程序CA、安全应用程序TA分配共享内存;
2)普通应用程序CA调用安全应用程序TA并通过共享内存传递数据;
3)在TEE系统中采用执行方式一、执行方式二两者之一执行安全应用程序TA;
执行方式一:CPU在调用安全应用程序TA整个过程中,屏蔽来自REE的中断请求,CPU直至运行完安全应用程序TA后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;
执行方式二:CPU在进入TEE系统并加载安全应用程序TA线程之前屏蔽来自REE中断请求,在开始执行安全应用程序TA后打开来自REE系统的中断请求;如图2中上侧箭头所示,对于来自REE系统的中断请求,CPU暂停执行安全应用程序TA,将运行该安全应用程序TA的线程状态和TEE系统状态进行保存,切换到REE系统执行中断请求的响应,且在执行完毕后,重新恢复TEE系统状态、加载刚保存的安全应用程序TA线程继续运行安全应用程序TA,待所有安全应用程序TA执行完毕后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;
4)销毁为普通应用程序CA、安全应用程序TA分配的共享内存。
作为一种优选的实施方式,为了提高通信的灵活性和安全性,本实施例中步骤1)为普通应用程序CA分配共享内存具体是指采用分配方式一、分配方式二两者之一;分配方式一:REE系统用户态下的普通应用程序CA在调用安全应用程序TA之前,不提前分配共享内存,调用安全应用程序TA过程中,指定需要的共享内存大小,由TEE系统自动临时注册分配所需共享内存;分配方式二:在REE系统用户态下的普通应用程序CA调用安全应用程序TA之前,用户根据安全应用程序TA需要提前注册共享内存,在注册分配共享内存后,为调用TEE服务和访问共享内存上锁,使得在销毁该共享内存前其他程序无法调用安全应用程序TA,也无法访问该共享内存。如图2中下侧箭头所示,其他普通应用程序CA(CA程序)发出的请求会无法访问该共享内存。
本实施例中,将分配方式一记为一次一用的分配方式,分配方式二记为一次多用的分配方式。一次一用是在普通应用程序CA调用安全应用程序TA服务时,不提前分配共享内存,由系统按照程序需求注册分配共享内存,在执行完安全应用程序TA后,系统自动将共享内存中数据拷贝到普通应用程序CA数据去,之后自动销毁该共享内存。这种方式,减少了普通应用程序CA的代码量,用户不需要过多关注共享内存的分配和回收,对于不需要多次调用安全应用程序TA的情况比较有效。而一次多用方式是在调用安全应用程序TA之前,用户根据安全应用程序TA需要,提前注册共享内存,在执行完安全应用程序TA后,用户自行选择是否销毁该共享内存。这种方式减少了调用多次安全应用程序TA中,重复注册分配和销毁共享内存的情况,也减少了共享内存中数据多次拷贝的情况,尤其适合在一个普通应用程序CA中,需要多次重复调用安全应用程序TA和大数据量处理的情况。一次多用内存分配使两次调用之间存在信息泄露的可能,因此会导致安全性的降低。为了保证共享内存中数据的安全性,在共享内存分配和回收整个过程中,增加了锁机制,在销毁该共享内存前,为调用TEE和访问共享内存上锁,使得其他程序无法调用TEE程序,也无法访问该共享内存,保证了数据的私密性和安全性。
本实施例中,步骤2)的详细步骤包括:将执行安全应用程序TA所需要的数据和参数加载进共享内存,调用TEE系统的接口继而通过调用SMC命令使系统由REE环境切换至TEE环境,TEE环境下的TEE系统自动查找空余线程,创建新线程,无法创建则返回REE系统中报错并退出;若创建成功后加载安全应用程序TA,则跳转执行步骤3)。
参见前文可知,步骤3)在TEE系统中采用执行方式一、执行方式二两者之一执行安全应用程序TA,因此可根据情况的不同适时采用两种TEE和REE切换方式之一,增强通信需求的针对性。本实施例中,步骤3)中的执行方式一和执行方式二分别封装有不同的调用接口,且其选择是根据安全应用程序TA所选择的调用接口来进行选择的。针对不同安全应用程序TA通信需求,提供两种TEE调用接口,分别通过选择屏蔽和不屏蔽来自REE中断请求,实现两种切换方式。
执行方式一对应第一种调用接口,具体来说,第一种调用接口实现是在调用安全应用程序TA整个过程中,屏蔽来自REE中断请求,在切换TEE处理完整个安全应用程序TA调用后返回REE的普通应用程序CA。这种方式减少了TEE和REE之间的切换次数,提高了通信效率,对于高优先级和实时性要求高的安全应用程序TA比较有效。
执行方式二对应第二种调用接口,第二种调用接口实现是在调用安全应用程序TA后,加载安全应用程序TA前屏蔽来自REE的中断请求,待加载安全应用程序TA完成后,TEE开启来自REE的中断响应。在执行安全应用程序TA过程中,遇到来自REE的中断请求,则保存当前运行状态,切换至REE中,响应该中断,结束后,又切换至TEE中,重新加载运行的安全应用程序TA然后继续运行,在整个安全应用程序TA最终完成后,返回REE的普通应用程序CA。这种方式在运行安全应用程序TA的过程中,兼顾了REE的中断需求,解决了REE端应用程序“饿死”情况,对于低优先级大数据量处理和实时性不高的安全应用程序TA比较有利。
本实施例中,步骤4)销毁为普通应用程序CA分配的共享内存为销毁方式一、销毁方式二两者之一;
销毁方式一,对应分配方式一,在每轮通信结束时都会将共享内存中数据,拷贝到指定的数据区中,之后系统自动销毁共享内存,关闭之前的共享内存和释放调用TEE系统中服务(OPTEE服务)的锁,以便其他程序可能在一次服务调用的过程中插入新的服务调用、TEE系统以嵌套方式提供服务;
销毁方式二,对应分配方式二,在单轮通信结束后仍继续保留共享内存并持有调用TEE系统中服务的锁,当整个服务调用全部完成后,由普通应用程序CA调用销毁共享内存服务接口,之后TEE系统才会销毁共享内存后释放锁,此后其他程序才可以发起新的TEE系统中的服务调用。
此外,本实施例还提供一种具备TEE扩展的计算平台上的通信优化系统,包括计算机设备,该计算机设备被编程或配置以执行前述具备TEE扩展的计算平台上的通信优化方法的步骤。
此外,本实施例还提供一种具备TEE扩展的计算平台上的通信优化系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行前述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
此外,本实施例还提供一种存储设备,该存储设备上存储有被编程或配置以执行前述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行前述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种具备TEE扩展的计算平台上的通信优化方法,其特征在于实施步骤包括:
1)为普通应用程序CA、安全应用程序TA分配共享内存;
2)普通应用程序CA调用安全应用程序TA并通过共享内存传递数据;
3)在TEE系统中采用执行方式一、执行方式二两者之一执行安全应用程序TA;
执行方式一:CPU在调用安全应用程序TA整个过程中,屏蔽来自REE的中断请求,CPU直至运行完安全应用程序TA后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;
执行方式二:CPU在进入TEE系统并加载安全应用程序TA线程之前屏蔽来自REE中断请求,在开始执行安全应用程序TA后打开来自REE系统的中断请求;对于来自REE系统的中断请求,CPU暂停执行安全应用程序TA,将运行该安全应用程序TA的线程状态和TEE系统状态进行保存,切换到REE系统执行中断请求的响应,且在执行完毕后,重新恢复TEE系统状态、加载刚保存的安全应用程序TA线程继续运行安全应用程序TA,待所有安全应用程序TA执行完毕后,切换至REE系统返回执行用户态下的普通应用程序CA,普通应用程序CA从共享内存中读取安全应用程序TA返回的执行结果;
4)销毁为普通应用程序CA、安全应用程序TA分配的共享内存。
2.根据权利要求1所述的具备TEE扩展的计算平台上的通信优化方法,其特征在于,步骤1)为普通应用程序CA分配共享内存具体是指采用分配方式一、分配方式二两者之一;分配方式一:REE系统用户态下的普通应用程序CA在调用安全应用程序TA之前,不提前分配共享内存,调用安全应用程序TA过程中,指定需要的共享内存大小,由TEE系统自动临时注册分配所需共享内存;分配方式二:在REE系统用户态下的普通应用程序CA调用安全应用程序TA之前,用户根据安全应用程序TA需要提前注册共享内存,在注册分配共享内存后,为调用TEE服务和访问共享内存上锁,使得在销毁该共享内存前其他程序无法调用安全应用程序TA,也无法访问该共享内存。
3.根据权利要求1所述的具备TEE扩展的计算平台上的通信优化方法,其特征在于,步骤2)的详细步骤包括:将执行安全应用程序TA所需要的数据和参数加载进共享内存,调用TEE系统的接口继而通过调用SMC命令使系统由REE环境切换至TEE环境,TEE环境下的TEE系统自动查找空余线程,创建新线程,无法创建则返回REE系统中报错并退出;若创建成功后加载安全应用程序TA,则跳转执行步骤3)。
4.根据权利要求1所述的具备TEE扩展的计算平台上的通信优化方法,其特征在于,步骤3)中的执行方式一和执行方式二分别封装有不同的调用接口,且其选择是根据安全应用程序TA所选择的调用接口来进行选择的。
5.根据权利要求2所述的具备TEE扩展的计算平台上的通信优化方法,其特征在于,步骤4)销毁为普通应用程序CA分配的共享内存为销毁方式一、销毁方式二两者之一;
销毁方式一,对应分配方式一,在每轮通信结束时都会将共享内存中数据,拷贝到指定的数据区中,之后系统自动销毁共享内存,关闭之前的共享内存和释放调用TEE系统中服务的锁,以便其他程序可能在一次服务调用的过程中插入新的服务调用、TEE系统以嵌套方式提供服务;
销毁方式二,对应分配方式二,在单轮通信结束后仍继续保留共享内存并持有调用TEE系统中服务的锁,当整个服务调用全部完成后,由普通应用程序CA调用销毁共享内存服务接口,之后TEE系统才会销毁共享内存后释放锁,此后其他程序才可以发起新的TEE系统中的服务调用。
6.一种具备TEE扩展的计算平台上的通信优化系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~5中任意一项所述具备TEE扩展的计算平台上的通信优化方法的步骤。
7.一种具备TEE扩展的计算平台上的通信优化系统,包括计算机设备,其特征在于,该计算机设备的存储器上存储有被编程或配置以执行权利要求1~5中任意一项所述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
8.一种存储设备,其特征在于,该存储设备上存储有被编程或配置以执行权利要求1~5中任意一项所述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行权利要求1~5中任意一项所述具备TEE扩展的计算平台上的通信优化方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010706425.XA CN111859395B (zh) | 2020-07-21 | 2020-07-21 | 具备tee扩展的计算平台上的通信优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010706425.XA CN111859395B (zh) | 2020-07-21 | 2020-07-21 | 具备tee扩展的计算平台上的通信优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859395A CN111859395A (zh) | 2020-10-30 |
CN111859395B true CN111859395B (zh) | 2024-03-26 |
Family
ID=73002252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010706425.XA Active CN111859395B (zh) | 2020-07-21 | 2020-07-21 | 具备tee扩展的计算平台上的通信优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859395B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231124B (zh) * | 2020-12-14 | 2021-03-19 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的应用间通信方法及装置 |
CN115509677A (zh) * | 2021-06-23 | 2022-12-23 | 华为技术有限公司 | 一种虚拟机与安全隔离区间的通信方法及相关装置 |
CN113486355B (zh) * | 2021-06-29 | 2023-03-14 | 北京紫光展锐通信技术有限公司 | 一种信息保存装置、方法、通信装置、芯片及其模组设备 |
CN115048642B (zh) * | 2021-11-29 | 2023-04-25 | 荣耀终端有限公司 | 多可信执行环境下可信应用间的通信方法及电子设备 |
CN117707799A (zh) * | 2022-09-07 | 2024-03-15 | 华为技术有限公司 | 数据处理方法、终端设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845285A (zh) * | 2016-12-28 | 2017-06-13 | 北京握奇智能科技有限公司 | 一种tee系统与ree系统配合以实现服务的方法及终端设备 |
KR20180102439A (ko) * | 2017-03-07 | 2018-09-17 | 한국과학기술원 | 범용성 및 트러스트존 기능 연동을 보장하는 모바일 기기상의 안전한 실행 환경 생성 방법 및 장치 |
CN111414626A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 基于tee扩展的实时性保证方法及系统 |
CN111414246A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 具备tee扩展的计算平台上的跨安全世界实时功能调用方法及装置 |
CN111431718A (zh) * | 2020-04-01 | 2020-07-17 | 中国人民解放军国防科技大学 | 基于tee扩展的计算机通用安全加密转换层方法及系统 |
-
2020
- 2020-07-21 CN CN202010706425.XA patent/CN111859395B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845285A (zh) * | 2016-12-28 | 2017-06-13 | 北京握奇智能科技有限公司 | 一种tee系统与ree系统配合以实现服务的方法及终端设备 |
KR20180102439A (ko) * | 2017-03-07 | 2018-09-17 | 한국과학기술원 | 범용성 및 트러스트존 기능 연동을 보장하는 모바일 기기상의 안전한 실행 환경 생성 방법 및 장치 |
CN111414626A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 基于tee扩展的实时性保证方法及系统 |
CN111414246A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 具备tee扩展的计算平台上的跨安全世界实时功能调用方法及装置 |
CN111431718A (zh) * | 2020-04-01 | 2020-07-17 | 中国人民解放军国防科技大学 | 基于tee扩展的计算机通用安全加密转换层方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于可信执行环境的安全手机架构研究;杨穗珊;;移动通信(第21期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111859395A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111859395B (zh) | 具备tee扩展的计算平台上的通信优化方法及系统 | |
CN109086100B (zh) | 一种高安全可信移动终端安全体系架构及安全服务方法 | |
JP5006366B2 (ja) | デバイスの動作モード間の移行を提供するシステム | |
US7788669B2 (en) | System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory | |
RU2313126C2 (ru) | Система и способ для защиты от недоверенного кода режима управления с системой с помощью переадресации прерывания режима управления системой и создания контейнера виртуальной машины | |
US20200143041A1 (en) | Hybrid trust execution environment based android security framework, android device equipped with the same and method of executing trust service in android device | |
JP2007220086A (ja) | 入出力制御装置、入出力制御システム及び入出力制御方法 | |
US8984659B2 (en) | Dual trust architecture | |
CN112446032B (zh) | 可信执行环境构建方法、系统及存储介质 | |
US20140250540A1 (en) | Dynamic resource sharing | |
CN112817780B (zh) | 一种实现安全与高性能进程间通信的方法和系统 | |
JP2010113488A (ja) | オペレーティングシステムおよび情報処理装置 | |
CN110971591A (zh) | 一种多进程访问可信应用的方法和系统 | |
Gold et al. | KVM/370 in retrospect | |
CN111949596A (zh) | 基于mpk技术的微内核模块间通讯方法、系统及介质 | |
CN110276214A (zh) | 一种基于从机访问保护的双核可信soc架构及方法 | |
US5742826A (en) | Object encapsulation protection apparatus | |
CN102737198A (zh) | 对象保护方法及装置 | |
US11216372B2 (en) | Execution manager for binary objects operating across private address spaces | |
CN114579313B (zh) | 一种面向多安全域架构的安全域快速建立方法 | |
CN117272412B (zh) | 中断控制寄存器保护方法、装置、计算机设备及存储介质 | |
CN113420287B (zh) | 一种抵御基于高速缓存的侧信道攻击的方法 | |
CN116522323B (zh) | 一种基于命名空间的容器消息队列读写管理方法 | |
CN117272287B (zh) | 一种应用程序数据重定向方法及系统、存储介质 | |
CN113609494B (zh) | 适用于高性能场景下可信计算的软硬件系统及架构方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |