CN117176384A - 基于国产化数据分发服务的tsn网络数据安全传输的方法 - Google Patents
基于国产化数据分发服务的tsn网络数据安全传输的方法 Download PDFInfo
- Publication number
- CN117176384A CN117176384A CN202310876711.4A CN202310876711A CN117176384A CN 117176384 A CN117176384 A CN 117176384A CN 202310876711 A CN202310876711 A CN 202310876711A CN 117176384 A CN117176384 A CN 117176384A
- Authority
- CN
- China
- Prior art keywords
- data
- dds
- signature
- tsn
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012795 verification Methods 0.000 claims abstract description 83
- 238000004891 communication Methods 0.000 claims abstract description 64
- 230000006978 adaptation Effects 0.000 claims description 77
- 230000008569 process Effects 0.000 claims description 19
- 230000004807 localization Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 208000025697 familial rhabdoid tumor Diseases 0.000 abstract description 6
- 238000005538 encapsulation Methods 0.000 abstract 1
- 230000007246 mechanism Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于国产化数据分发服务的TSN网络数据安全传输的方法,属于分布式通信领域。本发明对DDS协议的通信方式进行国产化深度定制,发布端通过自定义DDS的QoS进行TSN传输总线和OpenSSL数据传输签名加密方式进行设置,实现将DDS传输数据内容按照RTPS规范进行封装,使用QoS配置后的TSN网络总线IP地址及使用的传输通道,将还有签名和加密后的数据发布出去;订阅端根据DDS的QoS设置,将开启对应的TSN网络总线IP地址及使用的传输通道,将订阅到的数据接收,并通过QoS设置的签名和加密,对数据进行签名验证和数据解密,让数据无法窃听、篡改和虚假发布,保证数据传输的安全性,再将解密验证成功后的数据交由DDS协议进行数据的订阅。
Description
技术领域
本发明属于分布式通信领域,具体涉及一种基于国产化数据分发服务的TSN网络数据安全传输的方法。
背景技术
DDS(Data Distribution Service)是数据分发服务,它是由OMG(对象管理组织,Object Management Group)定义,基于DCPS(Data-Centric Publ ish-Subscribe,以数据为中心的发布订阅)模型的一种中间件协议和API标准,该规范突出了以数据为中心、模块间松耦合等技术特征,非常适合于开放性和动态性较强的分布式应用系统,它将系统的组件集成在一起,提供业务和任务应用程序所需的低延迟数据连接、极高的可靠性和可扩展性。
在分布式系统中,国产化DDS中间件是位于操作系统和应用程序之间的软件层。它使系统的各个组件能够更轻松地通信和共享数据。它让软件开发人员只专注于其应用程序的特定,而不用在应用程序和系统之间传递信息的机制来简化分布式系统的开发。
TSN是一组IEEE标准,旨在通过以太网提供对时间敏感的数据传输,非常适合需要以确定性方式发送周期性信息的实时系统的通信要求。TSN可以为以前无法在以太网上运行的全新应用程序提供实时通信的基础。
TSN提供了一项出色的技术,可以通过以太网传递实时数据。它允许定义每个流的时序要求,并配置网络路径(包括交换机)以确保满足要求。它还为不同的数据流提供隔离,因此实时流量不会受到同一网络上发生的其他通信的干扰。但是,由于该技术在配置堆栈中处于较低级别,因此应用程序必须配置流,数据包大小,频率,优先级,网络端点等。
DDS与TSN都是为时间敏感的应用而设计的。两者都是横向标准,适用于许多垂直市场。软件组件使用DDS定义的数据类型和服务质量(QoS)策略,如延迟、传输优先级、资源限制,这些限制直接映射到配置TSN网络所需的参数,这样极大的提高了数据传输效率。
由于DDS数据在TSN网络传输使用RTPS协议传输,传输过程中,数据会被未授权的用户截获窃听、篡改、接收虚假发布数据,如果敏感的数据被窃听、篡改,或者接收到虚假的发布数据,给网络数据带来极大的安全隐患,结果可能灾难性的。
引入OpenSSL提供了保护数据机密性的机制,通过非对称加密算法RSA,实现数据的签名验证、数据内容保护,保证数据无法窃听、篡改和虚假发布。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于国产化数据分发服务的TSN网络数据安全传输的方法,以解决DDS数据在TSN网络传输使用RTPS协议传输,传输过程中,数据会被未授权的用户截获窃听、篡改、接收虚假发布数据,如果敏感的数据被窃听、篡改,或者接收到虚假的发布数据,给网络数据带来极大的安全隐患的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于国产化数据分发服务的TSN网络数据安全传输的方法,该方法包括:通过TSN物理网络,将发布端和订阅端设备进行连接,实现TSN物理传输;在软件部分,发布端与订阅端包括6个模块,分别是国产化DDS协议层、DDS通信适配层、数据签名加密层、TSN网络适配层、TSN网络总线层和QoS配置模块;
国产化DDS协议层,用于封装标准的DDS中间件协议;
QoS配置模块,用于配置对等的签名方式、签名密钥、加密方式、加密密钥、启用TSN网络、TSN网络地址,保证发布端和订阅端配置一致;
发布端与订阅端的其他模块介绍如下:
DDS通信适配层,实现国产化DDS协议层发布数据的获取,并根据QoS配置,将DDS协议层数据转换为DDS原始数据,将DDS原始数据发送到数据签名加密层;
数据签名加密层,根据QoS的配置,实现将DDS原始数据进行签名和数据加密;;
TSN网络适配层,实现数据签名加密层的数据的自定义方式重新打包,并根据数据使用TSN网络的QoS配置,将自定义方式重新打包的数据发送到TSN网络总线层,或者使用DDS默认传输方式;
TSN网络总线层,用于TSN硬件网络设备与软件层进行通信;发布端将TSN格式的数据发送到TSN网络传输设备,TSN网络传输设备会根据TSN网络总线层指定的地址,将数据发送到订阅端设备中;
接下来,根据订阅端模块接收数据的流向,对接收过程模块功能描述如下:
TSN网络总线层,用于TSN硬件网络设备与软件层进行通信;接收端通过TSN网络传输设备,将接收到的发布端发送的TSN格式数据,转发到TSN网络适配层,进行进一步的解析;
TSN网络适配层,根据QoS配置,实现将自定义方式重新打包格式的数据进行解析,获取到签名数据、加密数据,或者DDS原始数据;
数据签名加密层,根据QoS的配置,实现将DDS原始数据进行签名验证和数据解密功能的模块;
DDS通信适配层,根据QoS配置,实现将数据签名加密层解析出来的DDS原始数据,转换成国产化DDS订阅格式的数据,并将国产化DDS订阅格式数据,传递到国产化DDS协议层,完成数据的接收订阅功能。
(三)有益效果
本发明提出一种基于国产化数据分发服务的TSN网络数据安全传输的方法,本发明基于OSI网络模型设计,一是在传统网络设备中,只使用DDS本身的QoS配置,无法突破硬件设备的传输实时性和吞吐量的限定,通过本发明,将TSN物理传输方式引入,基于TSN网络在物理层的实时性和吞吐量传输的优势,极大的提高的DDS在传统网络中数据传输的实时性、时效性和数据吞吐量。二是将DDS模块、TSN传输模块、OpenSSL安全模块独立设计,降低模块之间的耦合度,层次清楚便于开发和维护。三是使用DDS标准的QoS配置方式,在可以灵活的配置是否开启TSN网络、是否开启网络安全传输模块,也可以通过QoS配置使用DDS默认的传输方式,只用简单配置QoS参数既可以实现上述功能,极大的降低了开发和使用难度。
本发明提出一种基于国产化数据分发服务的TSN网络数据安全传输的方法,由于DDS协议位于OSI网络模型的应用层,为了提高DDS发布订阅的实时性和吞吐量,仅仅通过原有的QoS策略,无法突破传统以太网的数据传输的实时性和吞吐量限制;而TSN网络传输设备恰好处于OSI网络模型的数据链路层和物理层,也恰好是针对时间敏感的数据传输设计的,所以本发明为了提高数据传输的实时性和吞吐量,将原有的以太网通信设备替换成TSN网络设备,将极大的提高DDS数据通信的实时性和吞吐量。
在数据传输安全性方面,由于DDS数据在TSN网络传输使用RTPS协议传输,传输过程中,数据会被未授权的用户截获窃听、篡改、接收虚假发布数据,如果敏感的数据被窃听、篡改,或者接收到虚假的发布数据,给网络数据带来极大的安全隐患,结果可能灾难性的。本发明引入OpenSSL提供了保护数据机密性的机制,通过非对称加密算法RSA,实现数据的签名验证、数据内容保护,保证数据无法窃听、篡改和虚假发布,彻底解决数据传输的安全性问题。
附图说明
图1为本发明基于DDS的TSN网络数据安全传输模型;
图2为DDS发布端TSN数据安全传输流程图;
图3为DDS订阅端TSN数据安全传输流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明要解决的技术问题是如何提供一种基于国产化数据分发服务的TSN网络数据安全传输的方法,以解决国产化DDS中间件,如何通过TSN网络数据通信,达到高效、实时、多并发的传输,并提供数据在传输过程中,防止被窃听、篡改和虚假发布的安全机制的方法。
本发明基于DDS协议、TSN网络通信总线及OpenSSL数据传输签名加密方式,在保证数据传输安全的基础上,提供快速进行发布、订阅模式的数据传输的方法,提高了DDS传输的实时性和安全性。在TSN的网络通信总线硬件平台基础上,对DDS协议的通信方式进行国产化深度定制,发布端通过自定义DDS的QoS进行TSN传输总线和OpenSSL数据传输签名加密方式进行设置,实现将DDS传输数据内容按照RTPS规范进行封装,使用QoS配置后的TSN网络总线IP地址及使用的传输通道,将还有签名和加密后的数据发布出去;订阅端根据DDS的QoS设置,将开启对应的TSN网络总线IP地址及使用的传输通道,将订阅到的数据接收,并通过QoS设置的签名和加密,对数据进行签名验证和数据解密,让数据无法窃听、篡改和虚假发布,保证数据传输的安全性,再将解密验证成功后的数据交由DDS协议进行数据的订阅。
为了解决上述技术问题,本发明提出一种基于国产化数据分发服务的TSN网络数据安全传输的方法,该方法参考OSI网络模型,在国产化DDS协议基础上,为了提高传输效率,分别对发布端、订阅端的数据通信采用TSN网络传输,并对传输的数据使用OpenSSL模块,对数据进行签名和加密,防止数据被窃听、篡改和虚假发布。
发布端与订阅端设备通过TSN网络设备进行连接。
发布端与订阅端包括6个模块,分别是国产化DDS协议层、DDS通信适配层、数据签名加密层、TSN网络适配层、TSN网络总线层和QoS配置模块。
DDS发送数据时,通过DDS通信适配层和QoS配置模块,先将TSN网络开启,将数据接入数据签名加密层,实现数据内容的签名和加密,再将签名加密的数据转入TSN网络适配层,按照TSN网络发送接口进行数据的发送,通过TSN网络总线层将TSN数据发送到TSN网络中。
DDS接收数据时,通过DDS通信适配层和QoS配置模块,开启TSN网络,接收到TSN网络物理层数据,传入TSN总线层,然后在TSN网络适配层进行数据的接收,通过QoS配置模块的签名和密钥配置,在数据签名加密层进行数据的签名验证和数据解密,签名验证和解密成功后,将数据发送到DDS通信适配层,最后传入国产化DDS协议层,实现数据的接收功能。
发布端与订阅端可以通过DDS自定义的QoS进行TSN网络的配置,配置通信所需的TSN网络的地址。
发布端与订阅端可以通过DDS自定义的QoS进行数据签名、数据签名验证、数据加密和数据解密的密钥配置。
进一步地,QoS可以配置是否启用数据签名或数据签名验证功能,在数据签名加密层判断是需要进行数据签名或数据签名验证。
进一步地,QoS可以配置数据签名密钥或数据签名验证密钥信息,在数据签名加密层进行数据签名或数据签名验证。
进一步地,QoS可以配置数据加密或数据解密功能,在数据签名加密层判断是否需要进行数据加密或数据解密;
进一步地,QoS可以配置数据加密或数据解密密钥信息,在数据签名加密层进行数据加密或数据解密。
进一步地,数据签名加密层,为了保证数据的安全性,数据通过RSA加密方式进行数据签名、数据签名验证、数据加密和数据解密。
进一步地,实现安全发送DDS数据采用的签名和数据加密的过程如下:
S11、发布端设备当国产化DDS协议层要发送数据,会将数据发送到DDS通信适配层,DDS通信适配层通过QoS的配置参数,获取到是否要启用TSN网络;
S12、当启用TSN网络,DDS通信适配层会将DDS数据发给数据签名加密层;
S13、数据签名加密层收到DDS数据,调用QoS配置,判断是否启用签名功能、数据加密功能;
S14、当启用数据签名功能,数据签名加密层将DDS数据进行RSA签名;否则不进行数据签名功能;
S15、当启用数据加密功能,数据签名加密层将DDS数据进行RSA所有数据进行加密;否则不进行数据加密;
S16、签名和加密完成后,数据签名加密层,将签名数据内容和加密数据内容按照数据传输格式,组成新的数据,然后将数据发给TSN网络适配层;
S17、TSN网络适配层将签名加密的数据调用TSN网络传输接口,获取QoS的网络地址,将数据发送到接收端TSN物理设备中。
进一步地,实现安全接收DDS数据签名验证和数据解密的过程如下:
S21、订阅端读取QoS的配置参数,获取TSN网络地址配置,开启接收设备的TSN物理网络,并接收到TSN数据,将接收到的数据发送到TSN网络适配层;
S22、TSN网络适配层再通过TSN数据接收接口,将TSN数据发送到数据签名加密层;
S23、数据签名加密层通过QoS的配置信息,判断是否启用签名验证功能、数据解密功能;
S24、通过QoS签名验证、数据解密的配置,将TSN数据拆分成签名数据、加密两部分;
S25、当启用数据签名验证功能,数据签名加密层将签名数据进行RSA签名验证,如果签名验证失败,说明数据被篡改,不能使用,然后丢弃数据,返回S1操作;如果通过验证,则进行下一步骤;
S26、签名验证成功后,进行数据解密操作,当启用数据解密功能,数据签名加密层将加密的数据进行RSA数据解密,如果解密失败,说明数据被篡改,不能使用,然后丢弃数据,返回S1操作;如果解密成功,数据就还原为原始DDS数据,则进行下一步骤;
S27、数据解密成功后,DDS数据通信适配层将解密后的DDS数据发送到国产化DDS协议层,完成TSN数据的签名验证和解密流程。
实施例1:
本发明的目的是提出一种基于国产化数据分发服务的TSN网络数据安全传输的方法,本发明在提高数据传输效率的基础上,同时保证了数据传输的安全性。通过DDS与TSN的组合,基于OSI网络模型,提升了数据及时性、确定性,再通过OpenSSL,将数据进行签名和数据加密,保证了数据传输的安全性问题。
如图1是本发明的网络系统模型图,网络模型参考OSI网络模型,通过TSN物理网络,将发布端和订阅端设备进行连接,实现TSN物理传输;在软件部分实现QoS配置、国产化DDS协议层、DDS通信适配层、数据签名加密层、TSN网络适配层、TSN网络总线层模块6个部分。
国产化DDS协议层,主要用于封装标准的DDS中间件协议。DDS(Data DistributionService)是数据分发服务,它是由OMG(对象管理组织,Object Management Group)定义,基于DCPS(Data-Centric Publ ish-Subscribe,以数据为中心的发布订阅)模型的一种中间件协议和API标准,在分布式系统中,DDS中间件是位于操作系统和应用程序之间的软件层。
QoS配置模块,用于配置对等的签名方式、签名密钥、加密方式、加密密钥、启用TSN网络、TSN网络地址,保证发布端和订阅端配置一致。在运行发布程序、订阅程序时,都使用TSN网络进行数据传输;在签名和签名验证过程时,采用相同的密钥;在加密和解密数据时,采用相同的密钥。
发布端与订阅端的国产化DDS协议层、QoS配置模块功能一致,接下来根据数据流向,分别对发布端和订阅端其他模块进行功能描述。
发布端发送过程模块功能描述如下:
DDS通信适配层,实现国产化DDS协议层发布数据的获取,并根据QoS配置,将DDS协议层数据转换为DDS原始数据,将DDS原始数据发送到数据签名加密层。
数据签名加密层,根据QoS的配置,实现将DDS原始数据进行签名和数据加密功能的模块。发布端从QoS配置中获取是否进行签名,如果签名,则调用OpenSSL的RSA非对称加密方式进行数据签名,得到签名数据;签名完成后,再从QoS配置中获取是否进行加密,如果加密,则调用OpenSSL的RSA非对称加密方式对DDS原始数据进行加密操作,得到加密数据内容;如果不需要签名和加密,则直接将DDS原始数据发到TSN网络适配层。
TSN网络适配层,实现数据签名加密层的数据的自定义方式重新打包,并根据数据使用TSN网络的QoS配置,将自定义方式重新打包的数据发送到TSN网络总线层,或者使用DDS默认传输方式。首先,发布端得到数据签名加密层的数据,将数据按照自定义方式重新打包。然后,通过QoS配置,判断是否是使用TSN网络,如果使用TSN网络,调用TSN发送API接口,将自定义方式重新打包的数据发送到TSN网络总线层;如果未使用TSN网络,则直接调用DDS默认传输方式API接口发送。
TSN网络总线层,这层主要是TSN硬件网络设备与软件层进行通信的模块。发布端将TSN格式的数据发送到TSN网络传输设备,TSN网络传输设备会根据TSN网络总线层指定的地址,将数据发送到订阅端设备中。
接下来,根据订阅端模块接收数据的流向,对接收过程模块功能描述如下:
TSN网络总线层,这层主要是TSN硬件网络设备与软件层进行通信的模块。接收端通过TSN网络传输设备,将接收到的发布端发送的TSN格式数据,转发到TSN网络适配层,进行进一步的解析。
TSN网络适配层,根据QoS配置,实现将自定义方式重新打包格式的数据进行解析,获取到签名数据、加密数据,或者DDS原始数据。首先,根据QoS配置,判断是否进行了签名和加密操作,如果使用,则将自定义方式重新打包格式的数据进行解析获取到签名数据、加密数据;如果未使用签名和加密操作,则直接获取到DDS原始数据。如果解析成功后,将数据发送到数据签名加密层;如果解析失败,则表示数据不是合法数据,丢弃数据,接收流程终止。
数据签名加密层,根据QoS的配置,实现将DDS原始数据进行签名验证和数据解密功能的模块。订阅端收到TSN网络适配层发送过来的数据后,从QoS配置中获取是否进行签名验证和解密操作,如果需要,首先进行解密操作,调用OpenSSL的RSA非对称加密方式进行解密操作,获取原始的DDS数据;接着进行签名验证,调用OpenSSL的RSA非对称加密方式进行数据签名验证,得到验证结果,判断是否被篡改。如果签名验证或解密通过,获取到DDS原始数据,将获取到DDS原始数据发送到DDS通信适配层;如果签名验证或解密失败,表示数据异常,丢弃数据,接收流程终止。如果不进行签名验证和解密操作,则直接将TSN网络适配层发送的DDS原始数据交给DDS通信适配层。
DDS通信适配层,根据QoS配置,实现将数据签名加密层解析出来的DDS原始数据,转换成国产化DDS订阅格式的数据,并将国产化DDS订阅格式数据,传递到国产化DDS协议层,完成数据的接收订阅功能。
图2是DDS发布端TSN数据安全传输流程图,如图2所示,在DDS数据发布过程中,详细描述了DDS使用TSN网络和OpenSSL安全高效传输流程,具体流程如下。
S31、启动国产化DDS模块,使用DDS标准接口
DDS_DomainPart icipantFactory_create_participant()启动国产化DDS模块后,进行QoS的配置读取;
S32、从QoS配置中读取是否启用TSN的配置、是否启用签名加密的配置。如果启用TSN的配置,则对TSN模块开启创建操作,使用
CreateTsnTransportPlugin()接口启动TSN网络;如果启用签名加密的配置,则对OpenSSL进行初始化操作,使用GetSignPriKey()和GetSignPubKey()接口获得公钥和私钥,并存储到发布端程序中;如果未启用TSN的配置和签名加密的配置,则采用默认的国产化DDS传输流程;
S33、QoS读取完成后,使用国产化DDS模块的标准接口
DDS_DomainPart icipant_create_datawriter(),创建并开启发布模块,进行数据的发布功能;发布模块为DDS模块的标准接口;
S34、发布数据时,进入DDS通信适配层,判断是否启用签名加密方式。如果启用签名加密方式,则对发布的DDS数据先进行签名,得到签名数据;然后对发布的DDS数据进行加密,得到加密的数据,执行步骤S35;如果没有启用签名加密方式,直接进入S36步骤;
S35、接下来将签名的数据与加密的数据按照特定的格式组织成一段新的数据;
S36、判断是否启用TSN网络,如果启用TSN网络,则使用TSN网络,调用TSN网络发送接口,将数据发送出去;如果未启用TSN网络,则按DDS默认通信方式将数据发送出去。
图3是DDS订阅端TSN数据安全传输流程图,如图3所示,在DDS数据订阅过程中,详细描述了使用TSN网络和OpenSSL安全高效传输流程,具体流程如下。
S41、启动DDS模块,使用DDS标准接口
DDS_DomainPart icipantFactory_create_participant()启动DDS模块后,进行QoS的配置读取;
S42、从QoS配置中读取是否启用TSN的配置、是否启用签名加密的配置。如果启用TSN的配置,则对TSN模块开启创建操作,使用
CreateTsnTransportPlugin()接口启动TSN网络;如果启用签名加密的配置,则对OpenSSL进行初始化操作,使用GetSignPriKey()和GetSignPubKey()接口获得公钥和私钥,并存储到发布端程序中;如果未启用TSN的配置和签名加密的配置,则采用默认的国产化DDS传输流程;
S43、QoS读取完成后,使用国产化DDS模块的标准接口
DDS_DomainPart icipantFactory_create_participant(),创建并开启订阅模块,进行数据的订阅功能;订阅模块为DDS模块的标准接口;
S44、开启TSN网络数据接收功能,接收发布端发送过来的TSN数据;
S45、接收到TSN数据后,进行TSN数据解析,解析出签名数据和加密数据内容;
S46、接着进行加密数据的解密操作,如果解密成功,进入步骤S47,否则认为数据被篡改或异常数据,丢弃此数据,重新进入步骤S44;
S47、数据解密成功后,进行将解密数据进行签名验证,如果签名验证成功,表示数据未被篡改,解密与签名验证成功,进入下一步S48操作;如果签名验证失败,数据可能被篡改或异常数据,丢弃此数据,重新进入步骤S44;
S48、解密后的加密数据,即发布端发送的DDS原始数据,将解密后的加密数据放入国产化DDS模块的标准接口的订阅模块的接收接口,完成DDS订阅操作。
本发明基于OSI网络模型设计,一是在传统网络设备中,只使用DDS本身的QoS配置,无法突破硬件设备的传输实时性和吞吐量的限定,通过本发明,将TSN物理传输方式引入,基于TSN网络在物理层的实时性和吞吐量传输的优势,极大的提高的DDS在传统网络中数据传输的实时性、时效性和数据吞吐量。二是将DDS模块、TSN传输模块、OpenSSL安全模块独立设计,降低模块之间的耦合度,层次清楚便于开发和维护。三是使用DDS标准的QoS配置方式,在可以灵活的配置是否开启TSN网络、是否开启网络安全传输模块,也可以通过QoS配置使用DDS默认的传输方式,只用简单配置QoS参数既可以实现上述功能,极大的降低了开发和使用难度。
实施例2:
一种基于国产化数据分发服务的TSN网络数据安全传输的方法,该方法参考OSI网络模型,在DDS协议基础上,使用国产化DDS协议中间件模块,为了提高传输效率,分别对发布端、订阅端的数据通信采用TSN网络传输,并对传输的数据进行签名加密,防止数据被窃听、篡改和虚假发布。
所述发布端与订阅端包括6个模块,分别是国产化DDS协议层、DDS通信适配层、数据签名加密层、TSN网络适配层、TSN网络总线层、QoS配置模块;
所述DDS发送数据时,通过DDS通信适配层和QoS配置模块,先将TSN网络开启,将数据接入数据签名加密层,实现数据内容的签名和加密,再将签名加密的数据转入TSN网络适配层,按照TSN网络发送接口进行数据的发送,通过TSN网络总线层将TSN数据发送到TSN网络中;
所述DDS接收数据时,通过DDS通信适配层和QoS配置模块,开启TSN网络,接收到TSN网络物理层数据,传入TSN总线层,然后在TSN网络适配层进行数据的接收,通过QoS配置模块的签名和密钥配置,在数据签名加密层进行数据的签名验证和数据解密,签名验证和解密成功后,将数据发送到DDS通信适配层,最后传入国产化DDS协议层,实现数据的接收功能。
进一步地,所述基于国产化DDS中间件框架,利用OpenSSL、TSN网络,实现DDS通信适配层,将DDS数据进行签名、签名验证、数据加密、数据解密、TSN数据发送、TSN数据接收功能。
进一步地,可以通过DDS自定义的QoS进行TSN网络的配置,配置通信所需的TSN网络的地址。
进一步地,可以通过DDS自定义的QoS进行数据签名、数据签名验证、数据加密和数据解密的密钥配置,其中包含:
所述的数据签名或数据签名验证可以通过QoS配置,是否开启签名功能,在数据签名加密层判断是需要进行数据签名或数据签名验证;
所述的数据签名密钥或数据签名验证密钥信息可以QoS配置,在数据签名加密层进行数据签名或数据签名验证;
所述的数据加密或数据解密可以通过QoS配置,是否开启数据加密功能,在数据签名加密层判断是需要进行数据加密或数据解密;
所述的数据加密或数据解密密钥信息可以通过QoS配置,在数据签名加密层进行数据加密或数据解密。
进一步地,可以通过TSN网络适配层的接口,将国产化DDS协议层数据按照签名、加密数据发送到TSN网络的另一端设备;也可以通过TSN网络适配层,接收TSN另一端设备发送过来的数据,然后将数据传入数据签名加密层,进行签名验证和数据解密,再将数据转给国产化DDS协议层。
进一步地,数据签名加密层,数据签名采用RSA加密方式进行签名和签名验证。
进一步地,数据签名加密层,数据通过RSA加密方式进行加密和解密。
进一步地,DDS数据签名和数据加密的过程如下:
S1、发布端设备当国产化DDS协议层要发送数据,会将数据发送到DDS通信适配层,DDS通信适配层通过QoS的配置参数,获取到是否要启用TSN网络;
S2、当启用TSN网络,DDS通信适配层会将DDS数据发给数据签名加密层;
S3、数据签名加密层收到DDS数据,调用QoS配置,判断是否启用签名功能、数据加密功能;
S4、当启用数据签名功能,数据签名加密层将DDS数据进行RSA签名;否则不进行数据签名功能;
S5、当启用数据加密功能,数据签名加密层将DDS数据进行RSA所有数据进行加密;否则不进行数据加密;
S6、签名和加密完成后,数据签名加密层,将签名数据内容和加密数据内容按照数据传输格式,组成新的数据,然后将数据发给TSN网络适配层;
S7、TSN网络适配层将签名加密的数据调用TSN网络传输接口,获取QoS的网络地址,将数据发送到接收端TSN物理设备中。
进一步地,实现安全接收DDS数据签名验证和数据解密的过程如下:
S1、订阅端读取QoS的配置参数,获取TSN网络地址配置,开启接收设备的TSN物理网络,并接收到TSN数据,将接收到的数据发送到TSN网络适配层;
S2、TSN网络适配层再通过TSN数据接收接口,将TSN数据发送到数据签名加密层;
S3、数据签名加密层通过QoS的配置信息,判断是否启用签名验证功能、数据解密功能;
S4、通过QoS签名验证、数据解密的配置,将TSN数据拆分成签名数据、加密两部分;
S4、当启用数据签名验证功能,数据签名加密层将签名数据进行RSA签名验证,如果签名验证失败,说明数据被篡改,不能使用,然后丢弃数据,返回S1操作;如果通过验证,则进行下一步骤;
S5、签名验证成功后,进行数据解密操作,当启用数据解密功能,数据签名加密层将加密的数据进行RSA数据解密,如果解密失败,说明数据被篡改,不能使用,然后丢弃数据,返回S1操作;如果解密成功,数据就还原为原始DDS数据,则进行下一步骤;
S6、数据解密成功后,DDS数据通信适配层将解密后的DDS数据发送到国产化DDS协议层,完成TSN数据的签名验证和解密流程。
进一步地,数据发送和接收,通过TSN硬件设备实现TSN数据的传输。
本发明提出一种基于国产化数据分发服务的TSN网络数据安全传输的方法,由于DDS协议位于OSI网络模型的应用层,为了提高DDS发布订阅的实时性和吞吐量,仅仅通过原有的QoS策略,无法突破传统以太网的数据传输的实时性和吞吐量限制;而TSN网络传输设备恰好处于OSI网络模型的数据链路层和物理层,也恰好是针对时间敏感的数据传输设计的,所以本发明为了提高数据传输的实时性和吞吐量,将原有的以太网通信设备替换成TSN网络设备,将极大的提高DDS数据通信的实时性和吞吐量。
在数据传输安全性方面,由于DDS数据在TSN网络传输使用RTPS协议传输,传输过程中,数据会被未授权的用户截获窃听、篡改、接收虚假发布数据,如果敏感的数据被窃听、篡改,或者接收到虚假的发布数据,给网络数据带来极大的安全隐患,结果可能灾难性的。本发明引入OpenSSL提供了保护数据机密性的机制,通过非对称加密算法RSA,实现数据的签名验证、数据内容保护,保证数据无法窃听、篡改和虚假发布,彻底解决数据传输的安全性问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,该方法包括:通过TSN物理网络,将发布端和订阅端设备进行连接,实现TSN物理传输;在软件部分,发布端与订阅端包括6个模块,分别是国产化DDS协议层、DDS通信适配层、数据签名加密层、TSN网络适配层、TSN网络总线层和QoS配置模块;
国产化DDS协议层,用于封装标准的DDS中间件协议;
QoS配置模块,用于配置对等的签名方式、签名密钥、加密方式、加密密钥、启用TSN网络、TSN网络地址,保证发布端和订阅端配置一致;
发布端与订阅端的其他模块介绍如下:
DDS通信适配层,实现国产化DDS协议层发布数据的获取,并根据QoS配置,将DDS协议层数据转换为DDS原始数据,将DDS原始数据发送到数据签名加密层;
数据签名加密层,根据QoS的配置,实现将DDS原始数据进行签名和数据加密;;
TSN网络适配层,实现数据签名加密层的数据的自定义方式重新打包,并根据数据使用TSN网络的QoS配置,将自定义方式重新打包的数据发送到TSN网络总线层,或者使用DDS默认传输方式;
TSN网络总线层,用于TSN硬件网络设备与软件层进行通信;发布端将TSN格式的数据发送到TSN网络传输设备,TSN网络传输设备会根据TSN网络总线层指定的地址,将数据发送到订阅端设备中;
接下来,根据订阅端模块接收数据的流向,对接收过程模块功能描述如下:
TSN网络总线层,用于TSN硬件网络设备与软件层进行通信;接收端通过TSN网络传输设备,将接收到的发布端发送的TSN格式数据,转发到TSN网络适配层,进行进一步的解析;
TSN网络适配层,根据QoS配置,实现将自定义方式重新打包格式的数据进行解析,获取到签名数据、加密数据,或者DDS原始数据;
数据签名加密层,根据QoS的配置,实现将DDS原始数据进行签名验证和数据解密功能的模块;
DDS通信适配层,根据QoS配置,实现将数据签名加密层解析出来的DDS原始数据,转换成国产化DDS订阅格式的数据,并将国产化DDS订阅格式数据,传递到国产化DDS协议层,完成数据的接收订阅功能。
2.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,所述发布端的数据签名加密层中,发布端从QoS配置中获取是否进行签名,如果签名,则调用OpenSSL的RSA非对称加密方式进行数据签名,得到签名数据;签名完成后,再从QoS配置中获取是否进行加密,如果加密,则调用OpenSSL的RSA非对称加密方式对DDS原始数据进行加密操作,得到加密数据内容;如果不需要签名和加密,则直接将DDS原始数据发到TSN网络适配层。
3.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,所述发布端的TSN网络适配层中,首先,发布端得到数据签名加密层的数据,将数据按照自定义方式重新打包;然后,通过QoS配置,判断是否是使用TSN网络,如果使用TSN网络,调用TSN发送API接口,将自定义方式重新打包的数据发送到TSN网络总线层;如果未使用TSN网络,则直接调用DDS默认传输方式API接口发送。
4.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,所述订阅端的TSN网络适配层中,首先,根据QoS配置,判断是否进行了签名和加密操作,如果使用,则将自定义方式重新打包格式的数据进行解析获取到签名数据、加密数据;如果未使用签名和加密操作,则直接获取到DDS原始数据;如果解析成功后,将数据发送到数据签名加密层;如果解析失败,则表示数据不是合法数据,丢弃数据,接收流程终止。
5.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,所述订阅端的数据签名加密层中,订阅端收到TSN网络适配层发送过来的数据后,从QoS配置中获取是否进行签名验证和解密操作,如果需要,首先进行解密操作,调用OpenSSL的RSA非对称加密方式进行解密操作,获取原始的DDS数据;接着进行签名验证,调用OpenSSL的RSA非对称加密方式进行数据签名验证,得到验证结果,判断是否被篡改;如果签名验证或解密通过,获取到DDS原始数据,将获取到DDS原始数据发送到DDS通信适配层;如果签名验证或解密失败,表示数据异常,丢弃数据,接收流程终止;如果不进行签名验证和解密操作,则直接将TSN网络适配层发送的DDS原始数据交给DDS通信适配层。
6.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,发布端与订阅端可以通过DDS自定义的QoS进行TSN网络的配置,配置通信所需的TSN网络的地址;发布端与订阅端可以通过DDS自定义的QoS进行数据签名、数据签名验证、数据加密和数据解密的密钥配置。
7.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,QoS能配置是否启用数据签名或数据签名验证功能,在数据签名加密层判断是需要进行数据签名或数据签名验证;QoS能配置数据签名密钥或数据签名验证密钥信息,在数据签名加密层进行数据签名或数据签名验证;QoS能配置数据加密或数据解密功能,在数据签名加密层判断是否需要进行数据加密或数据解密;QoS能配置数据加密或数据解密密钥信息,在数据签名加密层进行数据加密或数据解密。
8.如权利要求1-7任一项所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,该方法实现安全发送DDS数据采用的签名和数据加密的过程如下:
S11、发布端设备当国产化DDS协议层要发送数据,会将数据发送到DDS通信适配层,DDS通信适配层通过QoS的配置参数,获取到是否要启用TSN网络;
S12、当启用TSN网络,DDS通信适配层会将DDS数据发给数据签名加密层;
S13、数据签名加密层收到DDS数据,调用QoS配置,判断是否启用签名功能、数据加密功能;
S14、当启用数据签名功能,数据签名加密层将DDS数据进行RSA签名;否则不进行数据签名功能;
S15、当启用数据加密功能,数据签名加密层将DDS数据进行RSA所有数据进行加密;否则不进行数据加密;
S16、签名和加密完成后,数据签名加密层,将签名数据内容和加密数据内容按照数据传输格式,组成新的数据,然后将数据发给TSN网络适配层;
S17、TSN网络适配层将签名加密的数据调用TSN网络传输接口,获取QoS的网络地址,将数据发送到接收端TSN物理设备中。
9.如权利要求8所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,该方法实现安全接收DDS数据签名验证和数据解密的过程如下:
S21、订阅端读取QoS的配置参数,获取TSN网络地址配置,开启接收设备的TSN物理网络,并接收到TSN数据,将接收到的数据发送到TSN网络适配层;
S22、TSN网络适配层再通过TSN数据接收接口,将TSN数据发送到数据签名加密层;
S23、数据签名加密层通过QoS的配置信息,判断是否启用签名验证功能、数据解密功能;
S24、通过QoS签名验证、数据解密的配置,将TSN数据拆分成签名数据、加密两部分;
S25、当启用数据签名验证功能,数据签名加密层将签名数据进行RSA签名验证,如果签名验证失败,说明数据被篡改,不能使用,然后丢弃数据,返回S1操作;如果通过验证,则进行下一步骤;
S26、签名验证成功后,进行数据解密操作,当启用数据解密功能,数据签名加密层将加密的数据进行RSA数据解密,如果解密失败,说明数据被篡改,不能使用,然后丢弃数据,返回S1操作;如果解密成功,数据就还原为原始DDS数据,则进行下一步骤;
S27、数据解密成功后,DDS数据通信适配层将解密后的DDS数据发送到国产化DDS协议层,完成TSN数据的签名验证和解密流程。
10.如权利要求1所述基于国产化数据分发服务的TSN网络数据安全传输的方法,其特征在于,发布端进行TSN数据安全传输的流程包括:
S31、启动国产化DDS模块,使用DDS标准接口
DDS_DomainParticipantFactory_create_participant()启动国产化DDS模块后,进行QoS的配置读取;
S32、从QoS配置中读取是否启用TSN的配置、是否启用签名加密的配置;如果启用TSN的配置,则对TSN模块开启创建操作,使用
CreateTsnTransportPlugin()接口启动TSN网络;如果启用签名加密的配置,则对OpenSSL进行初始化操作,使用GetSignPriKey()和GetSignPubKey()接口获得公钥和私钥,并存储到发布端程序中;如果未启用TSN的配置和签名加密的配置,则采用默认的国产化DDS传输流程;
S33、QoS读取完成后,使用国产化DDS模块的标准接口DDS_DomainParticipant_create_datawriter(),创建并开启发布模块,进行数据的发布功能;发布模块为DDS模块的标准接口;
S34、发布数据时,进入DDS通信适配层,判断是否启用签名加密方式;如果启用签名加密方式,则对发布的DDS数据先进行签名,得到签名数据;然后对发布的DDS数据进行加密,得到加密的数据,执行步骤S35;如果没有启用签名加密方式,直接进入S36步骤;
S35、接下来将签名的数据与加密的数据按照特定的格式组织成一段新的数据;
S36、判断是否启用TSN网络,如果启用TSN网络,则使用TSN网络,调用TSN网络发送接口,将数据发送出去;如果未启用TSN网络,则按DDS默认通信方式将数据发送出去;
订阅端进行TSN数据安全传输流程包括:
S41、启动DDS模块,使用DDS标准接口
DDS_DomainParticipantFactory_create_participant()启动DDS模块后,进行QoS的配置读取;
S42、从QoS配置中读取是否启用TSN的配置、是否启用签名加密的配置;如果启用TSN的配置,则对TSN模块开启创建操作,使用
CreateTsnTransportPlugin()接口启动TSN网络;如果启用签名加密的配置,则对OpenSSL进行初始化操作,使用GetSignPriKey()和GetSignPubKey()接口获得公钥和私钥,并存储到发布端程序中;如果未启用TSN的配置和签名加密的配置,则采用默认的国产化DDS传输流程;
S43、QoS读取完成后,使用国产化DDS模块的标准接口DDS_DomainParticipantFactory_create_participant(),创建并开启订阅模块,进行数据的订阅功能;订阅模块为DDS模块的标准接口;
S44、开启TSN网络数据接收功能,接收发布端发送过来的TSN数据;
S45、接收到TSN数据后,进行TSN数据解析,解析出签名数据和加密数据内容;
S46、接着进行加密数据的解密操作,如果解密成功,进入步骤S47,否则认为数据被篡改或异常数据,丢弃此数据,重新进入步骤S44;
S47、数据解密成功后,进行将解密数据进行签名验证,如果签名验证成功,表示数据未被篡改,解密与签名验证成功,进入下一步S48操作;如果签名验证失败,数据可能被篡改或异常数据,丢弃此数据,重新进入步骤S44;
S48、解密后的加密数据,即发布端发送的DDS原始数据,将解密后的加密数据放入国产化DDS模块的标准接口的订阅模块的接收接口,完成DDS订阅操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310876711.4A CN117176384A (zh) | 2023-07-18 | 2023-07-18 | 基于国产化数据分发服务的tsn网络数据安全传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310876711.4A CN117176384A (zh) | 2023-07-18 | 2023-07-18 | 基于国产化数据分发服务的tsn网络数据安全传输的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176384A true CN117176384A (zh) | 2023-12-05 |
Family
ID=88934425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310876711.4A Pending CN117176384A (zh) | 2023-07-18 | 2023-07-18 | 基于国产化数据分发服务的tsn网络数据安全传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176384A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118337693A (zh) * | 2024-06-17 | 2024-07-12 | 南昌智能新能源汽车研究院 | 基于dds发现报文的tsn通信配置方法、系统及计算机 |
CN118509341A (zh) * | 2024-07-12 | 2024-08-16 | 之江实验室 | 一种时间敏感网络的参数配置装置及方法 |
-
2023
- 2023-07-18 CN CN202310876711.4A patent/CN117176384A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118337693A (zh) * | 2024-06-17 | 2024-07-12 | 南昌智能新能源汽车研究院 | 基于dds发现报文的tsn通信配置方法、系统及计算机 |
CN118509341A (zh) * | 2024-07-12 | 2024-08-16 | 之江实验室 | 一种时间敏感网络的参数配置装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11601809B2 (en) | Method and system for updating certificate issuer public key, and related device | |
KR101438243B1 (ko) | Sim 기반 인증방법 | |
CN117176384A (zh) | 基于国产化数据分发服务的tsn网络数据安全传输的方法 | |
EP2547051B1 (en) | Confidential communication method using vpn, a system and program for the same, and memory media for program therefor | |
JP2013502782A (ja) | 暗号化情報をネゴシエートするための方法、デバイス、およびネットワークシステム | |
CN102202299A (zh) | 一种基于3g/b3g的端到端语音加密系统的实现方法 | |
CN112087304B (zh) | 可信计算环境的异构融合方法、装置及相关设备 | |
CN112491550B (zh) | 一种基于车联网的移动终端设备可信认证方法及系统 | |
CN112672342B (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
CN112911588A (zh) | 一种轻量级的窄带物联网安全传输方法和系统 | |
CN115567209A (zh) | 采用透明代理和量子密钥预充注实现VoIP加解密方法 | |
CN116723555A (zh) | 一种基于5g-r的终端接入、数据分发的方法及系统 | |
CN115225389A (zh) | 通信加密的方法、装置、设备及存储介质 | |
CN113765900A (zh) | 协议交互信息输出传输方法、适配器装置及存储介质 | |
CN112054905A (zh) | 一种移动终端的安全通信方法及系统 | |
CN110855628A (zh) | 一种数据传输方法及系统 | |
CN111918291B (zh) | 一种接入方法及装置 | |
CN111432404B (zh) | 信息处理方法及装置 | |
CN118138227B (zh) | 一种远程量子加密传输的边缘安全更新方法及装置 | |
CN116761172A (zh) | 基于sd-wan的安全网络构建方法 | |
CN115473719A (zh) | 基于工业互联网的设备通信加密方法及系统 | |
CN118784224A (zh) | 一种安全补充真随机数的安全设备、安全通信方法及系统 | |
CN116017346A (zh) | 一种v2x通信方法及系统 | |
JP2023138927A (ja) | データファイル送信及びデータファイルへのアクセス権を管理するためのシステム及び方法 | |
CN115567195A (zh) | 安全通信方法、客户端、服务器、终端和网络侧设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |