CN104620253A - 用于维持安全时间的方法和设备 - Google Patents
用于维持安全时间的方法和设备 Download PDFInfo
- Publication number
- CN104620253A CN104620253A CN201380047121.5A CN201380047121A CN104620253A CN 104620253 A CN104620253 A CN 104620253A CN 201380047121 A CN201380047121 A CN 201380047121A CN 104620253 A CN104620253 A CN 104620253A
- Authority
- CN
- China
- Prior art keywords
- time
- rtc
- tee
- duration
- current
- 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.)
- Granted
Links
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
- G06F21/725—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
公开了一种维持计算装置的安全时间的示例性方法,其中,一个或多个处理器实现富执行环境(REE)和独立的可信执行环境(TEE)。所述TEE维持实时时钟(RTC),实时时钟提供RTC时间给所述REE。RTC偏移被存储在非易失性存储器中,其中,所述RTC偏移指示RTC时间和受保护的基准(PR)时间之间的差值。响应于来自所述REE的用于读取RTC时间的请求,当前RTC时间被返回至REE。响应于来自所述REE的用于调节RTC时间的请求,以相同的量调节RTC时间和相应的RTC偏移,使得所述PR时间不被RTC调节所改变。还公开了可操作以执行所述方法的示例性计算装置。
Description
技术领域
本发明总体涉及安全时间,更具体地涉及一种用于维持计算装置中的安全时间的方法和设备,在所述计算装置中,一个或多个处理器实现富执行环境(RichExecution Environment,REE)和独立的可信执行环境(Trusted ExecutionEnvironment,TEE)。
背景技术
可信执行环境(TEE)是敏感代码能够独立于所谓的“富OS”(例如Linux、Windows)而实现的环境。在一些基于ARM的移动装置中,TEE基于ARMTRUSTZONE(ARM信任区)技术而实现,该技术是允许在相同的物理CPU上安全敏感代码独立于其他不太安全的敏感代码而实现的基于硬件的技术(“TRUSTZONE”是ARM公司的注册商标)。这通过具有指示CPU是在所谓的“安全模式”下执行还是在“正常模式”下执行的状态的CPU而实现。该状态在总线上被传播给存储器以及其他的硬件块。具有利用该状态的能力的硬件被称作“信任区感知(TRUSTZONE aware)”。通过这样的事实实现分离:安全从设备(slave),例如安全存储器,只能够通过在安全模式下的安全主设备(master)(例如DMA,Direct Memory Access,直接存储器访问)或者在安全模式执行的CPU进行访问。存在用于在两个模式之间转换的特殊的CPU指令,其触发被称作“监控器”的用于转换的代码所位于的某个地址的一个例外。存在被称作安全监控模式的特殊的CPU模式,在该安全监控模式下可以进行转换。
在TEE内执行的应用程序被称作受信任的应用程序(Trusted Application,TA)。受信任的应用程序的功能(例如服务)能够从富OS应用程序调用。在图1的计算装置10中示出允许这样的TEE框架,其包括分开的富执行环境(REE)12和可信执行环境(TEE)14。TEE客户端API 30被富OS(即REE 12)调用以访问受信任的应用程序服务。TEE驱动器28、监控器32和TEE核48参与调用TEE内的正确服务。受信任的应用程序44能够借助TEE内部API 46从TEE核48调用服务。这种服务的例子为加密服务、存储管理服务、和安全时间服务。还存在TEE恳求端(supplicant)36,该TEE恳求端36是向TEE核48提供REE服务的富REE 12中的后台程序,例如非易失性存储器。
TEE客户端API和TEE内部API在全球平台内被标准化(参见“全球平台TEE客户端API V1.0(Global Platform TEE Client API V1.0)”和“全球平台TEE内部API V1.0(Global Platform TEE Internal API V1.0)”,该两种都能够在http://www.globalplatform.org/上获得)。对于安全时间,TEE内部API 46包含用于处理受信任的应用程序44持续时间的函数。存在允许受信任的应用程序44设定(即存储)其自己的时间基准(“TA持续时间”)的一个函数和可被调用以得到TA的当前时间的另一函数。利用安全时间的受信任的应用程序的例子为数字版权管理(Digital Rights Management,DRM)TA,其需要跟踪用于评估DRM许可证是否期满的时间基准。当下载DRM许可证时,该时间基准可以以安全的方式从许可证服务器获得。
对于已经存储时间基准的每个TA,TEE 14负责跟踪TA持续时间、TA持续时间的已经存储的时间基准,并且检测任何篡改TA持续时间的企图。为了实现最高的保护水平,TEE规范授权TA持续时间基于TEE-控制的实时时钟以及TEE控制的安全存储器。实时时钟必须在来自REE 12的软件攻击之外。
一个已知的用于DRM的安全时间解决方案将安全时间存储为关于系统实时时钟的时间偏移。通过读取实时时钟以及根据所存储的偏移进行补偿,而获得安全时间。无论何时对系统的RTC进行改变,偏移量也相应地改变,以保持安全时间不变。该解决方案用在封闭的OS产品中,在该封闭的OS产品中,不使用TEE且全部代码进行数字标记、执行前验证、以及被信任以不对实时时钟或者偏移量造成非授权的改变。使用芯片个人密钥对偏移量进行完整性保护且存储在非易失性存储器中。
然而,该解决方案不足以用于通过TEE安全时间来操控的安全时间。对于如今的基于Linux/Android的产品,例如,其中,或多或少的全部装置模型能够得以支持,上述解决方案不适用。Linux/Android不能够控制实时时钟,因为Linux/Android不能够被信任而被装置用户非法闯入,以操控时间。
另一已知的解决方案实施硬件(HW)支持以防止黑客使时钟倒退。在该解决方案中,为了将时钟倒退至比目前的值更小的值,需要使用通常仅仅在OEM顾客服务中心能够获得的私人密钥(RSA)来标记该值。装置硬件包含验证所标记的值需要的相对应的公开密钥。只有小于实时时钟的当前值的被成功验证的值被硬件认可。然而,该解决方案也是不充分的。尽管其保护免受实时时钟的未授权回退,但是其非常不灵活且在不转向服务中心的情况下,对用户自身可在其装置上设定什么时间进行限制。因此,该解决方案也未阻止实时时钟的未授权增加。
用以实现由TEE控制、不能够被REE 12操控的安全时间的直截了当的解决方案将具有两个实时时钟:一个实时时钟用于TEE的“安全模式”用于安全时间,另一个实时时钟用于“正常模式”以存储用户控制的时间。然而,该选择在硅空间方面是昂贵的。
发明内容
公开了维持计算装置中的安全时间的示例性方法,其中,一个或多个处理器实现富执行环境(REE)、以及独立的可信执行环境(TEE)。根据所述方法,TEE维持实时时钟(RTC),实时时钟向REE提供RTC时间。RTC偏移被存储在非易失性存储器中,其中RTC偏移表示RTC时间和被保护的基准(PR)时间之间的差值。响应于来自REE的读取RTC时间的请求,当前RTC时间被返回到REE。响应于来自REE的调节RTC时间的请求,以相同的量调节RTC时间和相对应的RTC偏移,使得PR时间未被RTC调节而改变。
在一个实施方式中,当每次使用来自TEE的PR时间以及每次调整RTC时间时,当前PR时间被存储在非易失性存储器中。在该实施方式中,当重新启动实现TEE的处理器时,执行下面的步骤:读取当前RTC时间、存储的PR时间以及来自非易失性存储器的被存储的RTC偏移;通过将被存储的RTC偏移与当前RTC时间相加来计算当前PR时间;比较当前PR时间和存储的PR时间;和,如果当前PR时间小于存储的PR时间,则调节RTC偏移等于零,使得RTC时间和PR时间相同。如果当前PR时间小于存储的PR时间,则可确定PR时间已经被篡改。
在一个实施方式中,非易失性存储器可包括作为更大存储器单元的一部分的重放保护内存块(RPMB)。在该实施方式中,RPMB基于RPMB和TEE之间的共享的密钥支持已认证的读写操作,使得仅仅TEE能够变更RPMB的内容,且使得TEE能够验证从RPMB读取的数据的真实性。在该实施方式中,REE向TEE提供用于发送已认证的读写请求给RPMB的服务。在另一实施方式中,非易失性存储器包括仅仅受到TEE控制的电可擦除可编程只读存储器(EEPROM)单元。
还可支持各种受信任的应用程序(TA)特征。例如,在一个实施方式中,在TEE内,从在TEE中执行的TA接收用于设定用于TA的持续时间的请求。基于当前RTC时间和存储的RTC偏移确定当前PR时间。当前PR时间和被请求的持续时间之间的差值被确定为用于TA的持续时间偏移,并且用于TA的持续时间偏移和持续时间标识符被存储在非易失性存储器中。多个TA中的各个TA可被允许将其本身的持续时间偏移存储在非易失性存储器中,并且可基于相同的RTC偏移确定多个TA中的各个TA的持续时间偏移。
在一个示例性实施方式中,当在TEE内接收来自TA的对于其持续时间的请求时,从非易失性存储器中检索到TA的持续时间偏移,并且确定所检索到的持续时间偏移的有效性。响应于确定所检索到的持续时间偏移是有效的,执行下面的步骤:基于持续时间偏移和当前PR时间确定持续时间,所述当前PR时间是根据当前RTC时间和被存储的RTC偏移计算的;以及,将持续时间发送给TA。响应于确定所检索到的持续时间偏移是无效的,将指示TA持续时间已经被篡改的错误返回至TA。通过比较存储的RTC计数器和当前RTC计数器可确定所检索到的持续时间的有效性。
还公开了示例性的安全时间计算装置。计算装置既提供可信执行环境(TEE)又提供独立的富执行环境(REE),且包含包括第一处理器的TEE电路和包括同一处理器或者另一处理器的REE电路。TEE电路被配置成:实现TEE且配置成用于维持TEE内的实时时钟(RTC),其中RTC提供RTC时间给REE;以及配置成将RTC偏移存储在非易失性存储器中,其中RTC偏移表示RTC时间和被保护的基准(PR)时间之间的差值。REE电路被配置成实现REE且配置成使用RTC作为其时钟。TEE电路还被配置成:基于TEE接收来自REE的用于读取RTC时间的请求,返回当前RTC时间;和,基于TEE从REE接收用于调节RTC时间的请求,以相同的量调节RTC时间和相对应的RTC偏移,使得PR时间通过RTC调节未改变。
在一个示例性实施方式中,TEE电路还被配置成当每次使用来自TEE的PR时间以及每次调节RTC时间时,将当前PR时间存储在非易失性存储器中。然后,当重新启动实现TEE的处理器时,TEE电路被配置成从非易失性存储器读取当前RTC时间、存储的PR时间、以及存储的RTC偏移,以及通过将存储的RTC偏移与当前的RTC时间相加来计算当前PR时间。TEE电路比较当前PR时间和所存储的PR时间,且如果当前PR时间小于所存储的PR时间,则调节RTC偏移等于零,使得RTC时间和PR时间相同。TEE电路还可被配置成:如果当前PR时间小于所存储的PR时间,则确定PR时间已经被篡改。
在一个实施方式中,非易失性存储器可包括作为更大存储器单元的一部分的重放保护内存块(RPMB)。在该实施方式中,基于RPMB和TEE之间的共享的密钥,RPMB支持已认证的读写操作,使得仅仅TEE能够变更RPMB的内容,以及使得TEE能够验证从RPMB读取的数据的真实性。在该实施方式中,REE向TEE提供用于将已认证的读写请求发送给RPMB的服务。在另一实施方式中,非易失性存储器包括仅仅受到TEE控制的电可擦除可编程只读存储器(EEPROM)单元。
根据一个示例性实施方式,TEE电路和REE电路通过利用ARMTRUSTZONE技术的单个处理器来实现,其中,借助总线,所述处理器的信任区(TRUSTZONE)安全状态在计算装置内进行内部传播,用于每次访问存储器和包括RTC的外围设备。在该实施方式中,基于安全状态,在存储器和属于TEE的外围设备中或者在存储器和属于TEE的外围设备之前,进行访问的地址过滤。在同一或另一实施方式中,TEE电路和REE电路通过单个处理器实现,其中,TEE电路和REE电路都通过单个处理器被实现作为虚拟机,RTC在TEE虚拟机的控制下。在另一实施方式中,TEE电路包括第一处理器且REE电路包括不同的第二处理器。
计算装置还可支持各种受信任的应用程序(TA)特征。例如,在一个实施方式中,TEE电路还被配置成接收来自在TEE中执行的TA的设定对于TA的持续时间的请求。基于该请求,TEE电路根据当前RTC时间和存储的RTC偏移确定当前PR时间,确定当前PR时间和所请求的持续时间之间的差值为用于TA的持续时间偏移,和将用于TA的所述持续时间偏移和持续时间标识符存储非易失性存储器中。多个TA中的每一个TA可被允许将其自身的持续时间偏移存储在非易失性存储器中,且多个TA中的每一个TA的持续时间偏移可基于相同的RTC偏移来确定。
TEE电路还可被配置成接收来自TA的对于其持续时间的请求。TEE电路从非易失性存储器中检索对于TA的持续时间偏移,且确定所检索的持续时间偏移的有效性。响应于确定所检索的持续时间偏移是有效的,TEE电路被配置成基于持续时间偏移和从当前RTC时间和所存储的RTC偏移计算的当前PR时间确定持续时间,且将该持续时间发送给TA。响应于确定所检索的持续时间偏移是无效的,TEE电路被配置成将指示TA持续时间被篡改的错误返回至TA。所检索的持续时间的有效性可通过将存储的RTC计数器和当前RTC计数器相比较而确定。
当然,本发明不限于上述的特征和优点。事实上,本领域技术人员当阅读下文的详细描述且查看附图时将意识到其他的特征和优点。
附图说明
图1示出现有技术中的TEE架构。
图2示出实现分离的富执行环境(REE)和可信执行环境(TEE)的安全时间计算装置的软件配置。
图3示出图2的计算装置的第一示例性硬件配置。
图4示出图2的计算装置的第二示例性硬件配置。
图5示出图2的计算装置的第三示例性硬件配置,其中利用TRUSTZONE技术。
图6示出维持安全时间的示例性方法。
图7为示出受保护的基准时间验证的调用流程图。
图8为示出RTC更新的调用流程图。
图9为示出TA持续时间的设置的调用流程图。
图10为示出用于将TA持续时间提供给其对应的TA的步骤的调用流程图。
具体实施方式
图2示出用于安全时间计算装置10的示例性软件配置,在该安全时间计算装置中,一个或多个处理器实现富执行环境(REE)12和独立的可信执行环境(TEE)14。TEE 14通过相关联的RTC硬件(HW)74、84(参见图3-图5)维持实时时钟(RTC),该RTC硬件提供RTC时间给REE 12。即,RTC HW受TEE 14控制,且在TEE核48内,TEE 14提供用于从RTC HW获取RTC时间以及将该RTC时间设置给RTC HW的功能。在这点上,RTC HW可被认为是“受信任的”外围设备。
指示RTC时间和受保护的基准(protected reference,PR)时间之间的差异的RTC偏移被存储在非易失性存储器(参见,例如图3的EEPROM 78和图4的eMMC 66)中。响应于来自REE 12的用于读取RTC时间的请求,当前RTC时间被返回至REE 12。响应于来自REE 12的用于调整RTC时间的请求,RTC时间和相应的RTC偏移被调整相同的量,使得进行RTC调整未改变PR时间。因此,计算装置使用一个公共RTC硬件块(参见图3-图5中的RTC 74、RTC 84)来执行PR时间和RTC时间。
计算装置10允许REE 12自由地反复地改变RTC,但始终维持PR时间作为偏移,使得可检测到篡改。因此,REE 12不可能成功地改变TEE 14的PR时间,因为PR时间被保护而免受来自REE 12的软件攻击。该篡改保护在下文将更为详细地论述。有利地,单个的硬件RTC 74、硬件RTC 84(参见图3-图5)被利用以提供RTC,使得不需要在计算装置10内实现两个单独的时钟,这减少了计算装置10的硬件需求,同时仍提供安全时间。RTC偏移(以及当前的PR时间)被存储在非易失性存储器中,这些值可使用芯片个性密钥,且可选地也使用重发保护,被完整性保护。
REE 12包括用户空间20和内核22。类似地,TEE 14也包括用户空间40和内核42。在一个示例中,REE对应于基于Windows的操作系统或者基于Linux的操作系统。内核22、内核42分别用作应用程序和在硬件级别进行的实际数据处理之间的桥梁。应用程序在用户空间20、用户空间40中执行。在REE的用户空间20中,客户端应用程序24A-24B中的一者或两者被执行,在TEE的用户空间40中,受信任的应用程序(TA)44被执行。尽管阐述了两个客户端应用程序24A-24B,但是应理解到,这些多个客户端应用程序24被示出以说明访问TEE的各个方式,还应当理解到,可利用单个的客户端应用程序24。受信任的应用程序和客户端应用程序可以是相关的。例如,客户端应用程序24可被配置成利用HTTPS协议以下载许可文件,且TA 44可包括数字版权管理(DRM)代理,该数字版权管理(DRM)代理确认下载的许可文件有效。
REE内核22提供RTC核26和TEE驱动器28,且TEE内核42提供TEE核48。如图1所示,TA 44使用TEE内部API 46与TEE核48相互作用。在来自http://www.globalplatform.org的“TEE内部API规范V1.0”中可得到更多的关于TEE内部API 46的信息。如图2所示,监控器32用作TEE驱动器28和TEE核48之间的桥梁,且可促进TRUSTZONE(信任区)-启用的CPU从“正常模式”转变至“安全模式”(参见,图5的CPU 80)。
现参照REE 12,TEE驱动器28通过RTC核26或TEE客户端API 30而为客户端应用程序24提供了对TEE 14的访问。RTC核26提供用于客户端应用程序的接口以获得或者设定RTC时间(通过TEE核48而执行所述获得或所述设定)。TEE客户端API 30提供用于客户端应用程序24的更为通用的接口以访问任何受信任的应用程序功能,而不是TEE核48本身。在来自http://www.globalplatform.org的“TEE客户端API规范V1.0”中,可发现更多关于TEE客户端API的信息。在一个示例中,RTC核对应于标准的Linux内核驱动器。可选地,用户空间20还可包括重放保护内存块(Replay Protected MemoryBlock,RPMB)驱动器34和TEE恳求端36(如果RPMB特征被利用)。共同地,RPMB驱动器34和TEE恳求端36用于存储和检索来自RPMB的值(参见图4)。如上所述,TEE恳求端36为提供REE存储服务的守护进程。
图3示出用于图2的计算装置10的第一示例性硬件配置。在图3的示例中,REE 12包括中央处理单元(CPU)60、随机存取存储器62和闪速存储器64(统称为“REE电路”)。RAM 62用于开始REE 12中的客户端应用程序24。TEE 14包括CPU 70、RAM 72、RTC 74、加密电路76和仅仅可受到TEE 14控制的非易失性电可擦除可编程只读存储器(EEPROM)78(统称为“TEE电路”)。当然,尽管示出了EEPROM 78,但是应理解到,这仅仅是非限定性示例,应理解到,其他类型的非易失性存储器可用在TEE 14中。在图3的实施方式中,时间值,诸如RTC偏移、以及先前的RTC时间值和PR时间值,被存储在EEPROM78中。RTC 74提供RTC时间给REE 12和TEE 14两者。
RTC 74可通过计算装置10的主电池(未示出)进行供电,使得即使计算装置10断电时,RTC 74也能够保持其时间。备用电池或者电容器(也未示出)可与主电池组合使用,以便即使主电池完全耗尽时也能够为RTC 74供电一些额外时间(例如,大约几天)。例如,加密电路76可包括用于存储对TEE 14可唯一的个性密钥的一次性可编程(one-time programmable,OTP)存储器。RAM 72用于开始受信任的应用程序(TA)44。在一个示例中,RAM 72为或者包括嵌入式静态RAM(eSRAM)。如图3中所示,分离的CPU 60、CPU 70被采用以实现REE 12和TEE 14。
图4示出用于计算装置10的另一示例性硬件配置,其中,分离的CPU 60、CPU 70也被采用以实现REE 12和TEE 14,但是其中,上文所述的时间值(RTC偏移、以及先前的RTC时间和PR时间)被存储在REE 12中,而不是TEE 14中。在该实施方式中,REE 12包括嵌入式多媒体卡(eMMC)66形式的非易失性存储器,嵌入式多媒体卡(eMMC)66包括重放保护内存块(RPMB)68。RPMB 68基于在RPMB 68和TEE 14之间共享的密钥支持已认证的读写操作,使得仅有TEE 14能够改变RPMB 68的内容、以及使得TEE 14能够验证从RPMB68读取的数据的真实性。在该实施方式中,REE 12向TEE 14提供用以发送已认证的读写请求至RPMB 68的服务。共享的密钥可被存储在加密引擎76中,或者可获自存储在加密引擎76中的个性密钥(例如,对于计算装置10唯一的密钥)。在一个示例中,加密引擎76包括用以存储个性密钥的OTP存储器。通过使用该共享密钥,TEE 14可执行已认证的且完整性保护的数据写入RPMB 68分区以及从RPMB 68分区读取数据。即,数据的任何读取和写入不能够被REE12控制。在一个示例中,RMPB完整性保护可利用HMAC SHA-256散列法。在该实施方式中,“REE电路”包括项60、项62、项66和项68,而“TEE电路”包括项70、项72、项74、项76。
因此,在一个或多个实施方式中,非易失性存储器可包括作为更大存储器单元66的一部分的重放保护内存块(RPMB)68。在此类实施方式中,RPMB 68基于RPMB 68和TEE 14之间共享的密钥支持已认证的读写操作,使得只有TEE14能够修改RPMB 68的内容,以及使得TEE 14能够验证从RPMB 68读取的数据的真实性。在此类实施方式中,REE 12向TEE 14提供用以发送已验证的读写请求至RPMB 68(例如,借助RPMB驱动器34和TEE恳求端36)的服务。
图5示出了用于计算装置10的另一示例性硬件配置,其中,单个处理器被使用,该单个处理器利用信任区(TRUSTZONE)技术。在该实施方式中,只有RTC 84和加密引擎86被包括在TEE电路中;只有RPMB 90被包括在REE电路中;且CPU 80、RAM 82、地址过滤电路92和eMMC 88在TEE电路和REE电路之间共用。如图5所示,计算装置包括单CPU 80、以及RAM 82、RTC 84和加密引擎86。计算装置还包括eMMC 88,eMMC 88包括重放保护内存块(RPMB)90以基于在RPMB 90和加密引擎86之间共享的密钥支持已认证的读写操作。以与图3-图4的实施方式相类似的方式,共享密钥可被存储在加密引擎86中、或者可获自存储在加密引擎86中的另一密钥。
在较大的RAM 82(可通过REE 12和TEE 14访问)内,存在较小的RAM部分83,RAM部分83仅仅可通过TEE 14进行访问。计算装置使用TRUSTZONE地址过滤电路92A-92C,以便RAM部分83、RTC 84和加密引擎86仅仅在TEE14中可访问(TEE 14在所谓的“安全模式”下执行)。在一个示例中,RAM 82(或者至少RAM部分83)为或者包括嵌入式SRAM(eSRAM)。在此类TRUSTZONE实施方式中,实现REE 12和TEE 14的电路通过利用ARMTRUSTZONE技术的单个处理器80来实现,其中,处理器80的TRUSTZONE安全状态在计算装置10内通过总线在内部传播,以分别访问RAM 82和受信任的外围设备(例如,RTC 84和加密引擎86)。在该实施方式中,基于安全状态,在存储器82和属于TEE 14的外围设备中或者在存储器82和属于TEE 14的外围设备之前进行访问过滤。在相同的或者另外的实施方式中,TEE和REE通过单个处理器来实施为虚拟机,其中RTC受到TEE虚拟机的控制。
共同地参照图3-图5,分别在这些实施方式中,“REE电路”包括REE CPU(例如CPU 60或者CPU 80),“TEE电路”包括TEE CPU(例如CPU 70或者CPU 80),所述REE CPU和TEE CPU被配置成执行下文所述的方法。在图5的单个CPU 80中,可能的是,REE电路和TEE电路可对应于CPU 80的不同部分,或者REE电路和TEE电路可对应于CPU 80的相同部分。在每种情况(单处理器或多处理器)下,TEE电路被配置成:维持TEE中的实时时钟(RTC),其中RTC提供RTC时间给REE;且将RTC偏移存储在非易失性存储器中,RTC偏移指示RTC时间和受保护的基准(PR)时间之间的差异。REE电路被配置成利用RTC作为其时钟。TEE电路也被配置成:基于TEE接收来自REE的用于读取RTC时间的请求,返回当前RTC时间;以及,基于TEE接收来自REE的调节RTC时间的请求,以相同的量调节RTC时间和对应的RTC偏移,使得PR时间不被RTC调节所改变。
现参照图6,示出维持计算装置10中的安全时间的示例性方法100,在所述计算装置中,一个或多个处理器实现REE 12以及独立的TEE 14。TEE 14维持将RTC时间提供给REE 12的RTC(步骤102)。指示RTC时间和PR时间之间的差异的RTC偏移被存储在非易失性存储器中(步骤104)。响应于来自REE12的读取RTC时间的请求,将当前RTC时间返回至REE 12(步骤106)。响应于来自REE 12的调节RTC时间的请求,以相同的量调节RTC时间和相对应的RTC偏移(步骤108),使得PR时间不被RTC调节所改变。
图7-图10为示出计算装置10的各个示例性操作的调用流程图。尽管这些调用流程图分别指示包含RPMB存储器,如上所述,但是包含RPMB仅仅是一示例,并且如果排除的话,则在这些图中示出的“RMPB驱动器”反而会对应于用于存储/检索来自其他非易失性存储器(例如图3的EEPROM 78)的数据的驱动器。可替选地,如果TEE核48可用作其本身驱动器,用于TEE存储器(例如,EEPROM 78)。
参照图7,示出说明PR时间验证的调用流程图200。在重新启动(步骤206)发生之前,TEE核48确定当前PR时间值(步骤202),且通过RPMB驱动器34将该值存储在RPMB中(步骤204)。响应于以下任一操作,可执行步骤204:RTC的调节、PR时间的确定、和使用所确定的PR时间。在TEE处理器的重新启动发生(步骤206)后,用于RTC偏移、PR时间和RTC计数器的值从RPMB检索到TEE RAM中(步骤208)。例如,安全的TEE RAM可对应于图3-图5的RAM 72或RAM 83。确定当前RTC时间(步骤210)。然后,基于所确定的RTC时间和RTC偏移,计算当前PR时间(步骤212)。
然后,所确定的PR时间(“PR_时间”)与来自步骤208的所存储的PR时间进行比较(步骤214)。如果所确定的PR时间小于所存储的PR时间,表示PR时间倒退已经发生,则检测到篡改且对应的篡改检测指标(“PR_时间_篡改”)被设定为“1(或者某其他代表值)。如果PR_时间_篡改为“1”,则执行步骤216-218。在步骤216中,将RTC偏移调节等于零,使得PR时间和RTC时间相同。另外地,RTC计数器(“RTC_计数器”)递增,以保持篡改事件的运行总数。在步骤218中,新的RTC数据被写入RPMB(或其他安全存储器)。
因此,图7的操作可被概括如下:当每次使用来自TEE的PR时间和每次调节RTC时间时,当前PR时间被存储在非易失性存储器中。当重新启动实现TEE的处理器时,执行下列步骤:从非易失性存储器读取当前RTC时间、所存储的PR时间、以及所存储的RTC偏移;通过将所存储的RTC偏移与当前RTC时间相加来计算当前PR时间;和将当前PR时间与所存储的PR时间比较。如果当前PR时间小于所存储的PR时间,则RTC偏移被调节为等于零,使得RTC时间和PR时间是相同的。如果当前PR时间小于所存储的PR时间,则PR时间被确定为已经被篡改。
图8为示出RTC更新过程300的调用流程图,通过该RTC更新过程300,客户端应用程序24请求更新RTC时间。最初,如果RTC偏移值、RTC计数器值和“PR_时间_篡改”值还未出现在TEE RAM中,则RTC偏移值、RTC计数器值和“PR_时间_篡改”值被载入TEE RAM(例如RAM 72、RAM 83)(步骤302)。客户端应用程序24发送请求至RTC核26(步骤304),RTC核26接着发送相应的请求至TEE核48(步骤306)。TEE核48读取当前RTC值且将该当前RTC值存储在TEE RAM中(步骤308)。基于RTC和所存储的RTC偏移计算当前PR时间(步骤310)。然后,基于所存储的RTC偏移、请求的新的RTC时间、和所确定的当前RTC,确定新的RTC偏移(步骤312)。然后,新的RTC偏移值、当前PR时间值以及当前RTC计数器值被存储在RPMB中(步骤314),且新的RTC值相应地被更新(步骤316)、以及被传播返回到请求的客户端应用程序24。
图9为示出设定TA持续时间的调用流程图。在第一步骤中,在启动后,实现TEE的处理器(例如,CPU 70)从RPMB检索RTC偏移值、RTC计数器值以及PR_时间_篡改值且将这些值存储在其TEE RAM(例如RAM 72、RAM 83)中(步骤402)。在TEE 14内,接收来自受信任的应用程序(TA)44的用于设定持续时间的请求(步骤404),然后相应的请求被发送给TEE核48(步骤406)。确定当前RTC时间,且该当前RTC时间被存储在TEE RAM中(步骤408)。基于RTC时间和RTC偏移,确定PR时间(步骤410)。然后,基于PR时间和所请求的TA时间之间的差值,确定TA偏移(步骤412)。TA偏移作为TA时间输入被保存在RPMB中,TA时间输入包括用作持续时间标识符的通用唯一识别码(UUID)、TA偏移和当前RTC计数器值(步骤414)。每个TA通过其UUID识别。因此,UUID被存储以能够确定给定的TA时间输入对应的TA。
因此,图9的操作可被概括如下:在TEE 14内,接收来自在TEE 14中执行的TA 44的用于设定用于TA的持续时间的请求。根据当前RTC时间和所存储的RTC偏移,确定当前PR时间,且确定当前PR时间和所请求的持续时间之间的差值为用于TA 44的持续时间偏移。持续时间偏移以及用于TA的持续时间标识符被存储在非易失性存储器中。在一个示例中,多个TA中的每一个被允许将其本身的持续时间偏移存储在非易失性存储器中,且多个TA中的每一个的持续时间偏移基于相同的RTC偏移确定。
图10为示出用于提供TA持续时间给其对应的TA 44的过程500的调用流程图。在第一步骤中,在启动后,实现TEE的处理器(例如CPU 70)从RPMB检索RTC偏移值、RTC计数器值和PR_时间_篡改值且将它们存储在其TEERAM中(步骤502)。在TEE 14内,接收来自TA 44的用于获取其所存储的持续时间的请求(步骤504),且相应的请求被发送至TEE核48(步骤506)。读取RTC,且将RTC时间存储在TEE RAM中(步骤508)。如果在步骤502中检索的PR_时间_篡改值为“1”(指示由于TA持续时间先前被存储,篡改已经发生),错误被返回至请求的TA 44(步骤510)。
另外,如果检索的PR_时间_篡改值为“0”,则从RPMB读取TA时间输入(步骤512),该TA时间输入包括所存储的UUID、TA偏移和RTC计数器。确定当前PR时间(步骤514),执行检查以确定所存储的TA时间输入是有效的(步骤516)。如果TA输入是有效的,则通过将PR时间和TA偏移相加来确定TA时间(即,“TA持续时间”)(步骤518),且PR时间被写入RPMB且返回给TA 44(步骤520)。
参照步骤516,如果PR_时间_篡改=1,这表示由于TA时间的形成,PR时间已经被篡改,则TA时间输入被认为是无效的。另外,如果在TA时间输入中的RTC计数器不匹配在步骤502中的检索的RTC计数器,则TA时间输入可被认为是无效的。在该后一示例中,通过从非易失性存储器检索所存储的RTC计数器值,确定所检索的持续时间偏移的有效性,RTC计数器指示当持续时间偏移被存储在非易失性存储器时检测到的PR时间篡改事件的数目;且如果所检索的RTC计数器值等于当前RTC计数器值,则确定所检索的持续时间偏移是有效的,该当前RTC计数器值指示当接收到来自TA的对其持续时间的请求时的检测的PR时间篡改事件的数目。
因此,图10的操作可概括如下:在TEE 14内,接收来自TA 44的对其持续时间的请求。从非易失性存储器检索用于TA的持续时间偏移,且确定所检索的持续时间偏移的有效性。响应于确定所检索的持续时间偏移是有效的,执行下列步骤:基于持续时间偏移以及从当前RTC时间和所存储的RTC偏移计算的当前PR时间确定持续时间;和将该持续时间传送给TA。响应于确定所检索的持续时间偏移是无效的,将指示TA持续时间已经被篡改的错误返回至TA 44。
本发明的实施方式与现有技术相比提供大量的好处和优势,包括使用单硬件RTC以提供RTC,使得不必在计算装置中实现两个单独的时钟,这减少了计算装置的硬件需求,同时仍提供安全时间。另外,与现有技术方案不同,TEE维持RTC的控制,其能够提供在不能够被信任的当前移动装置操作系统(例如,基于Android的操作系统)不可获得的增加的安全性,从而不被试图控制时间的装置用户乱改。
因此,在前的描述和附图代表文中所教导的方法和设备的非限定性示例。如此,本发明不受到在前的描述和附图的限制。相反,本发明仅仅受到下面的权利要求和它们的合法对等物的限制。
Claims (23)
1.一种维持计算装置中的安全时间的方法,在所述计算装置中,一个或多个处理器实现富执行环境(REE)和独立的可信执行环境(TEE),所述方法包括:
在所述TEE中维持实时时钟(RTC),所述实时时钟提供RTC时间给所述REE;
将RTC偏移存储在非易失性存储器中,所述RTC偏移指示所述RTC时间和受保护的基准(PR)时间之间的差值;
响应于来自所述REE的用于读取所述RTC时间的请求,将当前RTC时间返回至所述REE;和
响应于来自所述REE的用于调节所述RTC时间的请求,以相同的量调节所述RTC时间和相应的RTC偏移,使得所述PR时间不被所述RTC调节所改变。
2.根据权利要求1所述的方法,还包括:
当每次使用来自所述TEE的所述PR时间以及每次调节所述RTC时间时,将当前PR时间存储在所述非易失性存储器中;和
当重新启动实现所述TEE的所述处理器时:
从所述非易失性存储器读取当前RTC时间、所存储的PR时间和所存储的RTC偏移;
通过将所述存储的RTC偏移与所述当前RTC时间相加来计算当前PR时间;
将所述当前PR时间与所述存储的PR时间比较;和
如果所述当前PR时间小于所述存储的PR时间,则调节所述RTC偏移等于零,使得所述RTC时间和所述PR时间相同。
3.根据权利要求2所述的方法,还包括:
根据所述当前PR时间小于所述存储的PR时间,确定所述PR时间已经被篡改。
4.根据权利要求1所述的方法:
其中,所述非易失性存储器包括重放保护内存块(RPMB),所述RPMB为更大的存储器单元的一部分;
其中,所述RPMB基于在所述RPMB和所述TEE之间共享的密钥支持已认证的读写操作,使得只有所述TEE能够修改所述RPMB的内容,以及使得所述TEE能够验证从所述RPMB读取的数据的真实性;和
其中,所述REE向所述TEE提供用于发送认证的读写请求给所述RPMB的服务。
5.根据权利要求1所述的方法,其中,所述非易失性存储器包括仅仅被所述TEE控制的电可擦除可编程只读存储器(EEPROM)单元。
6.根据权利要求1所述的方法,还包括:
在所述TEE内,接收来自在所述TEE内执行的受信任的应用程序(TA)的用于设定所述TA的持续时间的请求;
根据当前RTC时间和所存储的RTC偏移确定当前PR时间;
确定所述当前PR时间和所请求的持续时间之间的差值为用于所述TA的持续时间偏移;和
将用于所述TA的所述持续时间偏移和持续时间标识符存储在所述非易失性存储器中。
7.根据权利要求6所述的方法,其中,多个TA中的每一个TA被允许将其本身的持续时间偏移存储在所述非易失性存储器中,以及其中,基于所述相同的RTC偏移确定所述多个TA中的每一个TA的持续时间偏移。
8.根据权利要求6所述的方法,还包括:
在所述TEE内,接收来自所述TA的对于其持续时间的请求;
从所述非易失性存储器检索用于所述TA的所述持续时间偏移,和确定所检索的持续时间偏移的有效性;
响应于确定所述检索的持续时间偏移是有效的:
基于所述持续时间偏移和根据当前RTC时间和所存储的RTC偏移计算的当前PR时间,确定所述持续时间;和
将所述持续时间传送给所述TA;和
响应于确定所述检索的持续时间偏移是无效的,将指示所述TA持续时间已经被篡改的错误返回至所述TA。
9.根据权利要求8所述的方法,其中,所述确定所述检索的持续时间偏移的有效性包括:
从所述非易失性存储器检索存储的RTC计数器值,所述RTC计数器指示当所述持续时间偏移被存储在所述非易失性存储器时检测的PR时间篡改事件的数目;和
如果所检索的RTC计数器值等于当前RTC计数器值,则确定所述检索的持续时间偏移是有效的,所述当前RTC计数器值指示当接收到来自所述TA的对于其持续时间的请求时所检测的PR时间篡改事件的数目。
10.根据权利要求1所述的方法,其中,所述REE对应于基于Windows的操作系统或者基于Linux的操作系统。
11.一种提供可信执行环境(TEE)和独立的富执行环境(REE)二者的安全时间计算装置,所述装置包括:
包括第一处理器的TEE电路,所述TEE电路配置成实现所述TEE以及配置成:
维持所述TEE中的实时时钟(RTC),所述RTC提供RTC时间给所述REE;和
将RTC偏移存储在非易失性存储器中,所述RTC偏移指示在所述RTC时间和受保护的基准(PR)时间之间的差值;和
包括同一或另一处理器的REE电路,所述REE电路配置成实现所述TEE且配置成使用RTC作为其时钟;
其中,所述TEE电路还被配置成:
基于所述TEE接收来自所述REE的用于读取所述RTC时间的请求,返回当前RTC时间;和
基于所述TEE接收来自所述REE的用于调节所述RTC时间的请求,以相同的量调节所述RTC时间和相应的RTC偏移,使得所述PR时间不被所述RTC调节所改变。
12.根据权利要求11所述的计算装置,其中,所述TEE电路还被配置成:
当每次使用来自所述TEE的所述PR时间时以及每次调节所述RTC时间时,将当前PR时间存储在所述非易失性存储器中;和
当重新启动实现所述TEE的所述处理器时:
从所述非易失性存储器读取当前RTC时间、所述存储的PR时间、和所存储的RTC偏移;
通过将所述存储的RTC偏移与所述当前RTC时间相加来计算当前PR时间;
将所述当前PR时间与所述存储的PR时间相比较;和
如果所述当前PR时间小于所述存储的PR时间,则调节所述RTC偏移等于零,使得所述RTC时间和所述PR时间相同。
13.根据权利要求12所述的方法,其中,所述TEE电路还被配置成根据所述当前PR时间小于所述存储的PR时间,确定所述PR时间已经被篡改。
14.根据权利要求11所述的计算装置:
其中,所述非易失性存储器包括重放保护内存块(RPMB),所述RPMB为更大存储器单元的一部分;
其中,所述RPMB基于在所述RPMB和所述TEE之间共享的密钥支持已认证的读写操作,使得只有所述TEE能够修改所述RPMB的内容,以及使得所述TEE能够验证从所述RPMB读取的数据的真实性;和
其中,所述REE电路配置成向所述TEE电路提供用于将已认证的读写请求发送给所述RPMB的服务。
15.根据权利要求11所述的计算装置,其中,所述非易失性存储器包括仅仅被所述TEE控制的电可擦除可编程只读存储器(EEPROM)单元。
16.根据权利要求11所述的计算装置:
其中,所述TEE电路和所述REE电路通过利用ARM TRUSTZONE技术的单个处理器实现,其中,所述处理器的TRUSTZONE安全状态通过总线在所述计算装置内进行内部传播,用于分别访问存储器和包括所述RTC的外围设备,并且,基于所述安全状态,在存储器和属于TEE的外围设备中或者在存储器和属于TEE的外围设备之前进行访问过滤。
17.根据权利要求11所述的计算装置,其中,所述TEE电路和所述REE电路通过单个处理器实现,并且其中,所述REE和所述TEE都通过所述单个处理器实施为虚拟机,所述RTC受到TEE虚拟机的控制。
18.根据权利要求11所述的计算装置,其中,所述TEE电路包括第一处理器,且所述REE电路包括不同的第二处理器。
19.根据权利要求11所述的计算装置,其中,所述TEE电路还被配置成:
在所述TEE内,接收来自在所述TEE内执行的受信任的应用程序(TA)的设定用于所述TA的持续时间的请求;
根据当前RTC时间和所存储的RTC偏移确定当前PR时间;
确定所述当前PR时间和所请求的持续时间之间的差值为用于所述TA的持续时间偏移;和
将用于所述TA的所述持续时间偏移和持续时间标识符存储在所述非易失性存储器中。
20.根据权利要求19所述的计算装置,其中,多个TA中的每一个TA被允许将其本身的持续时间偏移存储在所述非易失性存储器中,以及其中,基于所述相同的RTC偏移确定所述多个TA中的每一个TA的持续时间偏移。
21.根据权利要求19所述的计算装置,其中,所述TEE电路还被配置成:
接收来自所述TA的对于其持续时间的请求;
从所述非易失性存储器检索用于所述TA的所述持续时间偏移,和确定所检索的持续时间偏移的有效性;
响应于确定所述检索的持续时间偏移是有效的:
基于所述持续时间偏移和根据当前RTC时间和所存储的RTC偏移计算的当前PR时间,确定所述持续时间;和
将所述持续时间传送给所述TA;和
响应于确定所述检索的持续时间偏移是无效的,将指示所述TA持续时间已经被篡改的错误返回至所述TA。
22.根据权利要求21所述的计算装置,其中,所述TEE电路被配置成通过被配置为进行以下操作来确定所检索的持续时间偏移的有效性:
从所述非易失性存储器检索存储的RTC计数器值,所述RTC计数器指示当所述持续时间偏移被存储在所述非易失性存储器时检测的PR篡改事件的数目;和
如果所检索的RTC计数器值等于指示当接收到来自所述TA的对于其持续时间的请求时所检测的PR篡改事件的数目的当前RTC计数器值,则确定所述检索的持续时间偏移是有效的。
23.根据权利要求11所述的计算装置,其中,所述REE对应于基于Windows的操作系统或者基于Linux的操作系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/630,222 | 2012-09-28 | ||
US13/630,222 US9292712B2 (en) | 2012-09-28 | 2012-09-28 | Method and apparatus for maintaining secure time |
PCT/EP2013/068794 WO2014048744A1 (en) | 2012-09-28 | 2013-09-11 | Method and apparatus for maintaining secure time |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104620253A true CN104620253A (zh) | 2015-05-13 |
CN104620253B CN104620253B (zh) | 2017-08-25 |
Family
ID=49150954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380047121.5A Active CN104620253B (zh) | 2012-09-28 | 2013-09-11 | 用于维持安全时间的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9292712B2 (zh) |
EP (1) | EP2901362B1 (zh) |
CN (1) | CN104620253B (zh) |
WO (1) | WO2014048744A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447387A (zh) * | 2015-11-05 | 2016-03-30 | 工业和信息化部电信研究院 | 基于硬件隔离环境的可信应用检测的方法及装置 |
CN106970678A (zh) * | 2017-03-10 | 2017-07-21 | 武汉融卡智能信息科技有限公司 | 一种tee下rpc机制下安全时钟的控制方法 |
CN107315973A (zh) * | 2016-04-27 | 2017-11-03 | 西部数据科技股份有限公司 | 用于安全元数据修改的一般化验证方案 |
CN108509251A (zh) * | 2018-03-19 | 2018-09-07 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化系统 |
CN108549571A (zh) * | 2018-03-19 | 2018-09-18 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化方法 |
CN109460282A (zh) * | 2018-10-17 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种vTPM时钟安全保障的方法及系统 |
CN110347745A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种块链式账本的授时认证方法、装置及设备 |
CN110427274A (zh) * | 2019-07-16 | 2019-11-08 | 阿里巴巴集团控股有限公司 | Tee系统中的数据传输方法和装置 |
US10778452B2 (en) | 2019-06-03 | 2020-09-15 | Alibaba Group Holding Limited | Blockchain ledger authentication |
CN112133356A (zh) * | 2020-09-11 | 2020-12-25 | 深圳市宏旺微电子有限公司 | eMMC中RPMB的功能测试方法、装置和计算机设备 |
CN112544057A (zh) * | 2019-06-20 | 2021-03-23 | 深圳市网心科技有限公司 | 区块链节点设备及其认证方法、装置、存储介质 |
US11003785B2 (en) | 2019-07-16 | 2021-05-11 | Advanced New Technologies Co., Ltd. | Data transmission method and apparatus in tee systems |
CN114374460A (zh) * | 2020-10-15 | 2022-04-19 | 华为技术有限公司 | 一种系统时间的获取方法及终端设备 |
CN115017495A (zh) * | 2021-11-09 | 2022-09-06 | 荣耀终端有限公司 | 定时校验方法、电子设备和可读存储介质 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2998694B1 (fr) * | 2012-11-27 | 2016-01-01 | Oberthur Technologies | Module electronique pour rendre un message accessible par un systeme d'exploitation vise |
FR2998747B1 (fr) * | 2012-11-27 | 2015-01-23 | Oberthur Technologies | Procede d'aiguillage d'un message |
US9633210B2 (en) | 2013-09-13 | 2017-04-25 | Microsoft Technology Licensing, Llc | Keying infrastructure |
KR102208631B1 (ko) * | 2014-02-19 | 2021-01-28 | 삼성전자 주식회사 | 전자 장치의 보안 정보 입출력 방법 및 이를 사용하는 전자 장치 |
JP6481900B2 (ja) | 2014-06-25 | 2019-03-13 | インテル・コーポレーション | ハードウェア構成レポーティング用の装置、ハードウェア構成アービトレーションの方法、プログラム、機械可読記録媒体、及び、ハードウェア構成アービトレーション用の装置 |
US10097513B2 (en) | 2014-09-14 | 2018-10-09 | Microsoft Technology Licensing, Llc | Trusted execution environment extensible computing device interface |
FR3028069B1 (fr) * | 2014-11-05 | 2016-12-09 | Oberthur Technologies | Procede de chargement de fichier en memoire vive dans un appareil electronique et appareil electronique associe |
US9444627B2 (en) * | 2014-12-24 | 2016-09-13 | Intel Corporation | System and method for providing global platform compliant trusted execution environment |
GB201423362D0 (en) * | 2014-12-30 | 2015-02-11 | Mastercard International Inc | Trusted execution enviroment (TEE) based payment application |
KR20160118794A (ko) | 2015-04-03 | 2016-10-12 | 삼성전자주식회사 | 시큐어 엘리먼트를 이용한 데이터 통신 방법 및 이를 적용한 전자 시스템 |
US10591953B2 (en) * | 2015-06-05 | 2020-03-17 | Sony Semiconductor Solutions Corporation | Signal processing apparatus and method |
US10374805B2 (en) * | 2015-07-20 | 2019-08-06 | Intel Corporation | Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control |
US10395013B2 (en) | 2016-05-11 | 2019-08-27 | Stmicroelectronics Sa | Method and device for enhancing the protection of a signal, in particular a multimedia signal, against a malicious attack |
FR3052009B1 (fr) | 2016-05-31 | 2018-06-01 | Stmicroelectronics Sa | Procede et dispositif d'amelioration de la protection d'un signal multimedia contre une attaque malveillante. |
WO2018067817A1 (en) * | 2016-10-05 | 2018-04-12 | Convida Wireless, Llc | Service layer time synchronization |
CN106448017A (zh) * | 2016-10-09 | 2017-02-22 | 四川赛科安全技术有限公司 | 记录火灾报警控制器关机和复位时间的系统及其实现方法 |
CN107315449B (zh) * | 2017-06-29 | 2022-01-11 | 华为技术有限公司 | 计算机设备、读取时间的方法和写入时间的方法 |
KR102501776B1 (ko) | 2018-01-31 | 2023-02-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN110348252B (zh) | 2018-04-02 | 2021-09-03 | 华为技术有限公司 | 基于信任区的操作系统和方法 |
CN109960582B (zh) * | 2018-06-19 | 2020-04-28 | 华为技术有限公司 | 在tee侧实现多核并行的方法、装置及系统 |
WO2020000145A1 (en) * | 2018-06-25 | 2020-01-02 | Intel Corporation | World-switch as a way to schedule multiple isolated tasks within a VM |
US11088845B2 (en) * | 2018-07-03 | 2021-08-10 | Western Digital Technologies, Inc. | Non-volatile memory with replay protected memory block having dual key |
CN110728714B (zh) * | 2018-07-16 | 2023-06-20 | Oppo广东移动通信有限公司 | 图像处理方法和装置、存储介质、电子设备 |
US10955872B2 (en) * | 2018-07-25 | 2021-03-23 | Dell Products L.P. | System and method to retain baseboard management controller real-time clock time during BMC reboot |
US11366934B2 (en) * | 2018-11-13 | 2022-06-21 | Samsung Electronics Co., Ltd. | System and method for anti-rollback |
US11025424B2 (en) * | 2019-02-19 | 2021-06-01 | Arris Enterprises Llc | Entitlement management message epoch as an external trusted time source |
US11392167B2 (en) * | 2019-03-11 | 2022-07-19 | Hewlett Packard Enterprise Development Lp | Device clock setting while booting a device |
CN110175450B (zh) * | 2019-05-30 | 2023-11-21 | 创新先进技术有限公司 | 一种信息的处理方法、装置及设备 |
CN110442463B (zh) * | 2019-07-16 | 2020-07-07 | 阿里巴巴集团控股有限公司 | Tee系统中的数据传输方法和装置 |
US10699015B1 (en) | 2020-01-10 | 2020-06-30 | Alibaba Group Holding Limited | Method and apparatus for data transmission in a tee system |
US11636199B2 (en) * | 2021-04-12 | 2023-04-25 | Realtek Singapore Pte Ltd. | Real time clock with integrated anti-rollback protection |
CN114115446A (zh) * | 2021-11-30 | 2022-03-01 | 杭州迪普信息技术有限公司 | 一种共享实时时钟的方法及数据处理设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265623A1 (en) * | 2003-03-20 | 2006-11-23 | Dan Dinescu | Mobile equipment with time control for drm schemes |
US20060294593A1 (en) * | 2005-06-22 | 2006-12-28 | Intel Corporation | Protected clock management based upon a non-trusted persistent time source |
US20070220297A1 (en) * | 2006-02-15 | 2007-09-20 | Stmicroelectronics S.A. | Timing of non-secured and secured tasks |
US20080276298A1 (en) * | 2007-05-01 | 2008-11-06 | Texas Instruments Incorporated | Secure time/date virtualization |
US20090292853A1 (en) * | 2008-05-24 | 2009-11-26 | Via Technologies, Inc | Apparatus and method for precluding execution of certain instructions in a secure execution mode microprocessor |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826066A (en) | 1996-08-08 | 1998-10-20 | Tandem Computers Incorporated | Method for keeping accurate time in a computer system |
US6728880B1 (en) | 1999-09-17 | 2004-04-27 | Adobe Systems Incorporated | Secure time on computers with insecure clocks |
US7146504B2 (en) | 2002-06-13 | 2006-12-05 | Microsoft Corporation | Secure clock on computing device such as may be required in connection with a trust-based system |
US20040128528A1 (en) * | 2002-12-31 | 2004-07-01 | Poisner David I. | Trusted real time clock |
US7155629B2 (en) * | 2003-04-10 | 2006-12-26 | International Business Machines Corporation | Virtual real time clock maintenance in a logically partitioned computer system |
KR100619981B1 (ko) * | 2005-01-08 | 2006-09-11 | 엘지전자 주식회사 | 이동 통신 단말기의 drm 기능 개선 방법 |
US7861308B2 (en) * | 2005-11-28 | 2010-12-28 | Sony Corporation | Digital rights management using trusted time |
US20080077420A1 (en) * | 2006-09-27 | 2008-03-27 | Daryl Cromer | System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer |
KR100784976B1 (ko) | 2006-10-12 | 2007-12-11 | 삼성전자주식회사 | 이동통신 단말기의 시계 운용 방법 및 장치 |
EP2255561A2 (en) * | 2008-02-19 | 2010-12-01 | Interdigital Patent Holdings, Inc. | A method and apparatus for secure trusted time techniques |
-
2012
- 2012-09-28 US US13/630,222 patent/US9292712B2/en active Active
-
2013
- 2013-09-11 EP EP13759759.7A patent/EP2901362B1/en active Active
- 2013-09-11 CN CN201380047121.5A patent/CN104620253B/zh active Active
- 2013-09-11 WO PCT/EP2013/068794 patent/WO2014048744A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265623A1 (en) * | 2003-03-20 | 2006-11-23 | Dan Dinescu | Mobile equipment with time control for drm schemes |
US20060294593A1 (en) * | 2005-06-22 | 2006-12-28 | Intel Corporation | Protected clock management based upon a non-trusted persistent time source |
US20070220297A1 (en) * | 2006-02-15 | 2007-09-20 | Stmicroelectronics S.A. | Timing of non-secured and secured tasks |
US20080276298A1 (en) * | 2007-05-01 | 2008-11-06 | Texas Instruments Incorporated | Secure time/date virtualization |
US20090292853A1 (en) * | 2008-05-24 | 2009-11-26 | Via Technologies, Inc | Apparatus and method for precluding execution of certain instructions in a secure execution mode microprocessor |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447387A (zh) * | 2015-11-05 | 2016-03-30 | 工业和信息化部电信研究院 | 基于硬件隔离环境的可信应用检测的方法及装置 |
CN107315973A (zh) * | 2016-04-27 | 2017-11-03 | 西部数据科技股份有限公司 | 用于安全元数据修改的一般化验证方案 |
CN107315973B (zh) * | 2016-04-27 | 2021-09-10 | 西部数据技术公司 | 用于安全元数据修改的一般化验证方案 |
CN106970678A (zh) * | 2017-03-10 | 2017-07-21 | 武汉融卡智能信息科技有限公司 | 一种tee下rpc机制下安全时钟的控制方法 |
CN106970678B (zh) * | 2017-03-10 | 2020-01-21 | 武汉融卡智能信息科技有限公司 | 一种tee下rpc机制下安全时钟的控制方法 |
CN108509251A (zh) * | 2018-03-19 | 2018-09-07 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化系统 |
CN108549571A (zh) * | 2018-03-19 | 2018-09-18 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化方法 |
CN108549571B (zh) * | 2018-03-19 | 2022-03-15 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化方法 |
CN108509251B (zh) * | 2018-03-19 | 2022-03-11 | 沈阳微可信科技有限公司 | 一种适用于可信执行环境中的安全虚拟化系统 |
CN109460282A (zh) * | 2018-10-17 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种vTPM时钟安全保障的方法及系统 |
CN109460282B (zh) * | 2018-10-17 | 2021-07-30 | 郑州云海信息技术有限公司 | 一种vTPM时钟安全保障的方法及系统 |
US10911251B2 (en) | 2019-06-03 | 2021-02-02 | Advanced New Technologies Co., Ltd. | Blockchain ledger authentication |
CN110347745A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种块链式账本的授时认证方法、装置及设备 |
US11108573B2 (en) | 2019-06-03 | 2021-08-31 | Advanced New Technologies Co., Ltd. | Blockchain ledger authentication |
US10778452B2 (en) | 2019-06-03 | 2020-09-15 | Alibaba Group Holding Limited | Blockchain ledger authentication |
CN112544057A (zh) * | 2019-06-20 | 2021-03-23 | 深圳市网心科技有限公司 | 区块链节点设备及其认证方法、装置、存储介质 |
US11003785B2 (en) | 2019-07-16 | 2021-05-11 | Advanced New Technologies Co., Ltd. | Data transmission method and apparatus in tee systems |
CN110427274B (zh) * | 2019-07-16 | 2020-07-17 | 阿里巴巴集团控股有限公司 | Tee系统中的数据传输方法和装置 |
TWI752415B (zh) * | 2019-07-16 | 2022-01-11 | 開曼群島商創新先進技術有限公司 | Tee系統中的資料傳輸方法和裝置 |
US11250145B2 (en) | 2019-07-16 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Data transmission method and apparatus in tee systems |
CN110427274A (zh) * | 2019-07-16 | 2019-11-08 | 阿里巴巴集团控股有限公司 | Tee系统中的数据传输方法和装置 |
CN112133356A (zh) * | 2020-09-11 | 2020-12-25 | 深圳市宏旺微电子有限公司 | eMMC中RPMB的功能测试方法、装置和计算机设备 |
CN114374460A (zh) * | 2020-10-15 | 2022-04-19 | 华为技术有限公司 | 一种系统时间的获取方法及终端设备 |
CN115017495A (zh) * | 2021-11-09 | 2022-09-06 | 荣耀终端有限公司 | 定时校验方法、电子设备和可读存储介质 |
CN115017495B (zh) * | 2021-11-09 | 2023-08-08 | 荣耀终端有限公司 | 定时校验方法、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2014048744A1 (en) | 2014-04-03 |
EP2901362B1 (en) | 2017-03-15 |
US20140095918A1 (en) | 2014-04-03 |
EP2901362A1 (en) | 2015-08-05 |
US9292712B2 (en) | 2016-03-22 |
CN104620253B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104620253A (zh) | 用于维持安全时间的方法和设备 | |
CN110383277B (zh) | 虚拟机监视器测量代理 | |
CN107533609B (zh) | 用于对系统中的多个可信执行环境进行控制的系统、设备和方法 | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
JP6595822B2 (ja) | 情報処理装置及びその制御方法 | |
CN103124261B (zh) | 无线通信设备及在wtru中使用的扩展的用户标识模块 | |
KR101861401B1 (ko) | 장치 기능과 애플리케이션의 결합 | |
RU2295834C2 (ru) | Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным | |
EP2854066B1 (en) | System and method for firmware integrity verification using multiple keys and OTP memory | |
US10917243B2 (en) | Secure server and compute nodes | |
EP2278520A2 (en) | Modular software protection | |
US11474954B2 (en) | Cache unit useful for secure execution | |
JP5346608B2 (ja) | 情報処理装置およびファイル検証システム | |
US8296841B2 (en) | Trusted platform module supported one time passwords | |
EP1365306A2 (en) | Data protection system | |
WO2012087582A2 (en) | Secure and private location | |
CN113254949B (zh) | 控制设备、用于控制访问的系统及由控制器执行的方法 | |
CN112165461A (zh) | 一种零信任动态授权方法、装置和计算机设备 | |
JP2008234217A (ja) | 情報処理装置、情報保護方法及び画像処理装置 | |
JP5278520B2 (ja) | 情報処理装置、情報保護方法 | |
JP7459275B2 (ja) | ソフトウェアのライセンス情報の監視方法、装置、サーバ及び記憶媒体 | |
JP5574007B2 (ja) | 情報処理装置及び情報保護方法 | |
JP6079151B2 (ja) | システム設定情報更新装置、システム設定情報更新システム、システム設定情報更新方法、及び、システム設定情報更新プログラム | |
JP2023085210A (ja) | 情報処理装置及び判定方法 | |
JP5500232B2 (ja) | 情報処理装置及び情報保護方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |