CN114374460A - 一种系统时间的获取方法及终端设备 - Google Patents

一种系统时间的获取方法及终端设备 Download PDF

Info

Publication number
CN114374460A
CN114374460A CN202011105785.0A CN202011105785A CN114374460A CN 114374460 A CN114374460 A CN 114374460A CN 202011105785 A CN202011105785 A CN 202011105785A CN 114374460 A CN114374460 A CN 114374460A
Authority
CN
China
Prior art keywords
time
terminal device
response
satellite
ntp server
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.)
Pending
Application number
CN202011105785.0A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011105785.0A priority Critical patent/CN114374460A/zh
Publication of CN114374460A publication Critical patent/CN114374460A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electric Clocks (AREA)

Abstract

本申请实施例提供一种系统时间的获取方法及终端设备,涉及终端控制技术领域,可以保证终端设备的系统时间的安全性和准确性,进而利用正确的系统时间能够保证终端设备的正常工作。该方法应用于终端设备中,终端设备包括可信执行环境TEE,该方法包括:终端设备在TEE运行系统时钟服务,向网络时间协议NTP服务器、卫星和基站发送第一请求;第一请求用于获取绝对时间;终端设备接收以下至少一项:来自卫星的第一响应、来自基站的第一响应、以及来自NTP服务器的第一响应;终端设备通过系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成终端设备的系统时间;其中,预设安全等级包括卫星、基站和NTP服务器各自的绝对时间的安全等级。

Description

一种系统时间的获取方法及终端设备
技术领域
本申请涉及终端控制技术领域,尤其涉及一种系统时间的获取方法及终端设备。
背景技术
目前,终端设备中的应用(如相机服务、支付服务和系统时钟服务等)可以按照安全等级的不同,分别运行在富执行环境(rich execution environment,REE)或可信执行环境(trusted execution environment,TEE)。例如,相机服务对安全性要求比较低,则可以运行在REE中。支付服务对对安全性要求比较高,可以运行在TEE中。
其中,REE是一种安全性较低的执行环境,运行在REE中的应用容易被篡改。一般而言,上述系统时钟服务也是运行在REE中的。因此,系统时钟服务很容易被篡改,而输出错误的系统时间,导致终端设备无法正常为用户提供服务。
发明内容
本申请提供一种系统时间的获取方法及终端设备,可以保证终端设备的系统时间的安全性和准确性,进而利用正确的系统时间能够保证终端设备的正常工作。
为实现上述技术目的,本申请采用如下技术方案:
第一方面,本申请提供了一种系统时间的获取方法,该方法应用于终端设备中,终端设备包括TEE。该方法包括:终端设备在TEE运行系统时钟服务,向网络时间协议NTP服务器、卫星和基站发送第一请求;终端设备接收以下至少一项:来自卫星的第一响应、来自基站的第一响应,以及来自NTP服务器的第一响应,终端设备通过系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成终端设备的系统时间。其中,第一请求用于获取绝对时间;预设安全等级包括卫星、基站和NTP服务器各自的绝对时间的安全等级。
采用本申请提供的方法,一方面,终端设备可以在TEE中运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求,该第一请求用于获取绝对时间。因此,NTP服务器、卫星和基站接收到该第一请求后,便可以向终端设备返回包括绝对时间的第一响应。终端设备便可以接收到该第一响应;然后根据该第一响应中的绝对时间生成终端设备的系统时间。
其中,由于系统时钟服务位于终端设备的TEE中,而TEE是一种安全性较高的执行环境,TEE中的信息只能由TEE授权的可信应用(trust application,TA)访问或修改。因此,TEE之外的第三方工具很难篡改TEE中的信息,则TEE中的系统时钟服务生成的系统时间也不会被篡改,保证了终端设备的系统时间的安全性和准确性。进而利用正确的系统时间,能够保证终端设备的正常工作。
另一方面,终端设备向NTP服务器、卫星和基站都发送第一请求,即向NTP服务器、卫星和基站都请求获取绝对时间。进而,可以接收到来自NTP服务器的第一响应、来自卫星的第一响应和来自基站的第一响应中的至少一个;再利用至少一个第一响应生成终端设备的系统时间,避免了由于NTP服务器停止工作而无法收到来自NTP服务器的第一响应时导致的无法生成终端设备的系统时间的问题,或者由于与卫星或基站通讯失败而无法收到来自卫星或基站的第一响应时导致的无法生成终端设备的系统时间的问题,提高了获取终端设备的系统时间的可靠性。
在一种可能的实施方式中,该接收到的第一响应是来自第一对象的第一响应,第一对象属于卫星、基站和NTP服务器。该方法还包括:若第一对象不包括卫星、基站和NTP服务器中优先级最高的,则终端设备通过系统时钟服务,重新向第二对象发送第一请求。其中,第二对象的绝对时间的安全等级高于第一对象的绝对时间的安全等级,第二对象属于卫星、基站和NTP服务器。
在该设计方式中,终端设备接收到第一对象的第一响应,第一对象不包括卫星、基站和NTP服务器中绝对时间的安全等级最高的,则重新向绝对时间的安全等级大于第一对象的第二对象发送第一请求,以向卫星、基站和NTP服务器中绝对时间的安全等级更高的对象重新请求绝对时间。进而可以利用安全等级更高的绝对时间,生成终端设备的系统时间。由于安全等级更高的绝对时间被篡改的可能性越低。因此,利用安全等级更高的绝对时间生成终端设备的系统时间,提高了终端设备的系统时间的安全性和准确性。
另一种可能的实施方式中,NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级,基站的绝对时间的安全等级高于卫星的绝对时间的安全等级。上述终端设备通过系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成终端设备的系统时间,包括:若接收到的第一响应包括来自卫星和/或基站的第一响应,以及来自NTP服务器的第一响应,终端设备通过系统时钟服务,根据来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。
可以理解的是,终端设备可能接收到来自卫星和/或基站的第一响应,以及来自NTP服务器的第一响应。其中,来自NTP服务器、卫星或基站的第一响应中的绝对时间,都可以用于生成终端设备的系统时间。但是,相比于来自卫星或基站的第一响应中的绝对时间,来自NTP服务器的第一响应中的第一绝对时间的安全等级更高。因此,如果终端设备同时接收到来自卫星和/或基站的第一响应,以及来自NTP服务器的第一响应,终端设备可以通过系统时钟服务,根据来自NTP服务器的第一响应中的第一绝对时间生成该终端设备的系统时间。由于来自NTP服务器的第一响应中的第一绝对时间的安全等级更高,则该第一绝对时间被篡改的可能性更低。因此,根据来自NTP服务器的第一响应中的第一绝对时间生成该终端设备的系统时间,可以进一步提升终端设备的系统时间的安全性和准确性。
另一种可能的实施方式中,上述终端设备通过系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成终端设备的系统时间,包括:若接收到的第一响应是来自卫星和/或基站的第一响应,则终端设备通过系统时钟服务,根据预设安全等级、以及来自卫星的第一响应中的第二绝对时间和/或来自基站的第一响应中的第二绝对时间,生成终端设备的系统时间。
在该设计方式中,终端设备通过向NTP服务器、卫星和基站都发送第一请求,即向NTP服务器、卫星和基站都请求获取绝对时间。进而,若没有接收到来自NTP服务器的第一响应,而接收到来自卫星和/或基站的第一响应,通过系统时钟服务可以利用来自卫星的第一响应中的第二绝对时间和/或来自基站的第一响应中的第二绝对时间生成终端设备的系统时间。避免了由于NTP服务器停止工作而无法收到来自NTP服务器的第一响应时导致的无法生成终端设备的系统时间的问题,提高了获取终端设备的系统时间的可靠性。
其次,由于TEE之外的第三方工具很难篡改TEE中的信息,则TEE中的系统时钟服务生成的系统时间也不会被篡改,保证了终端设备的系统时间的安全性和准确性。进而利用正确的终端设备的系统时间,能够保证终端设备的正常工作。
另一种可能的实施方式中,该方法还包括:若从终端设备根据预设安全等级和第二绝对时间生成系统时间开始的预设时长内,终端设备接收到来自NTP服务器的第一响应,则终端设备通过系统时钟服务,根据来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。
在该设计方式中,终端设备利用来自基站或卫星的第一响应中的第二绝对时间生成系统时间后,若接收到来自NTP服务器的第一响应,利用来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。由于来自NTP服务器的第一绝对时间的安全等级大于来自基站或卫星的第二绝对时间的安全等级;因此,利用第一绝对时间生成的系统时间的安全性高于利用第二绝对时间生成的系统时间的安全性。进而用利用第一绝对时间生成的系统时间替换利用第二绝对时间生成的系统时间,可以提高终端设备的系统时间的安全性。
另一种可能的实施方式中,该方法还包括:若从终端设备根据预设安全等级和第二绝对时间生成系统时间开始的预设时长内,终端设备未接收到来自NTP服务器的第一响应,则终端设备通过系统时钟服务,重新向NTP服务器发送第一请求。
在该设计方式中,终端设备利用来自基站或卫星的第一响应中的第二绝对时间生成系统时间后,若没有接收到来自NTP服务器的第一响应,重新向NTP服务器、卫星和基站发送第一请求。由于来自NTP服务器的第一绝对时间的安全等级大于来自基站或卫星的第二绝对时间安全等级。因此,若没有接收到来自NTP服务器的第一响应,可以继续向NTP服务器、卫星和基站发送第一请求以请求获取绝对时间,以请求获取安全等级更高的来自NTP服务器的第一绝对时间。这样可以提高终端设备的系统时间的安全性和准确性。
另一种可能的实施方式中,上述终端设备在TEE运行系统时钟服务,向授时服务器NTP服务器、卫星和基站发送第一请求,包括:终端设备开机时,在TEE运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求。
在该设计方式中,描述了终端设备通过系统时钟服务向NTP服务器、卫星和基站发送第一请求的一种实现方式。
另一种可能的实施方式中,上述终端设备在TEE运行系统时钟服务,向授时服务器NTP服务器、卫星和基站发送第一请求,包括:终端设备开机后,周期性在TEE运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求。
在该设计方式中,描述了终端设备通过系统时钟服务向NTP服务器、卫星和基站发送第一请求的另一种实现方式。
另一种可能的实施方式中,该方法还包括:终端设备通过系统时钟服务生成系统时间时,从TEE获取第一实时相对时间,并保存系统时间和第一实时相对时间;终端设备接收到来自终端设备中任一应用的时间同步请求时,通过系统时钟服务从TEE获取第二实时相对时间,并根据系统时间、第一实时相对时间和第二实时相对时间,计算终端设备的实时系统时间;终端设备通过系统时钟服务向应用输出实时系统时间。其中,第一实时相对时间是从终端设备开机到生成系统时间的时长;第二实时相对时间是从终端设备开机到接收到时间同步请求的时长。
在该设计方式中,由于终端设备的系统时间是实时变化的,而终端设备生成的一个系统时间是某一个时刻的系统时间。因此,在生成该系统时间的同时,可以记录第一实时相对时间,即从终端设备开机到生成该系统时间的时长。进而,若接收到任一应用的时间同步请求,获取接收到时间同步请求时的第二实时相对时间,即从终端设备开机到接收到时间同步请求的时长。根据第一实时相对时间和第二实时相对时间,可以得到从生成该系统时间到接收到时间同步请求的时长。进而,利用该系统时间、以及从生成该系统时间到接收到时间同步请求的时长,可以计算出接收到时间同步请求时的系统时间,即终端设备的实时系统时间。然后,向该应用输出实时系统时间。
另一种可能的实施方式中,该方法还包括:终端设备通过系统时钟服务生成系统时间时,从TEE获取第一实时相对时间,并保存系统时间和第一实时相对时间;终端设备接收到关机指令时,通过系统时钟服务从TEE获取第三实时相对时间;终端设备通过系统时钟服务根据系统时间、第一实时相对时间和第三实时相对时间,计算终端设备的关机时间,并保存关机时间。其中,第一实时相对时间是从终端设备开机到生成系统时间的时长;第三实时相对时间是从终端设备开机到接收到关机指令的时长。
在该设计方式中,由于终端设备的系统时间是实时变化的,而终端设备生成的一个系统时间是某一个时刻的系统时间。因此,在生成该系统时间的同时,可以记录第一实时相对时间,即从终端设备开机到生成该系统时间的时长。进而,若接收到关机指令时,获取接收到关机指令时的第三实时相对时间,即从终端设备开机到接收到关机指令的时长。根据第一实时相对时间和第三实时相对时间,可以得到从生成该系统时间到接收到关机指令的时长。进而,利用该系统时间、以及从生成该系统时间到接收到关机指令的时长,可以计算出接收到关机指令时的系统时间,即关机时间。
另一种可能的实施方式中,在上述终端设备在TEE运行系统时钟服务,向网络时间协议NTP服务器、卫星和基站发送第一请求之前,该方法还包括:终端设备建立用于系统时钟服务与NTP服务器进行数据传输的安全通道;其中,终端设备通过安全通道向NTP服务器发送第一请求,终端设备通过安全通道接收来自NTP服务器的第一响应。
在该设计方式中,终端设备建立用于系统时钟服务与NTP服务器进行数据传输的安全通道,以通过安全通道向NTP服务器发送第一请求,以及通过安全通道接收来自NTP服务器的第一响应。避免了TEE之外的第三方工具对发送中的第一响应进行篡改,保证了来自NTP服务器的第一响应中的第一绝对时间的安全性。进而提高了利用来自NTP服务器的第一响应中的第一绝对时间生成的系统时间的安全性和准确性。
另一种可能的实施方式中,终端设备包括REE。该终端设备建立用于系统时钟服务与NTP服务器进行数据传输的安全通道,包括:终端设备通过REE,建立用于系统时钟服务与NTP服务器进行数据传输的安全通道;其中,安全通道经过REE。
在该设计方式中,描述了终端设备建立用于系统时钟服务与NTP服务器进行数据传输的安全通道的一种实现方式。
另一种可能的实施方式中,终端设备包括卫星定位芯片和调制解调器modem。其中,终端设备通过系统时钟服务,经由卫星定位芯片向卫星发送第一请求,终端设备通过系统时钟服务,从卫星定位芯片接收来自卫星的第一响应。终端设备通过系统时钟服务,经由modem向基站发送第一请求,终端设备通过系统时钟服务,从modem接收来自基站的第一响应。
在该设计方式中,终端设备通过系统时钟服务,直接从卫星定位芯片接收来自卫星的第一响应,即直接从卫星定位芯片接收来自卫星的第一响应中的绝对时间。这样就避免了通过终端设备中除卫星定位芯片之外的其他模块传输来自卫星的第一响应中的绝对时间的过程中,存在的篡改来自卫星的第一响应中的绝对时间的可能性。同理,终端设备通过系统时钟服务,直接从modem接收来自基站的第一响应,即直接从modem接收来自基站的第一响应中的绝对时间。这样也就避免了通过除modem之外的其他模块传输来自基站的第一响应中的绝对时间的过程中,存在的篡改来自基站的第一响应中的绝对时间的可能性。进一步的,避免了第三方工具篡改来自基站的第一响应中的绝对时间的可能性,就保证了来自卫星和基站的第一响应中的绝对时间的安全性和准确性。
第二方面,本申请提供了一种系统时间的获取方法,应用于终端设备中,终端设备包括TEE,该方法包括:终端设备在TEE运行系统时钟服务,向网络时间协议NTP服务器发送第一请求;终端设备接收来自NTP服务器的第一响应;其中,第一响应中包括第一绝对时间;终端设备通过系统时钟服务,根据第一绝对时间生成终端设备的系统时间。其中,第一请求用于从NTP服务器获取第一绝对时间。
在一种可能的实施方式中,该方法还包括:终端设备通过系统时钟服务生成系统时间时,从TEE获取第一实时相对时间,并保存系统时间和第一实时相对时间;终端设备接收到来自终端设备中任一应用的时间同步请求时,通过系统时钟服务从TEE获取第二实时相对时间,并根据系统时间、第一实时相对时间和第二实时相对时间,计算终端设备的实时系统时间;终端设备通过系统时钟服务向应用输出实时系统时间。其中,第一实时相对时间是从终端设备开机到生成系统时间的时长;第二实时相对时间是从终端设备开机到接收到时间同步请求的时长。
另一种可能的实施方式中,上述终端设备在TEE运行系统时钟服务,向授时服务器NTP服务器发送第一请求,包括:终端设备开机后,周期性在TEE运行系统时钟服务,向NTP服务器发送第一请求;或者,终端设备开机时,在TEE运行系统时钟服务,向NTP服务器发送第一请求。
另一种可能的实施方式中,在上述终端设备在TEE运行系统时钟服务,向网络时间协议NTP服务器发送第一请求之前,该方法还包括:终端设备建立用于系统时钟服务与NTP服务器进行数据传输的安全通道。其中,终端设备通过安全通道向NTP服务器发送第一请求,终端设备通过安全通道接收来自NTP服务器的第一响应。
另一种可能的实施方式中,终端设备包括富执行环境REE。上述终端设备建立用于系统时钟服务与NTP服务器进行数据传输的安全通道,包括:终端设备通过REE,建立用于系统时钟服务与NTP服务器进行数据传输的安全通道;其中,安全通道经过REE。
第三方面,本申请还提供了一种系统时间的获取方法,应用于终端设备中,终端设备包括TEE,该方法包括:终端设备在TEE运行系统时钟服务,向卫星或基站发送第一请求;终端设备接收来自卫星或基站的第一响应;终端设备通过系统时钟服务,根据第二绝对时间生成终端设备的系统时间。其中,第一请求用于从卫星获取第二绝对时间;第一响应中包括第二绝对时间。
在一种可能的实施方式中,该方法还包括:终端设备通过系统时钟服务生成系统时间时,从TEE获取第一实时相对时间,并保存系统时间和第一实时相对时间;终端设备接收到来自终端设备中任一应用的时间同步请求时,通过系统时钟服务从TEE获取第二实时相对时间,并根据系统时间、第一实时相对时间和第二实时相对时间,计算终端设备的实时系统时间;终端设备通过系统时钟服务向应用输出实时系统时间。其中,第一实时相对时间是从终端设备开机到生成系统时间的时长;第二实时相对时间是从终端设备开机到接收到时间同步请求的时长。
另一种可能的实施方式中,上述终端设备在TEE运行系统时钟服务,向卫星或基站发送第一请求,包括:终端设备开机后,周期性在TEE运行系统时钟服务,向卫星或基站发送第一请求;或者,终端设备开机时,在TEE运行系统时钟服务,向卫星或基站发送第一请求。
第四方面,本申请还提供了一种终端设备,包括:处理器和存储器;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;所述处理器用于运行所述计算机指令,使得所述终端设备执行如第一方面、第二方面、第三方面及其任一种可能的实施方式的系统时间的获取方法。
第五方面,本申请还提供一种芯片系统,该芯片系统应用于移动终端,如第四方面所述的移动终端。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该接口电路用于从移动终端的存储器接收信号,并向处理器发送接收到的信号。该信号可以包括存储器中存储的计算机指令。当上述处理器执行该计算机指令时,上述移动终端可以执行如第一方面、第二方面、第三方面及其任一种可能的实施方式的系统时间的获取方法。
第六方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机指令,当计算机指令在终端设备上运行时,使得终端设备执行如第一方面、第二方面、第三方面及其任一种可能的实施方式的系统时间的获取方法。
第七方面,本申请还提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以在终端设备上运行,使得终端设备执行如第一方面、第二方面、第三方面及其任一种可能的实施方式的系统时间的获取方法。
本申请第二方面及其任一种可能的设计方式,以及第三方面、第四方面、第五方面、第六方面和第七方面所带来的技术效果可参见上述第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为常规技术中提供的一种终端设备的组成示意图一;
图2为常规技术中提供的一种终端设备的组成示意图二;
图3为常规技术中提供的一种根据系统时间控制手机通信功能的工作示意图;
图4为本申请实施例提供的一种系统时间的获取方法所涉及的实施环境示意图;
图5为本申请实施例提供的一种终端设备的硬件结构图;
图6为本申请实施例提供的一种终端设备的组成示意图一;
图7为本申请实施例提供的一种系统时间的获取方法的流程图一;
图8为本申请实施例提供的一种系统时间的获取方法的流程图二;
图9为本申请实施例提供的一种系统时间的获取方法的流程图三;
图10为本申请实施例提供的一种系统时间的获取方法的流程图四;
图11为本申请实施例提供的一种系统时间的获取方法的流程图五;
图12为本申请实施例提供的一种终端设备的组成示意图二;
图13为本申请实施例提供的一种终端设备的组成示意图三;
图14为本申请实施例提供的一种终端设备的组成示意图四;
图15为本申请实施例提供的一种系统时间的获取方法的流程图六;
图16为本申请实施例提供的一种终端设备的组成示意图五;
图17为本申请实施例提供的一种系统时间的获取方法的流程图七;
图18为本申请实施例提供的一种终端设备的组成示意图六;
图19为本申请实施例提供的一种系统时间的获取方法的流程图八;
图20为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
以下,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”等的特征可以明示或者隐含地包括一个或者更多个该特征。
目前,考虑到不同的应用对安全性要求的高低不同,例如,涉及一些私密信息的应用对执行环境的安全性要求很高,而另一些不涉及私密信息的应用对执行环境的安全性要求较低。那么,为了满足不同应用的安全性要求,终端设备划分出3个区域,并且这3个部分的安全性由低到高分别是REE、TEE和独立芯片。
参见图1所示的终端设备的组成示意图,终端设备100包括应用处理器(application processor,AP)芯片101和独立芯片102。其中,AP芯片101用于处理终端设备的所有应用(Application,APP)。独立芯片102是指外部不可更改的一些特定功能的芯片,如图1所示,独立芯片102可以包括具有加密/解密逻辑电路的安全元件(Secure Element,SE)、用于与基站通信的调制解调器modem、以及提供某些特定功能的综合芯片等。
其中,REE和TEE分别位于AP芯片101中互相隔离的两个区域中;并且,REE和TEE不仅在硬件上互相隔离,还运行各自的操作系统。REE中运行的应用对安全性要求比较低,如图1所示,运行在REE中的应用称为通用应用(Common Applications,CA)。REE的操作系统(operating system,OS)可以为Linux、安卓Android或iOS等。TEE中运行的应用对对安全性要求比较高,如图1所示,运行在TEE中的应用称为可信应用TA。TEE将用户的身份、密钥和证书等敏感信息存储在安全区域中,这些敏感信息只能由TEE授权的可信应用TA访问或修改,并且TEE为这些敏感信息的操作处理提供了加密和完整性保护机制。同时,可利用TEE中存储的密钥对普通执行环境下用户的信息,如通讯录、短信等敏感信息进行加密,保证存储在REE下敏感信息的安全性。
常规技术中,终端设备主要通过REE与外部其他设备进行通信,以实现数据交互功能。例如,终端设备通过REE和NTP服务器进行通信,以通过NTP服务器获取系统时间。参见图2所示的终端设备的组成示意图,终端设备210包括TEE和REE。其中,REE包括系统物理时钟。终端设备210通过REE获取系统时间的过程可以包括:终端设备210在REE运行系统时钟服务,向NTP服务器220发送用于获取时间的请求。NTP服务器220接收并响应于该请求,原路返回云上时间。终端设备210通过REE中的系统时钟服务接收该云上时间,并向系统物理时钟发送云上时间。系统物理时钟根据云上时间实时更新终端设备210的系统时间。
其中,NTP服务器220能够提供准确的时间,NTP服务器220获得时间的来源可以是原子钟、天文台、卫星,也可以从网络Internet上获取的。将NTP服务器200向外部设备(如,终端设备100)输出的时间称为云上时间。
如图2所示,运行在REE中的通用应用CA,可以通过系统时钟服务提供的接口,修改系统时间。用户也可以在REE的操作系统提供的应用(可以简称为系统应用)上进行操作,以通过系统时钟服务提供的接口,修改系统时间。另外,由于REE的安全性较低,黑客可能会利用黑客工具获得REE的操作系统的最高权限(如,root权限);然后,利用该最高权限劫持REE的操作系统,即对REE的操作系统中的任何文件(包括系统文件)都可以执行操作,包括通过系统时钟服务提供的接口,修改系统时间。
综上所述,通用应用CA、用户和黑客都可能通过运行在REE中的系统时钟服务篡改系统时间。虽然TEE中有一个实时相对时间不会被篡改;但是,实时相对时间是一个相对时间,不能单独作为获取终端设备的系统时间的依据。如果在TEE新增一个物理时钟,用于生成系统时间,又会增加硬件成本。因此可知,采用上述常规技术,在不增加硬件成本的前提下获得的终端设备的系统时间存在被篡改的风险。
若终端设备的系统时间被篡改,终端设备输出错误的系统时间,进而会导致终端设备无法正常为用户提供服务。以下结合各种场景,介绍系统时间被篡改,对终端设备正常运行的影响。
场景一,一些安全性要求较高的应用往往需要定期联网更新数据;并且,只有在按时更新数据的情况下继续向用户提供服务,否则停止向用户提供服务。
例如,一种使用央行数字货币(Digital Currency Electronic Payment,DCEP)进行支付的应用,需定时更新“央行钱包认证子私钥”。如果系统时间出错,该应用未能定时从后台服务器上更新“央行钱包认证子私钥”,则后台服务器停止通过该应用向用户提供支付服务。
又例如,一种提供离线电子合同的应用,生成的电子合同包括一个用于记录电子合同的生成时间的时间戳。该时间戳记录的时间是该应用根据系统时间生成的。如果系统时间出错,则该时间戳记录的时间出错。该时间戳记录的时间出错,就是该电子合同的生效时间出错,则用户无法使用该电子合同。
场景二、对于用户通过分期付款向提供网络服务的运营商购买的手机,运营商会根据用户是否按时付款,控制是否为该手机提供网络服务,以降低用户未能如约付款而带来的损失。具体地,参见图3所示的控制手机通信功能的流程图,如果用户购买一个手机330后未能按时付款,运营商对管理网络服务的服务器310进行操作,以使得管理网络服务的服务器310向管理modem的服务器320发送针对手机330的锁机指令。管理modem的服务器320再向运行在手机330的REE中的管理modem的APP发送该锁机指令。通过管理modem的APP向运行在手机330的TEE中的管理modem的TA发送该锁机指令。通过管理modem的TA向modem331发送该锁机指令,则modem331停止工作,手机330不能使用网络服务(如,打电话、发短信和上网)。
然而,用户为了在不付款的情况下也能使用手机330的网络服务,可能采取非法手段设置运行在REE中的管理modem的APP不能与管理modem的服务器320进行通信,则管理modem的服务器320无法下发锁机指令。针对这种情况,可以预先设置管理modem的APP在长时间未与管理modem的服务器320通信的情况下,自动生成锁机指令,以控制modem331停止工作。然而,如果用户还采取非法手段通过运行在REE中的系统时钟服务篡改系统时间,系统时间出错,则管理modem的APP无法确定长时间未与管理modem的服务器320通信,也不能自动生成锁机指令。如此,modem331继续工作,导致用户在未按时付款的情况仍旧可以使用手机330的通信服务,为运营商造成损失。
为了避免终端设备由于系统时间不准确而出现上述问题,本申请实施例提供一种系统时间的获取方法,通过该方法,可以在不增加硬件成本的前提下提高终端设备的系统时间的安全性和准确性,进而保证终端设备的正常工作。
请参考图4,其示出本申请实施例提供的一种系统时间的获取方法所涉及的实施环境示意图。如图4所示,该实施环境可以包括NTP服务器410和终端设备420。NTP服务器410用于从原子钟、天文台、卫星或网络Internet上获取云上时间;还用于若接收到终端设备420发送的用于获取时间的请求,则响应于该请求,向终端设备420发送云上时间。终端设备420用于接收NTP服务器410发送的云上时间;可利用云上时间生成系统时间。
可选的,该实施环境可以还可以包括一个或多个卫星,如卫星431和卫星432。每个卫星(包括卫星431和卫星432)用于全天候、全天时为各类用户提供高精度、高可靠定位、导航、授时服务。终端设备420中有卫星定位芯片,用于与一个或多个卫星进行通信,以从一个或多个卫星上获取位置、速度和卫星时间等信息。进而,终端设备420还可以利用卫星时间生成系统时间。其中,终端设备420中的卫星定位芯片可以接收每个卫星发送的卫星数据,再从卫星数据中提取出卫星时间。多个卫星可以包括:北斗卫星导航系统(BeiDouNavigation Satellite System,BDS)、全球定位系统(Global Positioning System,GPS)、格洛纳斯(GLONASS)、伽利略卫星导航系统(Galileo satellite navigation system)等多种卫星系统。
可选的,该实施环境可以还可以包括一个或多个基站,如基站441和基站442。每个基站用于为终端设备提供无线通信功能。终端设备420中有modem,用于与一个或多个基站通讯,以实现打电话、发短信和上网等通信服务。modem还用于接收每个基站发送的基站数据,再从基站数据中提取出基站时间。进而,终端设备420还可以利用基站时间生成系统时间。
其中,基站可按照所在系统采用的无线接入技术大致分为:第二代手机通信技术规格(2-Generation wireless telephone technology,2G)网络中的2G基站、第3代移动通信技术(the third Generation Telecommunication,3G)网络中的3G基站、第四代移动通信技术(the 4th generation mobile communication technology,4G)网络中的4G基站、第五代移动通信技术(5th generation mobile networks,5G)网络中的5G基站。其次,在采用不同的无线接入技术的系统中,基站的名称可能会有所不同,例如,在LTE系统中,称为演进的基站(evolved NodeB,eNB或eNodeB);在第3代移动通信技术(the third GenerationTelecommunication,3G)系统中,称为基站(Node B)。
需要说明的是,上述云上时间、卫星时间和基站时间均是绝对时间。绝对时间是指与任何特殊的参考系无关的时间,也可以称为标准时间。绝对时间可以包含年月日和时分秒,例如,2020年8月26日18:09:52。不同国家按照自身所处的经纬度设置自身的绝对时间。
需要说明的是,本申请实施例中的终端设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本等,本申请实施例对该终端设备的具体形态不作特殊限制。作为一种实施例,如图4所示,本申请实施例的实施环境包括的终端设备420以手机为例示出。
下面继续以终端设备420是手机为例,介绍终端设备的硬件结构。如图5所示,终端设备420可以包括:处理器510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,USB)接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器模块580,按键590,马达591,指示器592,摄像头593(可包括摄像头1-N),显示屏594(如触摸屏),以及用户标识模块(subscriber identificationmodule,SIM)卡接口595(可包括SIM卡接口1-N)等。
其中,上述传感器模块580可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对终端设备420的具体限定。在另一些实施例中,终端设备420可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是终端设备420的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
在一些实施例中,处理器510可以包括一个或多个接口。可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备420的结构限定。在另一些实施例中,终端设备420也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块540用于从充电器接收充电输入(有线充电器的充电输入和/或无线充电输入),为电池542充电。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为终端设备供电。
电源管理模块541用于连接电池542,充电管理模块540与处理器510。电源管理模块541接收电池542和/或充电管理模块540的输入,为处理器510,内部存储器521,外部存储器,显示屏594,摄像头593,和无线通信模块560等供电。在一些实施例中,电源管理模块541也可以设置于处理器510中。在另一些实施例中,电源管理模块541和充电管理模块540也可以设置于同一个器件中。
终端设备420的无线通信功能可以通过天线1,天线2,移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。在一些实施例中,终端设备420的天线1和移动通信模块550耦合,天线2和无线通信模块560耦合,使得终端设备420可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球导航卫星系统(Global Navigation Satellite System,GNSS),无线局域网(wireless local area networks,WLAN)(如Wi-Fi网络)技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)等。示例性的,终端设备420可以通过GPS、BDS或者SBAS等定位技术,获取终端设备420的实时位置信息。
移动通信模块550可以提供应用在终端设备420上的包括2G/3G/4G/5G等无线通信的解决方案。例如,终端设备420可以通过移动通信模块550向服务器发送电子邮件。
无线通信模块560可以提供应用在终端设备420上的包括WLAN(如Wi-Fi网络),蓝牙(bluetooth,BT),GNSS,近场通信(Near Field Communication,NFC)、红外(Infrared,IR)、调频(frequency modulation,FM)等无线通信的解决方案。例如,终端设备420可以通过GNSS定位技术,获取终端设备420的实时位置信息。
终端设备420通过GPU,显示屏594,以及应用处理器等实现显示功能。终端设备420可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备420的存储能力。内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行终端设备420的各种功能应用以及数据处理。终端设备420可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。
需要说明的是,以下实施例中的方法均可以在具有上述硬件结构的终端设备420中实现。
本申请实施例中,考虑到终端设备中的TEE会将用户的身份、密钥和证书等敏感信息存储在安全区域中,并且,这些敏感信息只能由TEE授权的可信应用TA访问或修改;则通用应用CA和用户、黑客等无法篡改TEE中的敏感信息。因此,终端设备可以在TEE中新增系统时钟服务。在TEE中运行该系统时钟服务生成的系统时间不会被篡改,并且,在TEE中运行系统时钟服务也不会增加硬件成本。如此,在不增加硬件成本的前提下保证了终端设备的系统时间的安全性和准确性,进而利用正确的系统时间能够保证终端设备的正常工作。
请参考图6,为本申请实施例提供的一种终端设备的组成示意图。终端设备420按照功能不同划分有多个区域,具体可以包括TEE、REE、modem611和卫星定位芯片612。其中,在TEE中运行有系统时钟服务、一个或多个TA、用于记录上述实时相对时间RT的第一时钟。在REE中运行有一个或多个CA。TEE可以分别连接modem611和卫星定位芯片612。Modem611用于通过无线网络和基站通讯,从基站620获取基站时间。卫星定位芯片612用于通过无线网络和卫星630进行通讯,从卫星630获取卫星时间。终端设备在TEE中运行系统时钟服务,执行系统时间的获取方法。获取卫星时间、基站时间和来自NTP服务器的云上时间中的至少一项,以用于生成终端设备的系统时间。
需要说明的是,以下实施例中的方法均可以在上述终端设备420中实现。
请参考图7,为本申请实施例提供的一种系统时间的获取方法的流程图。如图7所示,该方法可以包括S701-S703。
S701、终端设备在TEE运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求;其中,第一请求用于获取绝对时间。
终端设备的TEE中预先设置有系统时钟服务。终端设备可以在TEE中运行系统时钟服务,以通过终端设备中的通信模块向NTP服务器、卫星和基站都发送第一请求。若NTP服务器、卫星和基站分别接收到第一请求后,可以响应于第一请求,向终端设备返回包括绝对时间的第一响应。
S702、终端设备接收以下至少一项:来自卫星的第一响应、来自基站的第一响应、以及来自NTP服务器的第一响应。
本申请实施例中,受以下因素的影响,终端设备可能接收到NTP服务器、卫星和基站中的至少一个设备返回的第一响应,也可能接收不到NTP服务器、卫星和基站中的任意一个设备返回的第一响应:NTP服务器停止工作、终端设备受限于所处环境无法接入所有卫星、终端设备所处位置不在任意一个基站的覆盖范围内。另外,终端设备还可能在同一时刻接收到分别来自NTP服务器、卫星和基站的第一响应,也可能在不同的时刻接收到分别来自NTP服务器、卫星和基站的绝对时间。
进一步地,若终端设备没有接收到来自卫星的第一响应、来自基站的第一响应、以及来自NTP服务器的第一响应,则终端设备在TEE运行系统时钟服务,重新向NTP服务器、卫星和基站发送第一请求。
S703、终端设备通过系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成终端设备的系统时间;其中,预设安全等级包括卫星、基站和NTP服务器各自的绝对时间的安全等级。
其中,来自NTP服务器的第一响应中的绝对时间就是云上时间;来自基站的第一响应中的绝对时间就是基站时间;来自卫星的第一响应中的绝对时间就是卫星时间。
本申请实施例中,终端设备在TEE中可以预先存储有该预设安全等级。若终端设备接收到的第一响应为来自NTP服务器、卫星或基站的第一响应,则终端设备通过系统时钟服务,可以根据接收到的第一响应中的绝对时间生成终端设备的系统时间ET,并在TEE中保存终端设备的系统时间ET。若终端设备接收到的第一响应为多个第一响应,则终端设备通过系统时钟服务,根据预设安全等级,从接收到的第一响应中选择对应的绝对时间的安全等级最高的第一响应;再根据对应的绝对时间的安全等级最高的第一响应中的绝对时间,生成终端设备的系统时间ET,并在TEE中保存终端设备的系统时间ET。
其中,多个第一响应包括以下至少两项:来自NTP服务器的第一响应、来自卫星的第一响应、以及来自基站的第一响应。
本申请实施例中,卫星、基站和NTP服务器各自的绝对时间的安全等级可以是根据各自的绝对时间被篡改的可能性大小设置的。任一个绝对时间被篡改的可能性越小,该绝对时间的安全等级越高。
本申请实施例中,终端设备通过系统时钟服务,根据预设安全等级,从接收到的第一响应中确定对应的绝对时间的安全等级最高的第一响应。该对应的绝对时间的安全等级最高的第一响应可以是来自NTP服务器的第一响应,或者是来自卫星的第一响应,又或者是来自基站的第一响应。进而,终端设备通过系统时钟服务,可以根据来自NTP服务器或卫星或基站的第一响应中的绝对时间,生成终端设备的系统时间。其中,来自卫星的第一响应中的第二绝对时间可以包括一个或多个卫星时间;来自卫星的第一响应中的第二绝对时间可以包括一个或多个卫星时间。
进一步地,终端设备在TEE中可以预先存储有第一容错策略和第二容错策略。第一容错策略用于指示删除2G基站的基站时间。第二容错策略用于指示删除不相同的多个卫星时间,还可用于指示删除不相同的多个基站时间。终端设备若确定对应的绝对时间的安全等级最高的第一响应是来自NTP服务器的第一响应,通过系统时钟服务直接将来自NTP服务器的第一响应中的第一绝对时间作为终端设备的系统时间。终端设备若确定对应的绝对时间的安全等级最高的第一响应是来自卫星或基站的第一响应,则通过系统时钟服务可以按照第一容错策略和/或第二容错策略,根据来自卫星或基站的第一响应中的第二绝对时间生成终端设备的系统时间。
其中,来自NTP服务器的第一响应中的绝对时间被称为第一绝对时间。来自基站的第一响应中的绝对时间、以及来自卫星的第一响应中的绝对时间都被称为第二绝对时间。
其中,多个卫星时间相同可以是指多个卫星时间中的任意两个卫星时间之间的偏差小于第一时长(例如,0.5s,0.1s),而不是指多个卫星时间完全相等。同理,多个基站时间相同可以是指多个基站时间中的任意两个基站时间之间的偏差小于第二时长(例如,0.5s,0.1s),而不是指多个基站时间完全相等。第一时长可以等于或不等于第二时长。
示例性地,以卫星时间为例,若确定对应的绝对时间的安全等级最高的第一响应是来自卫星的第一响应、且来自卫星的第一响应中的第二绝对时间是不相同的多个卫星时间,则通过系统时钟服务按照第二容错策略,删除来自卫星的第一响应中的第二绝对时间,不生成终端设备的系统时间。若确定对应的绝对时间的安全等级最高的第一响应是来自卫星的第一响应、且来自卫星的第一响应中的第二绝对时间是完全相同的多个卫星时间,则通过系统时钟服务将来自卫星的第一响应中的任一个卫星时间作为终端设备的系统时间。若确定对应的绝对时间的安全等级最高的第一响应是来自卫星的第一响应、且来自卫星的第一响应中的第二绝对时间是一个卫星时间,则通过系统时钟服务将来自卫星的第一响应中的卫星时间作为终端设备的系统时间。
示例性地,以基站时间为例,若确定对应的绝对时间的安全等级最高的第一响应是来自基站的第一响应、且来自基站的第一响应中的第二绝对时间是不相同的多个非2G基站的基站时间,则通过系统时钟服务按照第二容错策略,删除来自基站的第一响应中的第二绝对时间,不生成终端设备的系统时间。若确定对应的绝对时间的安全等级最高的第一响应是来自基站的第一响应、且来自基站的第一响应中的第二绝对时间是相同的多个非2G基站的基站时间,则通过系统时钟服务则将任一个非2G基站的基站时间作为终端设备的系统时间。若确定对应的绝对时间的安全等级最高的第一响应是来自基站的第一响应、且来自基站的第一响应中的第二绝对时间是一个基站时间,则通过系统时钟服务将来自基站的第一响应中的基站时间作为终端设备的系统时间。若确定对应的绝对时间的安全等级最高的第一响应是来自基站的第一响应、且来自基站的第一响应中的第二绝对时间是一个2G基站的基站时间,则按照第一容错策略,删除来自卫星的第一响应中的第二绝对时间,不生成终端设备的系统时间。其中,非2G基站的基站时间就是不是来自2G基站的基站时间。
可以理解的是,终端设备预先存储有第一容错策略和第二容错策略。其中,第一容错策略用于删除伪造可能较大的2G基站的基站时间,避免利用伪造的2G基站的基站时间篡改终端设备的系统时间的可能性,提高了终端设备的系统时间的安全性。第二容错策略用于删除多个不相同的卫星时间。由于多个不相同的卫星时间表示存在发生错误的卫星时间,则删除多个不相同的卫星时间,可以避免利用出错的卫星时间生成终端设备的系统时间,提高了终端设备的系统时间的准确性。同理,第二容错策略还可用于删除多个不相同的非2G基站的基站时间。由于多个不相同的非2G基站的基站时间表示存在发生错误的基站时间,则删除多个不相同的非2G基站的基站时间,可以避免利用出错的基站时间生成终端设备的系统时间,提高了终端设备的系统时间的准确性。
本申请实施例中,若终端设备通过系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,没有生成终端设备的系统时间,则终端设备在TEE运行系统时钟服务,重新向NTP服务器、卫星和基站发送第一请求。
可以理解的是,一方面,终端设备可以在TEE中运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求,该第一请求用于获取绝对时间。因此,NTP服务器、卫星和基站接收到该第一请求后,便可以向终端设备返回包括绝对时间的第一响应。终端设备便可以接收到该第一响应。然后根据该第一响应中的绝对时间生成终端设备的系统时间。其中,由于系统时钟服务位于终端设备的TEE中,而TEE是一种安全性较高的执行环境,TEE中的信息只能由TEE授权的可信应用(trust application,TA)访问或修改。因此,TEE之外的第三方工具很难篡改TEE中的信息,则TEE中的系统时钟服务生成的系统时间也不会被篡改,保证了终端设备的系统时间的安全性和准确性。进而利用正确的系统时间,能够保证终端设备的正常工作。
另一方面,终端设备向NTP服务器、卫星和基站都发送第一请求,即向NTP服务器、卫星和基站都请求获取绝对时间。进而,可以接收到来自NTP服务器的第一响应、来自卫星的第一响应和来自基站的第一响应中的至少一个;再利用至少一个第一响应生成终端设备的系统时间,避免了由于NTP服务器停止工作而无法收到来自NTP服务器的第一响应时导致的无法生成终端设备的系统时间的问题,或者由于与卫星或基站通讯失败而无法收到来自卫星或基站的第一响应时导致的无法生成终端设备的系统时间的问题,提高了获取终端设备的系统时间的可靠性。
本申请实施例中,上述接收到的第一响应是来自第一对象的第一响应,第一对象属于卫星、基站和NTP服务器。若第一对象不包括卫星、基站和NTP服务器中绝对时间的安全等级最高的,则终端设备通过系统时钟服务,重新向第二对象发送第一请求。其中,第二对象的绝对时间的安全等级高于第一对象的绝对时间的安全等级,第二对象属于卫星、基站和NTP服务器。
可以理解的是,终端设备接收到第一对象的第一响应,第一对象不包括卫星、基站和NTP服务器中绝对时间的安全等级最高的,则重新向绝对时间的安全等级大于第一对象的第二对象发送第一请求,以向卫星、基站和NTP服务器中绝对时间的安全等级更高的对象重新请求绝对时间。进而可以利用安全等级更高的绝对时间,生成终端设备的系统时间。由于安全等级更高的绝对时间被篡改的可能性越低。因此,利用安全等级更高的绝对时间生成终端设备的系统时间,提高了终端设备的系统时间的安全性和准确性。
本申请实施例中,以NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级,基站的绝对时间的安全等级高于卫星的绝对时间的安全等级为例。如果NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级,也高于卫星的绝对时间的安全等级,则可知来自NTP服务器的第一响应中的第一绝对时间(即云上时间)被篡改的可能性最低。因此,终端设备接收到的第一响应包括来自NTP服务器的第一响应时,优先采用来自NTP服务器的第一响应中的第一绝对时间,生成终端设备的系统时间。具体地,请参考图8,S703可以包括S801。
S801、若接收到的第一响应包括来自卫星和/或基站的第一响应,以及来自NTP服务器的第一响应,终端设备通过系统时钟服务,根据来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。
终端设备中的系统时钟服务同时接收到来自卫星和/或基站的第一响应、以及来自NTP服务器的第一响应,则通过系统时钟服务按照预设安全等级,从接收到的第一响应中选择绝对时间的安全等级最高的、来自NTP服务器的第一响应;再将来自NTP服务器的第一响应中的第一绝对时间作为终端设备的系统时间ET。
需要说明的是,本申请实施例中不对NTP服务器的绝对时间的安全等级、卫星的绝对时间的安全等级、以及基站的绝对时间的安全等级之间的高低关系进行限制,该高低关系可以是NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级、且基站的绝对时间的安全等级高于卫星的绝对时间的安全等级;还可以是卫星的绝对时间的安全等级高于NTP服务器的绝对时间的安全等级、NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级;又可以是其他的高低关系。
其次,针对任一种高低关系执行系统时间的获取方法的具体过程,都可以参见上述NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级、且基站的绝对时间的安全等级高于卫星的绝对时间的安全等级的情况下执行系统时间的获取方法的具体过程。以卫星的绝对时间的安全等级高于NTP服务器的绝对时间的安全等级、NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级为例,若接收到的第一响应包括来自NTP服务器和/或基站的第一响应,以及来自卫星的第一响应,终端设备通过系统时钟服务,根据来自卫星的第一响应中的绝对时间生成终端设备的系统时间。
可以理解的是,由于来自NTP服务器的第一响应中的第一绝对时间的安全等级更高,则该第一绝对时间被篡改的可能性越低。因此,根据来自NTP服务器的第一响应中的第一绝对时间生成该终端设备的系统时间,可以进一步提升终端设备的系统时间的安全性。
本申请实施例中,以NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级,基站的绝对时间的安全等级高于卫星的绝对时间的安全等级为例,如果NTP服务器的绝对时间的安全等级高于基站的绝对时间的安全等级,也高于卫星的绝对时间的安全等级,则可知来自NTP服务器的第一响应中的第一绝对时间(即云上时间)被篡改的可能性最低,根据来自NTP服务器的第一响应中的第一绝对时间生成的系统时间的准确度最高。那么,如果终端设备中的系统时钟服务是根据来自卫星或基站的第一响应中的第二绝对时间,得到的终端设备的系统时间。终端设备中的系统时钟服务还可以继续向NTP服务器发送第一请求,直至接收到来自NTP服务器的第一响应,以根据NTP服务器的第一响应中的第一绝对时间得到终端设备的系统时间。根据第一绝对时间得到的系统时间相较于根据第一绝对时间得到的系统时间,准确度更高。具体地,请参考图9,S703还可以包括S901-S903。
S901、若接收到的第一响应是来自卫星和/或基站的第一响应,则终端设备通过系统时钟服务,根据预设安全等级、以及来自卫星的第一响应中的第二绝对时间和/或基站的第一响应中的第二绝对时间,生成终端设备的系统时间。
终端设备向NTP服务器、卫星和基站发送第一请求后,若终端设备在接收到来自NTP服务器的第一响应之前,接收到来自卫星和/或基站的第一响应,则终端设备通过系统时钟服务,根据预设安全等级、以及来自卫星和/或基站的第一响应中的第二绝对时间,生成终端设备的系统时间ET,并将终端设备的系统时间ET,保存在TEE中。
示例性地,以基站的绝对时间的安全等级大于卫星的绝对时间的安全等级为例,终端设备中的系统时钟服务同时接收到来自卫星的第一响应和来自基站的第一响应,则通过系统时钟服务按照预设安全等级,从接收到的第一响应中选择绝对时间的安全等级最高的、来自基站的第一响应;再根据来自基站的第一响应中的第二绝对时间生成终端设备的系统时间ET。
需要说明的是,卫星的绝对时间的安全等级也可以大于基站的绝对时间的安全等级,本申请实施例中不对卫星的绝对时间的安全等级大于或小于基站的绝对时间的安全等级进行限制。如果卫星的绝对时间的安全等级大于基站的绝对时间的安全等级,终端设备中的系统时钟服务同时接收到来自卫星的第一响应和来自基站的第一响应,则通过系统时钟服务按照预设安全等级,从接收到的第一响应中选择绝对时间的安全等级最高的、来自卫星的第一响应;再根据来自卫星的第一响应中的第二绝对时间生成终端设备的系统时间ET。
示例性地,终端设备中的系统时钟服务接收到来自卫星的第一响应,则通过系统时钟服务直接根据来自卫星的第一响应中的第二绝对时间,生成终端设备的系统时间ET。
S902、若从终端设备根据预设安全等级和第二绝对时间生成系统时间开始的预设时长内,终端设备接收到来自NTP服务器的第一响应,则终端设备通过系统时钟服务,根据来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。
终端设备在根据预设安全等级和第二绝对时间生成系统时间的同时,开始计时,并判断计时时长是否等于或大于预设时长。若在计时时长小于预设时长的情况下,终端设备中的系统时钟服务接收到来自NTP服务器的第一响应,则通过系统时钟服务,将来自NTP服务器的第一响应中的第一绝对时间作为终端设备的系统时间,即采用根据第一绝对时间生成终端设备的系统时间替换根据第二绝对时间生成终端设备的系统时间ET。
S903、若从终端设备根据预设安全等级和第二绝对时间生成系统时间开始的预设时长内,终端设备未接收到来自NTP服务器的第一响应,则终端设备通过系统时钟服务,重新向NTP服务器发送第一请求。
若在计时时长等于或大于预设时长的情况下,终端设备中的系统时钟服务未接收到来自NTP服务器的第一响应,则通过系统时钟服务,可以重新向NTP服务器发送第一请求;或者,重新向NTP服务器、卫星和基站发送第一请求(即重新开始执行S701)。
可以理解的是,终端设备利用来自基站或卫星的第一响应中的第二绝对时间生成系统时间后,若接收到来自NTP服务器的第一响应,利用来自NTP服务器的第一响应中的第一绝对时间生成系统时间。由于来自NTP服务器的第一绝对时间的安全等级高于来自基站或卫星的第二绝对时间的安全等级;因此,利用第一绝对时间生成的系统时间的安全性高于利用第二绝对时间生成的系统时间的安全性。进而用根据第一绝对时间生成终端设备的系统时间替换根据第二绝对时间生成终端设备的系统时间,可以提高终端设备的系统时间的安全性。
其次,终端设备利用来自基站或卫星的第一响应中的第二绝对时间生成系统时间后,若没有接收到来自NTP服务器的第一响应,重新向NTP服务器发送第一请求。由于来自NTP服务器的第一绝对时间的安全等级高于来自基站或卫星的第二绝对时间的安全等级;因此,若没有接收到来自NTP服务器的第一响应,可以继续向NTP服务器发送第一请求以请求获取绝对时间。如此,可以获取安全性更高的来自NTP服务器的第一绝对时间,提高终端设备的系统时间的安全性。
本申请实施例中,终端设备可以在向NTP服务器、卫星和基站发送第一请求后,若没有接收到NTP服务器的第一响应,而接收到来自卫星或基站的第一响应,则根据来自卫星或基站的第一响应中的第一绝对时间生成系统时间,并保存该系统时间。然后,终端设备通过系统时钟服务继续等待接收来自NTP服务器的第一响应。如果接收到来自NTP服务器的第一响应,就根据来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。如果没有接收到来自NTP服务器的第一响应,也不再继续向NTP服务器发送第一请求。请参考图10,在S901之后,S703还可以包括S904,不包括S902-S903。
S904、若终端设备接收到来自NTP服务器的第一响应,则终端设备通过系统时钟服务,根据来自NTP服务器的第一响应中的第一绝对时间生成终端设备的系统时间。
可以理解的是,终端设备根据预设安全等级和第二绝对时间生成系统时间后,若接收到来自NTP服务器的第一响应,则将来自NTP服务器的第一响应中的第一绝对时间作为终端设备的系统时间,即采用利用第一绝对时间生成的系统时间替换利用第二绝对时间生成的系统时间。若没有接收到来自NTP服务器的第一响应,不再重新发送第一请求。
本申请实施例中,终端设备可以在开机时,在TEE运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求。也就是说,终端设备在开机时执行S701。进而,终端设备通过系统时钟服务在开机时执行S701后,可执行S702-S703。
需要说明的是,终端设备除了可以在开机时执行S701,还可以在上述S903中的若从终端设备根据预设安全等级和第二绝对时间生成系统时间开始的预设时长内,终端设备未接收到来自NTP服务器的第一响应的情况下执行S701。
本申请实施例中,终端设备开机后,周期性在TEE运行系统时钟服务,向NTP服务器、卫星和基站发送第一请求。具体地,终端设备通过系统时钟服务可以周期性执行S701-S702、S801、S901和S904。
本申请实施例中,由于绝对时间是实时变化的,则用于记录绝对时间的终端设备的系统时间也应该是实时变化的,因此,在生成一个系统时间的同时,还可以记录从生成该系统时间开始到当前时刻的时长。如此,可以根据该时长,以及该系统时间,确定终端设备的实时的系统时间,记作ST。请参考图11,终端设备通过系统时钟服务,在执行S703生成终端设备的系统时间的同时,还可以执行S1101;然后,执行S1102-S1103。
S1101、终端设备通过系统时钟服务生成系统时间时,从TEE获取第一实时相对时间,并保存系统时间和第一实时相对时间。
终端通过系统时钟服务可以在生成终端设备的系统时间的同时,获取TEE中的当前时刻的实时相对时间RT1,并将RT1作为第一实时相对时间;在TEE中保存系统时间和第一实时相对时间。其中,TEE中的实时相对时间RT用于记录从终端设备开机开始到当前时刻的时长,TEE中的实时相对时间RT是实时变化的。TEE中的实时相对时间RT在终端设备关机时被清零。第一实时相对时间是从终端设备开机到生成终端设备的系统时间的时长。
其中,TEE中可以只记录生成ET时的相对时间ERT。在TEE中保存终端设备的系统时间和第一实时相对时间,即设置ET等于该系统时间、以及设置ERT等于该第一实时相对时间。
S1102、终端设备接收到来自终端设备中任一应用的时间同步请求时,通过系统时钟服务从TEE获取第二实时相对时间,并根据系统时间、第一实时相对时间和第二实时相对时间,计算终端设备的实时系统时间。
终端设备通过系统时钟服务接收到该时间同步请求时,响应于该时间同步请求,获取TEE中的当前时刻的实时相对时间RT2,并将RT2作为第二实时相对时间。然后,通过系统时钟服务可以计算第二实时相对时间减去第一实时相对时间的差。差表示从生成终端设备的系统时间开始到当前时刻的时长。最后,通过系统时钟服务计算系统时间和差的和;和等于终端设备的实时系统时间。其中,第二实时相对时间是从终端设备开机到接收到时间同步请求的时长。
其中,终端设备中任一应用可以是TEE中的任一个TA,或者REE中的任一个CA。实时系统时间就是终端设备的实时的系统时间ST,ST=ET+RT2-ERT。
S1103、终端设备通过系统时钟服务向应用输出实时系统时间。
终端设备通过系统时钟服务向该任一个应用输出该实时系统时间。
进一步地,在S1102之后,终端设备通过系统时钟服务,可以将实时系统时间作为终端设备的系统时间(如,设置ET等于该实时系统时间)、以及用第二实时相对时间替换第一实时相对时间(如,设置ERT等于该第二实时相对时间)。进而,若再次接收到来自终端设备中任一应用的时间同步请求时,从TEE获取新的第二实时相对时间,并根据ET、ERT和新的第二实时相对时间,计算终端设备的实时系统时间ST。
可以理解的是,由于终端设备的系统时间是实时变化的,而终端设备生成的一个系统时间是某一个时刻的系统时间。因此,在生成该系统时间的同时,可以记录第一实时相对时间,即从终端设备开机到生成该系统时间的时长。进而,若接收到任一应用的时间同步请求,获取接收到时间同步请求时的第二实时相对时间,即从终端设备开机到接收到时间同步请求的时长。根据第一实时相对时间和第二实时相对时间,可以得到从生成该系统时间到接收到时间同步请求的时长。进而,利用该系统时间、以及从生成该系统时间到接收到时间同步请求的时长,可以计算出接收到时间同步请求时的系统时间,即终端设备的实时系统时间。然后,向该应用输出实时系统时间。如此,终端设备与NTP服务器、卫星和基站进行通信只获取一次系统时间,也可以提供实时的系统时间,节省了流量。
本申请实施例中,在S1101之后,终端设备除了接收到来自终端设备中任一应用的时间同步请求,还可能接收到关机指令。终端设备若接收到关机指令,通过系统时钟服务从TEE获取第三实时相对时间,并根据终端设备的系统时间、第一实时相对时间和第三实时相对时间,计算终端设备的关机时间。其中,关机时间等于终端设备的系统时间加上第三实时相对时间,再减去第一实时相对时间的差。其中,第三实时相对时间是从终端设备开机到接收到关机指令的时长。
可以理解的是,由于终端设备的系统时间是实时变化的,而终端设备生成的一个系统时间是某一个时刻的系统时间。因此,在生成该系统时间的同时,可以记录第一实时相对时间,即从终端设备开机到生成该系统时间的时长。进而,若接收到关机指令时,获取接收到关机指令时的第三实时相对时间,即从终端设备开机到接收到关机指令的时长。根据第一实时相对时间和第三实时相对时间,可以得到从生成该系统时间到接收到关机指令的时长。进而,利用该系统时间、以及从生成该系统时间到接收到关机指令的时长,可以计算出接收到关机指令时的系统时间,即关机时间。
本申请实施例中,终端设备开机时,可以将保存的终端设备的关机时间作为ET。然后,若接收到来自终端设备中任一应用的时间同步请求,且没有终端设备的系统时间,通过系统时钟服务可以向该应用输出该ET(即保存的终端设备的关机时间)。
本申请实施例中,终端设备通过系统时钟服务向应用输出实时系统时间的同时,可以向应用输出最近一次保存的关机时间,或者向应用输出最近一次保存的关机时间及其对应的表示关机时间的标识、以及实时系统时间对应的表示系统时间的标识。例如,表示关机时间的标识为0,表示系统时间的标识为1。
可以理解的是,终端设备除了向应用输出实时系统时间,还可以向任一个应用输出最近一次保存的关机时间。由于实时系统时间表示终端设备的实时的系统时间,而关机时间是最近一次收到关机指令时的系统时间,则实时系统时间应该晚于关机时间。如此,该应用可判断实时系统时间是否晚于关机时间,以确定实时系统时间是否准确。也就是说,向该应用输出关机时间,有助于该应用判断系统时间的安全性。
本申请实施例中,在S701之前,终端设备可以建立用于系统时钟服务与NTP服务器进行数据传输的安全通道;其中,终端设备可以通过安全通道向NTP服务器发送第一请求,终端设备通过安全通道接收来自NTP服务器的第一响应。
终端设备在TEE运行系统时钟服务,先建立用于系统时钟服务与NTP服务器进行数据传输的安全通道;然后,通过安全通道向网络时间协议NTP服务器、卫星和基站发送第一请求。
本申请实施例中,终端设备除了TEE,还包括REE。终端设备可以通过REE,建立用于系统时钟服务与NTP服务器进行数据传输的安全通道;其中,安全通道经过REE。
其中,终端设备还可以在REE中新增第一应用APP,该第一APP用于在NTP服务器与TEE中的系统时钟服务之间传输数据。终端设备在TEE运行系统时钟服务,可以通过第一应用向NTP服务器发送安全通道请求。NTP服务器接收安全通道请求,建立用于和系统时钟服务进行数据传输的安全通道。
示例性地,如图12所示的终端设备的组成示意图,终端设备420还可以包括传感器集合器613;终端设备420中的REE还可以运行有第一APP。传感器集合器613的一端分别连接modem和卫星定位芯片,另一端连接TEE;传感器集合器613用于对TEE与modem和卫星定位芯片之间的信息进行传输。第一APP用于在NTP服务器640与TEE中的系统时钟服务之间传输数据。终端设备420在TEE中运行系统时钟服务,获取终端设备的系统时间可以包括步骤A1-A6。
A1、终端设备在TEE中运行系统时钟服务,通过第一APP向NTP服务器发送第一请求;还通过传感器集合器分别向modem和卫星定位芯片发送第一请求。
A2、NTP服务器响应于第一请求,获取云上时间;再将云上时间作为第一绝对时间,并生成包括第一绝对时间的第一响应;再通过第一APP向系统时钟服务返回该第一响应。
A3、modem接收并响应于第一请求,接收来自基站的基站数据,根据基站数据生成包括第二绝对时间的第一响应;再通过传感器集合器向系统时钟服务返回该第一响应。
其中,modem接收到的基站数据可以为一个或多个基站数据,一个或多个基站数据与一个或多个基站一一对应。modem可以对每个基站数据进行处理,得到基站时间,进而得到一个或多个基站时间;然后,根据一个或多个基站时间,生成第一响应。
本申请实施例中,modem得到一个或多个基站时间后,可以直接将所有基站时间,作为第二绝对时间,并生成包括该第二绝对时间的第一响应。或者,modem得到一个或多个基站时间后,按照第一容错策略和/或第二容错策略,根据所有基站时间生成一个基站时间;再将这一个基站时间作为第二绝对时间,并生成包括该第二绝对时间的第一响应。
进一步地,若modem得到一个或多个基站时间后,按照第一容错策略和/或第二容错策略,根据所有基站时间,没有生成一个基站时间,则不向系统时钟服务返回该第一响应。
需要说明的是,modem按照第一容错策略和/或第二容错策略,根据所有基站时间生成一个基站时间的详细过程,可以参见上述终端设备通过系统时钟服务按照第一容错策略和第二容错策略,根据来自基站的第一响应中的第二绝对时间生成终端设备的系统时间的具体过程,本申请实施例这里不再赘述。另外,若modem按照第一容错策略和/或第二容错策略,根据所有基站时间生成一个基站时间,则通过系统时钟服务确定对应的绝对时间的安全等级最高的第一响应是来自基站的第一响应后,可以直接将来自基站的第一响应中的第二绝对时间作为终端设备的系统时间。
A4、卫星定位芯片接收并响应于第一请求,接收来自卫星的卫星数据,根据卫星数据生成包括第二绝对时间的第一响应;再通过传感器集合器向系统时钟服务返回该第一响应。
其中,卫星定位芯片接收到的卫星数据可以为一个或多个卫星数据,一个或多个卫星数据与一个或多个卫星一一对应。卫星定位芯片可以对每个卫星数据进行处理,得到卫星时间,进而得到一个或多个卫星时间;然后,根据一个或多个卫星时间,生成第一响应。
本申请实施例中,卫星定位芯片得到一个或多个卫星时间后,可以直接将所有卫星时间,作为第二绝对时间,并生成包括该第二绝对时间的第一响应。或者,卫星定位芯片得到一个或多个卫星时间后,按照第二容错策略,根据所有卫星时间生成一个卫星时间;再将这一个卫星时间作为第二绝对时间,并生成包括该第二绝对时间的第一响应。
进一步地,若卫星定位芯片接收来自卫星的卫星时间后,按照第二容错策略,根据所有卫星时间,没有生成一个卫星时间,则不向系统时钟服务返回该第一响应。
需要说明的是,卫星定位芯片按照第二容错策略,根据所有卫星时间生成一个卫星时间的详细过程,可以参见上述终端设备通过系统时钟服务按照第二容错策略,根据来自卫星的第一响应中的第二绝对时间生成终端设备的系统时间的具体过程,本申请实施例这里不再赘述。另外,若卫星定位芯片按照第二容错策略,根据所有卫星时间生成一个卫星时间,则通过系统时钟服务确定对应的绝对时间的安全等级最高的第一响应是来自卫星的第一响应后,可以直接将来自卫星的第一响应中的第二绝对时间作为终端设备的系统时间。
A5、终端设备通过系统时钟服务,根据来自NTP服务器的第一响应、来自基站的第一响应和来自卫星的第一响应,得到一个系统时间ET,并从第一时钟获取当前时刻的实时相对时间,将获取到的当前时刻的实时相对时间作为ERT。
需要说明的是,终端设备根据来自NTP服务器的第一响应、来自基站的第一响应和来自卫星的第一响应得到一个系统时间ET的具体过程,可以参见上述S703的详细描述,本申请实施例这里不予赘述。
A6、终端设备通过系统时钟服务,可以根据ET和ERT,生成终端设备的实时系统时钟ST,并向TEE中的一个或多个TA、以及REE中的一个或多个CA输出ST。
需要说明的是,图12中的终端设备420可以不包括传感器集合器613,则通过系统时钟服务直接与modem611和卫星定位芯片612进行交互,本申请实施例不作限制。
示例性地,如图13所示的终端设备的组成示意图,终端设备420还可以包括上述传感器集合器613;终端设备420中的REE还可以运行有上述第一APP。具体说明终端设备420在TEE中运行系统时钟服务,获取终端设备的系统时间可以包括步骤B1-B14。
B1、终端设备开机时,在TEE中运行系统时钟服务,通过第一APP向NTP服务器发送安全通道请求。
其中,终端设备开机时,通过TEE自动运行系统时钟服务,或者,通过REE中的第一APP启动TEE中的系统时钟服务。
B2、NTP服务器接收并响应于安全通道请求,建立用于和系统时钟服务进行数据传输的安全通道。
B3、终端设备通过系统时钟服务,经由该安全通道向NTP服务器发送第一请求。
B4、NTP服务器接收并响应于第一请求,获取云上时间;将云上时间作为第一绝对时间,并生成包括该第一绝对时间的第一响应;再经由该安全通道向TEE中的系统时钟服务发送该第一响应。
B5、终端设备通过系统时钟服务向传感器集合器发送第一请求。
需要说明的是,可以先执行步骤B1后执行步骤B5,还可以先执行步骤B5后执行步骤B1,或者同时执行步骤B1和步骤B5,本申请实施例对执行步骤B1和步骤B5的先后顺序不作限制。
B6、传感器集合器接收第一请求,并分别向modem和卫星定位芯片发送该第一请求。
B7、modem接收并响应于第一请求,接收来自基站的基站时间;按照第一容错策略,根据接收到的基站时间生成第二绝对时间,并生成包括该第二绝对时间的第一响应;再通过传感器集合器向系统时钟服务返回该第一响应。
B8、卫星定位芯片接收并响应于第一请求,接收来自卫星的卫星时间;按照第二容错策略,根据接收到的卫星时间生成第二绝对时间,并生成包括该第二绝对时间的第一响应;再通过传感器集合器向系统时钟服务返回该第一响应。
B9、终端设备通过系统时钟服务,接收来自NTP服务器的第一响应、来自卫星的第一响应和来自基站的第一响应中的至少一个。
B10、终端设备通过系统时钟服务,根据接收到的第一响应,生成一个系统时间ET,并从第一时钟获取当前时刻的实时相对时间,将获取到的当前时刻的实时相对时间作为ERT。
需要说明的是,终端设备根据接收到的第一响应生成一个系统时间ET的具体过程,可以参见上述S703的详细描述,本申请实施例这里不予赘述。
B11、终端设备中的系统时钟服务从第一APP接收到来自任一个CA的时间同步请求,或者直接接收到来自任一个TA的时间同步请求时,从第一时钟获取当前时刻的实时相对时间,并将获取到的当前时刻的实时相对时间作为第二实时相对时间。
B12、终端设备中的系统时钟服务根据ET、ERT和第二实时相对时间,计算ST,并通过第一APP向该任一个CA输出ST,或者,向该任一个TA输出ST。
B13、终端设备若接收到关机指令,从第一时钟获取当前时刻的实时相对时间,并将获取到的当前时刻的实时相对时间作为第三实时相对时间。
B14、终端设备中的系统时钟服务根据ET、ERT和第三实时相对时间,计算ST,并将ST作为终端设备的关机时间。
需要说明的是,可以先执行步骤B11-B12后执行步骤B13-B14,还可以先执行步骤B13-B14后执行步骤B11-B12,或者同时执行步骤B11-B12和步骤B13-B14,本申请实施例对执行步骤B11-B12和步骤B13-B14的先后顺序不作限制。
本申请实施例中,如图14所示的终端设备的组成示意图,终端设备420可以包括REE和TEE,不包括modem611、卫星定位芯片612和传感器集合器613。其中,TEE包括系统时钟服务,REE包括上述第一APP。终端设备可以通过REE中第一APP,建立用于系统时钟服务与NTP服务器进行数据传输的安全通道。如此,终端设备在TEE中运行系统时钟服务,通过该安全通道可以安全地从NTP服务器获取云上时间。然后,通过TEE中的系统时钟服务利用云上时间生成终端设备的系统时间。由于外部很难篡改TEE中信息,则该系统时间也不会被篡改,保证了该系统时间的安全性和准确性。具体地,请参考图15,为本申请实施例提供的一种从NTP服务器获取系统时间的方法流程图。如图15所示,从NTP服务器获取系统时间的方法可以包括S1501-S1503。
S1501、终端设备在TEE运行系统时钟服务,向NTP服务器发送第一请求;其中,第一请求用于从NTP服务器获取第一绝对时间。
需要说明的是,S1501中的终端设备在TEE运行系统时钟服务向NTP服务器发送第一请求的详细过程,可以参见S701中关于向NTP服务器发送第一请求的详细描述,本申请实施例这里不予赘述。
S1502、终端设备接收来自NTP服务器的第一响应;其中,第一响应中包括第一绝对时间。
需要说明的是,S1502中的来自NTP服务器的第一响应的详情,可以参见S703中关于来自NTP服务器的第一响应的详细描述,本申请实施例这里不予赘述。
S1503、终端设备通过系统时钟服务,根据第一绝对时间生成终端设备的系统时间。
终端设备通过系统时钟服务直接将来自NTP服务器的第一响应中的第一绝对时间作为终端设备的系统时间。
本申请实施例中,如图16所示的终端设备的组成示意图,终端设备420可以包括REE、TEE和modem611,不包括卫星定位芯片612和传感器集合器613。其中,TEE包括系统时钟服务。终端设备在TEE中运行系统时钟服务,可以直接通过modem611获取来自基站620的基站时间。然后,通过TEE中的系统时钟服务利用基站时间生成终端设备的系统时间。由于外部很难篡改TEE中信息,则该系统时间也不会被篡改,保证了该系统时间的安全性和准确性。具体地,请参考图17,为本申请实施例提供的一种从基站获取系统时间的方法流程图。如图17所示,从基站获取系统时间的方法可以包括S1701-S1703。
S1701、终端设备在TEE运行系统时钟服务,向基站发送第一请求;其中,第一请求用于从基站获取第二绝对时间。
需要说明的是,S1701中的终端设备在TEE运行系统时钟服务向基站发送第一请求的详细过程,可以参见S701中关于向基站发送第一请求的详细描述,本申请实施例这里不予赘述。
S1702、终端设备接收来自基站的第一响应;其中,第一响应中包括第二绝对时间。
需要说明的是,S1702中的来自基站的第一响应的详情,可以参见S703中关于来自基站的第一响应的详细描述,本申请实施例这里不予赘述。
S1703、终端设备通过系统时钟服务,根据第二绝对时间生成终端设备的系统时间。
需要说明的是,S1703的详细过程,可以参见上述S703中关于根据来自基站的第一响应中的第二绝对时间生成终端设备的系统时间的详细描述,本申请实施例这里不予赘述。
本申请实施例中,如图18所示的终端设备的组成示意图,终端设备420可以包括REE、TEE和卫星定位芯片612,不包括modem611和传感器集合器613。其中,TEE包括系统时钟服务。终端设备在TEE中运行系统时钟服务,可以直接通过卫星定位芯片612获取来自卫星630的卫星时间。然后,通过TEE中的系统时钟服务利用卫星时间生成终端设备的系统时间。由于外部很难篡改TEE中信息,则该系统时间也不会被篡改,保证了该系统时间的安全性和准确性。具体地,请参考图19,为本申请实施例提供的一种从卫星获取系统时间的方法流程图。如图19所示,从卫星获取系统时间的方法可以包括S1901-S1903。
S1901、终端设备在TEE运行系统时钟服务,向卫星发送第一请求;其中,第一请求用于从卫星获取第二绝对时间。
需要说明的是,S1901中的终端设备在TEE运行系统时钟服务向卫星发送第一请求的详细过程,可以参见S701中关于向卫星发送第一请求的详细描述,本申请实施例这里不予赘述。
S1902、终端设备接收来自卫星的第一响应;其中,第一响应中包括第二绝对时间。
需要说明的是,S1902中的来自卫星的第一响应的详情,可以参见S703中关于来自卫星的第一响应的详细描述,本申请实施例这里不予赘述。
S1903、终端设备通过系统时钟服务,根据第二绝对时间生成终端设备的系统时间。
需要说明的是,S1903的详细过程,可以参见上述S703中关于根据来自卫星的第一响应中的第二绝对时间生成终端设备的系统时间的详细描述,本申请实施例这里不予赘述。
可以理解的是,上述方法可以由系统时间的获取装置实现。系统时间的获取装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请另一实施例提供了一种终端设备(如图5、图6、图12-图14、图16、或图18所示的移动终端420)。该终端设备可以包括:一个或多个处理器,存储器,无线通信模块以及移动通信模块。该存储器,无线通信模块、移动通信模块与处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,移动终端可执行上述方法实施例中移动终端420执行的各个功能或者步骤。
本申请另一实施例提供了一种芯片系统,如图20所示,该芯片系统2000包括至少一个处理器2001和至少一个接口电路2002。处理器2001和接口电路2002可通过线路互联。例如,接口电路2002可用于从其它装置(例如,移动终端的存储器,卫星定位芯片,modem)接收信号。又例如,接口电路2002可用于向其它装置(例如处理器2001)发送信号。
例如,上述芯片系统可以应用于上述移动终端(如图5、图6、图12-图14、图16、或图18所示的移动终端420)。接口电路2002可读取移动终端中存储器中存储的指令,并将该指令发送给处理器2001。当所述指令被处理器2001执行时,可使得移动终端执行上述实施例中的各个步骤。
当然,上述芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请另一实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机指令,当计算机指令在终端设备(如图5、图6、图12-图14、图16、或图18所示的移动终端420)上运行时,使得终端设备执行上述方法实施例中移动终端420执行的各个功能或者步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本申请另一实施例提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以在终端设备(如图5、图6、图12-图14、图16、或图18所示的移动终端420)上运行,使得终端设备执行上述方法实施例中移动终端420执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种系统时间的获取方法,其特征在于,应用于终端设备中,所述终端设备包括可信执行环境TEE,所述方法包括:
所述终端设备在所述TEE运行系统时钟服务,向网络时间协议NTP服务器、卫星和基站发送第一请求;其中,所述第一请求用于获取绝对时间;
所述终端设备接收以下至少一项:来自所述卫星的第一响应、来自所述基站的第一响应、以及来自所述NTP服务器的第一响应;
所述终端设备通过所述系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成所述终端设备的系统时间;其中,所述预设安全等级包括所述卫星、所述基站和所述NTP服务器各自的绝对时间的安全等级。
2.根据权利要求1所述的方法,其特征在于,所述接收到的第一响应是来自第一对象的第一响应,所述第一对象属于所述卫星、所述基站和所述NTP服务器;所述方法还包括:
若所述第一对象不包括所述卫星、所述基站和所述NTP服务器中绝对时间的安全等级最高的,则所述终端设备通过所述系统时钟服务,重新向第二对象发送所述第一请求;
其中,所述第二对象的绝对时间的安全等级高于所述第一对象的绝对时间的安全等级,所述第二对象属于所述卫星、所述基站和所述NTP服务器。
3.根据权利要求1或2所述的方法,其特征在于,所述NTP服务器的绝对时间的安全等级高于所述基站的绝对时间的安全等级,所述基站的绝对时间的安全等级高于所述卫星的绝对时间的安全等级;
其中,所述终端设备通过所述系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成所述终端设备的系统时间,包括:
若所述接收到的第一响应包括来自所述卫星和/或所述基站的第一响应,以及来自所述NTP服务器的第一响应,所述终端设备通过所述系统时钟服务,根据来自所述NTP服务器的第一响应中的第一绝对时间生成所述终端设备的系统时间。
4.根据权利要求3所述的方法,其特征在于,所述终端设备通过所述系统时钟服务,根据预设安全等级和接收到的第一响应中的绝对时间,生成所述终端设备的系统时间,包括:
若所述接收到的第一响应是来自所述卫星和/或所述基站的第一响应,则所述终端设备通过所述系统时钟服务,根据所述预设安全等级、以及来自所述卫星的第一响应中的第二绝对时间和/或来自所述基站的第一响应中的第二绝对时间,生成所述终端设备的系统时间。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若从所述终端设备根据所述预设安全等级和所述第二绝对时间生成所述系统时间开始的预设时长内,所述终端设备接收到来自所述NTP服务器的第一响应,则所述终端设备通过所述系统时钟服务,根据来自所述NTP服务器的第一响应中的第一绝对时间生成所述终端设备的系统时间。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
若从所述终端设备根据所述预设安全等级和所述第二绝对时间生成所述系统时间开始的预设时长内,所述终端设备未接收到来自所述NTP服务器的第一响应,则所述终端设备通过所述系统时钟服务,重新向所述NTP服务器发送所述第一请求。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述终端设备在所述TEE运行系统时钟服务,向授时服务器NTP服务器、卫星和基站发送第一请求,包括:
所述终端设备开机时,在所述TEE运行所述系统时钟服务,向所述NTP服务器、所述卫星和所述基站发送所述第一请求。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述终端设备在所述TEE运行系统时钟服务,向授时服务器NTP服务器、卫星和基站发送第一请求,包括:
所述终端设备开机后,周期性在所述TEE运行所述系统时钟服务,向所述NTP服务器、所述卫星和所述基站发送所述第一请求。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
所述终端设备通过所述系统时钟服务生成所述系统时间时,从所述TEE获取第一实时相对时间,并保存所述系统时间和所述第一实时相对时间;所述第一实时相对时间是从所述终端设备开机到生成所述系统时间的时长;
所述终端设备接收到来自所述终端设备中任一应用的时间同步请求时,通过所述系统时钟服务从所述TEE获取第二实时相对时间,并根据所述系统时间、所述第一实时相对时间和所述第二实时相对时间,计算所述终端设备的实时系统时间;所述第二实时相对时间是从所述终端设备开机到接收到所述时间同步请求的时长;
所述终端设备通过所述系统时钟服务向所述应用输出所述实时系统时间。
10.根据权利要求1-9中任一项所述的方法,其特征在于,在所述终端设备在所述TEE运行系统时钟服务,向网络时间协议NTP服务器、卫星和基站发送第一请求之前,所述方法还包括:
所述终端设备建立用于所述系统时钟服务与所述NTP服务器进行数据传输的安全通道;
其中,所述终端设备通过所述安全通道向所述NTP服务器发送所述第一请求,所述终端设备通过所述安全通道接收来自所述NTP服务器的所述第一响应。
11.根据权利要求10所述的方法,其特征在于,所述终端设备包括富执行环境REE;
所述终端设备建立用于所述系统时钟服务与所述NTP服务器进行数据传输的安全通道,包括:
所述终端设备通过所述REE,建立用于所述系统时钟服务与所述NTP服务器进行数据传输的所述安全通道;其中,所述安全通道经过所述REE。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述终端设备包括卫星定位芯片和调制解调器modem;
其中,所述终端设备通过所述系统时钟服务,经由所述卫星定位芯片向所述卫星发送所述第一请求,所述终端设备通过所述系统时钟服务,从所述卫星定位芯片接收来自所述卫星的所述第一响应;
所述终端设备通过所述系统时钟服务,经由所述modem向所述基站发送所述第一请求,所述终端设备通过所述系统时钟服务,从所述modem接收来自所述基站的所述第一响应。
13.一种系统时间的获取方法,其特征在于,应用于终端设备中,所述终端设备包括可信执行环境TEE,所述方法包括:
所述终端设备在所述TEE运行系统时钟服务,向网络时间协议NTP服务器发送第一请求;其中,所述第一请求用于从所述NTP服务器获取第一绝对时间;
所述终端设备接收来自所述NTP服务器的第一响应;其中,所述第一响应中包括所述第一绝对时间;
所述终端设备通过所述系统时钟服务,根据所述第一绝对时间生成所述终端设备的系统时间。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述终端设备通过所述系统时钟服务生成所述系统时间时,从所述TEE获取第一实时相对时间,并保存所述系统时间和所述第一实时相对时间;所述第一实时相对时间是从所述终端设备开机到生成所述系统时间的时长;
所述终端设备接收到来自所述终端设备中任一应用的时间同步请求时,通过所述系统时钟服务从所述TEE获取第二实时相对时间,并根据所述系统时间、所述第一实时相对时间和所述第二实时相对时间,计算所述终端设备的实时系统时间;所述第二实时相对时间是从所述终端设备开机到接收到所述时间同步请求的时长;
所述终端设备通过所述系统时钟服务向所述应用输出所述实时系统时间。
15.根据权利要求13或14所述的方法,其特征在于,所述终端设备在所述TEE运行系统时钟服务,向授时服务器NTP服务器发送第一请求,包括:
所述终端设备开机后,周期性在所述TEE运行系统时钟服务,向所述NTP服务器发送所述第一请求;或者,
所述终端设备开机时,在所述TEE运行系统时钟服务,向所述NTP服务器发送所述第一请求。
16.根据权利要求13-15中任一项所述的方法,其特征在于,在所述终端设备在所述TEE运行系统时钟服务,向网络时间协议NTP服务器发送第一请求之前,所述方法还包括:
所述终端设备建立用于所述系统时钟服务与所述NTP服务器进行数据传输的安全通道;
其中,所述终端设备通过所述安全通道向所述NTP服务器发送所述第一请求,所述终端设备通过所述安全通道接收来自所述NTP服务器的所述第一响应。
17.根据权利要求16所述的方法,其特征在于,所述终端设备包括富执行环境REE;
所述终端设备建立用于所述系统时钟服务与所述NTP服务器进行数据传输的安全通道,包括:
所述终端设备通过所述REE,建立用于所述系统时钟服务与所述NTP服务器进行数据传输的所述安全通道;其中,所述安全通道经过所述REE。
18.一种终端设备,其特征在于,所述终端设备包括:处理器和存储器;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;所述处理器用于运行所述计算机指令,使得所述终端设备执行如权利要求1-12中任一项所述的方法。
19.一种终端设备,其特征在于,所述终端设备包括:处理器和存储器;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;所述处理器用于运行所述计算机指令,使得所述终端设备执行如权利要求13-17中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,当所述计算机指令在终端设备上运行时,使得所述终端设备执行实现如权利要求1-12中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,当所述计算机指令在终端设备上运行时,使得所述终端设备执行实现如权利要求13-17中任一项所述的方法。
CN202011105785.0A 2020-10-15 2020-10-15 一种系统时间的获取方法及终端设备 Pending CN114374460A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011105785.0A CN114374460A (zh) 2020-10-15 2020-10-15 一种系统时间的获取方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011105785.0A CN114374460A (zh) 2020-10-15 2020-10-15 一种系统时间的获取方法及终端设备

Publications (1)

Publication Number Publication Date
CN114374460A true CN114374460A (zh) 2022-04-19

Family

ID=81139164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011105785.0A Pending CN114374460A (zh) 2020-10-15 2020-10-15 一种系统时间的获取方法及终端设备

Country Status (1)

Country Link
CN (1) CN114374460A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104620253A (zh) * 2012-09-28 2015-05-13 意法爱立信有限公司 用于维持安全时间的方法和设备
US20180152307A1 (en) * 2016-11-29 2018-05-31 Qualcomm Incorporated Device to provide trusted time assurance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104620253A (zh) * 2012-09-28 2015-05-13 意法爱立信有限公司 用于维持安全时间的方法和设备
US20180152307A1 (en) * 2016-11-29 2018-05-31 Qualcomm Incorporated Device to provide trusted time assurance

Similar Documents

Publication Publication Date Title
KR102221328B1 (ko) 교차 블록체인 인증 방법, 장치, 및 전자 디바이스
US11751011B2 (en) Positioning method and user equipment
EP3632036B1 (en) Digital certificate application method and device
RU2704750C2 (ru) Системы и способы идентификации мобильных устройств
WO2015135326A1 (zh) 共享定位信息的方法和终端
JP4962237B2 (ja) 携帯装置の位置に関する情報とファイル用暗号鍵とを管理するためのプログラムおよび方法
US8504065B2 (en) System and method for tracking a mobile telecommunication apparatus
CN111357255B (zh) 构建多个应用通用的可信应用
WO2014067345A1 (zh) 卫星定位方法、装置及系统
US20230189186A1 (en) Safety network of things
CN115442810A (zh) 对附件组进行配对
US12003475B2 (en) Email synchronization method and electronic device
WO2017054283A1 (zh) 一种sim数据使用方法及移动终端
CN113272670A (zh) 位置信息提供系统和位置信息提供方法
CN105703905B (zh) 用于基于认证结果提供定位数据的装置和方法
CN114374460A (zh) 一种系统时间的获取方法及终端设备
EP2428858B1 (en) Chip cards providing trusted time references
JP2012147398A (ja) 移動体通信システム、移動体通信端末、移動体通信方法およびプログラム
CN109039651B (zh) 一种位置信息的传输方法、传输装置及卫星定位系统
US20090176504A1 (en) Method for managing service requests via a mobile station of a digital mobile communications network
AU2014273565A1 (en) Tracking system
CN112380230B (zh) 位置参数更新方法、装置、计算机设备及存储介质
CN113468134B (zh) 潜水信息管理
CN116980429A (zh) 区块链的共识处理方法、装置、电子设备及存储介质
JP2018166257A (ja) 位置情報提供装置、プログラム及び方法

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