一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种域名注册系统自适应国密算法通信的方法及系统与流程

2022-10-13 07:29:06 来源:中国专利 TAG:


1.本发明涉及信息技术领域,特别涉及一种域名注册系统自适应国密算法通信的方法及系统。


背景技术:

2.随着互联网的迅猛发展,通信加密已经成为物联网中必不可少的一个环节。物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景,区块链技术在运用时,有许多用户将信息储存在终端,但是用户信息中有许多重要信息,需要对其进行加密处理。
3.而通信加密又需要相对安全的加密算法,目前网络上应用比较多的证书加密算法是采用欧美等国家主导的rsa非对称加密技术。这种算法是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被iso推荐为公钥数据加密标准。今天只有短的rsa钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击rsa算法的方式。只要其钥匙的长度足够长,用rsa加密的信息实际上是不能被解破的。且这种算法已经在通信加密领域使用40年之久,使用已基本普及,因此,也有很多安全专家专门研究了该算法,并发现了其中的一些缺陷,尤其是低位数的1024位rsa算法,理论上已经存在被破解的风险。
4.相对于rsa加解密算法,国密证书中采用的ecc椭圆曲线算法的加密技术则更强,单位安全强度相对更高,破译或求解难度基本上是指数级的。国密算法是国家密码局公布的中国自主研发的商用密码算法和规范,用于保障商用密码的安全。国密算法在技术上也更加安全可控,可以摆脱对国外技术和产品的过度依赖,为进一步巩固国家顶级域名注册行业安全可控的网络环境提出了有效的解决方案。


技术实现要素:

5.本技术提供了一种域名注册系统自适应国密算法通信的方法及系统,解决了由于目前网络上应用比较多的证书加密算法是采用欧美等国家主导的rsa非对称加密技术。但这种算法已经在通信加密领域使用40年之久,使用已基本普及,因此,也有很多安全专家专门研究了该算法,并发现了其中的一些缺陷,尤其是低位数的1024位rsa算法,理论上已经存在被破解的风险的问题,提高了安全性。
6.第一方面,本技术提供了一种域名注册系统自适应国密算法通信的方法及系统,所述方法包括:
7.提取存储在第一注册信息结构体队列中的注册信息结构体;其中,所述第一注册
信息结构体队列用于存储未与域名注册系统建立通信连接的客户端对应的注册信息结构体;所述注册信息结构体包括客户端发送的客户端证书以及标识,所述标识用于指示所述注册信息结构体进行解析算法验证的累计次数;
8.采用所述标识对应的解析算法验证注册信息结构体,得到验证结果;
9.将所述验证结果返回至所述客户端。
10.在一种实现方式中,采用所述标识对应的解析算法验证注册信息结构体,得到验证结果的步骤包括:
11.若所述注册信息结构体的标识为0;
12.判断国密根证书对所述注册信息结构体是否成功解析;
13.若是,将所述注册信息结构体存入第二注册信息结构体队列;
14.生成连接成功的所述验证结果。
15.在一种实现方式中,判断国密根证书对所述注册信息结构体是否成功解析的步骤包括:
16.若否,判断ca证书是否校验错误;
17.若是,将所述注册信息结构体的标识变更为1;
18.将变更所述标识的所述注册信息结构体存入第一注册信息结构体队列。
19.在一种实现方式中,判断ca证书是否校验错误的步骤包括:
20.若否,生成连接失败的所述验证结果。
21.在一种实现方式中,采用所述标识对应的解析算法验证注册信息结构体,得到验证结果的步骤包括:
22.若所述注册信息结构体的标识为1;
23.判断rsa根证书对所述注册信息结构体是否成功解析;
24.若是,将所述注册信息结构体存入第二注册信息结构体队列;
25.生成连接成功的所述验证结果。
26.在一种实现方式中,判断rsa根证书对所述注册信息结构体是否成功解析的步骤包括:
27.若否,将所述第一注册信息结构体队列中的所述注册信息结构体删除;
28.生成连接失败的所述验证结果。
29.在一种实现方式中,提取存储在第一注册信息结构体队列中的注册信息结构体的步骤之前,所述方法还包括:
30.接收客户端发送的验证请求,所述验证请求包括所述客户端证书;
31.根据所述客户端证书生成注册信息结构体,所述注册信息结构体包括客户端证书以及标识;
32.将所述注册信息结构体存入第一注册信息结构体队列。
33.在一种实现方式中,所述第一注册信息结构体队列中,所有注册信息结构体按照放入所述第一注册信息结构体队列的时间戳排列,提取存储在第一注册信息结构体队列中的注册信息结构体的步骤包括:
34.按照所述时间戳依次提取存储在第一注册信息结构体队列中的注册信息结构体。
35.第二方面,本技术提供了一种域名注册系统自适应国密算法通信的系统,包括:消
息模块、解析模块、验证模块;
36.所述消息模块被配置为:提取存储在第一注册信息结构体队列中的注册信息结构体;其中,所述第一注册信息结构体队列用于存储未与域名注册系统建立通信连接的客户端对应的注册信息结构体;所述注册信息结构体包括客户端发送的客户端证书以及标识,所述标识用于指示所述注册信息结构体进行加密算法验证的累计次数;
37.所述解析模块被配置为:采用所述标识对应的解析算法验证注册信息结构体,得到验证结果;
38.所述验证模块被配置为:将所述验证结果返回至所述客户端。
39.由上述技术方案可知,通过对客户端证书连接方式的两次验证机会和算法类型记忆训练来选择具体接入验证方式,以此来完成自适应sm国密算法和rsa算法的设计功能,为域名注册系统应用和推广国密算法提供了一种有效的解决方案。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的获得其他的附图。
41.图1为本技术提供的一种域名注册系统自适应国密算法通信的方法及系统的流程图;
42.图2为本技术提供的一种域名注册系统自适应国密算法通信的方法及系统的接收客户端信息的流程图;
43.图3为本技术提供的一种域名注册系统自适应国密算法通信的方法及系统的对注册信息结构体进行解析的流程图;
44.图4为本技术提供的一种域名注册系统自适应国密算法通信的方法及系统的另一种情况下对注册信息结构体进行解析的流程图;
45.图5为本技术提供的一种域名注册系统自适应国密算法通信的方法及系统的示意图。
具体实施方式
46.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
47.现在的生活工作都离不开计算机和网络,因此网络通讯的安全显得尤为重要,为此需要对网络通讯进行加密处理,来保证用户的数据在网络上进行传输时的安全,不被篡改和伪造。而对于通信加密又需要相对安全的加密算法,不易被破解,通常来说网络上应用较多的是rsa非对称加密技术,这种加密技术能够抵抗到目前为止已知的绝大多数密码攻击,已被iso推荐为公钥数据加密标准。今天只有短的rsa钥匙才可能被强力方式解破。但也因此很多安全专家专门研究了该算法,并发现了其中的一些缺陷,尤其是低位数的1024位rsa算法,理论上已经存在被破解的风险,相对于rsa加解密算法,国密证书中采用的ecc椭圆曲线算法的加密技术则更强,单位安全强度相对更高,破译或求解难度基本上是指数级的。国密算法是国家密码局公布的中国自主研发的商用密码算法和规范,用于保障商用密
码的安全。国密算法在技术上也更加安全可控,可以摆脱对国外技术和产品的过度依赖,为进一步巩固国家顶级域名注册行业安全可控的网络环境提出了有效的解决方案。
48.本技术为解决现有技术中,目前网络上应用比较多的证书加密算法是采用欧美等国家主导的rsa非对称加密技术。这种算法已经在通信加密领域使用40年之久,使用已基本普及,因此,也有很多安全专家专门研究了该算法,并发现了其中的一些缺陷,尤其是低位数的1024位rsa算法,理论上已经存在被破解的风险。基于以上原因,本技术提供了一种域名注册系统自适应国密算法通信的方法及系统。
49.下面结合具体的实施例对本发明的一种域名注册系统自适应国密算法通信的方法及系统作进一步的阐述。
50.在本实施例中,首先要了解的是:国密算法,即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。如sm系列密码,sm代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。其中:sm2是非对称加密算法,它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换rsa/dh/ecdsa/ecdh等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。sm2采用的是ecc 256位的一种,其安全强度比rsa 2048位高,且运算速度快于rsa。在本技术中,使用的也是sm2非对称加密算法。与其他加密方法相比,国密证书中采用的ecc椭圆曲线算法的加密技术更强,单位安全强度相对更高,破译或求解难度基本上是指数级的。国密算法是国家密码局公布的中国自主研发的商用密码算法和规范,用于保障商用密码的安全。国密算法在技术上也更加安全可控,可以摆脱对国外技术和产品的过度依赖,为进一步巩固国家顶级域名注册行业安全可控的网络环境提出了有效的解决方案。
51.第一方面,如图1所示,本技术提供了一种域名注册系统自适应国密算法通信的方法,所述方法包括:
52.s100,提取存储在第一注册信息结构体队列中的注册信息结构体;其中,所述第一注册信息结构体队列用于存储未与域名注册系统建立通信连接的客户端对应的注册信息结构体;所述注册信息结构体包括客户端发送的客户端证书以及标识,所述标识用于指示所述注册信息结构体进行解析算法验证的累计次数;
53.在步骤s100中,提取存储在第一注册信息结构体队列中的注册信息结构体的步骤之前,所述方法还包括:
54.s110,接收客户端发送的验证请求,所述验证请求包括所述客户端证书;
55.s120,根据所述客户端证书生成注册信息结构体,所述注册信息结构体包括客户端证书以及标识;
56.s130,将所述注册信息结构体存入第一注册信息结构体队列。
57.具体的,在本实施例中,如图2所示,在客户端与域名注册系统连接之前,域名注册系统需要先接收客户端向其发送的验证请求,其中,验证请求包括客户端证书,客户端证书是指针对服务器端ssl证书而言,用于证明应用系统中的客户端用户的身份的数字证书,一般绑定用户的email,使得客户端用户在与服务器端通信时可以证明其真实身份。而由于绑定了email,也就可以用于电子邮件的数字签名和邮件加密。域名注册系统根据客户端证书生成注册信息结构体,其中,注册信息结构体上设有标识,注册信息结构体的信息如下:
58.struct fd_ssl_info{
59.int fd;
60.ssl*pssl;
61.int ssltype;
62.bool isfirstca;
63.reg_info*reginfo;
64.}quefdinfo;
65.域名注册系统将注册信息结构体存入第一注册信息结构体队列。第一注册信息结构体队列用于存储客户端发送的注册信息结构体,或者已经使用国密算法验证进行解析但解析失败的注册信息结构体,在存入队列时,所有注册信息结构体按照放入所述第一注册信息结构体队列的时间戳排列,在提取注册信息结构体时,需要按照所述时间戳依次提取存储在第一注册信息结构体队列中的注册信息结构体。
66.在实际应用场景中,首先客户端向域名注册系统发送验证请求,此时还未开始解析算法验证,那么就需要将根据客户端证书生成的注册信息结构体先存入第一注册信息结构体队列,等待解析算法验证开始,若在解析算法验证开始之前,域名注册系统又接收到了客户端发送的新的验证请求,那么就需要将该验证请求生成的注册信息结构体再放入第一注册信息结构体队列中,此时第一注册信息结构体队列中的注册信息结构体随意排列,为了保证在解析算法验证开始之后,第一注册信息结构体队列中的每一个注册信息结构体都进行解析算法验证,那么就需要将第一注册信息结构体队列中的注册信息结构体按照时间戳的顺序排列,在提取存储在第一注册信息结构体队列中的注册信息结构体时,按照注册信息结构体的时间戳的顺序进行提取。
67.s200,采用所述标识对应的解析算法验证注册信息结构体,得到验证结果;
68.在步骤s200中,如图3所示,采用所述标识对应的解析算法验证注册信息结构体,得到验证结果的步骤包括:
69.s210,若所述注册信息结构体的标识为0;
70.s220,判断国密根证书对所述注册信息结构体是否成功解析;
71.s230,若是,将所述注册信息结构体存入第二注册信息结构体队列;
72.s240,生成连接成功的所述验证结果。
73.s250,若否,判断ca证书是否校验错误;
74.s260,若是,将所述注册信息结构体的标识变更为1;
75.s270,将变更所述标识的所述注册信息结构体存入第一注册信息结构体队列。
76.s280,若否,生成连接失败的所述验证结果。
77.具体的,在本实施例中,当解析算法验证开始以后,需要在域名注册系统中依次加入ssl_ctx_use_certificate_file、ssl_accept、ssl_write、ssl_read等模块函数并载入含有椭圆曲线算法的加解密、验证套件,如sslv23_server_method()和国密根证书ssl_ctx_use_certificate_file及秘钥等信息。其中,ssl_accept、ssl_write、ssl_read等模块函数用于对客户端发送的客户端证书进行数据的监听,接收和发送。之后使用根证书对ssl_accept到的客户端证书信息进行解析算法验证。
78.在验证时需要先将注册信息结构体的标识设为0,表示国密算法验证方式,若进行
解析算法验证时,提取的注册信息结构体的标识为0,域名注册系统自动使用国密算法进行解析,并通过ssl_get_error函数对解析算法验证的结果进行跟踪,若解析成功,将该注册信息结构体存入第二注册信息结构体队列并进行保存,生成一个连接成功的验证结果,将连接成功的验证结果发送至客户端。当该注册信息结构体对应的客户端再次连接时,此时优先使用第二注册信息结构体队列内该注册信息结构体对应的连接方式。若解析失败,需要判断是否是因为ca证书校验错误,其中,ca是证书的签发机构,它是公钥基础设施(public key infrastructure,pki)的核心。ca是负责签发证书、认证证书、管理已颁发证书的机关。
79.ca拥有一个证书(内含公钥)。网上的公众用户通过验证ca的签字从而信任ca,任何人都可以得到ca的证书(含公钥),用以验证它所签发的证书。如果用户想得到一份属于自己的证书,应先向ca提出申请。在ca判明申请者的身份后,便为其分配一个公钥,并且ca将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。如果一个用户想鉴别另一个证书的真伪,可通过ca的公钥对所述另一个证书上的签字进行验证,一旦验证通过,所述另一个证书就被认为是有效的。证书实际是由证书签证机关(ca)签发的对用户的公钥的认证。证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循x.509国际标准。
80.而若是因为ca证书校验错误,说明客户端可能使用rsa算法证书,那么就需要将注册信息结构体的标识变更为1,表示已经进行过一次国密算法验证,但是解析失败,将变更标识的注册信息结构体存入第一注册信息结构体队列,等待下次验证,若不是因为ca证书校验错误,那么需要生成连接失败的验证结果,并将连接失败的验证结果发送至客户端,此时与域名注册系统的连接失败。
81.如图4所示,采用所述标识对应的解析算法验证注册信息结构体,得到验证结果的步骤包括:
82.s211,若所述注册信息结构体的标识为1;
83.s212,判断rsa根证书对所述注册信息结构体是否成功解析;
84.s213,若是,将所述注册信息结构体存入第二注册信息结构体队列;
85.s214,生成连接成功的所述验证结果。
86.s215,若否,将所述第一注册信息结构体队列中的所述注册信息结构体删除;
87.s216,生成连接失败的所述验证结果。
88.在实际应用场景中,若进行解析算法验证时,提取的注册信息结构体的标识为1,证明该注册信息结构体已经进行了国密算法验证,但是连接失败,所以域名注册系统自动使用rsa算法进行解析,其中,需要了解的是,rsa公钥加密算法是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被iso推荐为公钥数据加密标准。今天只有短的rsa钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击rsa算法的方式。只要其钥匙的长度足够长,用rsa加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,rsa加密安全性受到了挑战和质疑。rsa算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
89.rsa公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解
密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在公开密钥密码体制中,加密密钥(即公开密钥)pk是公开信息,而解密密钥(即秘密密钥)sk是需要保密的。加密算法e和解密算法d也都是公开的。虽然解密密钥sk是由公开密钥pk决定的,但却不能根据pk计算出sk。正是基于这种理论,1978年出现了著名的rsa算法,它通常是先生成一对rsa密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,rsa密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的des或idea对话密钥加密,然后使用rsa密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。rsa算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。rsa是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,截止2017年被普遍认为是最优秀的公钥方案之一。
90.之后需要通过ssl_get_error函数对解析算法验证的结果进行跟踪,若解析成功,将该注册信息结构体存入第二注册信息结构体队列并进行保存,生成一个连接成功的验证结果,将连接成功的验证结果发送至客户端。当该注册信息结构体对应的客户端再次连接时,此时优先使用第二注册信息结构体队列内该注册信息结构体对应的连接方式。若解析失败,该注册信息结构体已经没有再次解析的机会,需要在第一注册信息结构体队列中删除该注册信息结构体,并生成连接失败的验证结果,将连接失败的验证结果发送至客户端。
91.s300,将所述验证结果返回至所述客户端。
92.具体的,在本实施例中,域名注册系统在提取第一注册信息结构体队列中的注册信息结构体时会出现两种情况,第一种情况为首次进行解析算法验证的注册信息结构体,该注册信息结构体的标识为0,表示该注册信息结构体是从客户端发送而来,第一次进行解析验证,在解析算法验证时,域名注册系统自动使用国密算法进行解析,并通过ssl_get_error函数对解析算法验证的结果进行跟踪,若解析成功,将该注册信息结构体存入第二注册信息结构体队列并进行保存,生成一个连接成功的验证结果,将连接成功的验证结果发送至客户端。当该注册信息结构体对应的客户端再次连接时,此时优先使用第二注册信息结构体队列内该注册信息结构体对应的连接方式。若解析失败,需要判断是否是因为ca证书是否校验错误,若是因为ca证书校验错误,说明客户端可能使用rsa算法证书,那么就需要将注册信息结构体的标识变更为1,表示已经进行过一次解析算法验证,将变更标识的注册信息结构体存入第一注册信息结构体队列,等待下次验证,若不是因为ca证书校验错误,那么需要生成连接失败的验证结果,并将连接失败的验证结果发送至客户端。
93.第二种情况为首次验证失败的注册信息结构体,进行第二次解析算法验证时,该注册信息结构体的标识为1,表示该注册信息结构体未通过国密算法验证,且是因为ca证书校验错误,所以域名注册系统自动使用rsa算法进行解析,并通过ssl_get_error函数对解析算法验证的结果进行跟踪,若解析成功,将该注册信息结构体存入第二注册信息结构体队列并进行保存,生成一个连接成功的验证结果,将连接成功的验证结果发送至客户端。当该注册信息结构体对应的客户端再次连接时,此时优先使用第二注册信息结构体队列内该注册信息结构体对应的连接方式。若解析失败,由于每个注册信息结构体只有两次解析验证的机会,而该注册信息结构体已经没有再次解析的机会,那么就需要在第一注册信息结
构体队列中删除该注册信息结构体,并生成连接失败的验证结果,将连接失败的验证结果发送至客户端。
94.第二方面,如图5所示,本技术提供了一种域名注册系统自适应国密算法通信的系统,包括:消息模块、解析模块、验证模块;
95.所述消息模块被配置为:提取存储在第一注册信息结构体队列中的注册信息结构体;其中,所述第一注册信息结构体队列用于存储未与域名注册系统建立通信连接的客户端对应的注册信息结构体;所述注册信息结构体包括客户端发送的客户端证书以及标识,所述标识用于指示所述注册信息结构体进行加密算法验证的累计次数;
96.所述解析模块被配置为:采用所述标识对应的解析算法验证注册信息结构体,得到验证结果;
97.所述验证模块被配置为:将所述验证结果返回至所述客户端。
98.上述系统中在应用前述方法时的作用效果可参见前述方法实施例中的说明,在此不再赘述。
99.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由本技术的权利要求指出。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献