首页 / 专利库 / 作物管理 / 种子 / 一种基于国密算法的NTP协议增强信息处理系统及方法

一种基于国密算法的NTP协议增强信息处理系统及方法

阅读:638发布:2020-05-08

专利汇可以提供一种基于国密算法的NTP协议增强信息处理系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 属于信息处理技术领域,公开了一种基于国密 算法 的NTP协议增强信息处理系统及方法,客户端向 服务器 发送Assoc 请求 ,该请求包含32位的主机状态字以及客户端主机名;服务器返回Assoc响应,包含服务器主机状态字以及服务器主机名;客户端与服务器互相交换证书,使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机;服务端生成服务器 种子 ,使用SM3算法计算Cookie并且使用客户端公钥进行加密;计算签名,返回给客户端;客户端验证签名,解密Cookie。本发明能够抵抗时间篡改、身份伪造、中间人攻击等安全威胁;保证安全的时间同步,方便完成密钥以及证书的管理。,下面是一种基于国密算法的NTP协议增强信息处理系统及方法专利的具体信息内容。

1.一种基于国密算法的NTP协议增强信息处理方法,其特征在于,所述基于国密算法的NTP协议增强信息处理方法包括以下步骤:
第一步,客户端向服务器发送Assoc请求,该请求包含32位的主机状态字以及客户端主机名;服务器返回Assoc响应,包含服务器主机状态字以及服务器主机名;
第二步,客户端与服务器互相交换证书,使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机;
第三步,服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密;计算签名,返回给客户端;客户端验证签名,解密Cookie。
2.如权利要求1所述的基于国密算法的NTP协议增强信息处理方法,其特征在于,所述第一步的客户端与服务器协商使用的密码算法,互相交换双方的主机名以用于证书交换。
3.如权利要求1所述的基于国密算法的NTP协议增强信息处理方法,其特征在于,所述第二步服务器向客户端发送证书,其中包含服务器的签名证书以及到根证书的整个证书链;若服务器需要验证客户端身份,服务器向客户端发送证书请求;
客户端若收到证书请求,则客户端返回证书响应,该响应包含客户端的签名证书;客户端与服务器互相交换证书,使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机。
4.如权利要求1所述的基于国密算法的NTP协议增强信息处理方法,其特征在于,所述第三步客户端请求服务端Cookie值,请求包含用于加密的客户端SM2公钥;服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,计算签名,返回给客户端;
客户端验证签名,解密Cookie。
5.如权利要求1所述的基于国密算法的NTP协议增强信息处理方法,其特征在于,所述基于国密算法的NTP协议增强信息处理方法还包括:在建立连接的过程中,服务器通过PRF函数选定128位的服务器种子然后使用SM3算法对客户端IP、服务端IP以及服务器种子做哈希运算生成Cookie公式:
Cookie=SM3(ClientIP||ServerIP||ServerSeed);
客户端收到Cookie后使用SM3算法构造Autokey,客户端使用SM3算法,对发送方IP、接收方IP、keyID以及服务端Cookie进行哈希运算得出Autokey的值公式:
Autokey=SM3(SenderIP||ReceiverIP||KeyID||Cookie);
客户端计算得出Autokey后使用HMAC-SM3算法计算消息认证码用于身份认证公式:
HMAC=SM3(K⊕opad|H(K⊕ipad|M))。
6.一种实施权利要求1~5任意一项所述基于国密算法的NTP协议增强信息处理方法的基于国密算法的NTP协议增强信息处理系统,其特征在于,所述基于国密算法的NTP协议增强信息处理系统包括:
客户端,用于向服务器发送Assoc请求;若收到证书请求,则客户端返回证书响应;请求服务端Cookie值,以供后面计算Autokey值;客户端验证签名,解密Cookie;
服务器,用于返回Assoc响应,包含服务器主机状态字以及服务器主机名;服务器向客户端发送证书;若服务器需要验证客户端身份,服务器向客户端发送证书请求;服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,然后计算签名,返回给客户端。
7.一种实现权利要求1~5任意一项所述基于国密算法的NTP协议增强信息处理方法的信息数据处理终端。
8.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1~5任意一项所述的基于国密算法的NTP协议增强信息处理方法。
9.一种应用权利要求1~5任意一项所述基于国密算法的NTP协议增强信息处理方法的分布式控制系统。
10.一种应用权利要求1~5任意一项所述基于国密算法的NTP协议增强信息处理方法的计算平台系统。

说明书全文

一种基于国密算法的NTP协议增强信息处理系统及方法

技术领域

[0001] 本发明属于信息处理技术领域,尤其涉及一种基于国密算法的NTP协议增强信息处理系统及方法。

背景技术

[0002] 目前,最接近的现有技术:随着计算机技术高速发展,越来越多的服务和应用需要接入互联网,进行时间同步来提供服务,例如分布式控制系统、行财务系统、计算平台系统、电子商务网站等。这些应用依赖于高标准的时间同步,只有在网络中的各个主机之间存在一个统一、正确的时间的情况下,分布在各个主机中的各种程序才能有效、协调的完成任务。时间同步在网络安全体系中占有重要的地位,目前许多应用比较广泛的安全机制都依赖于准确的时间同步,如:TLS协议中的证书验证、Kerberos中的票据认证等。网络时间同步协议(NTP)的出现和发展正是为了解决计算机之间的时间同步问题。NTP 基于UDP协议,借助时间戳机制保证主机之间的时间同步。由于其传输层协议是UDP协议,不提供安全性检查,为NTP的安全性埋下了隐患。近年来利用 NTP进行网络攻击的案例日趋增多,造成了巨大的损失。NTP协议的最初几个版本中没有标准的认证方法,在NTPv3时才第一次提出使用预共享密钥的对称加密认证方案。在2010年发布的NTPv4中,首次引入了一种Autokey的公钥认证机制。但是由于Autokey机制存在各种安全问题,因此目前无认证机制的时间同步服务应用最广泛。
[0003] 近年来,学术界对NTP协议的安全性研究呈上升态势,尤其是对Autokey 协议的研究更为突出。2012年,Stephen等人分析了NTP协议的安全性,结合多种攻击手段指出了Autokey机制中的各种安全缺陷,并提出了相应的修改方案。2016年,Benjamin和Douglas等人提出了一种认证时间同步协议ANTP,其中设计了一种新的密钥交换机制。在保证时间同步的效率与准确度的情况下,提升了安全性。同时,D.Sibold等人在网络时间安全(NTS)草案中也提出了在时间同步过程中,验证服务器身份以及数据包完整性的相关措施。
[0004] NTP协议使用Autokey机制进行身份认证,客户端与服务器建立连接的协商过程通过协议扩展字段完成消息传输,具体来说协商过程主要包含以下几个步骤:(1)ASSOC客户端向服务器发送Assoc请求,该请求包含32位的主机状态字以及客户端主机名。相应的服务器返回Assoc响应,包含服务器主机状态字以及服务器主机名。(2)CERT客户端向服务器发送证书请求,请求中包含服务器主机名。服务器返回Cert响应,该响应包含服务器的证书及数据包的签名。 (3)IFF/GQ/MV客户端发送挑战数据包,其中包含挑战参数。服务端响应中包含应对挑战的响应结果,以及数据包的签名。(4)COOK在该阶段,客户端请求服务端Cookie值,该请求包含用于加密的客户端公钥。服务端计算Cookie并且使用客户端公钥进行加密,然后计算签名,返回给客户端。客户端验证签名,解密Cookie。在此时,客户端已经验证了服务器的身份,并且收到了服务器的私有Cookie。接下来,客户端就可以通过不带扩展字段的数据包向服务器同步数据,通过keyID以及MAC值来保证传输过程的安全性。通过上面的协商过程,客户端安全的获取到可信服务器的Cookie值。服务器生成Cookie的方式:
[0005] Cookie=MSBs32(H(ClientIP||ServerIP||0||ServerSeed));
[0006] 服务器端通过一个32位的随机值作为服务器种子,然后通过MD5算法对服务端IP、客户端IP以及种子进行哈希运算,并把结果截断为32位作为对应此客户端的Cookie值。客户端收到Cookie值后,服务器以及客户端就运算得出相同Autokey的值:
[0007] Autokey=H(SenderIP||ReceiverIP||KeyID||Cookie);
[0008] 在后续的时间同步过程中,服务器及客户端通过对Autokey和整个数据包进行哈希运算生成消息认证码。然后发送方将keyID以及MAC值附在请求数据包后面发送给接收方。双方均可通过keyID和Cookie值计算Autokey,从而验证消息认证码是否有效。
[0009] MAC=H(Autokey||NTPpacket)。
[0010] 客户端通过以下几种方案验证服务器身份。(1)可信证书在此方案中,服务器发送整个证书链给客户端,客户端通过检测证书中的扩展字段中是否含有“trust-Root”值来验证服务器是否可信。(2)IFF,SchnorrIdentifyFriendorFoe挑战响应方案基于Schnorr签名算法。此方案具有安全性的前提是,客户端拥有服务器的公共参数,且确保该参数未被攻击者篡改过。客户端向服务器发送一个挑战即随机值,服务器通过自己的参数进行运算,并将结果返回给客户端以响应该挑战,客户端再使用公共参数验证响应。(3)GQ,Guillou-Quisquater挑战响应方案基于L.Guillou和J.Quisquater提出的签名算法。在这个方案中,客户端和服务器需要共享一个“组密钥”,组密钥用于生成挑战响应过程中的密钥以及验证响应。挑战响应过程类似于IFF机制。(4)MV,Mu-Varadharajan挑战响应方案是基于 Y.Mu和V.Varadharajan提出的加密机制。这个方案适用于广播模式,加密数据可以被多个密钥解密,除此之外,个人密钥也可以被添加或者撤销。挑战响应过程类似于IFF机制。
[0011] Autokey安全缺陷,客户端主要通过消息认证码来验证时间同步数据包中的时间信息的准确性。主要从以下三个方面分析其安全缺陷:
[0012] 一、无法抵抗暴破解攻击
[0013] NTP服务在认证过程中主要通过哈希算法以及公钥算法保证数据传输的安全性。在NTP最新实现中,使用的默认哈希算法是MD5算法,公钥算法是 512位密钥的RSA算法。攻击者可以通过以下三种方式来进行暴力破解攻击。
[0014] (1)攻击者截获带有MAC的数据报文,因为使用的是MD5算法,因此使用暴力破解的方式即可获取Autokey。根据获取的Autokey以及客户端和服务器端的IP,结合数据包中的keyID即可获取服务器Cookie,然后通过Cookie来伪造时间报文。
[0015] (2)服务器在计算客户端Cookie时使用的服务器种子是一个32位的随机值,服务器种子的位数太短,很容易通过碰撞获取。攻击者可以伪装成客户端向服务器请求Cookie,通过暴力攻击得到服务器计算用的服务器种子。该攻击过程所用时间是进行232次MD5运算的时间,攻击者获取到该值以后即可构造Cookie。
[0016] (3)服务器会将Cookie使用客户端的公钥通过RSA算法进行加密,传输给客户端。由于目前512位的RSA加密已经不够安全,因此攻击者可以截获加密 Cookie数据包,直接暴力破解出Cookie值。
[0017] 二、无法抵御服务器身份伪造
[0018] 对于第一种身份认证方案,客户端仅通过检测服务器证书中的扩展字段是否含有“trustRoot”值来验证服务器是够可信,任何一个攻击者都可以伪造包含该字段的证书来冒充服务器。对于后三种身份认证机制,Stephen等人详细分析了三种挑战响应机制(IFF/GQ/MV)的安全性。这三种机制都有密码学上的安全漏洞,攻击者能够通过数学分析,构造一个被客户端接受的响应。这种错误的响应不会被客户端检测出来,客户端会错误的认为攻击者即是可信服务器。下面详细分析IFF身份认证中的攻击方案。在该方案中,服务器首先生成三个公共值,分别是512位大素数p,160位素数q,以及g∈Zp,服务器端选择随机私钥b∈Zq,计算公钥v=gq-b,客户端提前拥有(p,q,g,v)用来验证响应。
[0019] IFF方案验证过程如下:
[0020] (1)客户端选择随机数r作为挑战发送给服务器;
[0021] (2)服务器选定随机数k,按照公式计算x和y,然后发送(y,H(x))作为响应;
[0022] y=k+b·rmodq;
[0023] x=gkmodp;
[0024] (3)客户端按照公式计算z,验证H(z)与H(x)是否相等。
[0025] z=gy·vrmodp;
[0026] 依据的数学原理:
[0027] z=gy·vrmodp=gk+b·r·gr·(q-b)modp=gk·gb·r+q·r-b·rmodp=gkmodp=x;
[0028] 如果攻击者收到客户端的挑战时,发送(0,H(vrmodp)),作为响应。客户端收到响应后按照公式;
[0029] 验证:
[0030] z=g0·vrmodp=vrmodp;
[0031] 通过此缺陷,攻击者会轻易地通过客户端的挑战,从而伪造为服务器。另外两种身份认证方案也存在类似的安全缺陷。
[0032] 三、无法抵御中间人攻击
[0033] 客户端在与服务器建立连接的过程中,服务器并没有有效的手段对客户端进行身份验证。服务器仅通过客户端IP来实现客户端身份的鉴别,该安全机制的缺陷会导致中间人攻。攻击者伪造为客户端的IP,和服务器进行时间同步协商,服务器会将攻击者视为正常客户端,协商成功后,攻击者获取到客户端IP对应的Cookie。然后攻击者即可使用Cookie进行数据包的伪造,从而使客户端同步错误时间。
[0034] 综上所述,现有技术存在的问题是:网络时间同步的攻击会造成服务中断以及系统崩溃等严重的后果。
[0035] 解决上述技术问题的难度:时间同步在网络安全体系中占有重要的地位,目前许多应用比较广泛的安全机制都依赖于准确的时间同步。目前已有的时间同步技术安全漏洞较多、安全机制较弱、同步效率较低,缺乏为分布式应用系统有效地提供可信网络时间的能力。因此,本发明需要在不同网络环境下,针对基于NTP协议的时间同步,设计并实现基于国密算法的安全性更高的身份认证方案。该方案能够抵抗暴力破解、身份伪造以及中间人攻击等常见的攻击手段,同时,该身份方案的使用不会降低时间同步的效率。
[0036] 解决上述技术问题的意义:本发明借鉴PKI数字证书认证体系,以尽可能简洁高效的方式进行双方主机的身份验证,实现了更高安全性的密码算法和更短的协商流程,提高客户端在时间同步过程中的可靠性,保证了主机之间能够安全稳定的同步时间。

发明内容

[0037] 针对现有技术存在的问题,本发明提供了一种基于国密算法的NTP协议增强信息处理系统及方法。
[0038] 本发明是这样实现的,一种基于国密算法的NTP协议增强信息处理方法,所述基于国密算法的NTP协议增强信息处理方法包括以下步骤:
[0039] 第一步,客户端向服务器发送Assoc请求,该请求包含32位的主机状态字以及客户端主机名;服务器返回Assoc响应,包含服务器主机状态字以及服务器主机名;
[0040] 第二步,客户端与服务器互相交换证书,使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机;
[0041] 第三步,服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密;计算签名,返回给客户端;客户端验证签名,解密Cookie。
[0042] 进一步,所述第一步的客户端与服务器协商使用的密码算法,互相交换双方的主机名以用于证书交换。
[0043] 进一步,所述第二步服务器向客户端发送证书,其中包含服务器的签名证书以及到根证书的整个证书链;若服务器需要验证客户端身份,服务器向客户端发送证书请求;
[0044] 客户端若收到证书请求,则客户端返回证书响应,该响应包含客户端的签名证书;客户端与服务器互相交换证书,使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机。
[0045] 进一步,所述第三步客户端请求服务端Cookie值,请求包含用于加密的客户端SM2公钥;服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,计算签名,返回给客户端;客户端验证签名,解密Cookie。
[0046] 进一步,所述基于国密算法的NTP协议增强信息处理方法还包括:在建立连接的过程中,服务器通过PRF函数选定128位的服务器种子然后使用SM3算法对客户端IP、服务端IP以及服务器种子做哈希运算生成Cookie公式:
[0047] Cookie=SM3(ClientIP||ServerIP||ServerSeed);
[0048] 客户端收到Cookie后使用SM3算法构造Autokey,客户端使用SM3算法,对发送方IP、接收方IP、keyID以及服务端Cookie进行哈希运算得出Autokey 的值公式:
[0049] Autokey=SM3(SenderIP||ReceiverIP||KeyID||Cookie);
[0050] 客户端计算得出Autokey后使用HMAC-SM3算法计算消息认证码用于身份认证公式:
[0051] HMAC=SM3(K⊕opad|H(K⊕ipad|M))。
[0052] 本发明的另一目的在于提供一种实施所述基于国密算法的NTP协议增强信息处理方法的基于国密算法的NTP协议增强信息处理系统,所述基于国密算法的NTP协议增强信息处理系统包括:
[0053] 客户端,用于向服务器发送Assoc请求;若收到证书请求,则客户端返回证书响应;请求服务端Cookie值,以供后面计算Autokey值;客户端验证签名,解密Cookie;
[0054] 服务器,用于返回Assoc响应,包含服务器主机状态字以及服务器主机名;服务器向客户端发送证书;若服务器需要验证客户端身份,服务器向客户端发送证书请求;服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,然后计算签名,返回给客户端。
[0055] 本发明的另一目的在于提供一种实现所述基于国密算法的NTP协议增强信息处理方法的信息数据处理终端。
[0056] 本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于国密算法的NTP协议增强信息处理方法。
[0057] 本发明的另一目的在于提供一种应用所述基于国密算法的NTP协议增强信息处理方法的分布式控制系统。
[0058] 本发明的另一目的在于提供一种应用所述基于国密算法的NTP协议增强信息处理方法的云计算平台系统。
[0059] 综上所述,本发明的优点及积极效果为:在分布式网络系统中,各个主机间的不同应用都依赖于高标准的时间同步才能有效、协调的完成任务,网络时间同步是保证系统正常工作不可或缺的重要技术。针对网络时间同步的攻击会造成服务中断以及系统崩溃等严重的后果。因此,网络时间同步的安全性变得愈发重要。本发明针对该安全机制中存在的多种安全缺陷提出了暴力破解、身份伪造以及中间人攻击三种攻击方案。接着基于高强度的国产密码算法以及PKI 认证体系在原有协议基础上设计了一种新型的身份认证方案;最后分析了该方案的安全性、有效性以及相关的不足。
[0060] 本发明基于NTP协议,结合网络时间同步的安全需求,将商用密码算法 SM2/SM3以及PKI体系应用到NTP协议中,对其身份认证以及消息传输过程进行了改进,弥补了其在服务器身份伪造以及暴力破解攻击等方面的缺陷。本发明满足现有的网络时间同步需求,提出可行的安全授时模型,基于国产密码算法、安全消息认证码以及数字证书认证体系,设计一种高安全性的国密网络时间同步协议,实现安全的时间戳消息传输以及高效率的身份认证,同时研究并开发一个具有高可用、实时性好、稳定可靠的安全网络时间同步设备原型
[0061] 对网络时间同步而言,最突出的特征是同步过程需要实时性与安全性兼顾,最本质的问题是现有的各类安全时间同步方案集成度低、安全性弱,不能为应用系统提供可信时间。本发明以国产密码算法为基础,通过应用广泛的数字证书体系进行身份认证,将身份认证集成在时间同步协议中,降低了部署难度,利于大范围的推广,同时保证了时间同步的实时性与安全性。本发明设计国密网络时间同步协议,该协议需要能够提供可信的时间同步,能够抵抗时间篡改、身份伪造、中间人攻击等安全威胁。安全时间同步设备原型,该设备能够应对大规模的时间同步请求,保证安全的时间同步,同时能够方便的完成密钥以及证书的管理。附图说明
[0062] 图1是本发明实施例提供的基于国密算法的NTP协议增强信息处理系统的结构示意图;
[0063] 图中:1、客户端;2、服务器。
[0064] 图2是本发明实施例提供的基于国密算法的NTP协议增强信息处理方法流程图
[0065] 图3是本发明实施例提供的基于国密算法的NTP协议增强信息处理方法实现流程图。
[0066] 图4是本发明实施例提供的基于国密算法的NTP协议增强信息处理方法的 NTP基本工作原理图。

具体实施方式

[0067] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0068] 针对现有技术存在的问题,本发明提供了一种基于国密算法的NTP协议增强信息处理系统及方法,下面结合附图对本发明作详细的描述。
[0069] 如图1所示,本发明实施例提供的基于国密算法的NTP协议增强信息处理系统包括:
[0070] 客户端1,用于向服务器发送Assoc请求;若收到证书请求,则客户端返回证书响应;请求服务端Cookie值,以供后面计算Autokey值;客户端验证签名,解密Cookie。
[0071] 服务器2,用于返回Assoc响应,包含服务器主机状态字以及服务器主机名;服务器向客户端发送证书;若服务器需要验证客户端身份,服务器向客户端发送证书请求;服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,然后计算签名,返回给客户端。
[0072] 如图2所示,本发明实施例提供的基于国密算法的NTP协议增强信息处理方法包括以下步骤:
[0073] S201:客户端向服务器发送Assoc请求,该请求包含32位的主机状态字以及客户端主机名;服务器返回Assoc响应,包含服务器主机状态字以及服务器主机名;
[0074] S202:客户端与服务器互相交换证书,使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机;
[0075] S203:服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,然后计算签名,返回给客户端;客户端验证签名,解密Cookie。
[0076] 下面结合附图对本发明的技术方案作进一步的描述。
[0077] 本发明实施例提供的基于国密算法的NTP协议增强信息处理方法考虑将广泛应用的PKI认证体系应用于Autokey机制的Cookie协商阶段。在客户端以及服务器都有部署的CA的根证书用来鉴别身份。改进后的协议流程由图3所示,主要包括以下三个阶段:
[0078] (1)ASSOC:
[0079] 客户端向服务器发送Assoc请求,该请求包含32位的主机状态字以及客户端主机名。服务器返回Assoc响应,包含服务器主机状态字以及服务器主机名。该阶段客户端与服务器协商使用的密码算法,互相交换双方的主机名以用于下一步的证书交换。
[0080] (2)CERT:服务器向客户端发送证书,其中包含服务器的签名证书以及到根证书的整个证书链。若服务器需要验证客户端身份,服务器向客户端发送证书请求。
[0081] 客户端若收到证书请求,则客户端返回证书响应,该响应包含客户端的签名证书。该阶段主要是客户端与服务器互相交换证书,然后使用自己内置的根证书对其身份进行验证,通过OCSP系统查询证书的有效性,确保对端是可信主机。
[0082] (3)COOK:
[0083] 客户端请求服务端Cookie值,以供后面计算Autokey值,该请求包含用于加密的客户端SM2公钥。服务端生成服务器种子,使用SM3算法计算Cookie并且使用客户端公钥进行加密,然后计算签名,返回给客户端。客户端验证签名,解密Cookie。
[0084] 同时,本发明还将商用密码算法应用于Autokey、Cookie以及MAC值的计算过程中,增强其抵御暴力破解攻击的能力。
[0085] 在建立连接的过程中,服务器通过PRF函数选定128位的服务器种子然后使用SM3算法对客户端IP、服务端IP以及服务器种子做哈希运算生成Cookie 如公式(1)所示:
[0086] Cookie=SM3(ClientIP||ServerIP||ServerSeed)  (1)
[0087] 客户端收到Cookie后即可使用SM3算法构造Autokey,客户端使用SM3 算法,对发送方IP、接收方IP、keyID以及服务端Cookie进行哈希运算得出 Autokey的值,如公式(2)所示:
[0088] Autokey=SM3(SenderIP||ReceiverIP||KeyID||Cookie)  (2)
[0089] 客户端计算得出Autokey后使用HMAC-SM3算法计算消息认证码用于身份认证,如公式(3)所示:
[0090] HMAC=SM3(K⊕opad|H(K⊕ipad|M))  (3)
[0091] 下面结合安全性及性能分析对本发明的技术效果作详细的描述。
[0092] 1、安全性分析
[0093] 1.1暴力破解攻击
[0094] 假设攻击者A掌控网络,并且具有任意篡改、窃听和重新排列消息顺序的能力。他截获了客户端和服务器之间某一次的时间同步报文,根据本发明修改过的协议,攻击者能够得到keyID以及HMAC值,算法具有足够的安全性能,攻击者无法破解其中的Cookie值。无法达到攻击目的。
[0095] 假设攻击者伪装为客户端向服务器请求时间同步,攻击者获取本身IP的 Cookie值后,无法通过碰撞攻击获取服务器种子,所以无法计算其余客户端的 Cookie,无法达到攻击目的。
[0096] 1.2伪造身份攻击
[0097] 假如攻击者可以伪造IP,伪装为服务器与客户端进行通信。客户端在Autokey 协商阶段会请求服务器证书,验证服务器身份。客户端通过内置的根证书验证服务器身份,由于攻击者不能从CA获得合法的服务器证书,无法达到攻击目的。
[0098] 1.3中间人攻击
[0099] 假设攻击者可以伪造IP,伪装为客户端与服务器进行通信。服务器在证书交换阶段会请求客户端证书,验证客户端身份,攻击者无法提供有效证书,所以无法获取对应IP的Cookie,因此攻击者不能破解消息认证码,无法达到攻击目的。
[0100] 结合以上分析,将本发明改进后的协议与改进前的协议对比,如表1所示:
[0101] 表1安全性对比
[0102] 协议 身份认证 抗暴力破解攻击 抗身份伪造攻击 抗中间人攻击 改进前 √ × × ×改进后 √ √ √ √
[0103] 2、性能分析
[0104] 在时间同步过程中主要有协商阶段以及同步阶段两部分,其计算开销主要随着不同算法的应用而有所不同。
[0105] 2.1协商阶段在协商过程中,改进后的协议去除了挑战响应交换,仅仅通过证书交换即可验证身份。同时SM2算法对比RSA算法来说效率更高,对于服务器的负担更低。
[0106] 2.2同步阶段
[0107] 在同步过程中,改进后的协议主要是存在算法上的不同,SM3算法比MD5 算法更复杂,同时为了增强消息认证码的安全性,本发明将MAC改进为基于 SM3的HMAC算法,HMAC算法相比MAC算法增加了哈希运算,因此增加了额外的开销。但是本协议所增加的安全性是十分可观的,对于一些安全性需求高的环境,计算开销的增加是可以接受的。
[0108] 本发明致力于解决NTP的Autokey安全机制中无法抵抗暴力破解攻击以及无法有效验证服务器以及客户端身份的问题。根据PKI认证体系,将证书认证思想借鉴到服务器身份鉴别阶段,并使用国产商用密码算法改进了其中消息认证码的计算过程。通信双方使用该协议可以有效改进Cookie的加密和传输过程,安全有效的验证双方的身份,使客户端可以同步到可信时间源。
[0109] 本发明实施例中的SM2椭圆曲线公钥密码算法是国家商用密码局在ECC 算法的基础上自主设计的。SM2算法的安全性依赖于求解离散对数问题的困难强度,与RSA算法相比,其密钥的长度更短,具有安全性高、存储空间小、签名速度快的优点。同时,相对于国际标准ECC算法,SM2算法在解密正确性判断、明文编码问题、对待加密数据长度的限制及加密计算效率上更好。因此在应用方面,SM2算法能有效降低运算、存储和通信的损耗,比RSA、国际标准ECC 算法更有优势。SM3算法是密码杂凑算法,其压缩函数的整体结构与SHA-256 算法相似,但能够有效的避免高概率的局部碰撞,抵抗强碰撞性的差分分析、碰撞性的线性分析和比特追踪法等密码分析。
[0110] 本发明采用SM2算法作为公钥密码算法来对服务器随机值进行加密保护,采用SM3算法作为生成Autokey的散列算法。
[0111] NTP是互联网上主机进行时间同步的应用层协议,其采用分层结构逐级同步时钟,解决了同步报文时延过大问题,并使用GPS传送的时间消息作为时钟源以确保时钟精确。NTP有四种工作模式,分别为广播模式、组播模式、客户端-服务器模式和对等体模式,在实际应用中NTP工作模式的选择可以根据需要来决定。广播和组播模式主要用在NTP服务器IP地址未知,或者需要同步的设备数量较多等情况下;客户端-服务器和对等体模式主要用在发起方从指定的响应方处获得时间同步,此种模式适用于对时钟可靠性要求较高的场景。
[0112] NTP时间同步算法利用客户端收到的同步响应报文,通过报文中的四个时间戳计算客户端和服务器之间的时间差,并以此调整客户端时钟。NTP的基本工作原理如图4所示。
[0113] 主机A读取自身时钟的时间值T1,并将该值保存到org中,然后将包含时间戳T1的数据包发送给主机B。主机B接收到数据包后读取本地时钟的时间 T2然后将T2保存到rec中,同时将来自主机A的T1保存到xmt,然后一段时间后主机B读取本地时钟T3并将T3保存到org中,然后将包含时间戳T1、T2、 T3的数据包发送给主机A。主机A接收到数据包后,读取本地时钟T4并将其保存到rec中,同时将数据包中的T3保存到xmt中。运行到此,主机A具有了四个时间戳,可以使用这四个值计算时钟偏移以及总延迟。主机A相对于主机B 在时间Ti的时钟偏移和往返延迟为:(其中i为大于等于4的倍数)
[0114]
[0115] δAB=(Ti-Ti-3)-(Ti-1-Ti-2)  (5)。
[0116] 应当注意,本发明的实施方式可以通过硬件软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模可以由诸如超大规模集成电路阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0117] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈