CN115017495A - 定时校验方法、电子设备和可读存储介质 - Google Patents

定时校验方法、电子设备和可读存储介质 Download PDF

Info

Publication number
CN115017495A
CN115017495A CN202111322814.3A CN202111322814A CN115017495A CN 115017495 A CN115017495 A CN 115017495A CN 202111322814 A CN202111322814 A CN 202111322814A CN 115017495 A CN115017495 A CN 115017495A
Authority
CN
China
Prior art keywords
trusted
execution environment
time
trusted execution
operating system
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
Application number
CN202111322814.3A
Other languages
English (en)
Other versions
CN115017495B (zh
Inventor
张朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111322814.3A priority Critical patent/CN115017495B/zh
Publication of CN115017495A publication Critical patent/CN115017495A/zh
Application granted granted Critical
Publication of CN115017495B publication Critical patent/CN115017495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种定时校验方法、电子设备和可读存储介质,该方法包括:第二可信执行环境操作系统响应于定时请求,并从实时时钟电路中获取第一可信时间点;依据定时请求以及第一可信时间点确定第一时间段,并向虚拟通用计时器发送第一消息,第一消息包括第一时间段;接收虚拟通用计时器返回的计时响应消息,并从实时时钟电路中获取第二可信时间点,计时响应消息为虚拟通用计时器依据接收到的第二消息执行计时处理后得到的,第二消息包括第二时间段;依据第二可信时间点与目标时间点,校验定时结果。本实施例中,第二可信执行环境操作系统通过多次获取可信时间点,进而校验虚拟通用定时器定时结果的准确性,提高用户体验。

Description

定时校验方法、电子设备和可读存储介质
技术领域
本申请实施例涉及定时领域,尤其涉及一种定时校验方法、电子设备和可读存储介质。
背景技术
目前,随着通信技术的不断发展,智能终端的应用也越来越广泛,为了保护用户营私和信息安全,智能终端设备中(例如:手机,平板电脑等)通常包含富执行环境(richexecution environment,REE)和可信执行环境(trusted executionenvironment,TEE)。其中,REE也称为普通执行环境,包括运行在通用处理器上的富执行环境操作系统(richexecution environment operating system,REE OS)及客户端应用(clientapplication,CA)。TEE也称为安全执行环境,可以运行可信执行环境操作系统(trustedexecution environment operating system,TEE OS),为CA提供可信赖的安全服务(例如指纹比对服务,密码校验服务,人脸比对服务等),这些安全服务可以以可信应用(trustapplication,TA)的形式运行在TEE OS上。
发明内容
本申请提供一种定时校验方法、电子设备和可读存储介质,以提高可信执行环境中定时器的准确性。
第一方面,本申请提供一种定时校验方法,该方法应用于包括第一可信执行环境以及至少一个第二可信执行环境的电子设备,所述第一可信执行环境与实时时钟电路连接,所述第二可信执行环境中运行有第二可信执行环境操作系统以及虚拟通用计时器,所述方法包括:
所述第二可信执行环境操作系统响应于定时请求,并从所述实时时钟电路中获取第一可信时间点,所述定时请求包括目标时间点;
所述第二可信执行环境操作系统依据所述定时请求以及所述第一可信时间点,确定第一时间段,并向所述虚拟通用计时器发送第一消息,所述第一消息包括第一时间段;
所述第二可信执行环境操作系统接收所述虚拟通用计时器返回的计时响应消息,并从所述实时时钟电路中获取第二可信时间点,所述计时响应消息为所述虚拟通用计时器依据接收到的第二消息执行计时处理后得到的,所述第二消息包括第二时间段;
所述第二可信执行环境操作系统依据所述第二可信时间点与所述目标时间点,确定定时校验结果。
该实施例中,基于多个可信执行环境的电子设备中包括有第一可信执行环境以及至少一个第二可信执行环境,并且在第二可信执行环境中运行有虚拟通用计时器,可用于为该可信执行环境中的可信应用提供定时功能。当定时结束之后,该虚拟通用计时器可向可信应用返回定时结束消息。本实施例中,第二可信执行环境操作系统通过多次获取第一可信执行环境中的可信时间点来校验虚拟通用定时器的定时结果,进而确保了虚拟通用计时器反馈的定时结果的准确性。避免了当虚拟通用定时器的定时信息遭到篡改时,虚拟通用定时器无法在准确的时间点返回定时结束消息,导致用户体验较差的问题。
在一种可能的实现方式中,所述第一可信执行环境中运行有第一可信执行环境操作系统,当所述第二可信执行环境操作系统响应于定时请求,需要从所述实时时钟电路中获取第一可信时间点时,该第二可信执行环境操作系统可以通过第一可信执行环境中的第一可信执行环境操作系统获取实时时钟电路得到的可信时间点,具体的包括以下步骤:
所述第二可信执行环境操作系统响应于定时请求,并向第一可信执行环境操作系统发送时间获取请求;
所述第二可信执行环境操作系统接收所述第一可信执行环境操作系统发送的第一可信时间点,所述第一可信时间点为所述第一可信执行环境操作系统依据所述时间获取请求从所述实时时钟电路获取得到的。
在一种可能的实现方式中,第二可信执行环境中的第二可信执行环境操作系统不仅用于实现定时响应,还可以用于响应时间获取请求,进而获取可信时间点。具体的,所述方法还包括:
所述第二可信执行环境操作系统响应于时间获取请求,获取第三可信时间点。
在一种可能的实现方式中,当第二可信执行环境操作系统依据时间获取请求去获取可信时间点时,一种方式中,可以依据第一可信执行环境中的实时电路获取第三可信时间点。
在一种可能的实现方式中,当第二可信执行环境操作系统依据时间获取请求去获取可信时间点时,包括以下步骤:
所述第二可信执行环境操作系统依据获取的预设时间差值以及所述虚拟通用计时器的第一时段值,确定所述第三可信时间,所述预设时间差值为同一时刻下所述虚拟通用计时器的第二时段值与所述实时时钟电路的第四可信时间点的差值。即依据预先存储的虚拟通用计时器以及实时时钟电路之间的时间差值,以及当前时刻下的虚拟通用计时器的第一时段值,求和后确定出第三可信时间点。进而,避免了每次获取可信时间点时,都需要从实时时钟电路获取的繁琐的步骤。
在一种可能的实现方式中,所述方法还包括:
所述第二可信执行环境操作系统获取所述虚拟通用计时器的第二时段值,并通过所述实时时钟电路获取第四可信时间点;所述第二可信执行环境操作系统依据所述第二时段值以及所述第四可信时间点,确定预设时间差值,并将所述预设时间差值存储在所述HTEE对应的安全存储区,进而确保了预设时间差值的安全性,以提高可信时间点获取的准确性。
在一种可能的实现方式中,若所述第二可信执行环境操作系统确定第二可信时间点与所述目标时间点的差值超出预设范围,则所述定时检验结果不通过;否则,所述定时校验结果通过。
第二方面,本申请提供一种电子设备,所述电子设备包括第一可信执行环境以及至少一个第二可信执行环境的电子设备,所述第一可信执行环境与实时时钟电路连接,所述第二可信执行环境中运行有第二可信执行环境操作系统以及虚拟通用计时器;
所述第二可信执行环境操作系统,用于响应定时请求,并从所述实时时钟电路中获取第一可信时间点,所述定时请求包括目标时间点;
所述第二可信执行环境操作系统,用于依据所述定时请求以及所述第一可信时间点,确定第一时间段,并向所述虚拟通用计时器发送第一消息,所述第一消息包括第一时间段;
所述虚拟通用计时器,用于依据接收到的第二消息执行计时处理,所述第二消息包括第二时间段;
所述第二可信执行环境操作系统,用于接收所述虚拟通用计时器返回的计时响应消息,并从所述实时时钟电路中获取第二可信时间点;
所述第二可信执行环境操作系统,用于依据所述第二可信时间点与所述目标时间点,确定定时校验结果。
在一种可能的实现方式中,所述第一可信执行环境中运行有第一可信执行环境操作系统,
所述第二可信执行环境操作系统,具体用于响应于定时请求,并向第一可信执行环境操作系统发送时间获取请求;
所述第二可信执行环境操作系统,具体用于接收所述第一可信执行环境操作系统发送的第一可信时间点,所述第一可信时间点为所述第一可信执行环境操作系统依据所述时间获取请求从所述实时时钟电路获取得到的。
在一种可能的实现方式中,所述第二可信执行环境操作系统,还用于响应于时间获取请求,获取第三可信时间点。
在一种可能的实现方式中,所述第二可信执行环境操作系统,具体用于从所述实时时钟电路中获取第三可信时间点。
在一种可能的实现方式中,
所述第二可信执行环境操作系统,具体用于依据获取的预设时间差值以及所述虚拟通用计时器的第一时段值,确定所述第三可信时间,所述预设时间差值为同一时刻下所述虚拟通用计时器的第二时段值与所述实时时钟电路的第四可信时间点的差值。
在一种可能的实现方式中,所述第二可信执行环境操作系统,还用于获取所述虚拟通用计时器的第二时段值,并通过所述实时时钟电路获取第四可信时间点;
所述第二可信执行环境操作系统,还用于依据所述第二时段值以及所述第四可信时间点,确定预设时间差值,并将所述预设时间差值存储在所述HTEE对应的安全存储区。
在一种可能的实现方式中,若所述第二可信执行环境操作系统确定第二可信时间点与所述目标时间点的差值超出预设范围,则所述定时检验结果不通过;否则,所述定时校验结果通过。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现第一方面中任一项所述的方法。
本申请提供一种定时校验方法、电子设备和可读存储介质,该方法包括:第二可信执行环境操作系统响应于定时请求,并从实时时钟电路中获取第一可信时间点,定时请求包括目标时间点;第二可信执行环境操作系统依据定时请求以及第一可信时间点,确定第一时间段,并向虚拟通用计时器发送第一消息,第一消息包括第一时间段;第二可信执行环境操作系统接收虚拟通用计时器返回的计时响应消息,并从实时时钟电路中获取第二可信时间点,计时响应消息为虚拟通用计时器依据接收到的第二消息执行计时处理后得到的,第二消息包括第二时间段;第二可信执行环境操作系统依据第二可信时间点与目标时间点,确定定时校验结果。本申请实施例中,第二可信执行环境操作系统通过多次从第一可信执行环境中获取可信时间点,进而校验第二可信执行环境中虚拟通用定时器定时结果的准确性,以提高用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的一种电子设备的框架示意图;
图2为本申请提供的一种电子设备中的交互流程示意图;
图3为本申请实施例提供的第二种电子设备的框架示意图;
图4为本申请实施例提供的第二种电子设备的交互流程示意图;
图5A为本申请实施例适用的电子设备的一种结构示意图;
图5B为本申请实施例适用的电子设备的软件结构框图;
图6为本申请实施例提供的一种定时校验方法的流程示意图;
图7为本申请实施例提供的第三种电子设备的框架结构示意图;
图8为本申请实施例提供的又一种定时校验的交互流程图;
图9为本申请实施例提供的一种获取可信时间点的方法的流程示意图;
图10为本申请实施例提供的第二种可信时间获取方法的流程示意图;
图11为本申请实施例提供的第三种电子设备的框架结构示意图;
图12为本申请实施例提供的又一种可信时间点获取的流程示意图;
图13为本申请实施例提供的一种可信时间点获取的交互流程示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。
目前,随着Android系统的手机不断普及,更多的功能被集成到手机系统;金融支付,数字版权管理(DRM,Digital Rights Management),企业应用等高安应用也对系统的整体安全性提出了更高的要求。为了确保用户数据的安全性,在电子设备中通常设置有两个并存的运行环境,可信执行环境以及富执行环境。可信执行环境可用于确保该环境中运行的数据的机密性及安全性。当电子设备中设置有多个可信执行环境时,即包括第一可信执行环境以及至少一个第二可信执行环境中,其中,第一可信执行环境为基于ARM的TrustZone硬件技术实现的,而第二可信执行环境可以为基于ARM中的虚拟机所实现的。当第二可信执行环境中运行有可实现定时功能的虚拟通用计时器时,由于该通用计时器容易遭到篡改,而导致定时结果不准确,影响用户体验。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
随着电子设备的智能化的不断发展,电子设备也涉及到越来越多的用户隐私、商业隐私等信息。为了确保电子设备的安全运行,保证隐私信息不受篡改,通常采用TEE(Trusted execution environment,可信执行环境)技术来确保隐私信息的安全性。
图1为本申请提供的一种电子设备的框架示意图。其中,该框架中包括:TEE可信执行环境(在本文中的一些实施例中也称之为第一TEE)以及REE(Rich ExecutionEnvironment,富执行环境)。
TEE与REE为两个独立的运行环境,其中,REE为电子设备中的普通执行环境。在REE中可以运行客户端应用21(client application,CA)和富执行环境操作系统22(RichExecution Environment operating system,REE OS)。客户端应用21中包括可以为用户提供可信应用的应用。当需要调用可信应用时,富执行环境操作系统22通过可信执行环境客户端应用编程接口(applicationprogramming interface,API)与可信执行环境操作系统22(trusted execution environment operating system,TEE OS)通信,请求可信应用支持。
富执行环境操作系统22中包括驱动,用于支持系统与硬件设备之间完成数据传送,以及支持REE与TEE之间可信应用的交互工作。例如可以包括可信应用模块(可信应用驱动),时钟驱动等。
ARM(Advanced RISC Machines)将TrustZone技术与Coretex-A处理器集成,提供了能够支持完全可信执行环境TEE以及安全感知应用程序和安全服务的平台,即将TEE作为为电子设备中的可信执行环境,为REE侧提供可信应用。TEE为一个安全区域,在该独立的环境中运行可信应用31(trust application,TA)以及可信执行环境操作系统32(trustedexecution environment operating system,TEE OS),可信应用程序31运行于采用基于TrustZone技术的可信执行环境操作系统32之上,与REE侧的操作系统分开,可防止软件/恶意软件攻击。并且TrustZone技术可支持系统切换到安全模式,以提供硬件支持的隔离。此外,可信执行环境操作系统32通过调用可信执行环境内部应用编程接口与富执行环境操作系统22进行通信,提供可信应用支持。
此外,该框架中还包括有ARM可信固件23(arm trusted firmware,ATF),其中设置有Secure Monitor(安全监视器)。另外一方面,ARM也推出了Virtualization Extension技术(虚拟化扩展技术)用于支持ARM平台的硬件虚拟机化,从而在正常运行环境也能实现为不同的运行环境提供硬件的隔离。此外,ARMv8开始支持四种EL(异常级别,ExceptionLevel),分别为从EL0到EL3,并且异常级别后面的数字越大,则,安全等级越高。一般来说,应用程序运行在EL0层,系统内核(在一些实施例中称为操作系统)运行在EL1层,hypevisor(虚拟机管理器)运行在EL2层,Secure Monitor(安全监视器)运行在EL3层。这些技术的发展使得基于虚拟机的TEE环境得以实现,从而实现更为复杂的安全场景。例如,在上述框架示意图中,其中可信应用31以及客户端应用21位于框架中的EL0层,可信执行环境操作系统32以及富执行环境操作系统22位于框架中的EL1层,ARM可信固件23位于框架中的EL3层。
图2为本申请提供的一种电子设备中的交互流程示意图。在图1所示的结构的基础上,图2中通过箭头以及标号①至标号⑧表明了客户端应用调用可信应用的具体流程。具体地,当客户端应用需要调用可信应用时,客户端应用通过调用富执行环境操作系统的API接口(例如,图中的富执行环境侧的GP TEE client API接口221,该GP TEE client API接口221用于为客户端应用21调用可信执行环境中的TA提供接口)向富执行环境操作系统22发出申请,经过富执行环境操作系统22中的内核驱动后通过调用SMC(Secure Monitor Call)指令将客户端应用21的申请发送至ATF,之后经ATF解析后发送至可信执行环境操作系统32;经过可信执行环境操作系统32的分发之后,发送至对应的TA(例如,图中可信执行环境操作系统32可以通过调用GP TEE Internal API接口321,发送至对应的TA)。TA对接收到的请求进行处理之后,通过调用可信执行环境的接口将处理结果发送至可信执行环境操作系统32,并且经可信执行环境操作系统32调用SMC指令后,将处理结果返回至ARM可信固件23,经ARM可信固件23(ATF)解析之后,将处理结果返回至富执行环境操作系统22,之后由富执行环境操作系统22处理结果发送至对应的客户端应用21。
在图1所示的电子设备的框架示意图的基础上,在一些示例中,电子设备的框架示意图中还包括有至少一个第二TEE——HTEE(HTEE仅是一种名称以指代该第二TEE,以区别于上述第一TEE,第一TEE例如高通公司提供的QTEE),该HTEE为基于虚拟机(即ARM框架中的EL2层虚拟机管理器层)实现的另一可信环境。图3为本申请实施例提供的第二种电子设备的框架示意图。在图1所示的结构的基础上,图3框架示意图中,包括有REE、第二TEE(如HTEE)、第一TEE(如QTEE)。图3中的QTEE环境与图1中的TEE为同一环境。
其中,HTEE为电子设备中的另一个可信执行环境,可以为REE侧提供可信应用。HTEE为一个安全区域,包括有在该独立的环境中运行可信应用41(trust application,TA)以及第二可信执行环境操作系统42(图中,用HTEE OS表示)。需要说明的是,此处的HTEE可信执行环境与TEE可信执行环境为两个独立的环境,HTEE为基于虚拟机管理器24(hypervisor)所构建的可信执行环境。两个可信执行环境中对应有各自的可信应用31及可信应用41。
图4为本申请实施例提供的第二种电子设备的交互流程示意图。当客户端应用客户端应用21需要调用可信应用时,若该客户端应用对应的可信应用位于HTEE环境中时(即图中的TA[41])此时该客户端应用21通过调用API接口向富执行环境操作系统22(即,图中的富执行环境操作系统22)发出申请,之后经富执行环境操作系统22中的内核驱动后通过调用HVC(hypervisor call)将客户端应用21申请发送至hypervisor,经过hypervisor处理后发送至第二可信执行环境操作系统42;之后通过第二可信执行环境操作系统42的分发处理之后,发送至对应的TA(即,图中的可信应用41)。TA对接收到的请求进行处理之后,将处理结果返回至第二可信执行环境操作系统42,并通过第二可信执行环境操作系统42调用HVC指令发送至hypervisor;经hypervisor处理后,将TA的处理结果返回至富执行环境操作系统22;之后由富执行环境操作系统22将处理结果发送至对应的客户端应用21。第二可信执行环境需要访问对第一可信执行环境中的资源进行访问时,第二可信执行环境侧的TA可以通过SMC指令发送到第一可信执行环境进行交互。此外,在第二可信执行环境操作系统42与可信应用41交互时,可以通过GP TEE Internal API接口421进行交互。
当客户端应用客户端应用21需要调用的可信应用位于TEE环境中时,此时相关处理过程可以参见图2中的相关处理流程,此处不再赘述。
一些示例中,电子设备中还包括硬件平台,用于支撑电子设备运行,以及存储安全硬件资源。例如,安全硬件资源可以包括:安全内存,以及硬件钥匙,安全键盘等。在本申请的一些实施例中,安全内存用于存储备份的TEE OS镜像,以及用于存放可信应用相关数据等。例如,本实施例中HTEE对应的安全内存可用于存储预设时间差值。
图5A为本申请实施例适用的电子设备的一种结构示意图。如图5A所示,该电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,处理器可以是电子设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100的效率。
在本申请的一些实施例中,处理器110的运行环境可以包括:REE、TEE以及至少一个HTEE。其中,TEE中运行有可信应用程序31以及可信执行环境操作系统32,HTEE中运行有可信应用程序41以及第二可信执行环境操作系统42,REE中运行有客户端应用21以及富执行环境操作系统22。REE用于接收用户通过客户端应用发起的可信应用请求,并根据该可信应用请求调用TEE或者HTEE中的可信应用TA,并由TA返回相应的结果。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(bei dounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等可以实现显示功能。应用处理器可以包括NPU、DPU。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。DPU也称为显示子系统(Display Sub-System,DSS),DPU用于对显示屏194的色彩进行调整,DPU可以通过三维查找表(3D look up table,3D LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行各种功能应用及数据处理。
在本申请的一些实施中,内部存储器121可包括用于存储与TEE或者HTEE中的可信应用相关的数据的区域,这些区域可称为TEE的安全内存或者HTEE的安全内存。
在本申请的一些实施例中,HTEE中的安全内存可用于存储预设时间差值。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。其中,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,还可以是美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
其中,压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景等。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡,eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图5B为本申请实施例适用的电子设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图5B所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。在本申请的一些实施例中,该应用程序层中的应用运行在电子设备的EL0层。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图5B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。在本申请的一些实施例中,安卓系统中的应用程序框架层对应分布于电子设备中的EL0与EL1层中。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。在本申请的一些实施例中,安卓系统中的安卓运行时和系统库可均对应分布于电子设备中的EL0与EL1层中。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。在本申请的一些实施例中,内核层对应分布于电子设备的EL1层。
在一些示例中,图1所示的电子设备中的可信执行环境中的可信应用需要使用RTC(Real_Time Clock,实时时钟)定时器来提供两种服务:可信时间源,安全定时器,可信时间源服务,即提供可信时间点的服务。安全定时器,则是提供一种计时的功能。
而,当电子设备中设置有多个可信执行环境时(例如,图3所示的电子设备),作为硬件外设存在的RTC定时器由于被直接连到安全总线上,只有QTEE(即第一可信执行环境)可以运行于ARM的TrustZone环境上,能够访问安全RTC定时器,提供可信时间源和安全定时器服务,而其它可信执行环境(即,第二可信执行环境,图3中的HTEE)中的可信执行环境操作系统只能访问虚拟通用定时器。虚拟通用定时器(Generic Timer)是ARM硬件体系架构定义的,芯片厂家实现的定时器。每个虚拟机以及EL3模式都有自己的通用定时器。
以下为RTC定时器与虚拟通用定时器的主要功能对比。
RTC定时器 通用定时器
定时参数 Unix时间、年、月、日 Ticket
支持虚拟化 不支持 支持
获取实时时间 支持 不支持
获取开机时间 支持 支持
RTC定时器可以支持设置unix标准格式的时间戳,通过该时间戳可以转化得到时间点(该时间点包括年、月、日、时、分、秒),例如,时间戳为1s时,转换为时间点为1970-01-01 08:00:01(1970年1月1日,8时1s),时间戳为3s时,转化的时间点为1970-01-01 08:00:03。而通用定时器中的ticket参数则以该定时器内部晶振为标准衡量的,也就是说通过晶振计算输入时钟已经过了多少个clock,每一经过一个clock,通用定时器就会加一。
由于通用定时器不支持获取实时时间,因此,在多可信执行环境的电子设备中需要提供一种设计方案来实现可信时间授时以及安全定时功能。
在一种情况下,第二可信执行环境中的第二可信执行环境操作系统可用于实现定时校验的功能。本实施例中,通过在第二可信执行环境操作系统中设置有一个软件实时时钟模块,使得第二可信执行环境可以基于该第二可信执行环境中的虚拟通用计时器以及第一可信执行环境提供的可信时间源来实现第二可信执行环境可以提供安全定时器的服务,该定时器的时间格式可以为Unix格式。图6为本申请实施例提供的一种定时校验方法的流程示意图。具体的,本实施例中提供的定时校验方法应用于包括有多个可信执行环境的电子设备。该电子设备的框架示意图如图7所示。
图7为本申请实施例提供的第三种电子设备的框架结构示意图。其中,该电子设备中包括有一个第一可信执行环境TEE执行环境以及至少一个第二可信执行环境(即图3中所示的HTEE执行环境)。其中,第一可信执行环境为基于ARM的TrustZone硬件技术实现的,可以直接访问与其连接的实时时钟电路33(即上述的安全RTC定时器),该实时时钟电路33可用于向该第一可信执行环境中的可信应用提供可信时间点,并且其余执行环境中的应用不可随意访问该实时时钟电路33。第一可信执行环境中包括可信应用(即,图中的TA[31])以及该可信执行环境中的第一可信执行操作系统32(即,图中的TEE OS[32])。
第二可信执行环境为基于虚拟机管理器层虚拟出的可信执行环境,并且在该虚拟环境中虚拟机管理器层(即电子设备框架中的EL2层,hypervisor 24)中还设置有一个能够实现定时功能的虚拟通用计时器(即,图中的Virtual Generic Timer),该虚拟通用计时器可用于记录当该第二可信执行环境自开机以来所经历时时长,即自第二可信执行环境自开机时,虚拟通用计时器就开始计数,但不可以向可信应用提供可信时间点。并且,还可以向该虚拟通用计时器设定指定的时间段,当该时间段结束之后,虚拟通用计时器则会向外部输出一个信号,来表征定时结束。
此外,在第二可信执行环境中还运行有可信应用(TA 41)以及该第二可行执行环境的操作系统(图中用HTEE OS 42表示)。本实施例提供的定时校验方法可用于避免当虚拟通用计时器中的计时时段被篡改时,虚拟通用定时器发出错误的响应消息。
如图6所示,该定时校验方法具体包括以下步骤:
S101、第二可信执行环境操作系统响应于定时请求,向第一可信执行环境中的实时时钟电路发送可信时间获取请求,其中该定时请求中包括有目标时间点。
示例性地,本实施例中的定时请求可以为运行在该第二虚拟环境中的需要准确定时的可信应用发起的。例如,支持跨国漫游服务的可信应用,需要依据用户开通跨国漫游服务的时长,向用户开启或者停止漫游服务。
一个示例中,该定时请求可以为用户操作电子设备中第二可信执行环境中的可信应用所发起的。之后,该可信应用需要向该第二可信执行环境中的第二可信执行环境操作系统42发送定时请求。具体地,可信应用可以通过调用第二可信执行环境操作系统42的标准通信接口向第二可信执行环境操作系统42发送定时请求,其中,该定时请求中的目标时间点应该为虚拟通用定时器在功能正常的情况下定时结束并返回定时响应消息的时间点。在第二可信执行环境中的可信应用向第二可信执行环境操作系统42发送定时请求后,第二可信执行环境操作系统42可以通过调用SMC指令,通过EL3层的ARM可信固件,将定时请求发送至第一可信执行环境中的第一可信执行环境操作系统32。之后由第一可信执行环境操作系统32向实时时钟电路33请求可信时间。最后,由实时时钟电路33返回该可信时间(该示例的流程可以参见图7中的箭头指向)。
S102、第一可信执行环境中实时时钟电路向第二可信执行环境操作系统返回第一可信时间点;
S103、第二可信执行环境操作系统依据定时请求中的目标时间点以及第一可信时间点,确定第一时间段。
示例性地,在第二可信执行环境操作系统42接收到定时请求之后,会向第一可信执行环境请求可信时间,第一可信执行环境中的实时时钟电路33响应于第二可信执行环境操作系统42的可信时间获取请求之后,向第二可信执行环境操作系统42返回第一可信时间点。
S104、第二可信执行环境操作系统向虚拟通用定时器发送包括有第一时间段的第一消息,其中,该第一消息用于告知虚拟通用定时器待定时的时间段。
示例性地,本实施例中的虚拟通用定时器为位于第二可信执行环境中的虚拟机管理层(即EL2层),而第二可信执行环境操作系统42位于第二可信执行环境中的EL1层。当第二可信执行环境操作系统42需要向虚拟通用定时器发送第一消息时,可以通过调用HVC(hypervisor call),将携带有第一时间段的第一消息发送至相对应的虚拟通用计时器。
S105、虚拟通用定时器依据接收到的第二消息中的第二时间段执行计时处理。
示例性地,本步骤中由于虚拟通用定时器在计时时,所接收到的时间段值容易遭受到外部篡改,因此,当接收到的时间段值被篡改时,则此时虚拟通用定时器执行计时处理时的第二时间段值与第二可信执行环境操作系统42依据第一可信时间点以及目标时间点确定出的第一时段值不相同。若未发生篡改,则此时第一时段值与第二时段值相同。
S106、虚拟通用定时器在经历第二时间段之后,向第二可信执行环境操作系统返回用于表征计时结束的计时响应消息。
示例性地,在虚拟通用定时器定时结束之后,会向第二可信执行环境操作系统42返回计时响应消息,进而通知第二可信执行环境操作系统42计时结束。
S107、若第二可信执行环境操作系统42接收到计时响应消息,则再次向第一可信执行环境中的实时时钟电路33发送可信时间获取请求,其中,该可信时间获取请求用于请求当前时刻下的第二可信时间点;
S108、第一可信执行环境中实时时钟电路向第二可信执行环境操作系统返回第二可信时间点;
S109、第二可信执行环境操作系统依据返回的第二可信时间点以及定时请求中的目标时间点,确定定时校验结果。
示例性地,在步骤S106之后,即第二可信执行环境操作系统42接收到虚拟通用计时器返回的计时结束消息之后,为了进一步确定虚拟通用计时器返回计时结束消息的时间点是否准确,则此时,第二可信执行环境操作系统42再次向与第一可信执行环境建立连接的实时时钟电路33发送可信时间获取请求,并依据实时时钟电路33当前返回的第二可信时间点来进一步校验虚拟通用定时器所返回的结果是否可信。
一个示例中,在第二可信执行环境操作系统42接收到第二可信时间点之后,可以对比第二可信时间点以及定时请求中的目标时间点,若二者一致,则表明虚拟通用计时器返回的计时结束消息可信,即定时校验结果通过,否则,返回的计时结束消息不可信,即定时校验结果不通过。
一个示例中,在第二可信执行环境操作系统42确定定时校验结果时,对比第二可信时间点以及定时请求中的目标时间点时,还可以预先设置误差范围。即,若第二可信时间点与目标时间点之间的时间误差位于预先设置的误差范围内时,也可以认为此时虚拟通用计时器所返回的计时结束消息可信,此时,定时校验结果通过。若是二者之间的时间误差超出了预先设置的误差范围,则表明虚拟通用计时器返回的计时结束消息不可靠,定时校验结果为不通过。
一个示例中,在在第二可信执行环境操作系统42接收到第二可信时间点之后,可以将第二可信时间点与第一可信时间点之间的差值与之前确定的第一时间段进行对比,若二者之间的误差在一定范围内,则认为此时定时校验通过定时准确。
一个示例中,当定时请求为该第二可信执行环境中的可信应用TA发起时,则在定时校验结果通过之后,第二可信执行环境操作系统42可以将定时结束消息发送至对应的TA。例如,当用户通过可信应用开通了漫游通话服务之后,可信应用可以将漫游通话服务的结束时间点作为目标时间点,发起定时请求。在虚拟通用定时计时结束返回计时结束消息并且经过第二可信执行环境操作系统42定时校验结果通过后,第二可信执行环境操作系统42会将定时结束消息返回至发起定时请求的可信应用,以使可信应用停止向用户提供漫游通过服务。
一个示例中,当定时校验结果为不通过时,则此时第二可信执行环境操作系统42可以直接向TA返回定时异常消息。在一种可能的实施方式中,若TA接收到定时异常消息,可以重新发起定时请求,例如,此时,用户界面可以弹出一个提示框,用于提醒用户当前定时请求异常,是否重新开启定时请求。在一种可能的实施方式中,在上述实施方式的基础上,在重新发送定时请求之前,该可信应用可以发起可信时间请求,进而判断当前的时间与目标时间点,若还未到达目标时间点,则重新发起定时请求,否则,则不发起定时请求。
图8为本申请实施例提供的又一种定时校验的交互流程图。图中,黑色矩形框代表电子设备的时间片。HTEE代表第二可信执行环境,QTEE代表第一可信执行环境。QTEE在占用一定时间片启动后,当HTEE接收来自该HTEE可信执行环境中可信应用TA的定时请求,并且该定时请求中包括计时时段时,该HTEE可以通过定时请求中的计时时间段Tc设置虚拟通用计时器,使得该虚拟通用计时器开始计时(在虚拟通用计时器计时时,此时,电子设备的时间片被HTEE占用)。并且,同时向QTEE请求第一可信时间点Tb。在HTEE系统上的虚拟通用定时器定时结束后,再次调用QTEE的获取第二可信时间点时间Ta,计算△t=Ta-Tb。如果Tc与△t的差值在一定范围内,则判定定时准确,返回TA。如果超出误差一定范围,则判断定时不准确,此时向TA报告异常事件。即图中两个虚线框中发生的事件基于判断结果任选一个执行。
本实施例中提供了一种定时校验的方法,该定时校验方法应用于包括多个可信执行环境的电子设备。由于在第二可信执行环境中,用于定时的虚拟通用定时器容易遭到篡改,因此,在第二可信执行环境中的第二可信执行环境操作系统42在接收定时请求之后,通过两次向第一可信执行环境中的实时时钟电路33请求可信时间点来检验虚拟通用计时器所返回的计时响应消息。通过对计时响应消息的校验,可以有效避免应用程序由于接收到错误计时响应消息而误触发相关响应。
在一种可能的实施方式,当第二可信执行环境操作系统42需要从第一可信执行环境中获取可信时间点时,可以通过以下步骤实现。图9为本申请实施例提供的一种获取可信时间点的方法的流程示意图。如图9所示,该方法包括以下步骤:
S201、第二可信执行环境操作系统在接收到定时请求之后,向第一可信执行环境中运行的可信执行环境操作系统发送时间获取请求,该时间获取请求用于指示可信执行环境操作系统从实时时钟电路获取可信时间点。
示例性地,在本实施例中,第二可信执行环境的操作系统第二可信执行环境操作系统42可以通过第一可信执行环境中运行的操作系统32从实时时钟电路33中获取可信时间点。其中,实时时钟电路33与该第一可信执行环境中运行的操作系统32之间建立有通信连接。
在一种可能的实施方式中,在第二可信执行环境操作系统42发送时间获取请求时,时间获取请求中还包括有该第二可信执行环境的标识信息或者该第二可信执行环境操作系统42的位置信息,进而后续可以依据上述信息向第二可信执行环境操作系统42返回可信时间点
在一种可能的实施方式中,当第二可信执行环境中的第二可信执行环境操作系统42与第一可信执行环境中的第一可信执行环境操作系统32实现数据交互时,可以通过电子设备中设置的位于EL3层ATF建立通信连接。当第二可信执行环境操作系统42需要向第一可信执行环境中的第一可信执行环境操作系统32发送时间获取请求时,此时第二可信执行环境操作系统42通过调用SMC指令,将上述时间获取请求发送至ATF,并且经过ATF对接收到的指令进行解析后发送至第一可信执行环境操作系统32。
S202、第一可信执行环境操作系统32在接收到时间获取请求之后,向实时时钟电路发送时间获取消息。
S203、实时时钟电路在接收到第一可信执行环境操作系统32发送的时间获取申请后向第一可信执行环境操作系统32返回可信时间点。
S204、第一可信执行环境操作系统32将接收到的可信时间点返回至第二可信执行环境操作系统。
在一种可能的实施方式中,在第一可信执行环境操作系统32向第二可信执行环境操作系统42返回可信时间点时,可以通过电子设备中的ATF建立通信连接。具体地,当第二可信执行环境操作系统42需要返回可信时间点时,可以通过调用SMC指令将可信时间点发送至电子设备中的ATF,并且经过ATF的解析处理之后,将解析处理后的指令发送至第一可信执行环境操作系统32,以使得第一可信执行环境操作系统32从解析处理后的指令中获取到可信时间点。
本实施例中,当第二可信执行环境中的第二可信执行环境操作系统42接收到定时请求之后,可以通过第一可信执行环境中的第一可信执行环境操作系统32得到实时时钟电路33确定出的可信时间点。进而,通过多次从该实时时钟电路33获取可信时间点来校验虚拟通用计时器定时的准确性。
在另一种情况下,第二可信执行环境中的第二可信执行环境操作系统42还用于实现获取可信时间点的功能。
举例来说,当第二可信执行环境中运行有需要提供准确时间点的可信应用时,例如,该可信应用可以为为提供用户会员服务的视频应用程序或者音乐播放器等,在上述可信应用中,部分视频或者音频仅在用户会员服务有效期间才可供用户播放。此类软件,当用户选择播放会员影片时,需要获取可信时间与会员服务有效截止时间相比较,若在有效截止时间内,此时,才可以播放该影片。因此,在本实施例中,第二可信执行环境中的第二可信执行环境操作系统42还可以用于依据时间获取请求,获取第三可信时间点。
以下具体介绍两种第二可信执行环境操作系统42获取可信时间点的方法。
在一种可能的实现方式中,当第二可信执行环境操作系统42接收到定时请求时,此时,该第二可信执行环境操作系统42可以向第一可信执行环境中请求可信时间点。具体的,第一可信执行环境对应连接的实时时钟电路33可用于提供可信时间点。由于,该实时时钟电路33只能由第一可信执行环境中的可信应用或者第一可信执行环境中的操作系统直接访问获取实时时钟电路33所得到的时间点,进而保证实时时钟电路33所提供的时间点的安全性。
图10为本申请实施例提供的第二种可信时间获取方法的流程示意图。本实施例中以第二可信执行环境操作系统42所获取的定时请求为该第二可信执行环境操作系统42对应的第二可信执行环境中的可信应用发起的为例说明。
如图10所示,该方法包括以下步骤:
S301、可信应用TA向其对应的第二可信执行环境中的第二可信执行环境操作系统发送时间获取请求。
示例性地,本实施例中的可信应用TA与第二可信执行环境操作系统42位于同一第二可信执行环境中,即该可信应用TA为图中的TA[41],该时间获取请求用于获取当前时刻下的第三可信时间点。并且可信应用TA向第二可信执行环境操作系统发送时间获取请求可以是由用户通过操作可信应用TA的操作界面实现的。
举例来说,当用户在可信应用TA的操作界面中选择浏览或者播放具有数字版权保护的资源的触发下,该可信应用TA向第二可信执行环境操作系统发送时间获取请求。
一个示例中,时间获取请求中携带有该可信应用的标识。
S302、第二可信执行环境操作系统响应于接收到的时间获取请求,经第二可信执行环境操作系统驱动后向电子设备中的ATF发送时间获取指令。
示例性地,在第二可信执行环境操作系统42向电子设备中的ATF发送时间获取指令时,可以通过调用SMC指令实现。
S303、ATF响应第二可信执行环境操作系统发送的时间获取指令,对该时间获取指令进行解析,并将解析后的定时请求指令发送至第一可信执行环境中的第一可信执行环境操作系统32。
S304、第一可信执行环境中的第一可信执行环境操作系统32向实时时钟电路发送时间获取消息。
S305、实时时钟电路依据获取到的消息,向第一可信执行环境操作系统32返回第三可信时间点。
S306、第一可信执行环境中的第一可信执行环境操作系统32向ATF返回时间获取响应指令,该时间获取响应指令中携带有第三可信时间点。
一个示例中,当电子设备中包括有多个第二可信执行环境时,第一可信执行环境操作系统32向ATF返回的请求响应消息中还包括有请求第三可信时间点的第二可信执行环境的标识,以使ATF可以依据请求响应中的第二可信执行环境的标识,将第一可信执行环境操作系统32返回的第三可信时间点发送至对应的第二可信执行环境中的第二可信执行环境操作系统42。
S307、ATF对接收到时间获取响应指令进行解析,并解析后的时间获取响应指令发送至对应的第二可信执行环境操作系统。
示例性地,当ATF接收到第一可信执行环境操作系统32返回的时间获取响应指令时,对该时间获取响应指令进行解析,进而确定该时间获取响应指令所返回的可信执行环境,并将解析后的消息返回至解析出的可信执行环境中的第二可信执行环境操作系统42,以使第二可信执行环境操作系统42获取到第三可信时间点。
S308、第二可信执行环境操作系统通过对接收到的请求响应消息进行处理,将第三可信时间点返回至对应的可信应用TA。
本实施例中,第二可信执行环境中的第二可信执行环境操作系统42还可用于接收第三可信时间获取请求,并依据接收到的时间获取请求从与第一可信执行环境建立连接的实时时钟电路33中获取第三可信时间点,进而确保了所获取的时间点的准确性。
在另一种可能的实现方式中,第二可信执行环境对应设置有安全存储区,如图11所示,图11为本申请实施例提供的第三种电子设备的框架结构示意图。如图11所示,在该电子设备中,第二可信执行环境对应连接有安全存储区,该安全存储区可用于存储设备信息、根密钥信息等隐私信息,并且该安全中存储的数据只能由该可信执行环境中的可信应用或者该可信执行环境中的操作系统才可以访问,其余执行环境不可直接访问该安全存储区中的数据(例如,富执行环境中的客户端应用则不可以直接访问第二可信执行环境所对应的安全存储区中所存储的数据)。
一个示例中,在第二可信执行环境中的操作系统或者可信应用与安全存储区之间进行数据交互时,交互过程中传递的消息均为加密信息,进而可进一步保证从安全存储区中获取的数据的安全性。
具体地,在该实现方式中,第二可信执行环境操作系统42获取可信时间点的具体流程可以参见图12所示的流程示意图。图12为本申请实施例提供的又一种可信时间点获取的流程示意图。
S401、可信应用TA向其对应的第二可信执行环境中的第二可信执行环境操作系统发送时间获取请求,其中,该时间获取请求用于请求当前时刻的第三可信时间点。
S402、第二可信执行环境操作系统响应于接收到的时间获取请求,向第二可信执行环境操作系统对应的安全存储发送第一时间获取请求指令;
S403、第二可信执行环境操作系统响应于接收到的时间获取请求,向第二可信执行环境操作系统对应向虚拟通用计时器请求发送第二时间获取请求指令。
示例性地,本实施例中的安全存储用于存储预设时间差值,第二可信执行环境操作系统42向安全存储发送第一时间获取请求指令用于向安全存储请求预设时间差值,第二可信执行环境操作系统42向虚拟通用计时器请求发送第二时间获取请求指令用于向虚拟通用计时器请求第一时段值。其中,虚拟通用计时器可用于测量第二可信执行环境的开机时长所对应的时段值,实时时钟电路33可用于实时测量时间点值,而预设时间差值为同一时刻下虚拟通用计时器所获取的时段值以及实时时钟电路33所获取的时间点之间的差值。本实施例中步骤S402与步骤S403之间的顺序仅为示例性地描述,此处不做具体限制。
一个示例中,当第二可信执行环境操作系统42接收到时间获取请求之后,可以依据该可信应用在该第二可信执行环境中的安全等级的排序确定获取可信时间点的方式。举例来说,若该可信应用的安全等级较高,则可以通过采用图9所示的实施方式,从第一可信执行环境中的实时时钟电路33中获取可信时间点。否则,可以依据本申请实施例中的方式,从安全存储中获取预设时间差。
S404、安全存储向第二可信执行环境操作系统返回第一时间获取响应指令,第一时间获取响应指令中包括预设时间差。
一个示例中,为了确定预设时间差值,在步骤S404之前,第二可信执行环境操作系统42还用于向与第一可信执行环境建立连接的实时时钟电路请求第四可信时间点,并且向虚拟通用定时器请求第二时段值,并将依据请求得到的第四可信时间点以及第二时段值确定出预设时间差值。并将计算得到的预设时间差值存储至该第二可信执行环境对应的安全存储区,以确保预设时间差值的安全性。
S405、虚拟通用计时器向第二可信执行环境操作系统返回第二时间获取响应指令,第二时间获取响应指令中包括当前的第一时段值。
S406、第二可信执行环境操作系统依据接收到的预设时间差以及当前的第一时段值计算得到可信时间点。
示例性地,第二可信执行环境操作系统基于虚拟通用计时器返回的第一时段值以及安全存储返回的预设时间差值求和后得到可信时间点。
一个示例中,为了确保安全存储中的数据的安全性,在第二可信执行环境操作系统42与安全存储之间进行数据传输时,所传输的数据均为加密后的数据。因此,在第二可信执行环境操作系统42计算可信时间点时之前,还需要对安全存储所返回的第一时间获取响应指令进行解密处理,以得到其中的预设时间差值。需要说明的是,本示例中对于数据的加密方式不做具体限制。
S407、第二可信执行环境操作系统将计算得到的可信时间点返回至对应的可信应用。
本实施例中,当第二可信执行环境操作系统42需要获取可信时间点时,可以依据预先存储的时间差值以及向虚拟通用计时器请求得到的第一时段值求和后得到。相比于通过第一可信执行环境中的实时时钟电路33获取可信时间点,本实施例所提供的可信时间点获取方式通过利用第二可信执行环境中的安全存储,节省每次接口的调用时间开支,并能保持安全可信程度不变。
如图13所示,图为本申请实施例提供的一种可信时间点获取的交互流程示意图。图中的黑色条状代表电子设备的时间片。首先,QTEE系统启动(在QTEE启动时,时间片被QTEE占用),之后HTEE系统启动,获取当前HTEE系统开机时间t1,并调用SMC指令从QTEE获取当前RTC时间t2,计算偏差值Δt=t2-t1,并将此偏差值Δt存入安全存储中(在此阶段时间片被HTEE占用)。之后当HTEE系统上的TA调用GP Internal API接口获取当前可信时间时,此时,时间片再次被HTEE占用,HTEE系统在此时间片中,首先获取当前开机时间t3,并从安全存储中取出偏移值Δt,从而计算出当前可信时间t=t3+Δt,返回给TA。
在一种实施例中,本申请提供的电子设备,包括第一可信执行环境TEE以及至少一个第二可信执行环境HTEE的电子设备,第一可信执行环境TEE与实时时钟电路33连接,第二可信执行环境HTEE中运行有第二可信执行环境操作系统42以及虚拟通用计时器;
第二可信执行环境操作系统42,用于响应定时请求,并从实时时钟电路33中获取第一可信时间点,定时请求包括目标时间点;
第二可信执行环境操作系统42,用于依据定时请求以及第一可信时间点,确定第一时间段,并向虚拟通用计时器发送第一消息,第一消息包括第一时间段;
虚拟通用计时器,用于依据接收到的第二消息执行计时处理,第二消息包括第二时间段;
第二可信执行环境操作系统42,用于接收虚拟通用计时器返回的计时响应消息,并从实时时钟电路33中获取第二可信时间点;
第二可信执行环境操作系统42,用于依据第二可信时间点与目标时间点,确定定时校验结果。
在该电子设备中,第二可信执行环境中的第二可信执行环境操作系统42可用于对虚拟通用计时器定时结果的准确性进行校验。第二可信执行环境操作系统42通过在虚拟通用计时器定时之前依据从第一可信执行环境连接的实时时钟电路33获取的第一可信时间点确定定时时段值,并且在虚拟定时器定时结束之后,再次从实时时钟电路33获取第二可信时间点进而检验该定时结果的准确性。
在一种实施例中,本申请实施例所提供的电子设备可以包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现上述任一实施例中所提供的方法。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本申请实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。在本申请实施例中,“示例性的”或者“例如”等表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (11)

1.一种定时校验方法,其特征在于,应用于包括第一可信执行环境TEE以及至少一个第二可信执行环境的电子设备,所述第一可信执行环境与实时时钟电路连接,所述第二可信执行环境中运行有第二可信执行环境操作系统以及虚拟通用计时器,所述方法包括:
所述第二可信执行环境操作系统响应于定时请求,并从所述实时时钟电路中获取第一可信时间点,所述定时请求包括目标时间点;
所述第二可信执行环境操作系统依据所述定时请求以及所述第一可信时间点,确定第一时间段,并向所述虚拟通用计时器发送第一消息,所述第一消息包括第一时间段;
所述第二可信执行环境操作系统接收所述虚拟通用计时器返回的计时响应消息,并从所述实时时钟电路中获取第二可信时间点,所述计时响应消息为所述虚拟通用计时器依据接收到的第二消息执行计时处理后得到的,所述第二消息包括第二时间段;
所述第二可信执行环境操作系统依据所述第二可信时间点与所述目标时间点,确定定时校验结果。
2.根据权利要求1所述的方法,其特征在于,所述第一可信执行环境中运行有第一可信执行环境操作系统,所述第二可信执行环境操作系统响应于定时请求,并从所述实时时钟电路中获取第一可信时间点,包括:
所述第二可信执行环境操作系统响应于定时请求,并向第一可信执行环境操作系统发送时间获取请求;
所述第二可信执行环境操作系统接收所述第一可信执行环境操作系统发送的第一可信时间点,所述第一可信时间点为所述第一可信执行环境操作系统依据所述时间获取请求从所述实时时钟电路获取得到的。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二可信执行环境操作系统响应于时间获取请求,获取第三可信时间点。
4.根据权利要求3所述的方法,其特征在于,所述获取第三可信时间点包括:
所述第二可信执行环境操作系统从所述实时时钟电路中获取第三可信时间点。
5.根据权利要求3所述的方法,其特征在于,所述获取第三可信时间,包括:
所述第二可信执行环境操作系统依据获取的预设时间差值以及所述虚拟通用计时器的第一时段值,确定所述第三可信时间,所述预设时间差值为同一时刻下所述虚拟通用计时器的第二时段值与所述实时时钟电路的第四可信时间点的差值。
6.根据权利要求4所述的方法,其特征在于,所述第二可信执行环境操作系统依据获取的预设时间差值以及所述虚拟通用计时器的第一时段值,确定所述第三可信时间之前,所述方法还包括:
所述第二可信执行环境操作系统获取所述虚拟通用计时器的第二时段值,并通过所述实时时钟电路获取第四可信时间点;
所述第二可信执行环境操作系统依据所述第二时段值以及所述第四可信时间点,确定预设时间差值,并将所述预设时间差值存储在所述第二可信执行环境对应的安全存储区。
7.根据权利要求1所述的方法,其特征在于,所述第二可信执行环境操作系统依据所述第二可信时间点与所述目标时间点,确定定时校验结果,包括:
若所述第二可信执行环境操作系统确定第二可信时间点与所述目标时间点的差值超出预设范围,则所述定时检验结果不通过;否则,所述定时校验结果通过。
8.一种电子设备,其特征在于,所述电子设备包括第一可信执行环境以及至少一个第二可信执行环境的电子设备,所述第一可信执行环境与实时时钟电路连接,所述第二可信执行环境中运行有第二可信执行环境操作系统以及虚拟通用计时器;
所述第二可信执行环境操作系统,用于响应定时请求,并从所述实时时钟电路中获取第一可信时间点,所述定时请求包括目标时间点;
所述第二可信执行环境操作系统,用于依据所述定时请求以及所述第一可信时间点,确定第一时间段,并向所述虚拟通用计时器发送第一消息,所述第一消息包括第一时间段;
所述虚拟通用计时器,用于依据接收到的第二消息执行计时处理,所述第二消息包括第二时间段;
所述第二可信执行环境操作系统,用于接收所述虚拟通用计时器返回的计时响应消息,并从所述实时时钟电路中获取第二可信时间点;
所述第二可信执行环境操作系统,用于依据所述第二可信时间点与所述目标时间点,确定定时校验结果。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现权利要求1-7中任一项所述的方法。
CN202111322814.3A 2021-11-09 2021-11-09 定时校验方法、电子设备和可读存储介质 Active CN115017495B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111322814.3A CN115017495B (zh) 2021-11-09 2021-11-09 定时校验方法、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111322814.3A CN115017495B (zh) 2021-11-09 2021-11-09 定时校验方法、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN115017495A true CN115017495A (zh) 2022-09-06
CN115017495B CN115017495B (zh) 2023-08-08

Family

ID=83065026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111322814.3A Active CN115017495B (zh) 2021-11-09 2021-11-09 定时校验方法、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN115017495B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009108A (zh) * 2023-02-24 2023-11-07 荣耀终端有限公司 消息处理方法、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104620253A (zh) * 2012-09-28 2015-05-13 意法爱立信有限公司 用于维持安全时间的方法和设备
CN108781210A (zh) * 2015-12-11 2018-11-09 格马尔托股份有限公司 具有可信执行环境的移动设备
DE112017004920T5 (de) * 2016-09-29 2019-06-19 Intel Corporation Geschützte Echtzeituhr mit Hardwareverschaltungen
US20200143041A1 (en) * 2018-11-01 2020-05-07 Foundation Of Soongsil University-Industry Cooperation Hybrid trust execution environment based android security framework, android device equipped with the same and method of executing trust service in android device
WO2021052086A1 (zh) * 2019-09-17 2021-03-25 华为技术有限公司 一种信息处理方法及装置
CN113485524A (zh) * 2021-07-12 2021-10-08 上海瓶钵信息科技有限公司 基于可信执行环境的时钟同步方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104620253A (zh) * 2012-09-28 2015-05-13 意法爱立信有限公司 用于维持安全时间的方法和设备
CN108781210A (zh) * 2015-12-11 2018-11-09 格马尔托股份有限公司 具有可信执行环境的移动设备
DE112017004920T5 (de) * 2016-09-29 2019-06-19 Intel Corporation Geschützte Echtzeituhr mit Hardwareverschaltungen
US20200143041A1 (en) * 2018-11-01 2020-05-07 Foundation Of Soongsil University-Industry Cooperation Hybrid trust execution environment based android security framework, android device equipped with the same and method of executing trust service in android device
WO2021052086A1 (zh) * 2019-09-17 2021-03-25 华为技术有限公司 一种信息处理方法及装置
CN113485524A (zh) * 2021-07-12 2021-10-08 上海瓶钵信息科技有限公司 基于可信执行环境的时钟同步方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009108A (zh) * 2023-02-24 2023-11-07 荣耀终端有限公司 消息处理方法、设备及存储介质

Also Published As

Publication number Publication date
CN115017495B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
EP3822835B1 (en) Method for deleting secure service, and electronic apparatus
WO2020150917A1 (zh) 一种应用权限的管理方法及电子设备
CN110751503B (zh) 广告处理方法和电子设备
CN114553814B (zh) 处理推送消息的方法和装置
WO2022160991A1 (zh) 权限控制方法和电子设备
US20230297700A1 (en) Permission Management Method and Terminal Device
CN111159604A (zh) 图片资源加载方法及装置
WO2021057982A1 (zh) 应用程序的处理方法及相关产品
WO2022253158A1 (zh) 一种用户隐私保护方法及装置
WO2022111469A1 (zh) 一种文件共享方法、装置及电子设备
CN115017495B (zh) 定时校验方法、电子设备和可读存储介质
CN115017498B (zh) 小应用程序的操作方法和电子设备
CN115022982B (zh) 多屏协同无感接入方法、电子设备及存储介质
CN114006698A (zh) token刷新方法、装置、电子设备及可读存储介质
CN114692119A (zh) 校验应用的方法和电子设备
CN113467821A (zh) 应用程序的修复方法、装置、设备及可读存储介质
CN113867851A (zh) 电子设备操作引导信息录制方法、获取方法和终端设备
CN110971692A (zh) 开通服务的方法、装置及计算机存储介质
CN115225298B (zh) 提示方法、相关装置及系统
CN114006969B (zh) 一种窗口启动方法和电子设备
CN115016666B (zh) 触控处理方法、终端设备以及存储介质
WO2023142935A1 (zh) 应用组件管理方法及相关设备
CN116527266A (zh) 数据归集方法及相关设备
CN115941220A (zh) 跨设备认证方法和装置
CN114372220A (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