CN104506268B - 一种实现时间校准的方法 - Google Patents
一种实现时间校准的方法 Download PDFInfo
- Publication number
- CN104506268B CN104506268B CN201410777677.6A CN201410777677A CN104506268B CN 104506268 B CN104506268 B CN 104506268B CN 201410777677 A CN201410777677 A CN 201410777677A CN 104506268 B CN104506268 B CN 104506268B
- Authority
- CN
- China
- Prior art keywords
- equipment
- time
- calibrated
- signed
- data
- 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
Landscapes
- Computer And Data Communications (AREA)
- Electric Clocks (AREA)
Abstract
本发明公开一种实现时间校准的方法,包括:被校准设备根据请求报文发送时间生成校准时间请求报文并将其发送给标准时间设备,记录请求报文发送时间;被校准设备接收标准时间设备返回的响应报文并记录接收响应报文的时间,解析响应报文得到接收请求报文的时间和响应报文发送时间,根据请求报文发送时间、接收响应报文的时间、接收请求报文的时间和响应报文发送时间,得到被校准设备与标准时间设备之间的时间差和报文传输延时;被校准设备根据被校准设备与标准时间设备之间的时间差和报文传输延时校准内部设置的时钟。本发明使用网络标准时间对被校准设备进行校准,可以很快实现网络中设备的时钟同步,同时也能保证很高的校准精度。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种实现时间校准的方法。
背景技术
一般的计算机和互联设备在时间稳定度方面的设计上没有明确的指标要求。这些设备的时钟振荡器工作在不受校对的自由振荡的状况。由于温度变化、电磁干扰、振荡器老化和生产调试等原因,时钟的振荡频率和标准频率之间存在一些误差。按误差的来源、现象和结果可以按固有的或者外来的、短期的或者长期的、以及随机的或者固定的等进行分类。这些误差初看来似乎微不足道,而在长期积累后会产生相当大的影响。假设一台设备采用了精确度相当高的时钟,设其精确度为0.001%,那么它在一秒中产生的偏差只是10微秒,一天产生的时间偏差接近1秒,而运行一年后则误差将大于5分钟。且一般设备的精准度远远达不到0.001%,导致其时钟的误差会更大。在现有技术中,校准时间的常用手段为参照自选的标准进行手工设定,不但工作量巨大,而且也不能保证时钟的精确性。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种实现时间校准的方法。
本发明提供了一种实现时间校准的方法,包括:
步骤S1:被校准设备根据请求报文的发送时间生成校准时间请求报文并将其发送给标准时间设备,记录所述请求报文的发送时间;
步骤S2:所述被校准设备接收所述标准时间设备返回的响应报文并记录响应报文的接收时间,解析所述响应报文得到请求报文的接收时间和响应报文的发送时间,根据所述请求报文的发送时间、所述响应报文的接收时间、所述请求报文的接收时间和所述响应报文的发送时间,得到所述被校准设备与所述标准时间设备之间的时间差和报文传输延时;
步骤S3:所述被校准设备根据所述被校准设备与所述标准时间设备之间的时间差和所述报文传输延时校准内部设置的时钟。
进一步地,所述根据所述请求报文的发送时间、所述响应报文的接收时间、请求报文的接收时间和响应报文的发送时间,得到所述被校准设备与所述标准时间设备之间的时间差和报文传输延时,具体包括:
用所述请求报文的接收时间减去所述请求报文的发送时间得到第一差值,用所述响应报文的接收时间减去所述响应报文的发送时间得到第二差值,将所述第一差值减去第二差值的差的一半作为所述被校准设备与标准时间设备之间的时间差;
用所述响应报文的接收时间减去所述请求报文的发送时间得到第三差值,用所述响应报文的发送时间减去所述请求报文的接收时间得到第四差值,将所述第三差值减去第四差值的差作为报文传输延时。
进一步地,在步骤S1与步骤S2之间包括:
步骤S2’:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间,根据所述请求报文的接收时间和所述响应报文的发送时间生成所述响应报文,并将所述响应报文发送给所述被校准设备。
进一步地,在所述步骤S1之前包括:
步骤D1:当所述标准时间设备检测到校准接口被调用时,产生随机数并保存;
步骤D2:所述标准时间设备使用第一公钥对所述随机数进行加密得到第一加密结果,将所述第一加密结果发送给所述被校准设备;
步骤D3:所述被校准设备接收所述第一加密结果,并使用第一私钥对所述第一加密结果进行解密,如解密成功则得到随机数并保存,如解密失败则报错,清空保存的所述随机数,结束;
所述步骤S1具体为:所述被校准设备根据请求报文的发送时间和所述随机数生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文的发送时间;
所述步骤S2’具体包括:
步骤S2’-11:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-12:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和所述第一签名结果;
步骤S2’-13:所述标准时间设备判断所述第一待签名数据中的随机数与保存的随机数是否相同,是则执行步骤S2’-14,否则报错,清空随机数,结束;
步骤S2’-14:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-15,如验证失败则报错,清空随机数,结束;
步骤S2’-15:所述标准时间设备根据所述随机数、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-11:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-12:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-13,如验证失败则报错,清空随机数,结束;
步骤S2-13:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-14,否则报错,清空随机数,结束;
步骤S2-14:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:清空所述随机数。
进一步地,所述步骤S2-13具体为:所述被校准设备判断所述第二待签名数据中的随机数与保存的随机数是否相同,是则所述响应报文合法,否则所述响应报文不合法。
进一步地,所述步骤S1具体为:所述被校准设备根据请求报文的发送时间和保存的校准计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文的发送时间;
所述步骤S2’具体包括:
步骤S2’-21:所述标准时间设备接收所述校准时间请求报文并记录请求报文的接收时间;
步骤S2’-22:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和第一签名结果;
步骤S2’-23:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-24,如验证失败则报错,清空随机数,结束;
步骤S2’-24:所述标准时间设备根据所述第一待签名数据中的校准计数值、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-21:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-22:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-23,如验证失败则报错,清空随机数,结束;
步骤S2-23:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-24,否则报错,清空随机数,结束;
步骤S2-24:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:更新所述保存的校准计数值。
进一步地,所述步骤S2-23具体为:所述被校准设备判断所述第二待签名数据中的校准计数值与保存的校准计数值是否相同,是则所述响应报文合法,否则所述响应报文不合法。
进一步地,所述步骤S1具体为:所述被校准设备根据请求报文的发送时间和被校准设备的唯一标识生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文的发送时间;
所述步骤S2’具体包括:
步骤S2’-31:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-32:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和第一签名结果;
步骤S2’-33:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-34,如验证失败则报错,清空随机数,结束;
步骤S2’-34:所述标准时间设备根据所述第一待签名数据中的被校准设备的唯一标识、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-31:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-32:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-33,如验证失败则报错,清空随机数,结束;
步骤S2-33:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-34,否则报错,清空随机数,结束;
步骤S2-34:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与所述标准时间设备之间的时间差和报文传输延时。
进一步地,所述步骤S2-33具体为:所述被校准设备判断所述第二待签名数据中的被校准设备的唯一标识与自身的唯一标识是否相同,是则所述响应报文合法,否则所述响应报文不合法。
进一步地,所述步骤S1具体为:所述被校准设备根据请求报文的发送时间、被校准设备的唯一标识、保存的校准计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文发送的时间;
所述步骤S2’具体包括:
步骤S2’-41:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-42:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和所述第一签名结果;
步骤S2’-43:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-44,如验证失败则报错,清空随机数,结束;
步骤S2’-44:所述标准时间设备根据所述第一待签名数据中的被校准设备的唯一标识和校准计数值、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-41:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-42:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-43,如验证失败则报错,清空随机数,结束;
步骤S2-43:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-44,否则报错,清空随机数,结束;
步骤S2-44:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:更新所述保存的校准计数值。
进一步地,所述步骤S2-33具体为:所述被校准设备判断所述第二待签名数据中的被校准设备的唯一标识与所述被校准设备自身的唯一标识是否相同,判断所述第二待签名数据中的校准计数值与保存的校准计数值是否相同,如上述两个判断均为是则所述响应报文合法,否则所述响应报文不合法。
进一步地,在所述步骤S1之前包括:
步骤C1:当所述标准时间设备检测到校准接口被调用时,产生随机数并保存;
步骤C2:所述标准时间设备使用第一公钥对所述随机数进行加密得到第一加密结果,将所述第一加密结果发送给所述被校准设备;
步骤C3:所述被校准设备接收所述第一加密结果,并使用第一私钥对所述加密结果进行解密,如解密成功则得到随机数并保存,如解密失败则报错,清空保存的所述随机数,结束;
所述步骤S1具体为:所述被校准设备根据请求报文的发送时间、所述随机数、被校准设备的唯一标识和保存的计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文发送的时间;
所述步骤S2’具体包括:
步骤S2’-51:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-52:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和所述第一签名结果;
步骤S2’-53:所述标准时间设备判断所述第一待签名数据中的随机数与保存的随机数是否相同,是则执行步骤S2’-54,否则报错,清空随机数,结束;
步骤S2’-54:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-55,如验证失败则报错,清空随机数,结束;
步骤S2’-55:所述标准时间设备根据所述随机数、所述第一待签名数据中的校准计数值和被校准设备的唯一标识、所述请求报文的接收时间和所述响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-51:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-52:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-53,如验证失败则报错,清空随机数,结束;
步骤S2-53:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-54,否则报错,清空随机数,结束;
步骤S2-54:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:更新保存的所述校准计数值并清空随机数。
进一步地,所述步骤S2-13具体为:所述被校准设备判断所述第二待签名数据中的随机数与保存的随机数是否相同,判断所述第二待签名数据中的被校准设备的唯一标识与自身的唯一标识是否相同,判断所述第二待签名数据中的校准计数值与保存的校准计数值是否相同,如上述三个判断均为是则所述响应报文合法,否则所述响应报文不合法。
进一步地,所述使用第一私钥对所述第一待签名数据进行签名得到第一签名结果,包括:所述被校准设备对所述第一待签名数据进行哈希计算得到第一哈希结果,使用第一私钥对所述第一哈希结果进行签名得到第一签名结果;
所述标准时间设备对所述第一签名结果进行验证,包括:所述标准时间设备使用第一公钥对第一签名结果进行解密,如解密成功则对所述第一待签名数据结果进行哈希计算,判断哈希结果与解密结果是否一致,是则第一签名结果验证成功,否则第一签名结果验证失败,如解密失败则第一签名结果验证失败。
进一步地,所述使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,包括:所述校准时间设备对所述第二待签名数据进行哈希计算得到第二哈希结果,使用第二私钥对所述第二哈希结果进行签名得到第二签名结果;
所述被校准设备对所述第二签名结果进行验证,包括:所述标准时间设备使用第二公钥对第二签名结果进行解密,如解密成功则对所述第二待签名数据结果进行哈希计算,判断哈希结果与解密结果是否一致,是则第二签名结果验证成功,否则第二签名结果验证失败,如解密失败则第二签名结果验证失败。
进一步地,步骤S1之前还包括:
步骤a1:当所述标准时间设备检测到校准接口被调用时,向所述被校准设备发送第一获取指令;
步骤a2:所述被校准设备接收到所述第一获取指令后将所述被校准设备证书发送给所述标准时间设备;
步骤a3:所述标准时间设备接收到被校准设备证书后,用所述被校准设备证书中的所述第一公钥对所述被校准设备证书中的证书签名进行验证,如验证通过则保存所述第一公钥,否则报错,结束。
进一步地,在所述步骤a1之前还包括,所述标准时间设备判断是否有被校准设备与其连接,是则执行步骤a1,否则报错,结束。
进一步地,所述被校准设备对所述第二签名结果进行验证之前还包括:
步骤b1:所述被校准设备向所述标准时间设备发送第二获取指令;
步骤b2:所述标准时间设备接收到所述第二获取指令后将标准时间设备证书发送给所述被校准设备;
步骤b3:所述被校准设备接收到所述标准时间设备证书后,用所述标准时间设备证书中的第二公钥对所述标准时间设备证书中的证书签名进行验证,如验证通过则保存所述第二公钥,继续,否则报错,清空随机数,结束。
本发明与现有技术相比,具有以下优点:
本发明方法使用网络标准时间对被校准设备进行校准,可以很快实现网络中设备的时钟同步,同时也能保证很高的校准精度。
附图说明
图1为本发明实施例一提供的一种实现时间校准的方法流程图;
图2为本发明实施例二提供的一种实现时间校准的方法流程图;
图3为本发明实施例三提供的一种实现时间校准的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种实现时间校准的方法,如图1所示,包括:
步骤s1:被校准设备根据请求报文的发送时间生成校准时间请求报文,并记录请求报文的发送时间;
步骤s2:被校准设备将校准时间请求报文发送给标准时间设备;
步骤s3:标准时间设备接收校准时间请求报文并记录请求报文的接收时间,根据请求报文的接收时间和响应报文的发送时间生成响应报文;
步骤s4:标准时间设备将响应报文发送给被校准设备;
步骤s5:被校准设备接收响应报文并记录响应报文的接收时间,解析响应报文得到请求报文的接收时间和响应报文的发送时间,根据请求报文的发送时间、请求报文的接收时间、响应报文的发送时间和响应报文的接收时间,得到被校准设备与标准时间设备之间的时间差和报文传输延时;
步骤s6:被校准设备根据被校准设备与标准时间设备之间的时间差和报文传输延时校准内部设置的时钟。
在本实施例中,使用网络标准时间对被校准设备进行校准,可以很快实现网络中设备的时钟同步,同时也能保证很高的精度。
实施例二
本发明实施例二提供一种实现时间校准的方法,在该实施例二中,被校准设备里存储有第一私钥、第二公钥和校准计数器,标准时间设备里面存储有第一公钥、第二私钥。被校准设备和标准时间设备内均设置有独立的时钟,标准时间设备内是标准时钟,本发明技术方案是通过标准时间设备内的时钟来校准被校准设备内的时钟。标准时间设备和被校准设备通过网络或者USB接口或蓝牙等分别与计算机连接,两者之间的通讯数据通过计算机来进行转发。
如图2所示,本实施例的方法包括:
步骤101:当标准时间设备检测到校准接口被调用时,产生随机数并保存;
优选的,在本实施例中,随机数的长度为8字节,在本实施例中随机数以A33BD36B039C34C0为例进行说明;
步骤102:标准时间设备使用第一公钥对随机数进行加密得到第一加密结果;
具体的,在本实施例中,标准时间设备先对随机数进行填充到128字节,然后用第一公钥进行加密,例如,随机数填充的结果为:00A33BD36B039C34C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;优选的,第一公钥为1024bit的RSA密钥对的公钥:C7F5CF9D6D93CA97810572DC06BABA852ADBEB6912EA7A46573BBDE0EB98FC59B9AC01F792187B4CDC72D48787A76A9B47F966DBDBAEE4C5E0F1B47BCC208DE1FCBD646E503F46B31DFE0E84CB43628FDFEAB8F434BA2A6F8867826EEF9DB92B72C2D169581802A019E5D936D83D0E4B2677F6D1F298B6010E58410838B4BBB7,进行加密得到的第一加密结果为:8D78C07F1D6D0C53F1FBB82F18D8F14C0AE29751595562B14757F676261CA4DB950F194CD20E75E65753775CD37E7F002023CA3898C001069C9F5D8196235462D236DAE2116B973FEFEF3D973C67F3FFB647934F9B6473D30E62F97099636EE45166FFB84284F265BEC2145074727975C4871B2421852E317D86927033C86F84;
步骤103:标准时间设备将第一加密结果发送给被校准设备;
步骤104:被校准设备使用第一私钥对收到的第一加密结果进行解密,如解密成功则得到随机数并保存,执行步骤105,如解密失败则报错,清空随机数,结束;
具体的,本实施例中的第一私钥为:472160FE5E69716ADD81A3AF33519F6219B1EB97101C8AEC94C172B51CF9E9E2BD12BC0C665301218155F3D656622EA1184456DBA4D51D1A6AFF70358D9293058C2F0774E4BF5010814C3677129DF9AEED320A8A0DF2B2B5DEF6B855980C3878A30057833E009CED9E033B0BE4A9C1F40FD37BB480546D003434B65C811F48F1;该步骤中得到的随机数为:A33BD36B039C34C0;
步骤105:被校准设备根据请求报文的发送时间、被校准设备的唯一标识、随机数、校准计数值生成第一待签名数据,并使用第一私钥对第一待签名数据进行签名得到第一签名结果,被校准设备保存请求报文的发送时间;
在本实施例,第一时间戳请求报文的发送时间标识被校准设备的当前时间,记为T1,例如被校准设备当前时间为2014年1月1日10:00:00AM,即请求报文的发送时间为:52ec5520;而标准时间设备的时间为2014年1月1日11:00:00AM;
被校准设备的唯一标识可以为硬件ID,如被校准设备为加密锁的话则硬件唯一标识可以为HID;例如,本实施例中被校准设备的唯一标识为:0102030405060708;
本实施例中,校准计数器的初始值为0,即校准计数值为0;
例如,被校准设备根据请求报文的发送时间、被校准设备的唯一标识、随机数、校准计数值生成第一待签名数据为:0052EC55200102030405060708A33BD36B039C34C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;使用第一私钥采用SHA1算法对上述第一待签名数据进行签名得到的第一签名结果为:8049C4E9D99C4D5C2E511ED14C7815FAE3207EB6CEC609F680D3C58814C613344FB4A504BEB76289BAD1501A8652A0A3B98396F1EAEAACB35C8D4ED10C7E1D32DB71CB476C6944721200958A80E9FF9356767585812371316E7138CCD463173D2B8BA4B58137D0883B4782F2992B2217B5DF299C907E96C7BDC809DCD0810D22;
步骤106:被校准设备根据第一待签名数据和第一签名结果生成校准时间请求报文,并将其发送给标准时间设备;
例如,本实施例中的校准时间请求报文为:0052EC55200102030405060708A33BD36B039C34C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008049C4E9D99C4D5C2E511ED14C7815FAE3207EB6CEC609F680D3C58814C613344FB4A504BEB76289BAD1501A8652A0A3B98396F1EAEAACB35C8D4ED10C7E1D32DB71CB476C6944721200958A80E9FF9356767585812371316E7138CCD463173D2B8BA4B58137D0883B4782F2992B2217B5DF299C907E96C7BDC809DCD0810D22;
步骤107:标准时间设备接收校准时间请求报文并对其进行解析得到第一待签名数据和第一签名结果并记录请求报文的接收时间;
在本实施例中,标准时间设备接收到校准时间请求报文时记录当前时间的时间值即请求报文的接收时间;
步骤108:标准时间设备判断第一待签名数据中的随机数是否与保存的随机数相同,是则执行步骤109,否则报错,清空随机数,结束;
步骤109:标准时间设备对第一签名结果进行验证,如验证成功则执行步骤110,如验证失败则报错,清空随机数,结束;
在本实施例中,步骤109具体为:
步骤109-1:标准时间设备使用第一公钥对第一签名结果进行解密,如解密成功则执行步骤109-2,如解密失败则验证失败;
步骤109-2:标准时间设备对第一待签名数据进行哈希计算得到第一哈希值;
步骤109-3:标准时间设备判断解密结果和第一哈希值是否一致,是则验证成功,否则验证失败;
其中,本实施例中的步骤109-1和步骤109-2的顺序可调换;
步骤110:标准时间设备根据请求报文的接收时间、被校准设备的唯一标识、随机数、校准计数值和响应报文的发送时间生成第二待签名数据,使用第二私钥对第二待签名数据进行签名得到第二签名结果;
具体的,本实施例中的请求报文的接收时间标识标准时间设备接收到校准时间请求报文时的时间;响应报文的发送时间标识标准时间设备发送响应报文时的时间;
例如,在本实施例中,第二私钥为:318D26E5148B45F1E5BFFED8024D8E03014D4956CEC6996E0D4DEE6D02B14706903599EDA198179F656080F8D450FFDF710C3BB1AB210C8D34EB7F207F463BC7D75E6640FEE918F45B09E45841E25746B52830A1C5BB50BBEDCE770CFCC1ACCE9EB846AE0AAB7DE4CAEB5555CA8FFB219E80B1219B0FDB8F7D48D3BF978FFD01;第二待签名数据为:0052ec6331010203040506070800A33BD36B039C34C052ec6332000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
根据SHA1算法使用第二私钥对第二待签名数据进行签名得到第二签名结果为:892BA0C7434CA51A2D1FA3FB03421E17D4F29A2FB5F1BAACCF321429809F73691C1591F517999A0191B8A9872C1B32BA7E21A5451166637392ADD95A00C93CD6633678AE0E71741261683AC50703CE748FA3919DAA85065264C00E652ACB8404B5DFAEE31967D2D821483F37D1A5EEBDF7C3E58FEC9C3D7876F4D80EED350EFD;
例如,标准时间设备接收到校准时间请求报文时的时间为2014年1月1日11:00:01AM,记为T2,即请求报文的接收时间为52ec6331;发送响应报文的为2014年1月1日11:00:02AM,记为T3,即响应报文的发送时间为:52ec6332;
步骤111:标准时间设备根据第二待签名数据和第二签名结果生成响应报文并将其发送给被校准设备;
步骤112:被校准设备接收响应报文并记录响应报文的接收时间,使用第二公钥对响应报文中的第二签名结果进行验证,如验证成功则执行步骤113,如验证失败则报错,清空随机数,结束;
具体的,步骤112包括:被校准设备对响应报文中的第二待签名数据进行哈希计算得到哈希值;使用第二公钥对响应报文中的第二签名结果进行解密,如解密成功则判断解密结果与哈希值是否相同,是则验证成功,否则验证失败,如解密失败则验证失败;其中,计算哈希值和解密过程的先后顺序可调换;
例如,本实施例中的第二公钥为:AA716174B677E9481BA67817C547262043B8EE5C0A1F78691B9C7602681B8A59B7793C99B4298FA3BBCBE62AA9F055FF64F11BF59C8729F6F6B99BBD2C78602F08F4217C18E91AEBDA1CA2F588919A0DC38AF4B0944E4916A7B1E3CE40CA008CC1FCC5212F73187E517802E6D783798D4C4527C8FC4F50AF1E4CCA8C44813B23;
步骤113:被校准设备判断响应报文是否合法,是则执行步骤114,否则报错,清空随机数,结束;
具体的,在本实施例中,步骤113包括:被校准设备判断响应报文中第二待签名数据中的随机数是否与保存的随机数一致、判断响应报文中第二待签名数据中的被校准设备的唯一标识是否与保存的设备的唯一标识一致、判断响应报文中第二待签名数据中的校准计数值是否与保存的校准计数值一致,如三者都判断为是则响应报文合法,否则响应报文不合法;
步骤114:被校准设备根据请求报文的发送时间、请求报文的接收时间、响应报文的发送时间和响应报文的接收时间,计算被校准设备与标准时间设备的时间差;
在本实施例中,响应报文的接收时间标识被校准设备接收到响应报文时的时间,记为T4,例如被校准设备接收到响应报文时的时间为2014年1月1日10:00:03AM,响应报文的接收时间为52ec5523;
优选的,在本实施例中,被校准设备首先根据T1、T2、T3、T4计算报文传送的延时,判断该延时是否在预设范围内(例如10s),是则再根据T1、T2、T3、T4计算被校准设备和标准时间设备的时间差;
例如,根据本实施例中的T1、T2、T3、T4计算得到的报文传送的延时Delay=(T4-T1)-(T3-T2)=2s;被校准设备和标准时间设备的时间差=((T2-T1)-(T4-T3))/2=1小时;
标准115:被校准设备根据被校准设备与标准时间设备的时间差进行时间校准,并更新校准计数器的计数值并清空随机数,结束;
例如,在本实施例中,被校准设备根据被校准设备和标准时间设备的时间差进行时间校准为:T4加上时间差1小时得到标准时间,然后将被校准设备的内置时钟设置为标准时间;更新校准计数器的计数值为:自加1。
在本实施例中,被校准设备里的第二公钥可以从标准时间设备中获取,标准时间设备里的第一公钥可以从被校准设备中获取;
标准时间设备从被校准设备中获取第一公钥的具体实现过程包括:
步骤a1:当标准时间设备检测到校准接口被调用时,向被校准设备发送第一获取指令;
优选的,在步骤a1之前,标准时间设备判断是否有被校准设备与其连接,是则执行步骤a1,否则报错,结束;
步骤a2:被校准设备接收到第一获取指令后将被校准设备证书发送给标准时间设备;
步骤a3:标准时间设备接收到被校准设备证书后,用证书中的被校准设备的公钥(即第一公钥)对证书签名进行验证,如验证通过则保存被校准设备公钥,产生随机数并保存,执行步骤102,否则报错,结束。
在步骤112之前还包括:被校准设备从标准时间设备中获取第二公钥,具体实现过程包括:
步骤b1:被校准设备向标准时间设备发送第二获取指令;
步骤b2:标准时间设备接收到第二获取指令后将标准时间设备证书发送给被校准设备;
步骤b3:被校准设备接收到标准时间设备证书后,用证书中的标准时间设备的公钥(即第二公钥)对证书签名进行验证,如验证通过则保存标准时间设备的公钥,继续,否则报错,清空随机数,结束。
在本实施例中,随机数、被校准设备的唯一标识、校准计数值三者可以单独使用,也可以组合使用。
(一)如单独使用随机数则步骤105替换为:被校准设备根据请求报文的发送时间和随机数生成第一待签名数据,使用第一私钥对第一待签名数据进行签名得到第一签名结果;根据第一待签名数据和第一签名结果生成校准时间请求报文;
步骤110替换为:标准时间设备根据请求报文的接收时间、随机数和响应报文的发送时间生成第二待签名数据,使用第二私钥对第二待签名数据进行签名得到第二签名结果;
步骤113具体包括:被校准设备判断第二待签名数据中的随机数与保存的随机数是否相同,是则响应报文合法,否则响应报文不合法。(二)如单独使用被校准设备的唯一标识则步骤105替换为:被校准设备根据请求报文的发送时间和被校准设备的唯一标识生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;
步骤110替换:标准时间设备根据第一待签名数据中的被校准设备的唯一标识、请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果;
步骤113具体包括:被校准设备判断第二待签名数据中的被校准设备的唯一标识与自身的唯一标识是否相同,是则响应报文合法,否则响应报文不合法。
(三)如单独使用校准计数值则步骤105替换为:被校准设备根据请求报文的发送时间和保存的校准计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;
步骤110替换为:标准时间设备根据第一待签名数据中的校准计数值、请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果;
步骤113具体包括:被校准设备判断第二待签名数据中的校准计数值与保存的校准计数值是否相同,是则响应报文合法,否则响应报文不合法。
(四)如使用被校准设备的唯一标识和校准计数值则步骤105替换为:被校准设备根据请求报文的发送时间、被校准设备的唯一标识、保存的校准计数值生成第一待签名数据,使用第一私钥对第一待签名数据进行签名得到第一签名结果;
步骤110替换为:标准时间设备根据第一待签名数据中的被校准设备的唯一标识和校准计数值、请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果;
步骤113具体包括:被校准设备判断第二待签名数据中的被校准设备的唯一标识与被校准设备自身的唯一标识是否相同,判断第二待签名数据中的校准计数值与保存的校准计数值是否相同,如上述两个判断均为是则响应报文合法,否则响应报文不合法。
在本实施例中,为了提高校准的精度,还可以对标准时间设备的合法性进行验证,避免了标准时间设备所产生的校准时间被攻击者所模拟,提高校准时间的安全性和准确性;通过设置计数器校准防止重复使用同一个校准升级包给设备校准;当判断被校准设备的时间与标准时间设备的时间差如在预设范围内则允许进行校准,防止非法者恶意进行校准时间的操作;使用随机数增加密文的随机性,可以防止重放攻击;使用被校准设备的唯一标识是保证升级请求只能给特定的设备升级,其他设备不能使用这个升级请求,增加校准的安全性。
实施例三
本发明实施例三提供一种实现时间校准的方法,具体的以被校准设备是加密锁为例进行说明,如图3所示,该方法包括:
步骤201:当标准时间设备检测到校准接口被调用时,向被校准加密锁发送第一获取指令;
优选的,在步骤201之前,标准时间设备判断是否有加密锁与其连接,是则执行步骤201,否则报错,结束;
步骤202:被校准加密锁接收到第一获取指令后将加密锁证书发送给标准时间设备;
步骤203:标准时间设备接收到加密锁证书后,用证书中的第一公钥对证书签名进行验证,如验证通过则保存第一公钥,产生随机数并保存,执行步骤204,如验证失败,则报错,结束;
优选的,本实施例中的随机数的长度为8个字节,例如随机数为03AB01FFFC465A0D;
步骤204:标准时间设备使用第一公钥对随机数进行加密得到第一加密结果;
步骤205:标准时间设备将第一加密结果发送给被校准加密锁;
步骤206:被校准加密锁使用第一私钥对接收到的第一加密结果进行解密,如解密成功则执行步骤207,如解密失败则报错,清空随机数,结束;
在本实施例中,如解密成功则得到随机数;
步骤207:被校准加密锁根据随机数、硬件HID、校准计数器、请求报文的发送时间生成第一待签名数据,并使用第一私钥对第一待签名数据进行签名得到第一签名结果,被校准加密锁保存请求报文的发送时间;
步骤208:被校准加密锁根据第一待签名数据和第一签名结果生成校准时间请求报文,并将其发送给标准时间设备;
步骤209:标准时间设备接收校准时间请求报文并对其进行解析得到第一待签名数据和第一签名结果并记录请求报文的接收时间;
在本实施例中,标准时间设备接收到校准时间请求报文时记录当前时间的时间值即请求报文的接收时间;
步骤210:标准时间设备判断第一待签名数据中的随机数是否与保存的随机数相同,是则执行步骤211,否则报错,清空随机数,结束;
步骤211:标准时间设备对第一签名结果进行验证,如验证成功则执行步骤212,如验证失败则报错,清空随机数,结束;
在本实施例中,步骤211具体为:
步骤211-1:标准时间设备使用第一公钥对第一签名结果进行解密,如解密成功则执行步骤211-2,如解密失败则验证失败;
步骤211-2:标准时间设备对第一待签名数据进行哈希计算得到第一哈希值;
步骤211-3:标准时间设备判断解密结果和第一哈希值是否一致,是则验证成功,否则验证失败;
其中,本实施例中的步骤211-1和步骤211-2的顺序可调换;
步骤212:标准时间设备根据请求报文的接收时间、硬件HID、随机数、校准计数值和响应报文的发送时间生成第二待签名数据,使用第二私钥对第二待签名数据进行签名得到第二签名结果;
步骤213:标准时间设备根据第二待签名数据和第二签名结果生成响应报文并将其发送给被校准加密锁;
步骤214:被校准加密锁接收响应报文并记录响应报文的接收时间,向标准时间设备发送第二获取指令;
步骤215:标准时间设备接收到第二获取指令后将标准时间设备证书发送给被校准加密锁;
步骤216:被校准加密锁接收到标准时间设备证书后,用证书中的第二公钥对证书中的证书签名进行验证,如验证成功则保存第二公钥,执行步骤217,如验证失败,则报错,清空随机数,结束;
步骤217:被校准加密锁使用第二公钥对响应报文中的第二签名结果进行验证,如验证成功则执行步骤218,如验证失败则报错,清空随机数,结束;
在本实施例中,步骤217的实现过程与实施例一中的步骤112相同,在此不再赘述;
步骤218:被校准加密锁比较第二待签名数据中的硬件HID是否与自身的HID一致,是则执行步骤219,否则报错,清空随机数,结束;
步骤219:被校准加密锁比较第二待签名数据中的校准计数值是否与锁内保存的校准计数值一致,是则执行步骤220,否则报错,清空随机数,结束;
步骤220:被校准加密锁判断响应报文中第二待签名数据中的随机数是否与保存的随机数一致,是则执行步骤221,否则报错,清空随机数,结束;
在本实施例中,步骤218、219、220三者之间的顺序可以先后调换;
步骤221:被校准加密锁根据请求报文的发送时间、请求报文的接收时间、响应报文的发送时间和响应报文的接收时间,计算报文传送的延时,并判断延时是否在预设范围内,是则执行步骤222,否则报错,清空随机数,结束;
步骤222:被校准加密锁根据请求报文的发送时间、请求报文的接收时间、响应报文的发送时间和响应报文的接收时间,计算被校准设备与标准时间设备的时间差;
步骤223:被校准加密锁调用加密锁内部设置时钟的接口,根据计算被校准设备与标准时间设备的时间差校准加密锁内的时钟,并更新校准计数器的计数值并清空随机数。
本发明技术方案由于对标准时间设备的合法性进行了验证,避免了标准时间设备所产生的校准时间被攻击者所模拟,提高校准时间的安全性和准确性;通过设置计数器校准防止重放攻击;通过判断被校准设备的时间与标准时间设备的时差如在预设范围内则允许进行校准,防止非法者恶意进行校准时间的操作。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种实现时间校准的方法,其特征在于,包括:
步骤S1:被校准设备根据请求报文的发送时间生成校准时间请求报文并将其发送给标准时间设备,记录所述请求报文的发送时间;
步骤S2’:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间,根据所述请求报文的接收时间和响应报文的发送时间生成所述响应报文,并将所述响应报文发送给所述被校准设备;
步骤S2:所述被校准设备接收所述标准时间设备返回的响应报文并记录响应报文的接收时间,解析所述响应报文得到请求报文的接收时间和响应报文的发送时间,根据所述请求报文的发送时间、所述响应报文的接收时间、所述请求报文的接收时间和所述响应报文的发送时间,得到所述被校准设备与所述标准时间设备之间的时间差和报文传输延时;
步骤S3:所述被校准设备根据所述被校准设备与所述标准时间设备之间的时间差和所述报文传输延时校准内部设置的时钟;
在所述步骤S1之前包括:
步骤D1:当所述标准时间设备检测到校准接口被调用时,产生随机数并保存;
步骤D2:所述标准时间设备使用第一公钥对所述随机数进行加密得到第一加密结果,将所述第一加密结果发送给所述被校准设备;
步骤D3:所述被校准设备接收所述第一加密结果,并使用第一私钥对所述第一加密结果进行解密,如解密成功则得到随机数并保存,如解密失败则报错,清空保存的所述随机数,结束;
所述步骤S1具体为:所述被校准设备根据请求报文的发送时间和所述随机数生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文的发送时间;
所述步骤S2’具体包括:
步骤S2’-11:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-12:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和所述第一签名结果;
步骤S2’-13:所述标准时间设备判断所述第一待签名数据中的随机数与保存的随机数是否相同,是则执行步骤S2’-14,否则报错,清空随机数,结束;
步骤S2’-14:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-15,如验证失败则报错,清空随机数,结束;
步骤S2’-15:所述标准时间设备根据所述随机数、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-11:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-12:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-13,如验证失败则报错,清空随机数,结束;
步骤S2-13:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-14,否则报错,清空随机数,结束;
步骤S2-14:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:清空所述随机数;
或,所述步骤S1具体为:所述被校准设备根据请求报文的发送时间和保存的校准计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文的发送时间;
所述步骤S2’具体包括:
步骤S2’-21:所述标准时间设备接收所述校准时间请求报文并记录请求报文的接收时间;
步骤S2’-22:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和第一签名结果;
步骤S2’-23:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-24,如验证失败则报错,清空随机数,结束;
步骤S2’-24:所述标准时间设备根据所述第一待签名数据中的校准计数值、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-21:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-22:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-23,如验证失败则报错,清空随机数,结束;
步骤S2-23:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-24,否则报错,清空随机数,结束;
步骤S2-24:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:更新所述保存的校准计数值;
或,所述步骤S1具体为:所述被校准设备根据请求报文的发送时间和被校准设备的唯一标识生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文的发送时间;
所述步骤S2’具体包括:
步骤S2’-31:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-32:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和第一签名结果;
步骤S2’-33:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-34,如验证失败则报错,清空随机数,结束;
步骤S2’-34:所述标准时间设备根据所述第一待签名数据中的被校准设备的唯一标识、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-31:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-32:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-33,如验证失败则报错,清空随机数,结束;
步骤S2-33:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-34,否则报错,清空随机数,结束;
步骤S2-34:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与所述标准时间设备之间的时间差和报文传输延时;
或,所述步骤S1具体为:所述被校准设备根据请求报文的发送时间、被校准设备的唯一标识、保存的校准计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文发送的时间;
所述步骤S2’具体包括:
步骤S2’-41:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-42:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和所述第一签名结果;
步骤S2’-43:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-44,如验证失败则报错,清空随机数,结束;
步骤S2’-44:所述标准时间设备根据所述第一待签名数据中的被校准设备的唯一标识和校准计数值、所述请求报文的接收时间和响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-41:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-42:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-43,如验证失败则报错,清空随机数,结束;
步骤S2-43:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-44,否则报错,清空随机数,结束;
步骤S2-44:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:更新所述保存的校准计数值;
或,在所述步骤S1之前包括:
步骤C1:当所述标准时间设备检测到校准接口被调用时,产生随机数并保存;
步骤C2:所述标准时间设备使用第一公钥对所述随机数进行加密得到第一加密结果,将所述第一加密结果发送给所述被校准设备;
步骤C3:所述被校准设备接收所述第一加密结果,并使用第一私钥对所述加密结果进行解密,如解密成功则得到随机数并保存,如解密失败则报错,清空保存的所述随机数,结束;
所述步骤S1具体为:所述被校准设备根据请求报文的发送时间、所述随机数、被校准设备的唯一标识和保存的计数值生成第一待签名数据,使用第一私钥对所述第一待签名数据进行签名得到第一签名结果;根据所述第一待签名数据和所述第一签名结果生成校准时间请求报文并将其发送给所述标准时间设备,记录所述请求报文发送的时间;
所述步骤S2’具体包括:
步骤S2’-51:所述标准时间设备接收所述校准时间请求报文并记录所述请求报文的接收时间;
步骤S2’-52:所述标准时间设备对所述校准时间请求报文进行解析得到所述第一待签名数据和所述第一签名结果;
步骤S2’-53:所述标准时间设备判断所述第一待签名数据中的随机数与保存的随机数是否相同,是则执行步骤S2’-54,否则报错,清空随机数,结束;
步骤S2’-54:所述标准时间设备对所述第一签名结果进行验证,如验证成功则执行步骤S2’-55,如验证失败则报错,清空随机数,结束;
步骤S2’-55:所述标准时间设备根据所述随机数、所述第一待签名数据中的校准计数值和被校准设备的唯一标识、所述请求报文的接收时间和所述响应报文的发送时间生成第二待签名数据,使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,根据所述第二待签名数据和所述第二签名结果生成响应报文,并将所述响应报文发送给所述被校准设备;
所述步骤S2具体包括:
步骤S2-51:所述被校准设备接收所述响应报文并记录所述响应报文的接收时间,解析所述响应报文得到所述第二待签名数据和第二签名结果;
步骤S2-52:所述被校准设备对所述第二签名结果进行验证,如验证成功则执行步骤S2-53,如验证失败则报错,清空随机数,结束;
步骤S2-53:所述被校准设备判断所述响应报文是否合法,是则执行步骤S2-54,否则报错,清空随机数,结束;
步骤S2-54:所述被校准设备根据所述第二待签名数据中的请求报文的接收时间和响应报文的发送时间、所述请求报文的发送时间、所述响应报文的接收时间,得到所述被校准设备与标准时间设备之间的时间差和报文传输延时;
所述步骤S3还包括:更新保存的所述校准计数值并清空随机数。
2.如权利要求1所述的方法,其特征在于,所述根据所述请求报文的发送时间、所述响应报文的接收时间、请求报文的接收时间和响应报文的发送时间,得到所述被校准设备与所述标准时间设备之间的时间差和报文传输延时,具体包括:
用所述请求报文的接收时间减去所述请求报文的发送时间得到第一差值,用所述响应报文的接收时间减去所述响应报文的发送时间得到第二差值,将所述第一差值减去第二差值的差的一半作为所述被校准设备与标准时间设备之间的时间差;
用所述响应报文的接收时间减去所述请求报文的发送时间得到第三差值,用所述响应报文的发送时间减去所述请求报文的接收时间得到第四差值,将所述第三差值减去第四差值的差作为报文传输延时。
3.如权利要求1所述的方法,其特征在于,所述步骤S2-13具体为:所述被校准设备判断所述第二待签名数据中的随机数与保存的随机数是否相同,是则所述响应报文合法,否则所述响应报文不合法。
4.如权利要求1所述的方法,其特征在于,所述步骤S2-23具体为:所述被校准设备判断所述第二待签名数据中的校准计数值与保存的校准计数值是否相同,是则所述响应报文合法,否则所述响应报文不合法。
5.如权利要求1所述的方法,其特征在于,所述步骤S2-33具体为:所述被校准设备判断所述第二待签名数据中的被校准设备的唯一标识与自身的唯一标识是否相同,是则所述响应报文合法,否则所述响应报文不合法。
6.如权利要求1所述的方法,其特征在于,所述步骤S2-33具体为:所述被校准设备判断所述第二待签名数据中的被校准设备的唯一标识与所述被校准设备自身的唯一标识是否相同,判断所述第二待签名数据中的校准计数值与保存的校准计数值是否相同,如上述两个判断均为是则所述响应报文合法,否则所述响应报文不合法。
7.如权利要求1所述的方法,其特征在于,所述步骤S2-13具体为:所述被校准设备判断所述第二待签名数据中的随机数与保存的随机数是否相同,判断所述第二待签名数据中的被校准设备的唯一标识与自身的唯一标识是否相同,判断所述第二待签名数据中的校准计数值与保存的校准计数值是否相同,如上述三个判断均为是则所述响应报文合法,否则所述响应报文不合法。
8.如权利要求1所述的方法,其特征在于,
所述使用第一私钥对所述第一待签名数据进行签名得到第一签名结果,包括:所述被校准设备对所述第一待签名数据进行哈希计算得到第一哈希结果,使用第一私钥对所述第一哈希结果进行签名得到第一签名结果;
所述标准时间设备对所述第一签名结果进行验证,包括:所述标准时间设备使用第一公钥对第一签名结果进行解密,如解密成功则对所述第一待签名数据结果进行哈希计算,判断哈希结果与解密结果是否一致,是则第一签名结果验证成功,否则第一签名结果验证失败,如解密失败则第一签名结果验证失败。
9.如权利要求1所述的方法,其特征在于,
所述使用第二私钥对所述第二待签名数据进行签名得到第二签名结果,包括:所述校准时间设备对所述第二待签名数据进行哈希计算得到第二哈希结果,使用第二私钥对所述第二哈希结果进行签名得到第二签名结果;
所述被校准设备对所述第二签名结果进行验证,包括:所述标准时间设备使用第二公钥对第二签名结果进行解密,如解密成功则对所述第二待签名数据结果进行哈希计算,判断哈希结果与解密结果是否一致,是则第二签名结果验证成功,否则第二签名结果验证失败,如解密失败则第二签名结果验证失败。
10.如权利要求1所述的方法,其特征在于,步骤S1之前还包括:
步骤a1:当所述标准时间设备检测到校准接口被调用时,向所述被校准设备发送第一获取指令;
步骤a2:所述被校准设备接收到所述第一获取指令后将被校准设备证书发送给所述标准时间设备;
步骤a3:所述标准时间设备接收到被校准设备证书后,用所述被校准设备证书中的所述第一公钥对所述被校准设备证书中的证书签名进行验证,如验证通过则保存所述第一公钥,否则报错,结束。
11.如权利要求10所述的方法,其特征在于,在所述步骤a1之前还包括,所述标准时间设备判断是否有被校准设备与其连接,是则执行步骤a1,否则报错,结束。
12.如权利要求1所述的方法,其特征在于,所述被校准设备对所述第二签名结果进行验证之前还包括:
步骤b1:所述被校准设备向所述标准时间设备发送第二获取指令;
步骤b2:所述标准时间设备接收到所述第二获取指令后将标准时间设备证书发送给所述被校准设备;
步骤b3:所述被校准设备接收到所述标准时间设备证书后,用所述标准时间设备证书中的第二公钥对所述标准时间设备证书中的证书签名进行验证,如验证通过则保存所述第二公钥,继续,否则报错,清空随机数,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410777677.6A CN104506268B (zh) | 2014-12-15 | 2014-12-15 | 一种实现时间校准的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410777677.6A CN104506268B (zh) | 2014-12-15 | 2014-12-15 | 一种实现时间校准的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506268A CN104506268A (zh) | 2015-04-08 |
CN104506268B true CN104506268B (zh) | 2017-07-14 |
Family
ID=52947990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410777677.6A Active CN104506268B (zh) | 2014-12-15 | 2014-12-15 | 一种实现时间校准的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506268B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549904B (zh) * | 2015-09-16 | 2020-12-29 | 中兴通讯股份有限公司 | 报文解析的方法及装置 |
CN107239771A (zh) * | 2017-06-21 | 2017-10-10 | 北京小米移动软件有限公司 | 指纹校准方法及装置 |
CN107991643A (zh) * | 2017-11-14 | 2018-05-04 | 国网福建省电力有限公司 | 一种电能表时钟校正方法 |
CN108770056B (zh) * | 2018-05-31 | 2020-12-04 | 成都精位科技有限公司 | 超宽带同步信号修正方法、装置及定位基站 |
CN109495263A (zh) * | 2018-11-16 | 2019-03-19 | 上海银基信息安全技术股份有限公司 | 时钟同步方法、系统、装置、智能终端、车辆终端及介质 |
CN113746588A (zh) * | 2021-08-26 | 2021-12-03 | 中国舰船研究设计中心 | 一种基于以太网网络的设备时钟误差检测方法 |
CN115766236A (zh) * | 2022-11-18 | 2023-03-07 | 中国计量科学研究院 | 可信时间网络校准系统及可信时间数字服务 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051887A (zh) * | 2007-05-17 | 2007-10-10 | 中控科技集团有限公司 | 一种多重化网络中时钟同步的方法、设备和系统 |
CN101227246A (zh) * | 2008-01-28 | 2008-07-23 | 中兴通讯股份有限公司 | 一种主从时钟同步的方法及装置 |
CN101789954A (zh) * | 2009-01-24 | 2010-07-28 | 华为技术有限公司 | 单播环境下的通信方法、设备及系统 |
CN102006157A (zh) * | 2010-11-26 | 2011-04-06 | 中兴通讯股份有限公司 | 一种时间同步的方法和系统 |
CN102594803A (zh) * | 2012-01-18 | 2012-07-18 | 深圳市文鼎创数据科技有限公司 | 信息安全设备及服务器时间同步方法 |
CN104092540A (zh) * | 2014-06-25 | 2014-10-08 | 安徽云盾信息技术有限公司 | 一种可靠的芯片内部时钟的同步方法 |
CN104184534A (zh) * | 2014-09-09 | 2014-12-03 | 桂林电子科技大学 | 精确ieee1588协议的透明时钟路径延迟的方法 |
-
2014
- 2014-12-15 CN CN201410777677.6A patent/CN104506268B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051887A (zh) * | 2007-05-17 | 2007-10-10 | 中控科技集团有限公司 | 一种多重化网络中时钟同步的方法、设备和系统 |
CN101227246A (zh) * | 2008-01-28 | 2008-07-23 | 中兴通讯股份有限公司 | 一种主从时钟同步的方法及装置 |
CN101789954A (zh) * | 2009-01-24 | 2010-07-28 | 华为技术有限公司 | 单播环境下的通信方法、设备及系统 |
CN102006157A (zh) * | 2010-11-26 | 2011-04-06 | 中兴通讯股份有限公司 | 一种时间同步的方法和系统 |
CN102594803A (zh) * | 2012-01-18 | 2012-07-18 | 深圳市文鼎创数据科技有限公司 | 信息安全设备及服务器时间同步方法 |
CN104092540A (zh) * | 2014-06-25 | 2014-10-08 | 安徽云盾信息技术有限公司 | 一种可靠的芯片内部时钟的同步方法 |
CN104184534A (zh) * | 2014-09-09 | 2014-12-03 | 桂林电子科技大学 | 精确ieee1588协议的透明时钟路径延迟的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104506268A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506268B (zh) | 一种实现时间校准的方法 | |
US11119905B2 (en) | System and method for managing electronic assets | |
CN102007787B (zh) | 用于安全可信计时技术的方法和装置 | |
US10102500B2 (en) | System and method for performing serialization of devices | |
US20110010770A1 (en) | System and method for performing key injection to devices | |
CA2743958A1 (en) | System and method for hardware based security | |
CN103560887B (zh) | 智能终端远程证明方法和系统 | |
CN102868529B (zh) | 一种认证及校准时间的方法 | |
CN109117674A (zh) | 一种客户端验证加密方法、系统、设备及计算机介质 | |
DK2608981T3 (en) | Securing and synchronizing system time in a charging station | |
CN112798333A (zh) | 用于土壤修复的采样钻头、土壤信息系统和信息管理方法 | |
CN110019278A (zh) | 一种数据验证方法、装置及设备 | |
CN109191143A (zh) | 食品信息处理方法、装置和系统 | |
JP4918717B2 (ja) | 計測装置 | |
CN109086621B (zh) | 电能表检定报告数据防篡改方法和系统、存储介质 | |
CN108038979B (zh) | 基于sts预付费系统的可持续操作方法 | |
CN106992865B (zh) | 数据签名方法及系统、数据验签方法及装置 | |
CN104378199A (zh) | 一种机组动态密码的生成方法、系统及动态密码生成器 | |
JP4868322B2 (ja) | 情報処理システム、及び情報処理方法 | |
CN108737101A (zh) | 一种应用程序的验证方法、装置及云端服务器 | |
CN111161041A (zh) | 一种基于区块链的对账方法及装置 | |
CN110958071B (zh) | 一种基于4g模块的电子式互感器时钟误差自校准系统及方法 | |
Yu et al. | How to detect unauthorised usage of a key. | |
CN109918768A (zh) | 基于密码芯片的电能计量装置的查找路径规划方法及装置 | |
CN104135470B (zh) | 一种对目标数据的存储完整性进行验证的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |