一种数据传输方法及系统与流程

文档序号:33029521发布日期:2023-01-20 20:27阅读:22来源:国知局
一种数据传输方法及系统与流程

1.本发明涉及数据传输技术领域,并且更具体地,涉及一种数据传输方法及系统。


背景技术:

2.近年来,网络数据的安全越来越为人所关注。一般情况下,互联网上传输的数据包未加密和签名,很容易发生被窃听、篡改、伪造以及发送者抵赖等问题,在数据包传输的过程中,很容易泄露信息,造成不必要的损失。即使对特定数据包进行加密处理,系统在数据交换的过程中,还是会交换比较多的多余数据包,给数据交换带来负担。
3.数据传输终端,即数据传输单元(dtu,data transfer unit),是专门用于将串口数据转换为网络数据或将网络数据转换为串口数据,并通过通信网络进行传送的无线或有线终端,主要应用于物联网感知层传感器数据通过通信网络传输到核心网络或平台,目前市场产品类型较多,主要涉及不同通信方式之间的转换,主要电路结构为串口模块、电源模块及网络通信模块,主要传输包括rs485/rs232转4g、rs485/rs232转以太网、rs485/rs232转lora、rs485/rs232转nb、rs485/rs232/转wifi等。现有数据传输终端功能为数据透明传输,即串口数据和网络数据100%相同,由于传输数据未经加密,存在很大的网络信息安全风险,因此很容易受到非法入侵攻击,重则导致核心网络或者生产系统瘫痪。


技术实现要素:

4.本发明提出一种数据传输方法及系统,以解决如何高效地进行不同设备间数据传输的问题。
5.为了解决上述问题,根据本发明的一个方面,提供了一种数据传输方法,所述方法包括:
6.数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证;
7.数据发送方接收所述数据接收在确定身份认证通过后发送的令牌信息和公钥信息;
8.数据发送方对所述待传输的明文数据进行分段,确定分段数据序列;其中,所述分段数据序列包括至少一个分段数据;
9.数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方;
10.数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据。
11.优选地,其中所述数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证,包括:
12.数据发送方将数字签名和身份标识符发送至数据接收方;
13.数据接收方利用内置的第二可信密码模块tcm2,基于所述数字签名和身份标识符生成随机数口令challenge,并将所述随机数口令challenge发送至数据发送方;
14.数据发送方利用内置的第一可信密码模块tcm1基于所述随机数口令challenge进行加密计算,获取回复response,并将所述回复response发送至数据接收方;
15.数据接收方利用内置的第二可信密码模块tcm2对所述回复response进行解密计算,获取解密值r,并验证所述解密值r和response是否一致,获取验证结果;
16.当所述验证结果指示一致时,确定通过身份认证,发送令牌信息token至数据发送方。
17.优选地,其中所述数据发送方对所述待传输的明文数据进行分段,确定分段数据序列,包括:
18.数据发送方发送待传输的明文数据的数据类型和数据内容详情信息至数据接收方,以接收数据接收方基于所述数据类型和数据内容详情信息返回的数据重要等级系数;
19.数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量;
20.数据发送方基于所述分段数量进行分段,确定所述分段数据序列。
21.优选地,其中所述数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量,包括:
[0022][0023]
其中,n为分段数量;m为预设分段数量;a为第一预设比例;b为第二预设比例;s为待传输的明文数据的数据重要等级系数;p为在过去预定时间段内数据接收方被攻击的次数;表示向上取整。
[0024]
优选地,其中所述数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方,包括:
[0025]
数据发送方遍历所述分段数据序列,对于任一个分段数据,按照预设的拼接规则进行预设拼接字符和分段数据的拼接,以获取该任一个分段数据对应的拼接数据,确定拼接数据序列;
[0026]
数据发送方对所述拼接数据序列中所有的拼接数据进行随机混合,以获取混合数据,并基于任一个拼接数据在所述拼接数据序列中的第一位置信息和所述任一个拼接数据在所述混合数据中的第二位置信息建立位置映射关系;数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述混合数据进行加密,以获取第一密文数据,并基于第一链路将所述密文数据和令牌信息发送至数据接收方;
[0027]
数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述位置映射关系进行加密,以获取第二密文数据,并基于第二链路将所述第二密文数据发送至数据接收方。
[0028]
优选地,其中所述数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据,包括:
[0029]
数据接收方对所述令牌信息进行校验,确定校验结果;
[0030]
当所述校验结果指示所述令牌信息通过校验时,数据接收方利用内置的第二可信密码模块tcm2基于与所述公钥信息对应的私钥信息分别对所述第一密文数据和第二密文数据进行解密,获取所述混合数据和位置映射关系;
[0031]
数据接收方基于所述位置映射关系对所述混合数据中的拼接数据进行排序,以确定所述拼接数据序列;
[0032]
数据接收方遍历所述拼接数据序列,并按照预设的拼接规则对任一个拼接数据进行拆分,以确定所述分段数据序列;
[0033]
数据接收方遍历所述分段数据序列中的分段数据并进行数据重组,以获取所述明文数据。
[0034]
根据本发明的另一个方面,提供了一种数据传输系统,所述系统包括:
[0035]
身份认证单元,用于使数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证;
[0036]
信息接收单元,用于使数据发送方接收所述数据接收在确定身份认证通过后发送的令牌信息和公钥信息;
[0037]
数据分段单元,用于使数据发送方对所述待传输的明文数据进行分段,确定分段数据序列;其中,所述分段数据序列包括至少一个分段数据;
[0038]
密文数据确定单元,用于使数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方;
[0039]
明文数据确定单元,用于使数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据。
[0040]
优选地,其中所述身份认证单元,使数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证,包括:
[0041]
数据发送方将数字签名和身份标识符发送至数据接收方;
[0042]
数据接收方利用内置的第二可信密码模块tcm2,基于所述数字签名和身份标识符生成随机数口令challenge,并将所述随机数口令challenge发送至数据发送方;
[0043]
数据发送方利用内置的第一可信密码模块tcm1基于所述随机数口令challenge进行加密计算,获取回复response,并将所述回复response发送至数据接收方;
[0044]
数据接收方利用内置的第二可信密码模块tcm2对所述回复response进行解密计算,获取解密值r,并验证所述解密值r和response是否一致,获取验证结果;
[0045]
当所述验证结果指示一致时,确定通过身份认证,发送令牌信息token至数据发送方。
[0046]
优选地,其中所述数据分段单元,使数据发送方对所述待传输的明文数据进行分段,确定分段数据序列,包括:
[0047]
数据发送方发送待传输的明文数据的数据类型和数据内容详情信息至数据接收
方,以接收数据接收方基于所述数据类型和数据内容详情信息返回的数据重要等级系数;
[0048]
数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量;
[0049]
数据发送方基于所述分段数量进行分段,确定所述分段数据序列。
[0050]
优选地,其中所述数据分段单元,数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量,包括:
[0051][0052]
其中,n为分段数量;m为预设分段数量;a为第一预设比例;b为第二预设比例;s为待传输的明文数据的数据重要等级系数;p为在过去预定时间段内数据接收方被攻击的次数;表示向上取整。
[0053]
优选地,其中所述密文数据确定单元,使数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方,包括:
[0054]
数据发送方遍历所述分段数据序列,对于任一个分段数据,按照预设的拼接规则进行预设拼接字符和分段数据的拼接,以获取该任一个分段数据对应的拼接数据,确定拼接数据序列;
[0055]
数据发送方对所述拼接数据序列中所有的拼接数据进行随机混合,以获取混合数据,并基于任一个拼接数据在所述拼接数据序列中的第一位置信息和所述任一个拼接数据在所述混合数据中的第二位置信息建立位置映射关系;数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述混合数据进行加密,以获取第一密文数据,并基于第一链路将所述密文数据和令牌信息发送至数据接收方;
[0056]
数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述位置映射关系进行加密,以获取第二密文数据,并基于第二链路将所述第二密文数据发送至数据接收方。
[0057]
优选地,其中所述明文数据确定单元,使数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据,包括:
[0058]
数据接收方对所述令牌信息进行校验,确定校验结果;
[0059]
当所述校验结果指示所述令牌信息通过校验时,数据接收方利用内置的第二可信密码模块tcm2基于与所述公钥信息对应的私钥信息分别对所述第一密文数据和第二密文数据进行解密,获取所述混合数据和位置映射关系;
[0060]
数据接收方基于所述位置映射关系对所述混合数据中的拼接数据进行排序,以确定所述拼接数据序列;
[0061]
数据接收方遍历所述拼接数据序列,并按照预设的拼接规则对任一个拼接数据进行拆分,以确定所述分段数据序列;
[0062]
数据接收方遍历所述分段数据序列中的分段数据并进行数据重组,以获取所述明文数据。
[0063]
本发明提供了一种数据传输方法及系统,包括:数据发送方将包括数字签名和身
份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证;数据发送方接收所述数据接收在确定身份认证通过后发送的令牌信息和公钥信息;数据发送方对所述待传输的明文数据进行分段,确定分段数据序列;数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方;数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据。本发明的方法在进行数据传输之前需要进行身份认证,在身份认证后通过密文数据的方式进行数据传输,能够保证数据传输的安全性,能够提升物联网感知网的入侵防范能力和主动防御能力,能够应用于电池供电的物联网应用场景。
附图说明
[0064]
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
[0065]
图1为根据本发明实施方式的数据传输方法100的流程图;
[0066]
图2为根据本发明实施方式的身份认证的交互示意图;
[0067]
图3为根据本发明实施方式的数据传输终端的结构示意图;
[0068]
图4为根据本发明实施方式的数据传输系统400的结构示意图。
具体实施方式
[0069]
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
[0070]
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
[0071]
本发明主要解决物联网传感器数据传输和物联网设备控制指令传输的信息安全问题,将国产的可信计算技术移植到物联网感知层,通过单片机程序控制,将数据发送到tcm进行加密后通过通信网络传输到核心网、将核心网传输过来的数据通过tcm解密后通过串口传输到传感器,从而在低功耗、低成本、低算力的物联网感知层中实现复杂、安全、可信的数据传输。
[0072]
图1为根据本发明实施方式的数据传输方法100的流程图。如图1所示,本发明实施方式提供的数据传输方法,在进行数据传输之前需要进行身份认证,在身份认证后通过密文数据的方式进行数据传输,能够保证数据传输的安全性,能够提升物联网感知网的入侵防范能力和主动防御能力,能够应用于电池供电的物联网应用场景。本发明实施方式提供的数据传输方法100,从步骤101处开始,在步骤101数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证。
[0073]
优选地,其中所述数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证,包括:
[0074]
数据发送方将数字签名和身份标识符发送至数据接收方;
[0075]
数据接收方利用内置的第二可信密码模块tcm2,基于所述数字签名和身份标识符生成随机数口令challenge,并将所述随机数口令challenge发送至数据发送方;
[0076]
数据发送方利用内置的第一可信密码模块tcm1基于所述随机数口令challenge进行加密计算,获取回复response,并将所述回复response发送至数据接收方;
[0077]
数据接收方利用内置的第二可信密码模块tcm2对所述回复response进行解密计算,获取解密值r,并验证所述解密值r和response是否一致,获取验证结果;
[0078]
当所述验证结果指示一致时,确定通过身份认证,发送令牌信息token至数据发送方。
[0079]
在步骤102,数据发送方接收所述数据接收在确定身份认证通过后发送的令牌信息和公钥信息。
[0080]
在本发明中,实现数据传输需要依靠数据传输终端,在数据传输终端上实现数据的可信安全,需要经过两个步骤,第一步是数据传输终端作为感知节点的数据安全传输控制器,接入核心网络时需要被核心网络进行双向身份认证以确保设备的可信,第二步是基于数据传输终端实现数据的加密传输。
[0081]
在本发明中,在进行数据传输前需要进行身份认证。感知层的节点身份认证旨在通过加密认证来验证节点是否属于设计者所授权的节点,或者节点访问者是否是设计者所授权的。节点认证在节点请求连接服务器或者服务器请求访问节点时启动,身份认证是双向的。在该身份认证过程中,请求者必须完成自身设备(或模块)的认证才能进一步向应答者请求认证。请求者即为数据发送方,应答者即为数据接收方。
[0082]
结合图2所示,请求者(requester)-》应答者(responder)的组合模式可以是两情况之一:
[0083]
(1)数据传输终端

服务器;
[0084]
(2)服务器

数据传输终端。
[0085]
过程ask是请求数据包,包括对外围设备的验证报告;id是请求者自身的数字签名。controller是控制参与身份认证的设备的核心处理器。身份认证过程包括:
[0086]
(1)请求者将自身72bit的数字签名和身份标识符打包,向应答者发起请求;
[0087]
(2)应答者识别到存在id后,向tcm2发送nonce指令生成并返回32字节随机数作为challenge(口令),应答者将challenge发送给请求者;
[0088]
(3)请求者将challenge发送到tcm1执行计算得出response(回复,答复)并返回response给应答者,其中:
[0089]
response=sm3(challenge)//表示将challenge通过sm3计算得出response。
[0090]
(4)应答者将response发送到tcm2,tcm2对所述回复response进行解密计算,获取解密值r,并内部验证所述解密值r和response是否一致,若一致,则result=1,否则result=0,最后返回验证结果result的值。
[0091]
(5)如果第4步中返回的result为真,则完成身份认证,应答者发送认证token给请
求者,同时,生成一对公私钥,并将公钥发送至请求者,以使得请求者基于公钥对传输数据进行加密。反之,若result为假,则将该设备id加入黑名单或者拒绝数据通信,如果应答者是服务器则停止使用该节点设备。
[0092]
通过上述过程,完成设备之间的身份认证,才能建立信任链从而相互通信或控制。如果过程中出现超时、数据不匹配等错误,都将导致身份认证失败。
[0093]
在步骤103,数据发送方对所述待传输的明文数据进行分段,确定分段数据序列;其中,所述分段数据序列包括至少一个分段数据。
[0094]
优选地,其中所述数据发送方对所述待传输的明文数据进行分段,确定分段数据序列,包括:
[0095]
数据发送方发送待传输的明文数据的数据类型和数据内容详情信息至数据接收方,以接收数据接收方基于所述数据类型和数据内容详情信息返回的数据重要等级系数;
[0096]
数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量;
[0097]
数据发送方基于所述分段数量进行分段,确定所述分段数据序列。
[0098]
优选地,其中所述数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量,包括:
[0099][0100]
其中,n为分段数量;m为预设分段数量;a为第一预设比例;b为第二预设比例;s为待传输的明文数据的数据重要等级系数;p为在过去预定时间段内数据接收方被攻击的次数;表示向上取整。
[0101]
在本发明中,数据发送方会确定待发送的明文数据的数据类型和数据内容详情信息,以使得数据接收方基于数据类型和数据内容详情信息返回数据重要等级系数。其中,数据类型可以为:文本、表格、视频、录音等;数据内容详情信息可以为不同的数据标识,基于不同的数据标识确定数据内容详情信息。例如,数据标识“aaa”表示资产信息,数据表示“bbb”表示业务信息等。对于数据重要等级系数,可以根据设置的多个重要等级确定,对于越重要的数据,重要等级越高,重要等级系数越大。
[0102]
另外,数据发送方还会统计在过去预定时间段(比如一天,一个月或者一年)内数据接收方被攻击的次数为m1,并将在过去预定时间段内数据接收方被攻击的次数和数据重要等级系数同时发送至数据发送方。然后,数据发送方利用公式计算分段数量,并基于确定的分段数据对明文数据进行分段,从而确定分段数据序列。
[0103]
在本发明中,可以设置重要等级系数的取值范围为1-2,以约束n的取值。另外,在计算分段数量时,若被攻击次数大于第一预设被攻击次数阈值,则将p按照第一预设被攻击次数阈值进行计算,若被攻击次数小于第二预设被攻击次数阈值,则将p按照第二预设被攻击次数阈值进行计算,以控制n的取值范围,从而避免当p过大或过小时,n过大或过小的情况出现,既能保证数据传输安全,又能保证数据传输速度。在步骤104,数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方。
[0104]
优选地,其中所述数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方,包括:
[0105]
数据发送方遍历所述分段数据序列,对于任一个分段数据,按照预设的拼接规则进行预设拼接字符和分段数据的拼接,以获取该任一个分段数据对应的拼接数据,确定拼接数据序列;
[0106]
数据发送方对所述拼接数据序列中所有的拼接数据进行随机混合,以获取混合数据,并基于任一个拼接数据在所述拼接数据序列中的第一位置信息和所述任一个拼接数据在所述混合数据中的第二位置信息建立位置映射关系;数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述混合数据进行加密,以获取第一密文数据,并基于第一链路将所述密文数据和令牌信息发送至数据接收方;
[0107]
数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述位置映射关系进行加密,以获取第二密文数据,并基于第二链路将所述第二密文数据发送至数据接收方。
[0108]
在本发明中,数据发送方sender遍历所述分段数据序列,按照“预设拼接字符+分段数据”的方式获取每个分段数据对应的拼接数据。然后,将所有的拼接数据进行随机混和,确定混合数据,同时建立位置映射关系。例如,假设分段数据序列为《a,b,c,d》,预设拼接字符为#,则拼接数据序列为《#a,#b,#c,#d》。若进行随机混合后的混合数据为“#b#c#a#d”,则可以确定位置映射关系为:1-》2,2-》3,3-》1,4-》4,其中,
“‑
》”后的数字表示拼接数据在混合数据中的位置,
“‑
》”前的数字表示拼接数据在拼接数据序列中的位置。基于位置映射关系,可以基于混合数据反推出拼接数据序列。
[0109]
然后,利用内置的第一可信密码模块tcm1基于所述公钥信息分别对所述混合数据和位置映射关系进行加密,以获取第一密文数据和第二密文数据;最后,基于第一链路将所述密文数据发送至数据接收方,基于第二链路将所述第二密文数据发送至数据接收方。
[0110]
在步骤105,数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据。
[0111]
优选地,其中所述数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据,包括:
[0112]
数据接收方对所述令牌信息进行校验,确定校验结果;
[0113]
当所述校验结果指示所述令牌信息通过校验时,数据接收方利用内置的第二可信密码模块tcm2基于与所述公钥信息对应的私钥信息分别对所述第一密文数据和第二密文数据进行解密,获取所述混合数据和位置映射关系;
[0114]
数据接收方基于所述位置映射关系对所述混合数据中的拼接数据进行排序,以确定所述拼接数据序列;
[0115]
数据接收方遍历所述拼接数据序列,并按照预设的拼接规则对任一个拼接数据进行拆分,以确定所述分段数据序列;
[0116]
数据接收方遍历所述分段数据序列中的分段数据并进行数据重组,以获取所述明文数据。
[0117]
在本发明中,首先,数据接收方基于第一链路获取令牌信息和第一密文数据,基于第二链路获取第二密文数据。然后,数据接收方对所述令牌信息进行校验,若通过校验,则利用内置的第二可信密码模块tcm2基于与所述公钥信息对应的私钥信息分别对所述第一密文数据和第二密文数据进行解密,获取所述混合数据和位置映射关系。然后,基于所述位置映射关系和混合数据,确定拼接数据序列。然后,按照“预设拼接字符+分段数据”的方式依次对拼接数据序列中的每个拼接数据进行拆分,从而得到分段数据序列。最后,遍历分段数据序列中所有的分段数据进行数据重组,以获取所述明文数据。
[0118]
在本发明中,可以基于包含tcm的数据传输终端实现数据传输,弃用了传统用在计算机中的可信安全芯片,而针对物联网感知层的低功耗、低算力等特点,选择基于国产集成有sm1/sm2/sm3/sm4/sm7国密算法及密钥存储区域的加密算法芯片用作密码模块核心部件,并创新设计了硬件电路模块,在数据传输终端的控制单元中,通过c语言编写新的可安全机制算法,实现数据传输过程中的加密解密传输,从而以该tcm为核心通过移植可信安全机制到终端中,发明了基于定制国产tcm的数据传输终端设备。
[0119]
如图3所示,数据传输终端包括:

电源模块,

可信密码模块(tcm),

以太网转串口模块,

嵌入式处理器模块,

rs485模块。电源模块采用dc-dc直流电压转换器芯片及外围电路构成,电源模块输入电压9至36vdc,输出电压dc3.3v给其他模块供电。嵌入式处理器模块由gd32f1系列arm芯片及外围电路构成,用作中央处理器单元,控制数据的加解密过程,及上、下级数据通信机制管理。可信密码模块(tcm):国产可用于可信计算的硬件加密芯片及外围电路构成,通过iic或spi与嵌入式处理器进行通信,通过一次性烧录在芯片中的密钥对和处理器传输过来的公钥,对数据进行加解密操作,返回结果给处理器该模块采用以32位安全处理器为基础的具有高性能高安全性的国密算法加密产品。芯片满足商密安全检测标准gm/t 0008-2012《安全芯片密码检测标准》安全等级第二级,具有高速通讯接口iic和spi、拥有32k ram,64k字节文件密钥区。支持国密sm1/sm2/sm3/sm4/sm7算法,同时支持rsa、sha、aes、3des较高安全等级加密算法,具有高性能低功耗的特点。以太网转串口模块将rj45网口传输过来的tcp/ip协议数据转换成ttl信号数据与嵌入式处理器进行串口数据交互;嵌入式处理器模块用作控制单元,控制数据的加解密过程,及上、下级数据通信机制管理;rs485模块用于传感器与嵌入式处理器之间的数据交互。
[0120]
其中,所述加密算法由可信密码模块完成,数据传输终端传输的数据协议为modbus协议,当控制单元的串口1接收到来自以太网转串口模块的已加密的数据req时,控制单元将数据req通过iic或spi总线发送到tcm并等待执行,tcm执行解密计算之后,将解密后的数据reqer同样通过iic或spi返回给控制单元,控制单元完成数据的排序拆解重组,随即,控制单元将reqer通过串口2发送到rs485模块。连接到rs485模块上的传感器接收到reqer数据之后,做出响应,按照指令返回对应的数据res给rs485模块。随即,控制单元的串口2接收到传感器通过rs485模块返回的数据res时,控制单元将数据res通过iic或spi总线发送到tcm并等待执行,tcm执行加密计算之后,将加密后的数据rescr同样通过iic或spi返回给控制单元,控制单元完成加密操作,随即,控制单元将rescr通过串口1发送到以太网转串口模块,最终,通过以太网将传感器返回的被加密的数据给核心网,完成一次完整modbus协议的数据交互过程。本发明在数据通信方面增加了数据加解密功能,硬件电路上增加了可信加密模块。
[0121]
为了达到物联网感知层数据安全传输的目的,本专利采用了专用的硬件加密芯片,控制单元只需将数据通过iic或spi接口发送到硬件加密芯片,即可毫秒级返回加解密的数据,专用硬件加密芯片有指定的密钥安全存储区域,保证了密钥的安全,以此大幅度提升安全性能从而达到目的。
[0122]
在替代方案方面,可信密码模块中目前可替代的相同功能算法的国产硬件加密芯片较少,只能用1到2种加密算法替代,但与本专利偏差较大;电源模块可用相似功能dcdc芯片替代,需保障输出电压为3.3v,输出电流大于0.5a;嵌入式处理器模块可由其他支持双串口,io数量大于8的8至32处理器替换、以太网转串口ttl模块可由他相似功能的soc芯片及外围电路替代。
[0123]
图4为根据本发明实施方式的数据传输系统400的结构示意图。如图4所示,本发明实施方式提供的数据传输系统400,包括:身份认证单元401、信息接收单元402、数据分段单元403、密文数据确定单元404和明文数据确定单元405。
[0124]
优选地,所述身份认证单元401,用于使数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证。
[0125]
优选地,其中所述身份认证单元401,使数据发送方将包括数字签名和身份标识符的身份认证请求发送至数据接收方,以使得所述数据接收方基于所述身份认证请求对所述数据发送方进行身份认证,包括:
[0126]
数据发送方将数字签名和身份标识符发送至数据接收方;
[0127]
数据接收方利用内置的第二可信密码模块tcm2,基于所述数字签名和身份标识符生成随机数口令challenge,并将所述随机数口令challenge发送至数据发送方;
[0128]
数据发送方利用内置的第一可信密码模块tcm1基于所述随机数口令challenge进行加密计算,获取回复response,并将所述回复response发送至数据接收方;
[0129]
数据接收方利用内置的第二可信密码模块tcm2对所述回复response进行解密计算,获取解密值r,并验证所述解密值r和response是否一致,获取验证结果;
[0130]
当所述验证结果指示一致时,确定通过身份认证,发送令牌信息token至数据发送方。
[0131]
优选地,所述信息接收单元402,用于使数据发送方接收所述数据接收在确定身份认证通过后发送的令牌信息和公钥信息。
[0132]
优选地,所述数据分段单元403,用于使数据发送方对所述待传输的明文数据进行分段,确定分段数据序列;其中,所述分段数据序列包括至少一个分段数据。
[0133]
优选地,其中所述数据分段单元403,使数据发送方对所述待传输的明文数据进行分段,确定分段数据序列,包括:
[0134]
数据发送方发送待传输的明文数据的数据类型和数据内容详情信息至数据接收方,以接收数据接收方基于所述数据类型和数据内容详情信息返回的数据重要等级系数;
[0135]
数据发送方基于所述数据重要等级系数和数据接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量;
[0136]
数据发送方基于所述分段数量进行分段,确定所述分段数据序列。
[0137]
优选地,其中所述数据分段单元,数据发送方基于所述数据重要等级系数和数据
接收方返回的在过去预定时间段内数据接收方被攻击的次数确定分段数量,包括:
[0138][0139]
其中,n为分段数量;m为预设分段数量;a为第一预设比例;b为第二预设比例;s为待传输的明文数据的数据重要等级系数;p为在过去预定时间段内数据接收方被攻击的次数;表示向上取整。
[0140]
优选地,所述密文数据确定单元404,用于使数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方。
[0141]
优选地,其中所述密文数据确定单元404,使数据发送方基于所述分段数据序列确定第一密文数据和第二密文数据,并将所述令牌信息、第一密文数据和第二密文数据发送至所述数据接收方,包括:
[0142]
数据发送方遍历所述分段数据序列,对于任一个分段数据,按照预设的拼接规则进行预设拼接字符和分段数据的拼接,以获取该任一个分段数据对应的拼接数据,确定拼接数据序列;
[0143]
数据发送方对所述拼接数据序列中所有的拼接数据进行随机混合,以获取混合数据,并基于任一个拼接数据在所述拼接数据序列中的第一位置信息和所述任一个拼接数据在所述混合数据中的第二位置信息建立位置映射关系;数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述混合数据进行加密,以获取第一密文数据,并基于第一链路将所述密文数据和令牌信息发送至数据接收方;
[0144]
数据发送方利用内置的第一可信密码模块tcm1,基于所述公钥信息对所述位置映射关系进行加密,以获取第二密文数据,并基于第二链路将所述第二密文数据发送至数据接收方。
[0145]
优选地,所述明文数据确定单元405,用于使数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据。
[0146]
优选地,其中所述明文数据确定单元405,使数据接收方基于所述令牌信息、第一密文数据、第二密文数据和与所述公钥信息对应的私钥信息,确定所述分段数据序列,并基于所述分段数据序列进行分段数据的重组,以获取所述明文数据,包括:
[0147]
数据接收方对所述令牌信息进行校验,确定校验结果;
[0148]
当所述校验结果指示所述令牌信息通过校验时,数据接收方利用内置的第二可信密码模块tcm2基于与所述公钥信息对应的私钥信息分别对所述第一密文数据和第二密文数据进行解密,获取所述混合数据和位置映射关系;
[0149]
数据接收方基于所述位置映射关系对所述混合数据中的拼接数据进行排序,以确定所述拼接数据序列;
[0150]
数据接收方遍历所述拼接数据序列,并按照预设的拼接规则对任一个拼接数据进行拆分,以确定所述分段数据序列;
[0151]
数据接收方遍历所述分段数据序列中的分段数据并进行数据重组,以获取所述明文数据。
[0152]
本发明的实施例的数据传输系统400与本发明的另一个实施例的数据传输方法100相对应,在此不再赘述。
[0153]
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
[0154]
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
[0155]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0156]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0157]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0158]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0159]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1