买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:国家电网公司;国电南瑞科技股份有限公司
摘要:本发明公开了一种基于非对称数字签名的配电终端SNTP对时方法,属电力系统自动化领域,包括下列步骤:在符合配电网需求的配电终端基础上,加入SNTP协议进行时钟校核,并使用SM2非对称数字签名算法对系统时钟校核的安全性进行防护,保障配电终端实现高精度、高安全性的时钟校核,具有非常重大的实际工程意义。
主权项:基于非对称数字签名的配电终端SNTP对时方法,其特征在于,包括以下步骤:1在配电终端进行SNTP协议的开发,使配电终端具备SNTP客户端功能,所述SNTP协议的开发是指在配电终端配置向时钟服务器请求对时的控制模块和对时钟服务器报文进行解析的解析模块,并配置数字签名验证模块,所述数字签名验证模块配置供客户端调用的数字签名验证接口;2在时钟服务器上配置数字签名模块,所述数字签名模块配置供时钟服务器调用的数字签名接口;3将非对称数字签名的私钥安装于时钟服务器,公钥安装于配电终端的本地时钟客户端;4配电终端的本地时钟客户端首先设置报文头,然后获取本地时刻Orig_T,组装成报文,然后通过控制模块向时钟服务器发送对时请求报文;5时钟服务器收到本地时钟客户端请求报文后,首先解析出Orig_T,并获取时钟服务器本地的时钟Recv_T;然后按照本地状态设置报文头,形成Tran_T为0的待签名报文,Tran_T为时钟服务器向本地时钟客户端发时间戳时间,再将待签名报文,时钟服务器的私钥及时钟服务器描述ID,作为数字签名接口的输入,由时钟服务器调用数字签名接口,经数字签名模块按照SM2数字签名算法产生数字签名;6以时钟服务器当前时标填充待签名报文中的Tran_T,再将形成的数字签名数据附加在待签名报文后,形成复合报文,并发送至本地时钟客户端;7本地时钟客户端收到时钟服务器的复合报文后,首先获取配电终端本地的时钟Dest_T,通过解析模块在复合报文中解析出Orig_T、Recv_T及Tran_T并保存,然后将原复合报文中Tran_T置0,得到新的报文;8本地时钟客户端将所述步骤7得到的新的报文的非数字签名数据作为待验证签名,加上配电终端服务器上的公钥及时钟服务器描述ID一起作为数字签名验证接口的输入,由本地时钟客户端调用数字签名验证接口,经数字签名验证模块进行布尔运算,使数字签名验证接口将返回一个成功与否的布尔值:1或者0,从而验证所述步骤7接收到的复合报文的安全性,若返回0则验证失败,客户端拒绝本次时钟校核指令;若返回1则认证成功,客户端计算出本地时钟与时钟服务器时钟的偏差,对本地时钟系统进行修正。
全文数据:基于非对称数字签名的配电终端SNTP对时方法技术领域[0001]本发明涉及一种基于非对称数字签名的配电终端SNTP对时方法,属于电力系统及其自动化领域。背景技术[0002]随着配电自动化建设的推进,为了进行快速故障隔离及非故障区域恢复供电,缩短因故障造成的停电时间,保障供电的稳定性及可靠性,提高供电质量,越来越多的诸如智能分布式FA等更加智能化的功能正在配电自动化系统进行推广和应用,这就要求配电自动化系统各设备之间需要进行相互配合及联动,使得配电自动化设备之间的相互通信及交流越来越密切。而系统各设备之间的相互配合完成相关的智能化功能必须建立在各参与设备均具有统一、精确的时标系统的基础上,所有设备响应及动作方案必须以精确可靠的时标作为基础,因此,传统诸如IEC60870-5-104、IEC60870-5-101等配电自动化系统常用规约所定义的时钟校核方法在授时精度及授时的安全性上均已无法满足配电自动化系统智能化的要求。因此,使用授时精度的授时协议及研究能够保障授时安全的授时系统安全防护方法在今后的配电自动化的建设过程中就显得尤为重要。发明内容[0003]本发明的目的在于解决配电自动化终端的授时精度及其安全防护问题。[0004]为了实现上述目的,本发明所采用的技术方案为:[0005]基于非对称数字签名的配电终端SNTP对时方法,包括以下步骤:[0006]1在配电终端进行SNTP协议的开发,使配电终端具备SNTP客户端功能,所述SNTP协议的开发是指在配电终端配置向时钟服务器请求对时的控制模块和对时钟服务器报文进行解析的解析模块,并配置数字签名验证模块,所述数字签名验证模块配置供客户端调用的数字签名验证接口;[0007]2在时钟服务器上配置数字签名模块,所述数字签名模块配置供时钟服务器调用的数字签名接口;[0008]3将非对称数字签名的私钥安装于时钟服务器,公钥安装于配电终端的本地时钟客户端;[0009]4配电终端的本地时钟客户端首先设置报文头,然后获取本地时刻0rig_T,组装成报文,然后通过控制模块向时钟服务器发送对时请求报文;[0010]5时钟服务器收到本地时钟客户端请求报文后,首先解析出0rig_T,并获取时钟服务器本地的时钟Recv_T;然后按照本地状态设置报文头,形成Tran_TS〇的待签名报文,再将待签名报文,时钟服务器的私钥及时钟服务器描述ID,作为数字签名接口的输入,由时钟服务器调用数字签名接口,经数字签名模块按照SM2数字签名算法产生数字签名;[0011]6以时钟服务器当前时标填充待签名报文中的Tran_T,再将形成的数字签名数据附加在待签名报文后,形成复合报文,并发送至本地时钟客户端;[0012]7本地时钟客户端收到时钟服务器的复合报文后,首先获取配电终端本地的时钟Dest_T,通过解析模块在复合报文中解析出Orig_T、ReCV_!STran_T并保存,然后将原复合报文中!'^11_1'置0,得到新的报文;[0013]8本地时钟客户端将所述步骤7得到的新的报文的非数字签名数据作为待验证签名,加上配电终端服务器上的公钥及时钟服务器描述ID-起作为数字签名验证接口的输入,由本地时钟客户端调用数字签名验证接口,经数字签名验证模块进行布尔运算,使数字签名验证接口将返回一个成功与否的布尔值:1或者0,从而验证所述步骤7接收到的复合报文的安全性,若返回0则验证失败,客户端拒绝本次时钟校核指令;若返回1则认证成功,客户端计算出本地时钟与时钟服务器时钟的偏差,对本地时钟系统进行修正。[0014]前述的步骤1的数字签名验证模块用于进行布尔运算,验证复合报文是否是由真实可靠的时钟服务器发出。[0015]前述的步骤2的数字签名模块采用SM2数字签名算法计算数字签名。[0016]前述的步骤8时钟偏差t的计算方法为:[0017]t=Recv_T-〇rig_T+Tran_T-Dest_T2〇[0018]前述的智能配电终端CPU硬件采用基于linux、vxworks操作系统的DSP实现。[0019]前述的数字签名数据的长度为64字节。[0020]本发明实现配电终端具有非对称数字签名安全防护的高精度对时,过程简单,对时精度高,数字签名的验证过程计算量小,运算速度快,安全性好;并且本发明对CHJ硬件的处理能力要求低,可采用低成本、低处理能力的CPU硬件平台实现,在基于操作系统平台上进行应用;同时本发明利用SM2非对称数字签名技术在传统SNTP对时报文后面附加数字签名用于对授时服务器的可靠性进行验证,保障了配电自动化系统授时安全。附图说明[0021]图1为本发明的配电终端SNTP对时过程示意图;[0022]图2为本发明SNTP对时协议单向认证示意图;[0023]图3为本发明带数字签名的SNTP复合报文结构;[0024]图4为本发明配电终端时钟校核流程图。具体实施方式[0025]现结合附图和具体实施方式对本发明作进一步详细说明。[0026]本发明通过利用SNTP简单网络对时协议作为配电自动化终端的高精度对时协议,按照本协议规定的算法来实现对配电终端本地时钟的修正,使其与时钟服务器时钟保持一致,同时为了保证授时的安全性,防止配电终端时钟被恶意篡改,影响配电自动化系统的安全运行,采用基于非对称数字签名技术的SM2算法对授时报文进行安全防护,配电终端在收到系统时钟同步命令后首先提取数字签名并验证指令发出方的身份可靠性,身份验证成功方能进行本地时钟的修正。[0027]如图4所示,基于非对称数字签名的配电终端SNTP对时方法,包括下列步骤:[0028]首先在配电终端进行SNTP协议的开发,使配电终端具备SNTP客户端功能,即在配电终端配置向时钟服务器请求时钟的控制模块和对时钟服务器报文进行解析的解析模块,并配置数字签名验证模块,数字签名验证模块用于进行布尔运算,验证复合报文是否是由真实可靠的时钟服务器发出,并且数字签名验证模块配置供客户端调用的数字签名验证接□〇[0029]然后在时钟服务器上配置数字签名模块,数字签名模块采用SM2数字签名算法计算数字签名,并且数字签名模块配置供时钟服务器调用的数字签名接口。[0030]将非对称数字签名的私钥安装于时钟服务器,公钥安装于配电终端的本地时钟客户端。[0031]如图1所示,配电终端的本地时钟客户端首先设置报文头,然后获取本地时刻Orig_T,组装成报文,然后通过控制模块向时钟服务器发送对时请求报文;[0032]时钟服务器收到本地时钟客户端请求报文后,首先解析出Orig_T,并获取时钟服务器本地的时钟Recv_T;然后按照本地状态设置报文头,形成Tran_TS〇的待签名报文,再将待签名报文,时钟服务器的私钥及时钟服务器描述ID作为数字签名接口的输入,由时钟服务器调用数字签名接口,数字签名模块按照SM2数字签名算法产生数字签名;[0033]以时钟服务器当前时标填充待签名报文中的Tran_T,再将形成的数字签名数据附加在待签名报文后,形成复合报文,并发送至本地时钟客户端;[0034]本地时钟客户端收到时钟服务器的复合报文,首先获取客户端本地的时钟Dest_T,通过解析模块在复合报文中解析出Orig_T、Recv_T&Tran_T并保存然后将原复合报文中!'^11_1'置0,得到新的报文;[0035]本地时钟客户端将上步得到的新的报文的非数字签名数据作为待验证签名,待验证签名加上配电终端本地服务器上的公钥及时钟服务器描述ID-起作为数字签名验证接口的输入,由本地时钟客户端调用数字签名验证接口,经数字签名验证模块进行布尔运算,数字签名验证接口将返回一个成功与否的布尔值:1或者0,从而验证接收到的复合报文的安全性,若返回0则验证失败,则可能是有人冒充系统授时服务器企图对时钟进行非法篡改或者其它攻击,本地客户端应拒绝本次时钟校核指令;若返回1则认证成功,说明时钟校核指令安全可靠,客户端计算出本地时钟与服务器时钟的偏差即可对本地时钟系统进行修正,以达到时钟同步的目的。[0036]本地时钟客户端收到时钟服务器复合报文后,可以简单的计算出传输延时d和时钟偏差t,其计算方法为:[0037]d=Dest_T-〇rig_T-Recv_T-Tran_T[0038]t=Recv_T-〇rig_T+Tran_T-Dest_T2[0039]根据以上计算可知,本地时钟客户端与时钟服务器的时间偏差只与ReCV_T、0rig_T差值及Tran_T、Dest_T差值有关,而与时钟服务器处理数据所需时间或者响应延时Recv_1\1&11_1'这两个时间的差值无关,因此本地时钟客户端客户端只需要在本地时钟的基础上按照偏差t对本地时钟进行修正即可实现本地时钟的校准。[0040]为了保证协议版本的兼容性及通用性,本发明使用SM2非对称数字签名对SNTP授时协议进行防护时依然采用原有对时协议报文格式及传输模式,只将原来的按照对称加密算法产生的安全认证数据区替换成SM2数字签名数据,且只考虑由时钟服务器到配电终端的单向认证方式,对本地时钟客户端到时钟服务器端的时钟请求报文不进行安全防护。如图2所示。[0041]图3是具备非对称数字签名的SNTP时钟校核复合报文示意图,根据V3版本的SNTP对时协议,其原始对时协议报文格式如表1所示,[0042]表1原始对时协议报文格式[0044]其中Authenticator为数字签名数据,本发明采用256位长度的数字签名进行防护,即整个数字签名数据的长度为64字节,最后形成如图3所示的带数字签名的SNTP复合报文。[0045]下面通过具体实施例对本发明方法的过程进行说明。[0046]安全防护所需要的相关参数如下:[0047]时钟服务器描述ID:SNTPServer[0048]签名私钥数据(十六进制):717374510A39B816C89DA53C5B674A13F98AF03D35F6C23FF4DB3147EEFE9F03[0049]验签公钥数据(十六进制):BCE1191B83A08F8A9F94C974D5E8ED080613CC54C85CC55A20030C86CC9803867B24525D67DC59F25B885282CBDDDD70DE82575A1F6136D44339E83F5DEAD063[0050]1本地时钟客户端首先设置报文头,即设置LiVnMod位为OxlB,其中闰秒标志Li设置为〇,版本号Vn设置位3,工作模式Mod设置为3,其余字节为0,然后获取本地时刻Orig_T,组装成报文,然后通过控制模块向时钟服务器发送对时请求报文十六进制):[0052]2时钟服务器应答过程实例[0053]时钟服务器在收到上述客户端请求报文后,首先解析出0rig_T,并获取时钟服务器本地的时钟Recv_T,然后按照本地状态设置报文头,即设置LiVnMod位为OxlC,其中闰秒标志Li设置为0,版本号Vn设置位3,工作模式Mod设置为4;服务器工作的级别Stratum字节按照实际设置;数据包的最大时间间隔Polllnterval设置为244;然后填上客户端发送时间〇rig_T及服务器收到请求的时间Recv_T,形成Tran_TS〇的待签名报文(即原始请求报文)如下:[0054]1C0300F400000000000000004C434F4CD6F608BA088601C0D6F608BA00000000D6F608BA088601C00000000000000000十六进制)[0055]再将待签名报文,时钟服务器的私钥及时钟服务器描述ID,作为数字签名接口的输入,由时钟服务器调用数字签名接口,经数字签名模块按照SM2数字签名算法产生数字签名如下:[0056]7a45857015d66e71f454a310f324cd26fb8da7803c23dcb54e2c3a93a9850ca5bl299cbccl34f8609b403aeal7706d023d84e986dld2ea54f33b089df6aec7ab十六进制)[0057]最后以时钟服务器当前时标填充原始请求报文中的Tran_T,再将形成的数字签名数据附加在原始请求报文后即形成复合报文如下,并发送到本地时钟客户端:[0058]Ic0300f400000000000000004c434f4cd6f608ba088601C0d6f608ba00000000d6f608ba088601c0d6f608ba088601c07a45857015d66e71f454a310f324cd26fb8da7803c23dcb54e2c3a93a9850ca5bl299cbccl34f8609b403aeal7706d023d84e986dld2ea54f33b089df6aec7ab十六进制)[0059]3客户端处理过程实例[0060]本地时钟客户端收到时钟服务器答复的复合报文后,首先获取客户端本地的时钟Dest_T,通过解析模块在复合报文中解析出Orig_T、ReCV_!STran_T并保存,然后将原复合报文中!'^11_1'置0,得到新的报文:[0061]Ic0300f400000000000000004c434f4cd6f608ba088601C0d6f608ba00000000d6f608ba088601c0d6f608ba088601c0000000000000000007a45857015d66e71f454a310f324cd26fb8da7803c23dcb54e2c3a93a9850ca5bl299cbccl34f8609b403aeal7706d023d84e986dld2ea54f33b089df6aec7ab十六进制)[0062]然后将报文中非数字签名部分:lc0300f400000000000000004c434f4cd6f608ba088601C0d6f608ba00000000d6f608ba088601c0d6f608ba088601c000000000000000000作为待验签名,加上公钥数据及时钟服务器描述ID-起作为数字签名验证接口的输入,由本地时钟客户端调用数字签名验证接口,经数字签名验证模块进行布尔运算,使数字签名验证接口将返回一个成功与否的布尔值:1或者0,验证接收到的复合报文是否是由真实可靠的。若认证成功,则计算时钟偏差,对本地时钟系统进行修正。
权利要求:1.基于非对称数字签名的配电终端SNTP对时方法,其特征在于,包括以下步骤:1在配电终端进行SNTP协议的开发,使配电终端具备SNTP客户端功能,所述SNTP协议的开发是指在配电终端配置向时钟服务器请求对时的控制模块和对时钟服务器报文进行解析的解析模块,并配置数字签名验证模块,所述数字签名验证模块配置供客户端调用的数字签名验证接口;2在时钟服务器上配置数字签名模块,所述数字签名模块配置供时钟服务器调用的数字签名接口;3将非对称数字签名的私钥安装于时钟服务器,公钥安装于配电终端的本地时钟客户端;4配电终端的本地时钟客户端首先设置报文头,然后获取本地时刻Orig_T,组装成报文,然后通过控制模块向时钟服务器发送对时请求报文;5时钟服务器收到本地时钟客户端请求报文后,首先解析出Orig_T,并获取时钟服务器本地的时钟Recv_T;然后按照本地状态设置报文头,形成Tran_TS〇的待签名报文,Tran_T为时钟服务器向本地时钟客户端发时间戳时间,再将待签名报文,时钟服务器的私钥及时钟服务器描述ID,作为数字签名接口的输入,由时钟服务器调用数字签名接口,经数字签名模块按照SM2数字签名算法产生数字签名;6以时钟服务器当前时标填充待签名报文中的Tran_T,再将形成的数字签名数据附加在待签名报文后,形成复合报文,并发送至本地时钟客户端;7本地时钟客户端收到时钟服务器的复合报文后,首先获取配电终端本地的时钟Dest_T,通过解析模块在复合报文中解析出Orig_T、ReCV_!STran_T并保存,然后将原复合报文中!'^11_1'置0,得到新的报文;8本地时钟客户端将所述步骤7得到的新的报文的非数字签名数据作为待验证签名,加上配电终端服务器上的公钥及时钟服务器描述ID-起作为数字签名验证接口的输入,由本地时钟客户端调用数字签名验证接口,经数字签名验证模块进行布尔运算,使数字签名验证接口将返回一个成功与否的布尔值:1或者0,从而验证所述步骤7接收到的复合报文的安全性,若返回0则验证失败,客户端拒绝本次时钟校核指令;若返回1则认证成功,客户端计算出本地时钟与时钟服务器时钟的偏差,对本地时钟系统进行修正。2.根据权利要求1所述的基于非对称数字签名的配电终端SNTP对时方法,其特征在于,所述步骤1的数字签名验证模块用于进行布尔运算,验证复合报文是否是由真实可靠的时钟服务器发出。3.根据权利要求1所述的基于非对称数字签名的配电终端SNTP对时方法,其特征在于,所述步骤2的数字签名模块采用SM2数字签名算法计算数字签名。4.根据权利要求1所述的基于非对称数字签名的配电终端SNTP对时方法,其特征在于,所述步骤8时钟偏差t的计算方法为:t=〇?ecv_T-〇rig_T+Tran_T_Dest_T2。5.根据权利要求1所述的基于非对称数字签名的配电终端SNTP对时方法,其特征在于,所述配电终端CPU硬件采用基于linux、vxworks操作系统的DSP实现。6.根据权利要求1所述的基于非对称数字签名的配电终端SNTP对时方法,其特征在于,所述数字签名数据的长度为64字节。
百度查询: 国家电网公司 国电南瑞科技股份有限公司 基于非对称数字签名的配电终端SNTP对时方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。