CN112632642B - 一种时钟校验方法、装置及电子设备 - Google Patents
一种时钟校验方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112632642B CN112632642B CN202011581581.4A CN202011581581A CN112632642B CN 112632642 B CN112632642 B CN 112632642B CN 202011581581 A CN202011581581 A CN 202011581581A CN 112632642 B CN112632642 B CN 112632642B
- Authority
- CN
- China
- Prior art keywords
- data
- real
- verification
- time
- time clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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
Abstract
本公开实施例提供了一种时钟校验方法、装置及电子设备,方法包括:获取实时时钟芯片的实时时钟数据及易失存储器内存储的第一验证数据;根据第一验证数据对实时时钟数据进行校验,以确定实时时钟数据的有效性。本公开实施例在获取实时时钟数据的同时也获取实时时钟芯片内易失存储器存储的第一验证数据,并通过第一验证数据对实时时钟数据进行校验,进而确定实时时钟数据的有效性,有效的防止了实时时钟数据被篡改后带来的系统安全问题,保证了系统安全。
Description
技术领域
本公开涉及数据安全领域,特别涉及一种时钟校验方法、装置及电子设备。
背景技术
目前,大部分的电子设备中使用的时钟时间,基本都是基于RTC(Real timeclock,实时时钟)芯片提供的实时时间数据,为了保证RTC芯片易用性与通用性,RTC芯片设计厂家都是使用简单的串行通讯协议,例如IIC总线(即一种串行通讯协议,需要两根物理连接线进行数据传输),并将RTC芯片资料公开,方便开发者使用,这也是RTC芯片在大众消费电子可以广泛使用的原因之一。
但是,在某些特殊领域,例如安全时效控制领域,通常使用RTC芯片的时间来做时间限制功能,上述的易用性与通用性就成为了安全隐患,根据RTC芯片的型号,很容易在网络上查找到对应的芯片资料,根据资料提供的信息,很容易直接修改RTC芯片的时钟数据。RTC芯片时钟被修改后,仍会正常运行,无法发现时间硬件被修改,导致安全设备的时间限制作用失效,破坏了系统安全。
发明内容
有鉴于此,本公开实施例提出了一种时钟校验方法、装置及电子设备,用以解决现有技术的如下问题:RTC芯片时钟被修改后,仍会正常运行,无法发现时间硬件被修改,导致安全设备的时间限制作用失效,破坏了系统安全。
一方面,本公开实施例提出了一种时钟校验方法,包括:获取实时时钟芯片的实时时钟数据及易失存储器内存储的第一验证数据;根据所述第一验证数据对所述实时时钟数据进行校验,以确定所述实时时钟数据的有效性。
在一些实施例中,所述根据所述第一验证数据对所述实时时钟数据进行校验,以确定所述实时时钟数据的有效性,包括:检测所述第一验证数据中的时间数据是否小于所述实时时钟数据;在所述时间数据小于所述实时时钟数据的情况下,确定所述实时时钟数据为有效数据;在所述时间数据大于所述实时时钟数据的情况下,确定所述实时时钟数据为无效数据。
在一些实施例中,所述根据所述第一验证数据对所述实时时钟数据进行校验之前,还包括:根据预定算法对所述第一验证数据中的所述时间数据和第一种子数据进行运算,得到第一结果数据;检测所述第一结果数据与所述第一验证数据中的校验数据是否相同;在所述第一结果数据与所述校验数据相同的情况下,确定所述第一验证数据中的时间数据为有效数据。
在一些实施例中,所述获取实时时钟芯片的时钟数据及易失存储器内存储的第一验证数据,包括:获取所述实时时钟芯片的所述实时时钟数据及所述易失存储器内存储的加密的所述第一验证数据;根据预定密钥对加密的所述第一验证数据进行解密,以得到解密后的所述第一验证数据。
在一些实施例中,还包括:在所述实时时钟数据为有效数据的情况下或者在预定更新时间到达时,根据所述实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据;通过预定总线向所述实时时钟芯片发送所述第二验证数据,以使用所述第二验证数据更新所述易失存储器内的所述第一验证数据。
在一些实施例中,所述根据所述实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据,包括:根据所述预定算法对所述当前时间数据和所述第二种子数据进行运算,得到作为新校验数据的第二结果数据;基于所述当前时间数据、所述第二种子数据和所述第二结果数据生成所述第二验证数据。
在一些实施例中,通过预定总线向所述实时时钟芯片发送所述第二验证数据之前,还包括:通过所述预定密钥对所述第二验证数据进行加密处理,得到加密的所述第二验证数据。
另一方面,本公开实施例提出了一种时钟校验装置,包括:获取模块,用于获取实时时钟芯片的实时时钟数据及易失存储器内存储的第一验证数据;第一校验模块,用于根据所述第一验证数据对所述实时时钟数据进行校验,以确定所述实时时钟数据的有效性。
在一些实施例中,所述校验模块包括:检测单元,用于检测所述第一验证数据中的时间数据是否小于所述实时时钟数据;确定单元,用于在所述时间数据小于所述实时时钟数据的情况下,确定所述实时时钟数据为有效数据;在所述时间数据大于所述实时时钟数据的情况下,确定所述实时时钟数据为无效数据。
在一些实施例中,还包括:运算模块,用于根据预定算法对所述第一验证数据中的所述时间数据和第一种子数据进行运算,得到第一结果数据;第二校验模块,用于检测所述第一结果数据与所述第一验证数据中的校验数据是否相同;确定模块,用于在所述第一结果数据与所述校验数据相同的情况下,确定所述第一验证数据中的时间数据为有效数据。
在一些实施例中,获取模块,具体用于:获取所述实时时钟芯片的所述实时时钟数据及所述易失存储器内存储的加密的所述第一验证数据;根据预定密钥对加密的所述第一验证数据进行解密,以得到解密后的所述第一验证数据。
在一些实施例中,还包括:生成模块,用于在所述实时时钟数据为有效数据的情况下或者在预定更新时间到达时,根据所述实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据;更新模块,用于通过预定总线向所述实时时钟芯片发送所述第二验证数据,以使用所述第二验证数据更新所述易失存储器内的所述第一验证数据。
在一些实施例中,所述生成模块,具体用于:根据所述预定算法对所述当前时间数据和所述第二种子数据进行运算,得到作为新校验数据的第二结果数据;基于所述当前时间数据、所述第二种子数据和所述第二结果数据生成所述第二验证数据。
在一些实施例中,还包括:加密模块,用于在通过预定总线向所述实时时钟芯片发送所述第二验证数据之前,通过所述预定密钥对所述第二验证数据进行加密处理,得到加密的所述第二验证数据。
另一方面,本公开实施例提出了一种电子设备,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现本公开任意实施例提供的方法。
本公开实施例在获取实时时钟数据的同时也获取实时时钟芯片内易失存储器存储的第一验证数据,并通过第一验证数据对实时时钟数据进行校验,进而确定实时时钟数据的有效性,有效的防止了实时时钟数据被篡改后带来的系统安全问题,保证了系统安全。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开第一实施例提供的时钟校验方法的流程示意图;
图2为本公开第一实施例提供的为处理器与RTC芯片交互的示意图;
图3为本公开第二实施例提供的时钟校验装置的结构示意图;
图4为本公开第三实施例提供的电子设备的结构示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
现有技术中,RTC芯片时钟被修改后,仍会正常运行,无法发现时间硬件被修改,导致安全设备的时间限制作用失效,破坏了系统安全。如果有一种方法可以发现时间被篡改过,当发现被篡改时采取一定的限制措施,即可达到时间限制功能。为了可以发现时间被篡改过,在使用时间功能前,本公开实施例先采用了一种时钟校验方法,以对时间进行校验,检查时间是否有效。
本公开第一实施例提供了一种时钟校验方法,该方法的流程如图1所示,包括步骤S101至S102:
S101,获取实时时钟芯片的实时时钟数据及易失存储器内存储的第一验证数据。
本公开实施例中,实时时钟芯片不仅仅向处理器提供实时时钟数据,还提供其易失存储器内存储的第一验证数据,该第一验证数据用于处理器进行校验,如果校验通过了,则实时时钟数据为有效数据,如果第一验证数据没有通过校验,则实时时钟数据很可能被篡改了,确定实时时钟数据为无效数据。
本公开实施例将第一验证数据存储在易失存储器中,易失存储器需要通过电池或外部电源供电维护,如果供电断开,则实时时钟芯片的易失存储器中第一验证数据丢失,即使此时发生了篡改,但易失存储器再次上电后却不存在第一验证数据,因此,第一验证数据丢失则也无法通过校验,篡改即使发生也不会存在威胁。
S102,根据第一验证数据对实时时钟数据进行校验,以确定实时时钟数据的有效性。
对于第一验证数据,其是验证实时时钟数据是否有效的数据,本公开实施例可以将其设置为一个时间数据,则在执行S102时,其具体可以包括如下过程:检测第一验证数据中的时间数据是否小于实时时钟数据;在时间数据小于实时时钟数据的情况下,确定实时时钟数据为有效数据;在时间数据大于实时时钟数据的情况下,确定实时时钟数据为无效数据。
上述实时时钟数据是实时获取的,第一验证数据中的时间数据是预先存储在易失存储器中的,因此,正常情况下,第一验证数据应该小于实时时钟数据,如果第一验证数据中的时间数据是不小于实时时钟数据,则说明实时时钟数据很有可能被篡改了,该实时时钟数据无效,如果第一验证数据中的时间数据是小于实时时钟数据,则说明实时时钟数据有效。
本公开实施例在获取实时时钟数据的同时也获取实时时钟芯片内易失存储器存储的第一验证数据,并通过第一验证数据对实时时钟数据进行校验,进而确定实时时钟数据的有效性,有效的防止了实时时钟数据被篡改后带来的系统安全问题,保证了系统安全。
为了进一步确保实时时钟数据的校验没有误差,本公开实施例在根据第一验证数据对实时时钟数据进行校验之前,还可以根据预定算法对第一验证数据中的时间数据和第一种子数据进行运算,得到第一结果数据,再检测第一结果数据与第一验证数据中的校验数据是否相同,并在第一结果数据与校验数据相同的情况下,确定第一验证数据中的时间数据为有效数据,在第一结果数据与校验数据不相同的情况下,确定第一验证数据中的时间数据为无效数据。该过程对第一验证数据中的时间数据进行提前校验,进一步保证了对实时时钟数据校验的准确性。
本公开实施例为了保证传输过程中数据的安全性,实时时钟芯片发送的第一验证数据可以为加密后的第一验证数据,则在获取实时时钟芯片的时钟数据及易失存储器内存储的第一验证数据时,具体可以先获取实时时钟芯片的实时时钟数据及易失存储器内存储的加密的第一验证数据,再根据预定密钥对加密的第一验证数据进行解密,以得到解密后的第一验证数据。
如果实时时钟芯片中易失存储器中的第一验证数据一直为一个固定数据,则也容易发生被窃取的风险,因此,为了保证交互安全,在实时时钟数据为有效数据的情况下或者在预定更新时间到达时,根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据,再通过预定总线向实时时钟芯片发送第二验证数据,以使用第二验证数据更新易失存储器内的第一验证数据。具体在根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据时,先根据预定算法对当前时间数据和第二种子数据进行运算,得到作为新校验数据的第二结果数据,再基于当前时间数据、第二种子数据和第二结果数据生成第二验证数据。
该过程为验证数据的生成过程,无论是第一验证数据或第二验证数据,都可以采用根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成的方式,第二种子数据为随机生成的,因此,基于该第二种子数据生成的第二验证数据具有较高的安全性。该过程不仅可以提升数据交互过程中的安全性,还能够在易失存储器断电导致第一验证数据丢失时对验证数据进行及时补充。
相对于上述接收到的第一验证数据为加密后的第一验证数据这种情况,本公开实施例在通过预定总线向实时时钟芯片发送第二验证数据之前,还可以通过预定密钥对第二验证数据进行加密处理,得到加密的第二验证数据。随后,再将加密的第二验证数据发送至实时时钟芯片,进而下次再获取实时时钟数据时,一起获取到的第二验证数据就是加密后的第二验证数据,由于是处理器对第二验证数据进行的加密,因此,处理器也能够对第二验证数据进行解密。
下面,结合附图及具体实例对上述过程进行详细说明。
本公开实施例可以有效的鉴别时钟数据是否被篡改过;该方法中有处理器与RTC芯片(实时时钟芯片)两个部分,其中,处理器可以是可编程CPU智能卡,具有数据运算与处理能力,且具有数据存储功能,存储类型为EEPROM或FLASH,可以保存处理器固件或密钥数据。处理器通过串行接口设置或获取RTC芯片中实时时钟数据,RTC芯片中有RAM(易失存储器),可以存储数据。图2为处理器与RTC芯片交互的示意图,处理器与RTC芯片通过串行总线交互数据,RTC芯片的RAM内存储有加密的验证数据(下述简称为加密数据),处理器内存储有对上述加密数据解密的密钥。实现时,处理器在获取实时时钟数据的同时,同时获取加密数据,通过内部密钥进行解密,获取明文数据(即解密后的验证数据),根据明文数据对实时时钟数据进行检查,只有数据检查正常,才能证明实时时钟数据的安全可用性。
该方法中,处理器的密钥是在RTC芯片初始化前预置在处理器内的;RTC初始化是通过处理器的串行总线进行初始化的。
RTC初始化时,处理器通过内部密钥,对当前时间数据(可以是从外部时间服务器或系统中获取到的当前时间数据,也可以是计算得到的RTC芯片的当前时间,此处不进行限定)、校验数据、种子数据进行加密,加密后的数据通过串行总线,存储在RAM中;处理器时间数据直接通过串行总线数据进行设置。其中,种子数据为一定长度的随机数据。
需要使用时钟时间时,处理器通过总线获取时间数据,同时获取加密数据。
使用时间数据前,先进行时间数据有效性鉴别,处理器通过内置的密钥解密从RTC的RAM中获取的加密数据,以获取时间数据、校验数据、种子数据,通过校验数据校验时间数据的合法性,检测合法后,再用时间数据检查从RTC芯片读取的实时时钟数据的合法性。
在校验RTC时间合法时,需要定时更新RTC芯片中RAM中的加密数据,定时间隔可以是5分钟或更长一些时间,或是在每次获取实时时钟数据时进行更新。
具体实现时:
处理器通过IIC总线,根据RTC芯片资料中的读取协议,读取RTC芯片的实时时钟数据与RAM中的加密数据。
读取的RTC芯片的实时时钟数据,其包含:年、月、日、周、时、分、秒,并将实时时钟数据转换为标准时间戳4字节数据。
RAM中的加密数据为16字节的密文数据。
处理器获取到以上数据后,使用处理器内部保存的16字节密钥数据,采用AES128算法对获取的RAM中的16字节加密数据进行解密,获取RAM中加密数据的明文数据。
明文数据的前4字节为时间数据,中间10字节为随机的种子数据,后面2字节为CRC校验数据。
处理器使用CRC算法对明文的前14字节进行运算,并将计算结果与后面2个校验字节进行核对,如果相同,证明数据有效,否则数据无效,实时时钟数据也无效。
验证明文数据有效后,将明文数据中的时间数据与当前从RTC芯片中获取的实时时钟数据进行对比,如果从RTC芯片中获取的实时时钟数据小于明文中的时间数据,则说明RTC中时间被篡改过,实时时钟数据无效,否则,实时时钟数据有效。
如果实时时钟数据有效,则处理器需要更新RAM中的加密数据。随机生成10字节种子数据,将4字节当前时间与10字节种子数据进行组合为14字节,对着14字节进行CRC运算,将生产的2字节CRC字节放在末尾,组合成16字节,使用处理器中保存的密钥对这16字节进行加密,获得新的密文数据。
最后,处理器将上述计算的密文数据通过IIC总线保存到RTC芯片的RAM中,等到下次获取实时时钟数据时校验使用。
上述过程总结如下,包括:(1)当处理器需要获取时间时,处理器向RTC芯片提出获取实时时钟数据与RAM中加密数据的请求,等待RTC芯片返回数据。(2)当处理器接收到RTC芯片返回数据后,处理器先对返回的加密数据进行解密,获取加密数据的明文数据,然后,根据明文中的校验数据对备份时间数据进行检查。(3)如果检查备份时间没有问题,可以与从实时时钟数据进行对比,如果实时时钟数据正常,则认为RTC时间有效;否则,RTC时间被篡改,RTC时间无效。(4)检查RTC中加密数据是否需要更新,如果需要更新,将RTC当前的实时时钟数据作为明文进行加密,之后更新到RTC芯片RAM中。
该实施例加密保存了一个时间节点的备份数据在RTC芯片的RAM中,密钥保存在安全的处理器芯片内,比较安全,外部无法获取RAM中明文数据,也无法修改RAM中加密数据内容,如果RTC出现断电,RAM中加密数据将丢失,RTC的时钟数据非法;如果时间被恶意的篡改,此时校验RAM中数据,也可以发现当时数据非法,所以,通过本方法,可以有效鉴别RTC时钟数据的有效性。
本公开第二实施例提供您了一种时钟校验装置,该装置的结构示意如图3所示,包括:
获取模块10,用于获取实时时钟芯片的实时时钟数据及易失存储器内存储的第一验证数据;第一校验模块20,与获取模块10耦合,用于根据第一验证数据对实时时钟数据进行校验,以确定实时时钟数据的有效性。
本公开实施例中,实时时钟芯片不仅仅向处理器提供实时时钟数据,还提供其易失存储器内存储的第一验证数据,该第一验证数据用于处理器进行校验,如果校验通过了,则实时时钟数据为有效数据,如果第一验证数据没有通过校验,则实时时钟数据很可能被篡改了,确定实时时钟数据为无效数据。
本公开实施例将第一验证数据存储在易失存储器中,易失存储器需要通过电池或外部电源供电维护,如果供电断开,则实时时钟芯片的易失存储器中第一验证数据丢失,即使此时发生了篡改,但易失存储器再次上电后却不存在第一验证数据,因此,第一验证数据丢失则也无法通过校验,篡改即使发生也不会存在威胁。
对于第一验证数据,其是验证实时时钟数据是否有效的数据,本公开实施例可以将其设置为一个时间数据,校验模块包括:检测单元,用于检测第一验证数据中的时间数据是否小于实时时钟数据;确定单元,用于在时间数据小于实时时钟数据的情况下,确定实时时钟数据为有效数据;在时间数据大于实时时钟数据的情况下,确定实时时钟数据为无效数据。
上述实时时钟数据是实时获取的,第一验证数据中的时间数据是预先存储在易失存储器中的,因此,正常情况下,第一验证数据应该小于实时时钟数据,如果第一验证数据中的时间数据是不小于实时时钟数据,则说明实时时钟数据很有可能被篡改了,该实时时钟数据无效,如果第一验证数据中的时间数据是小于实时时钟数据,则说明实时时钟数据有效。
为了进一步确保实时时钟数据的校验没有误差,本公开实施例还可以还包括:运算模块,用于在根据第一验证数据对实时时钟数据进行校验之前,根据预定算法对第一验证数据中的时间数据和第一种子数据进行运算,得到第一结果数据;第二校验模块,用于检测第一结果数据与第一验证数据中的校验数据是否相同;确定模块,用于在第一结果数据与校验数据相同的情况下,确定第一验证数据中的时间数据为有效数据。该过程对第一验证数据中的时间数据进行提前校验,进一步保证了对实时时钟数据校验的准确性。
本公开实施例为了保证传输过程中数据的安全性,获取模块具体用于:获取实时时钟芯片的实时时钟数据及易失存储器内存储的加密的第一验证数据;根据预定密钥对加密的第一验证数据进行解密,以得到解密后的第一验证数据。
如果实时时钟芯片中易失存储器中的第一验证数据一直为一个固定数据,则也容易发生被窃取的风险,因此,为了保证交互安全,本公开实施例还可以包括:生成模块,用于在实时时钟数据为有效数据的情况下或者在预定更新时间到达时,根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据;更新模块,用于通过预定总线向实时时钟芯片发送第二验证数据,以使用第二验证数据更新易失存储器内的第一验证数据。其中,生成模块具体可以用于:根据预定算法对当前时间数据和第二种子数据进行运算,得到作为新校验数据的第二结果数据;基于当前时间数据、第二种子数据和第二结果数据生成第二验证数据。
该过程为验证数据的生成过程,无论是第一验证数据或第二验证数据,都可以采用根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成的方式,第二种子数据为随机生成的,因此,基于该第二种子数据生成的第二验证数据具有较高的安全性。该过程不仅可以提升数据交互过程中的安全性,还能够在易失存储器断电导致第一验证数据丢失时对验证数据进行及时补充。
相对于上述接收到的第一验证数据为加密后的第一验证数据这种情况,本公开实施例还可以包括加密模块,用于在通过预定总线向实时时钟芯片发送第二验证数据之前,通过预定密钥对第二验证数据进行加密处理,得到加密的第二验证数据。随后,再通过更新模块将加密的第二验证数据发送至实时时钟芯片,进而下次再获取实时时钟数据时,一起获取到的第二验证数据就是加密后的第二验证数据,由于是处理器对第二验证数据进行的加密,因此,处理器也能够对第二验证数据进行解密。
本公开实施例在获取实时时钟数据的同时也获取实时时钟芯片内易失存储器存储的第一验证数据,并通过第一验证数据对实时时钟数据进行校验,进而确定实时时钟数据的有效性,有效的防止了实时时钟数据被篡改后带来的系统安全问题,保证了系统安全。
本公开第三实施例提供了一种电子设备,该电子设备的结构示意图可以如图4所示,至少包括存储器901和处理器902,存储器901上存储有计算机程序,处理器902在执行存储器901上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序步骤如下S21至S22:
S21,获取实时时钟芯片的实时时钟数据及易失存储器内存储的第一验证数据;
S22,根据第一验证数据对实时时钟数据进行校验,以确定实时时钟数据的有效性。
处理器在执行存储器上存储的根据第一验证数据对实时时钟数据进行校验,以确定实时时钟数据的有效性的计算机程序时,具体还执行如下计算机程序:检测第一验证数据中的时间数据是否小于实时时钟数据;在时间数据小于实时时钟数据的情况下,确定实时时钟数据为有效数据;在时间数据大于实时时钟数据的情况下,确定实时时钟数据为无效数据。
处理器在执行存储器上存储的根据第一验证数据对实时时钟数据进行校验的计算机程序之前,还执行如下计算机程序:根据预定算法对第一验证数据中的时间数据和第一种子数据进行运算,得到第一结果数据;检测第一结果数据与第一验证数据中的校验数据是否相同;在第一结果数据与校验数据相同的情况下,确定第一验证数据中的时间数据为有效数据。
处理器在执行存储器上存储的获取实时时钟芯片的时钟数据及易失存储器内存储的第一验证数据的计算机程序时,具体还执行如下计算机程序:获取实时时钟芯片的实时时钟数据及易失存储器内存储的加密的第一验证数据;根据预定密钥对加密的第一验证数据进行解密,以得到解密后的第一验证数据。
处理器还执行如下计算机程序:在实时时钟数据为有效数据的情况下或者在预定更新时间到达时,根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据;通过预定总线向实时时钟芯片发送第二验证数据,以使用第二验证数据更新易失存储器内的第一验证数据。
处理器在执行存储器上存储的根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据的计算机程序时,具体还执行如下计算机程序:根据预定算法对当前时间数据和第二种子数据进行运算,得到作为新校验数据的第二结果数据;基于当前时间数据、第二种子数据和第二结果数据生成第二验证数据。
处理器在执行存储器上存储的通过预定总线向实时时钟芯片发送第二验证数据的计算机程序之前,还执行如下计算机程序:通过预定密钥对第二验证数据进行加密处理,得到加密的第二验证数据。
本公开实施例在获取实时时钟数据的同时也获取实时时钟芯片内易失存储器存储的第一验证数据,并通过第一验证数据对实时时钟数据进行校验,进而确定实时时钟数据的有效性,有效的防止了实时时钟数据被篡改后带来的系统安全问题,保证了系统安全。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本公开的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本公开。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本公开的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本公开的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。
Claims (6)
1.一种时钟校验方法,其特征在于,应用于处理器,包括:
获取实时时钟芯片的实时时钟数据及实时时钟芯片中的易失存储器内存储的第一验证数据;其中,所述第一验证数据包括校验数据和时间数据,所述校验数据为根据预定算法对时间数据和第一种子数据进行运算得到的;
根据预定算法对所述第一验证数据中的所述时间数据和第一种子数据进行运算,得到第一结果数据;
在所述第一结果数据与所述校验数据相同的情况下,确定所述第一验证数据中的时间数据为有效数据;
根据所述第一验证数据中的时间数据对所述实时时钟数据进行校验,以确定所述实时时钟数据的有效性;
所述方法还包括:
在所述实时时钟数据为有效数据的情况下,根据所述实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据;
通过预定总线向所述实时时钟芯片发送所述第二验证数据,以使用所述第二验证数据更新所述易失存储器内的所述第一验证数据;
所述根据所述第一验证数据中的时间数据对所述实时时钟数据进行校验,以确定所述实时时钟数据的有效性,包括:
检测所述第一验证数据中的时间数据是否小于所述实时时钟数据;
在所述时间数据小于所述实时时钟数据的情况下,确定所述实时时钟数据为有效数据;
在所述时间数据大于所述实时时钟数据的情况下,确定所述实时时钟数据为无效数据。
2.如权利要求1所述的时钟校验方法,其特征在于,所述获取实时时钟芯片的时钟数据及易失存储器内存储的第一验证数据,包括:
获取所述实时时钟芯片的所述实时时钟数据及所述易失存储器内存储的加密的所述第一验证数据;
根据预定密钥对加密的所述第一验证数据进行解密,以得到解密后的所述第一验证数据。
3.如权利要求1所述的时钟校验方法,其特征在于,所述根据所述实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据,包括:
根据所述预定算法对所述当前时间数据和所述第二种子数据进行运算,得到作为新校验数据的第二结果数据;
基于所述当前时间数据、所述第二种子数据和所述第二结果数据生成所述第二验证数据。
4.如权利要求2所述的时钟校验方法,其特征在于,通过预定总线向所述实时时钟芯片发送所述第二验证数据之前,还包括:
通过所述预定密钥对所述第二验证数据进行加密处理,得到加密的所述第二验证数据。
5.一种时钟校验装置,其特征在于,应用于处理器,包括:
获取模块,用于获取实时时钟芯片的实时时钟数据及实时时钟芯片中的易失存储器内存储的第一验证数据;其中,所述第一验证数据包括校验数据和时间数据,所述校验数据为根据预定算法对时间数据和第一种子数据进行运算得到的;
运算模块,用于根据预定算法对所述第一验证数据中的所述时间数据和第一种子数据进行运算,得到第一结果数据;
第二校验模块,用于检测所述第一结果数据与所述第一验证数据中的校验数据是否相同;
确定模块,用于在所述第一结果数据与所述校验数据相同的情况下,确定所述第一验证数据中的时间数据为有效数据;
第一校验模块,用于根据所述第一验证数据中的时间数据对所述实时时钟数据进行校验,以确定所述实时时钟数据的有效性;
生成模块,用于在实时时钟数据为有效数据的情况下,根据实时时钟芯片的当前时间数据、随机生成的第二种子数据生成第二验证数据;更新模块,用于通过预定总线向实时时钟芯片发送第二验证数据,以使用第二验证数据更新易失存储器内的第一验证数据;
第一校验模块包括:检测单元,用于检测第一验证数据中的时间数据是否小于实时时钟数据;确定单元,用于在时间数据小于实时时钟数据的情况下,确定实时时钟数据为有效数据;在时间数据大于实时时钟数据的情况下,确定实时时钟数据为无效数据。
6.一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581581.4A CN112632642B (zh) | 2020-12-28 | 2020-12-28 | 一种时钟校验方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581581.4A CN112632642B (zh) | 2020-12-28 | 2020-12-28 | 一种时钟校验方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632642A CN112632642A (zh) | 2021-04-09 |
CN112632642B true CN112632642B (zh) | 2022-05-20 |
Family
ID=75325952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011581581.4A Active CN112632642B (zh) | 2020-12-28 | 2020-12-28 | 一种时钟校验方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632642B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11636199B2 (en) | 2021-04-12 | 2023-04-25 | Realtek Singapore Pte Ltd. | Real time clock with integrated anti-rollback protection |
CN113110697A (zh) * | 2021-04-16 | 2021-07-13 | 深圳市富视康智能股份有限公司 | 时间校准方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221614A (zh) * | 2008-01-23 | 2008-07-16 | 北京深思洛克数据保护中心 | 软件保护装置中实时时钟的远程校准方法 |
CN102833259A (zh) * | 2012-09-03 | 2012-12-19 | 中科华核电技术研究院有限公司 | 系统间数据防篡改检测方法、校验码生成方法及装置 |
CN103413070A (zh) * | 2013-07-09 | 2013-11-27 | 北京深思数盾科技有限公司 | 一种本地时钟校准的方法及装置 |
CN108334158A (zh) * | 2017-01-20 | 2018-07-27 | 精工爱普生株式会社 | 电路装置、实时时钟装置、电子设备、移动体和验证方法 |
CN108650082A (zh) * | 2018-05-08 | 2018-10-12 | 腾讯科技(深圳)有限公司 | 待验证信息的加密和验证方法、相关装置及存储介质 |
CN209215571U (zh) * | 2018-09-28 | 2019-08-06 | 国家电网有限公司 | 批量校验式电能表时钟校验系统 |
CN110321725A (zh) * | 2019-07-12 | 2019-10-11 | 中孚信息股份有限公司 | 一种防止篡改系统数据与时钟的方法及装置 |
US10681092B1 (en) * | 2013-11-26 | 2020-06-09 | Snap Inc. | Method and system for integrating real time communication features in applications |
CN111538371A (zh) * | 2020-07-07 | 2020-08-14 | 飞天诚信科技股份有限公司 | 一种实时时钟装置及其工作方法、usb设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100447776C (zh) * | 2005-03-17 | 2008-12-31 | 联想(北京)有限公司 | 内嵌实时时钟的安全芯片以及校准其实时时钟方法 |
JP5411414B2 (ja) * | 2007-07-31 | 2014-02-12 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
US8583733B2 (en) * | 2007-08-17 | 2013-11-12 | Microsoft Corporation | Real time collaboration file format for unified communication |
GB0802741D0 (en) * | 2008-02-14 | 2008-03-26 | Wolfson Microelectronics Plc | Secure Clock |
CN106354119B (zh) * | 2016-08-26 | 2020-04-21 | 华自科技股份有限公司 | 微机继电保护装置掉电时间记录方法、系统和装置 |
CN109818702A (zh) * | 2019-03-04 | 2019-05-28 | 西安电子科技大学 | 一种ieee802.1as时钟同步功能实现系统以及实现方法 |
CN110472429A (zh) * | 2019-08-20 | 2019-11-19 | 闻泰通讯股份有限公司 | 数据校验方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-28 CN CN202011581581.4A patent/CN112632642B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221614A (zh) * | 2008-01-23 | 2008-07-16 | 北京深思洛克数据保护中心 | 软件保护装置中实时时钟的远程校准方法 |
CN102833259A (zh) * | 2012-09-03 | 2012-12-19 | 中科华核电技术研究院有限公司 | 系统间数据防篡改检测方法、校验码生成方法及装置 |
CN103413070A (zh) * | 2013-07-09 | 2013-11-27 | 北京深思数盾科技有限公司 | 一种本地时钟校准的方法及装置 |
US10681092B1 (en) * | 2013-11-26 | 2020-06-09 | Snap Inc. | Method and system for integrating real time communication features in applications |
CN108334158A (zh) * | 2017-01-20 | 2018-07-27 | 精工爱普生株式会社 | 电路装置、实时时钟装置、电子设备、移动体和验证方法 |
CN108650082A (zh) * | 2018-05-08 | 2018-10-12 | 腾讯科技(深圳)有限公司 | 待验证信息的加密和验证方法、相关装置及存储介质 |
CN209215571U (zh) * | 2018-09-28 | 2019-08-06 | 国家电网有限公司 | 批量校验式电能表时钟校验系统 |
CN110321725A (zh) * | 2019-07-12 | 2019-10-11 | 中孚信息股份有限公司 | 一种防止篡改系统数据与时钟的方法及装置 |
CN111538371A (zh) * | 2020-07-07 | 2020-08-14 | 飞天诚信科技股份有限公司 | 一种实时时钟装置及其工作方法、usb设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112632642A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11870910B2 (en) | Providing security in an intelligent electronic device | |
US7082539B1 (en) | Information processing apparatus | |
US9960914B2 (en) | Semiconductor device and information processing system for encrypted communication | |
EP3644181A1 (en) | Embedded program secure boot method, apparatus and device, and storage medium | |
EP3190543A1 (en) | Method of dynamically encrypting fingerprint data and related fingerprint sensor | |
CN112632642B (zh) | 一种时钟校验方法、装置及电子设备 | |
CN104008351B (zh) | Windows应用程序完整性校验系统、方法及装置 | |
US20160080153A1 (en) | Device authenticity determination system and device authenticity determination method | |
CN102014015B (zh) | 智能密钥设备的自检方法 | |
CN107133512A (zh) | Pos终端控制方法和装置 | |
CN112907375A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN107548542B (zh) | 经强化完整性及安全性的用户认证方法 | |
US9813242B2 (en) | Method and apparatus for secure recordation of time of attempted breach of IC package | |
US9756044B2 (en) | Establishment of communication connection between mobile device and secure element | |
WO2019142307A1 (ja) | 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム | |
CN109194467A (zh) | 一种加密数据的安全传输方法和系统 | |
CN110287733B (zh) | 一种文件防篡改方法和装置 | |
US9053325B2 (en) | Decryption key management system | |
CN107317925B (zh) | 移动终端 | |
CN109218009B (zh) | 一种提高设备id安全性的方法、客户端和服务器 | |
CN114219055A (zh) | 一种条码生成方法、条码验证方法及支付系统 | |
CN114064354A (zh) | 双接口独立备份数据存储模块和电子仪表解析处理方法 | |
CN112769764A (zh) | 仪表的计量数据传输密钥存储方法及其传输方法、装置 | |
CN108848089B (zh) | 一种数据加密方法及数据传输系统 | |
US20190207775A1 (en) | Integrated circuit, control device, information distribution method, and information distribution system |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Patentee after: Beijing Shendun Technology Co.,Ltd. Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd. |