一种网络数据加密传输方法

文档序号:10698553阅读:248来源:国知局
一种网络数据加密传输方法
【专利摘要】本发明公开了一种返利销售平台的数据传输方法,该方法具体包括如下步骤:S1.构建一个包括网络服务器、网络数据通信终端和网络数据传输模块在内的通信系统,网络数据通信终端可通过网络数据传输模块向网络服务器进行数据传输;S2.建立安全通信通道,经由网络数据传输模块双向连接网络数据通信终端与网络服务器;S3.网络数据通信终端对数据进行加密,并将加密后的数据发送给网络服务器;S4.网络服务器对数据进行解密。方法提高了网络数据传输可靠性和安全性,并降低了加密的复杂性和对硬件的需求。
【专利说明】
一种网络数据加密传输方法
技术领域
[0001 ]本发明涉及一种网络数据加密传输方法。
【背景技术】
[0002] 数据传输、存储、交换过程中的暴露,可能会导致数据中携带的重要信息和隐私信 息被意外公开,因此需要对数据进行加密,以保证信息和数据能够安全的存储、传输或交 换。目前,为解决网络数据通信中的安全问题,加密通信已成为逐渐走入人们的视野,加密 通信主用采用端到端全程加密技术。数据加解密是最为常用的安全保密手段之一,数据加 密的方式一般为利用技术手段把需要加密的数据变为无法被数据获得者直接理解的,然后 再进行数据的传送;由于一般情况下,只有掌握相应的数据解密方法的数据接收方才能将 接收到的数据还原为可读信息(即,数据解密过程),从而达到数据保密的目的。
[0003] 著名的对称加密算法可分为两大类: 第一类是分组加密算法,该类算法的基本思想是将明文以64比特(或其它固定长度)分 为一组,在密钥的作用下,通过多轮置换和迭代,输出64比特的密文。分组加密算法可视为 大字符集上的置换加密算法。著名的分组加密算法有数据加密标准(DES)等。
[0004] 第二类是序列密码算法,其核心思想是设计一个随机序列产生器,该随机序列产 生器在用户密钥的作用下,生成随机的密钥流,将密钥流与明文流作模2加法,从而形成密 文流。序列密码可以看成是多表密码的一种,如果密码的周期不大,它将非常类似于维吉利 亚密码。
[0005] 近年来,密码学理论研究及实际应用得到大力的发展,设计出大量具有高安全可 靠性且性能较好的分组密码同时应用于密码领域,新的密码算法的研究设计工作极大的促 进了密码学及密码应用在各个领域的应用,对国家安全、企业知识产权保护以及个人隐私 等信息安全工作起到积极的保障作用。然而,随着大数据、云计算、物联网以及移动互联网 的发展以及无线网络在生活的普及应用,新的应用场景对移动终端的安全提出了更高的要 求,针对移动终端的灵活便捷、携带方便的特点来看,普适性的分组密码如DES、3DES、SM4等 算法由于其计算复杂性较高,而移动终端属于资源受限类型的设备,在速率方面有一定的 影响。

【发明内容】

[0006] 本发明提供一种网络数据加密传输方法,该方法提高了网络数据传输可靠性和安 全性,并降低了加密的复杂性和对硬件的需求。
[0007] 为了实现上述目的,本发明提供一种网络数据加密传输方法,该方法具体包括如 下步骤: 51. 构建一个包括网络服务器、网络数据通信终端和网络数据传输模块在内的通信系 统,网络数据通信终端可通过网络数据传输模块向网络服务器进行数据传输; 52. 建立安全通信通道,经由网络数据传输模块双向连接网络数据通信终端与网络服 务器; 53. 网络数据通信终端对数据进行加密,并将加密后的数据发送给网络服务器; 54. 网络服务器对数据进行解密。
[0008] 优选的,在S2中采用如下步骤完成安全通信通道的建立: 521. 在网络数据通信终端经由网络数据传输模块向网络服务器发送连接申请时,网络 数据通信终端首先查询是否已缓存与网络服务器的会话连接信息,是则使用会话连接信息 中缓存的摘要算法对会话密钥进行摘要计算,将会话号与摘要结果写入连接申请包的会话 ID与会话密钥摘要字段中;再查询是否已缓存网络服务器证书,是则将网络服务器的证书 序列号写入连接申请包的网络服务器证书序列号字段中,再将网络数据通信终端证书的序 列号写入网络数据通信终端证书序列号字段中;填写非对称加密和数字签名算法组合列 表,并向网络服务器发送连接申请; 522. 网络服务器接收到网络数据通信终端发送的连接申请数据包后,根据会话号查询 是否缓存有对应的会话连接信息,是则使用会话连接信息中缓存的摘要算法对会话密钥进 行摘要计算,将计算结果与网络数据通信终端发送的会话密钥的摘要数据进行比对;如果 对比结果一致,则将会话密钥与对称算法作为安全通信通道中数据保护的密钥与算法,并 进入下一步; 523. 网络服务器向终端发送协商结束命令,终端收到网络服务器发送的协商结束命令 后,安全通道建立结束。
[0009] S22中,如果对比结果不一致,则执行下述步骤流程: 5221. 网络服务器读取网络数据通信终端发送的网络服务器证书的序列号,如果与本 端使用的证书序列号一致,则不发送网络服务器的证书至网络数据通信终端,并执行下一 步流程; 5222. 网络服务器读取网络数据通信终端发送的网络数据通信终端证书的序列号,根 据该序列号查询是否已缓存网络数据通信终端证书;是则不需要网络数据通信终端向网络 服务器发送网络数据通信终端的证书,并执行下述工作流程: 52221. 网络服务器读取网络数据通信终端发送的算法组合列表,选择一组加密强度最 高的算法组合作为以下流程中使用的加密算法组合,发送至网络数据通信终端,并执行下 一步流程; 52222. 网络服务器生成一组临时的非对称密钥对,使用网络服务器的私钥以及所述步 骤S2221中所选择的算法组合中的非对称算法对临时公钥进行数字签名,将签名结果与临 时公钥组包,向终端发送密钥交互数据包; 52223. 向网络数据通信终端发送连接申请结束数据包; 52224. 网络数据通信终端收到网络服务器发送的连接申请响应数据包,缓存密钥协商 算法组合与会话号;网络数据通信终端如果收到网络服务器发送的网络服务器证书数据 包,对网络服务器证书进行合法性验证,验证成功,则使用证书中的序列号作为标识,缓存 网络服务器的数字证书;验证失败,则退出本流程,断开连接;网络数据通信终端如果收到 网络服务器发送的申请网络数据通信终端证书的申请数据包,则将本端的证书组包成证书 数据包,向网络服务器发送;网络数据通信终端收到网络服务器发送的密钥协商数据包,则 使用缓存的网络服务器证书中的公钥与所述缓存的密钥协商算法组合中的非对称算法,对 网络服务器的临时公钥签名信息进行验证,如果不成功则退出流程,并断开链接;如果成功 则执行下一步; 52225. 网络数据通信终端随机生成一个会话密钥,作为安全通道中数据保护的密钥, 使用算法组合中的对称算法作为保护算法;使用会话号作为标识,将会话密钥、对称算法与 摘要算法进行缓存;使用非对称算法对会话密钥进行加密,并使用非对称算法对加密后的 会话密钥进行数字签;将加密后的会话密钥以及数字签名组包,向网络服务器发送密钥协 商数据包; 52226. 向网络服务器发送协商结束命令; 52227. 网络服务器如果收到网络数据通信终端证书数据包,对网络数据通信终端证书 进行合法性验证,如果验证成功,使用证书中的序列号作为标识,缓存网络服务器的数字证 书;如果验证失败,则退出本流程,断开连接; 52228. 网络服务器收到网络数据通信终端发送的密钥协商数据包后,使用网络数据通 信终端证书中的公钥以及步骤S22中所选择的算法组合中的非对称算法对签名数据进行签 名验证,如果不成功则退出流程,并断开链接;如果成功则使用本端私钥与非对称算法解密 会话密钥,并使用步骤S22中产生的会话号作为标识,将会话密钥、对称算法与摘要算法进 行缓存;并将会话密钥与对称算法名作为安全通信通道中数据保护的密钥与算法;执行步 骤 S23〇
[0010] 优选的,所述步骤S221中,如果没有缓存网络数据通信终端证书,则在所述步骤 S2221和所述步骤S2222之间增加以下流程:网络服务器向网络数据通信终端发送网络服务 器证书;网络服务器发送获取网络数据通信终端证书的请求给网络数据通信终端。
[0011] 优选的,在步骤S3中,采用如下步骤对数据进行加密: 将待加密的数据进行分组; 531. 对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入 以进行多轮加密; 532. 在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对 加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。
[0012] 优选的,对于每组数据的多轮加密过程如下: 将加密过程中32比特明文分为4个字节X3、X4;对于r〈9,设置第r轮的密钥为 Kir,……,K/,而且设置第9轮的密钥为K19,……,K4 9;使明文经过8个轮变换,在8个轮变换之 后第8轮输出的左边不需要进行再经过最后一个输出变换,得到输出密文 [00 13]优选地,在步骤S4中,解密具体包括如下步骤: 541. 将待解密的数据进行分组; 对于每组数据分别使用与最后一轮加密对应的密钥进行初始解密,将初始解密后数据 作为初始输入以进行多轮解密; 542. 在每轮解密中,将输入的数据进行解密置换,使用与本次解密轮数对应的密钥对 解密置换后数据进行解密,将解密后数据作为下一轮解密输入数据。
[0014]优选的,多轮解密过程具体如下: 按照与加密过程相对应的方式进行解密过程,其中使得每轮输出的左边两个字节的变 换位置,同时将以下面的方式计算解密密钥1^: (Iur,k/,k3r,k/) = (K1-(10-r),-K2(10- r),-K3(10-r),K4-(10- r)),当r = I,· ·,9; (k5r,k6r) = (K5r,K6r),当r = I,· ·,8〇
[0015] 优选的,在多轮加密和多轮解密过程中,还包括秘钥调度过程:密钥调度将64比特 的主密钥分为8个字节K 1,..,κ8;设置第一轮子密钥为(ΚΛ.. ,1(/) = (1(1..,K8)。
[0016] 优选地,在密钥调度过程中,若第r轮子密钥为(Kf,. .,Κ/),则第r+1轮的子密钥 由第r轮子密钥通过作如下变换生成: 第一步骤;令第r+l轮子密钥中
:f其中Primes 是小于整数256的54个素数集合,初始第1轮设置i=0,后面每运行一次乘法操作后将i递 增; 第二步骤:使r+Ι轮子密钥(Kf1,. .,K/+1)循环左移一个字节; 而且,重复第一步骤和第二步骤8次,然后再将r+Ι轮子密钥循环左移13比特,一直到生 成了 68个子密钥为止。
[0017] 本发明具有以下优点和有益效果:(1)通过建立安全通信通道,对系统内的数据交 换过程,均进行加密处理,可保证系统通信的安全性和可靠性;(2)将待加密的数据进行分 组,对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进 行多轮加密,能够提供一种安全性较高,运算量较少的加密技术方案;(3)加密算法是对32 比特IDEA算法版本的改进,在轮函数中增加了正交置换,从而使得结构具有可证明安全性, 同时采用了 IDEA算法中良好的乘法加法混淆模块,增加了算法混淆性,并且修改了密钥生 成算法,避免了线性密钥调度过程。
【附图说明】
[0018] 图1示出了本发明的一种网络数据加密传输方法的流程图。
【具体实施方式】
[0019] 图1示出了本发明的一种网络数据加密传输方法的步骤: SI.构建一个包括网络服务器、网络数据通信终端和网络数据传输模块在内的通信系 统,网络数据通信终端可通过网络数据传输模块向网络服务器进行数据传输。
[0020] S2.建立安全通信通道,经由网络数据传输模块双向连接网络数据通信终端与网 络服务器。
[0021] S3.网络数据通信终端对数据进行加密,并将加密后的数据发送给网络服务器。
[0022] S4.网络服务器对数据进行解密。
[0023]其中,在S2中采用如下步骤完成安全通信通道的建立: S21.在网络数据通信终端经由网络数据传输模块向网络服务器发送连接申请时,网络 数据通信终端首先查询是否已缓存与网络服务器的会话连接信息,是则使用会话连接信息 中缓存的摘要算法对会话密钥进行摘要计算,将会话号与摘要结果写入连接申请包的会话 ID与会话密钥摘要字段中;再查询是否已缓存网络服务器证书,是则将网络服务器的证书 序列号写入连接申请包的网络服务器证书序列号字段中,再将网络数据通信终端证书的序 列号写入网络数据通信终端证书序列号字段中;填写非对称加密和数字签名算法组合列 表,并向网络服务器发送连接申请。
[0024] S22.网络服务器接收到网络数据通信终端发送的连接申请数据包后,根据会话号 查询是否缓存有对应的会话连接信息,是则使用会话连接信息中缓存的摘要算法对会话密 钥进行摘要计算,将计算结果与网络数据通信终端发送的会话密钥的摘要数据进行比对; 如果对比结果一致,则将会话密钥与对称算法作为安全通信通道中数据保护的密钥与算 法,并进入下一步。
[0025] S23.网络服务器向终端发送协商结束命令,终端收到网络服务器发送的协商结束 命令后,安全通道建立结束。
[0026] S22中,如果对比结果不一致,则执行下述步骤流程: S221.网络服务器读取网络数据通信终端发送的网络服务器证书的序列号,如果与本 端使用的证书序列号一致,则不发送网络服务器的证书至网络数据通信终端,并执行下一 步流程。
[0027] S222.网络服务器读取网络数据通信终端发送的网络数据通信终端证书的序列 号,根据该序列号查询是否已缓存网络数据通信终端证书;是则不需要网络数据通信终端 向网络服务器发送网络数据通信终端的证书,并执行下述工作流程: S2221.网络服务器读取网络数据通信终端发送的算法组合列表,选择一组加密强度最 高的算法组合作为以下流程中使用的加密算法组合,发送至网络数据通信终端,并执行下 一步流程。
[0028] S2222.网络服务器生成一组临时的非对称密钥对,使用网络服务器的私钥以及所 述步骤S2221中所选择的算法组合中的非对称算法对临时公钥进行数字签名,将签名结果 与临时公钥组包,向终端发送密钥交互数据包。
[0029] S2223.向网络数据通信终端发送连接申请结束数据包。
[0030] S2224.网络数据通信终端收到网络服务器发送的连接申请响应数据包,缓存密钥 协商算法组合与会话号;网络数据通信终端如果收到网络服务器发送的网络服务器证书数 据包,对网络服务器证书进行合法性验证,验证成功,则使用证书中的序列号作为标识,缓 存网络服务器的数字证书;验证失败,则退出本流程,断开连接;网络数据通信终端如果收 到网络服务器发送的申请网络数据通信终端证书的申请数据包,则将本端的证书组包成证 书数据包,向网络服务器发送;网络数据通信终端收到网络服务器发送的密钥协商数据包, 则使用缓存的网络服务器证书中的公钥与所述缓存的密钥协商算法组合中的非对称算法, 对网络服务器的临时公钥签名信息进行验证,如果不成功则退出流程,并断开链接;如果成 功则执行下一步; 52225. 网络数据通信终端随机生成一个会话密钥,作为安全通道中数据保护的密钥, 使用算法组合中的对称算法作为保护算法;使用会话号作为标识,将会话密钥、对称算法与 摘要算法进行缓存;使用非对称算法对会话密钥进行加密,并使用非对称算法对加密后的 会话密钥进行数字签;将加密后的会话密钥以及数字签名组包,向网络服务器发送密钥协 商数据包; 52226. 向网络服务器发送协商结束命令; 52227. 网络服务器如果收到网络数据通信终端证书数据包,对网络数据通信终端证书 进行合法性验证,如果验证成功,使用证书中的序列号作为标识,缓存网络服务器的数字证 书;如果验证失败,则退出本流程,断开连接; S2228.网络服务器收到网络数据通信终端发送的密钥协商数据包后,使用网络数据通 信终端证书中的公钥以及步骤S22中所选择的算法组合中的非对称算法对签名数据进行签 名验证,如果不成功则退出流程,并断开链接;如果成功则使用本端私钥与非对称算法解密 会话密钥,并使用步骤S22中产生的会话号作为标识,将会话密钥、对称算法与摘要算法进 行缓存;并将会话密钥与对称算法名作为安全通信通道中数据保护的密钥与算法;执行步 骤 S23〇
[0031]优选的,所述步骤S221中,如果没有缓存网络数据通信终端证书,则在所述步骤 S2221和所述步骤S2222之间增加以下流程:网络服务器向网络数据通信终端发送网络服务 器证书;网络服务器发送获取网络数据通信终端证书的请求给网络数据通信终端。
[0032]优选的,在步骤S3中,采用如下步骤对数据进行加密: 531. 将待加密的数据进行分组; 532. 对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入 以进行多轮加密; 533. 在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对 加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。
[0033] 优选的,对于每组数据的多轮加密过程如下: 加密算法是一个32比特分组长度、64比特密钥长度的加密算法,其包括8轮轮函数和一 个输出变换,其基于IDEA算法,采用Lai-Massey结构,但是轮函数和密钥调度过程都与IDEA 算法有一定的不同。
[0034] 将加密过程中32比特明文分为4个字节X1、X2、X 3、X4;对于r〈9,设置第r轮的密钥为 Kir,……,K/,而且设置第9轮的密钥为K19,……,K4 9;使明文经过8个轮变换,在8个轮变换之 后第8轮输出的左边不需要进行再经过最后一个输出变换,得到输出密文
[0035]优选地,在步骤S4中,解密具体包括如下步骤: 541. 将待解密的数据进行分组; 对于每组数据分别使用与最后一轮加密对应的密钥进行初始解密,将初始解密后数据 作为初始输入以进行多轮解密; 542. 在每轮解密中,将输入的数据进行解密置换,使用与本次解密轮数对应的密钥对 解密置换后数据进行解密,将解密后数据作为下一轮解密输入数据。
[0036]优选的,多轮解密过程具体如下: 按照与加密过程相对应的方式进行解密过程,其中使得每轮输出的左边两个字节的变 换位置,同时将以下面的方式计算解密密钥1^: (Iur,k/,k3r,k/) = (K1-(10-r),-K2(10- r),-K3(10-r),K4-(10- r)),当r = 1,· ·,9; (k5r,k6r) = (K5r,K6r),当r = I,· ·,8〇
[0037] 优选的,在多轮加密和多轮解密过程中,还包括秘钥调度过程:密钥调度将64比特 的主密钥分为8个字节K1,..,κ 8;设置第一轮子密钥为(ΚΛ.. ,1(/) = (1(1..,K8)。
[0038] 优选的,在密钥调度过程中,若第r轮子密钥为(Kf,. .,Κ/),则第r+1轮的子密钥 由第r轮子密钥通过作如下变换生成: 第一步骤;令第r+l轮子密钥ct
,其中Primes 是小于整数256的54个素数集合,初始第1轮设置i=0,后面每运行一次乘法操作后将i递 增; 第二步骤:使r+1轮子密钥(Kf1,. .,K/+1)循环左移一个字节; 而且,重复第一步骤和第二步骤8次,然后再将r+Ι轮子密钥循环左移13比特,一直到生 成了 68个子密钥为止。
[0039]如上所述,虽然根据实施例所限定的实施例和附图进行了说明,但对本技术领域 具有一般知识的技术人员来说能从上述的记载中进行各种修改和变形。例如,根据与说明 的技术中所说明的方法相不同的顺序来进行,和/或根据与说明的系统、结构、装置、电路等 构成要素所说明的方法相不同的形态进行结合或组合,或根据其他构成要素或均等物进行 替换或置换也可达成适当的效果。对于本发明所属技术领域的普通技术人员来说,在不脱 离本发明构思的前提下,做出若干等同替代或明显变型,而且性能或用途相同,都应当视为 属于本发明的保护范围。
【主权项】
1. 一种网络数据加密传输方法,该方法具体包括如下步骤:51. 构建一个包括网络服务器、网络数据通信终端和网络数据传输模块在内的通信系 统,网络数据通信终端可通过网络数据传输模块向网络服务器进行数据传输;52. 建立安全通信通道,经由网络数据传输模块双向连接网络数据通信终端与网络服 务器;53. 网络数据通信终端对数据进行加密,并将加密后的数据发送给网络服务器;54. 网络服务器对数据进行解密。2. 如权利要求1所述的方法,其特征在于,在S2中采用如下步骤完成安全通信通道的建 立:521. 在网络数据通信终端经由网络数据传输模块向网络服务器发送连接申请时,网络 数据通信终端首先查询是否已缓存与网络服务器的会话连接信息,是则使用会话连接信息 中缓存的摘要算法对会话密钥进行摘要计算,将会话号与摘要结果写入连接申请包的会话 ID与会话密钥摘要字段中;再查询是否已缓存网络服务器证书,是则将网络服务器的证书 序列号写入连接申请包的网络服务器证书序列号字段中,再将网络数据通信终端证书的序 列号写入网络数据通信终端证书序列号字段中;填写非对称加密和数字签名算法组合列 表,并向网络服务器发送连接申请;522. 网络服务器接收到网络数据通信终端发送的连接申请数据包后,根据会话号查询 是否缓存有对应的会话连接信息,是则使用会话连接信息中缓存的摘要算法对会话密钥进 行摘要计算,将计算结果与网络数据通信终端发送的会话密钥的摘要数据进行比对;如果 对比结果一致,则将会话密钥与对称算法作为安全通信通道中数据保护的密钥与算法,并 进入下一步;523. 网络服务器向终端发送协商结束命令,终端收到网络服务器发送的协商结束命令 后,安全通道建立结束。3. 如权利要求2所述的方法,其特征在于,S22中,如果对比结果不一致,则执行下述步 骤流程: 5221. 网络服务器读取网络数据通信终端发送的网络服务器证书的序列号,如果与本 端使用的证书序列号一致,则不发送网络服务器的证书至网络数据通信终端,并执行下一 步流程; 5222. 网络服务器读取网络数据通信终端发送的网络数据通信终端证书的序列号,根 据该序列号查询是否已缓存网络数据通信终端证书;是则不需要网络数据通信终端向网络 服务器发送网络数据通信终端的证书,并执行下述工作流程: 52221. 网络服务器读取网络数据通信终端发送的算法组合列表,选择一组加密强度最 高的算法组合作为以下流程中使用的加密算法组合,发送至网络数据通信终端,并执行下 一步流程; 52222. 网络服务器生成一组临时的非对称密钥对,使用网络服务器的私钥以及所述步 骤S2221中所选择的算法组合中的非对称算法对临时公钥进行数字签名,将签名结果与临 时公钥组包,向终端发送密钥交互数据包; 52223. 向网络数据通信终端发送连接申请结束数据包; 52224. 网络数据通信终端收到网络服务器发送的连接申请响应数据包,缓存密钥协商 算法组合与会话号;网络数据通信终端如果收到网络服务器发送的网络服务器证书数据 包,对网络服务器证书进行合法性验证,验证成功,则使用证书中的序列号作为标识,缓存 网络服务器的数字证书;验证失败,则退出本流程,断开连接;网络数据通信终端如果收到 网络服务器发送的申请网络数据通信终端证书的申请数据包,则将本端的证书组包成证书 数据包,向网络服务器发送;网络数据通信终端收到网络服务器发送的密钥协商数据包,则 使用缓存的网络服务器证书中的公钥与所述缓存的密钥协商算法组合中的非对称算法,对 网络服务器的临时公钥签名信息进行验证,如果不成功则退出流程,并断开链接;如果成功 则执行下一步; S2225 .网络数据通信终端随机生成一个会话密钥,作为安全通道中数据保护的密钥, 使用算法组合中的对称算法作为保护算法;使用会话号作为标识,将会话密钥、对称算法与 摘要算法进行缓存;使用非对称算法对会话密钥进行加密,并使用非对称算法对加密后的 会话密钥进行数字签;将加密后的会话密钥以及数字签名组包,向网络服务器发送密钥协 商数据包; 52226. 向网络服务器发送协商结束命令; 52227. 网络服务器如果收到网络数据通信终端证书数据包,对网络数据通信终端证书 进行合法性验证,如果验证成功,使用证书中的序列号作为标识,缓存网络服务器的数字证 书;如果验证失败,则退出本流程,断开连接; 52228. 网络服务器收到网络数据通信终端发送的密钥协商数据包后,使用网络数据通 信终端证书中的公钥以及步骤S22中所选择的算法组合中的非对称算法对签名数据进行签 名验证,如果不成功则退出流程,并断开链接;如果成功则使用本端私钥与非对称算法解密 会话密钥,并使用步骤S22中产生的会话号作为标识,将会话密钥、对称算法与摘要算法进 行缓存;并将会话密钥与对称算法名作为安全通信通道中数据保护的密钥与算法;执行步 骤 S23〇4. 如权利要求3所述的方法,其特征在于,所述步骤S221中,如果没有缓存网络数据通 信终端证书,则在所述步骤S2221和所述步骤S2222之间增加以下流程:网络服务器向网络 数据通信终端发送网络服务器证书;网络服务器发送获取网络数据通信终端证书的请求给 网络数据通信终端。5. 如权利要求1-4中任意一项权利要求所述的方法,其特征在于,在步骤S3中,采用如 下步骤对数据进行加密: 将待加密的数据进行分组;531. 对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入 以进行多轮加密;532. 在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对 加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。6. 如权利要求5所述的方法,其特征在于,对于每组数据的多轮加密过程如下: 将加密过程中32比特明文分为4个字节Xi、X2、X3、X4;对于r〈9,设置第r轮的密钥为 Kir,……,K/,而且设置第9轮的密钥为L9,……,K49;使明文经过8个轮变换,在8个轮变换之 后第8轮输出的左边不需要进行再经过最后一个输出变换,得到输出密文7. 如权利要求5所述的方法,其特征在于,在步骤S4中,解密具体包括如下步骤:541. 将待解密的数据进行分组; 对于每组数据分别使用与最后一轮加密对应的密钥进行初始解密,将初始解密后数据 作为初始输入以进行多轮解密;542. 在每轮解密中,将输入的数据进行解密置换,使用与本次解密轮数对应的密钥对 解密置换后数据进行解密,将解密后数据作为下一轮解密输入数据。8. 如权利要求7所述的方法,其特征在于,多轮解密过程具体如下: 按照与加密过程相对应的方式进行解密过程,其中使得每轮输出的左边两个字节的变 换位置,同时将以下面的方式计算解密密钥1^: (lur,k2r,k3r,k/) = (Kf(1。-r),-K2(10-r),-K 3(10-r),K4-(1。-r)),当r = 1,· ·,9; (k5r,k6r) = (K5r,K6r),当r = 1,· ·,8〇9. 如权利要求8所述的方法,其特征在于,在多轮加密和多轮解密过程中,还包括秘钥 调度过程:密钥调度将64比特的主密钥分为8个字节I,..,K 8;设置第一轮子密钥为 (ΚΛ. · ,Κ/ΧΚ!,· ·,Κ8)〇10. 如权利要求9所述的方法,其特征在于,在密钥调度过程中,若第r轮子密钥为 (ΚΛ . .,K/),则第r+Ι轮的子密钥由第r轮子密钥通过作如下变换生成: 第一步骤;令第r+l轮子密钥中Primes[丨mod 54〗),其中Primes是 小于整数256的54个素数集合,初始第1轮设置i = 0,后面每运行一次乘法操作后将i递增; 第二步骤:使r+Ι轮子密钥(Kf1,. .,K/+1)循环左移一个字节; 而且,重复第一步骤和第二步骤8次,然后再将r+Ι轮子密钥循环左移13比特,一直到生 成了 68个子密钥为止。
【文档编号】H04L29/06GK106067878SQ201610372329
【公开日】2016年11月2日
【申请日】2016年5月31日 公开号201610372329.X, CN 106067878 A, CN 106067878A, CN 201610372329, CN-A-106067878, CN106067878 A, CN106067878A, CN201610372329, CN201610372329.X
【发明人】张晓军, 李婷, 张群, 袁洪峰, 薛林川, 李正浩, 李卫波, 桑克敏
【申请人】国网山东省电力公司寿光市供电公司, 国网山东省电力公司潍坊供电公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1