CN116527695A - Ros关键信息存储共享平台及其运行方法 - Google Patents

Ros关键信息存储共享平台及其运行方法 Download PDF

Info

Publication number
CN116527695A
CN116527695A CN202310492502.XA CN202310492502A CN116527695A CN 116527695 A CN116527695 A CN 116527695A CN 202310492502 A CN202310492502 A CN 202310492502A CN 116527695 A CN116527695 A CN 116527695A
Authority
CN
China
Prior art keywords
key
data
ros
message queue
primary
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
Application number
CN202310492502.XA
Other languages
English (en)
Inventor
成涵吟
张睿劼
吴双
唐铭
陶颂景
刘博艺
张沈晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hainan Shuyi Technology Co ltd
Sanya Research Institute of Hainan University
Original Assignee
Hainan Shuyi Technology Co ltd
Sanya Research Institute of Hainan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hainan Shuyi Technology Co ltd, Sanya Research Institute of Hainan University filed Critical Hainan Shuyi Technology Co ltd
Priority to CN202310492502.XA priority Critical patent/CN116527695A/zh
Publication of CN116527695A publication Critical patent/CN116527695A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据传输存储技术领域,特别涉及一种ROS关键信息存储共享平台及其运行方法。ROS关键信息存储共享平台包括监控模块、消息队列模块以及区块链网络模块。ROS关键信息存储共享平台采用区块链去中心化的储存管理数据,更好地适配ROS集群的分布式特性,具有更强的高可用性与鲁棒性;使用基于证书的密钥交换机制完成数据传输,并在区块链中进行数据的储存,数据可信度高;上述框架基于SM算法加密传输系统,使ROS关键信息存储共享平台具有卓越的安全性能和更高的加密效率,同时,区块链技术的可溯源特性为ROS集群带来了可信的恶意数据、恶意节点的追溯功能。

Description

ROS关键信息存储共享平台及其运行方法
技术领域
本发明涉及数据传输存储技术领域,特别涉及一种ROS关键信息存储共享平台及其运行方法。
背景技术
近年来,随着机器人技术和人工智能的发展,智能机器人越来越多应用在生活中。目前普遍认为相对于单个机器人工作,机器人集群的协同工作效率更高,例如在系统容错性方面,多机器人协同工作的容错率很高,不会因为单独的某个机器人的出错或损坏导致系统整体崩溃,而且利用机器人集群进行协同工作能够完成更为复杂的任务。
Robot Operating System(ROS)是一个适用于机器人的开源的元操作系统,也是目前机器人领域中最受欢迎的开源平台之一,其可以有效地将底层机器人硬件封装起来,并提供大量开源工具以及先进算法。ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步远程过程调用(RPC)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。
然而ROS的先天设计存在重大的安全问题,其几乎没有任何安全措施,任何应用都可连接ROS。主节点ROS MASTER会响应同一网络下任何能够连到它的设备发出的请求,任何设备都能够发布或者订阅主题。并且,消息数据通过序列化形式传输,未进行可靠的加密措施以及身份验证,若存在非法用户,则可能会造成机器人系统中传感器数据的泄露以及恶意控制指令的注入,会造成数据丢失、经济损失甚至物理伤害。在ROS集群的应用中,由于安全机制的缺乏,可能出现节点伪造身份获取信息、发布虚假指令等情况,导致集群间节点不可信,关键数据存储安全性能不高、节点间通讯不高可靠等问题。
对于多机器人多节点的分布式集群系统,关键数据的存储、共享享与传输需求去中心化式的管理方案以适应分布式集群的特点,现有的技术难以真正在集群层面上保障关键数据的安全存储与传输的可信,缺乏数据完整性的可靠信息共享机制,能应对的恶意攻击有限,也缺乏对恶意节点恶意数据的监督机制,容错率、鲁棒性也有限。
ROS节点之间进行数据项的访问控制时,有防止意外的操作错误的通讯机制,但此机制并不是为了组织专门的攻击者,攻击者可以利用发布-订阅者模式从ROS窃取数据,这会危及数据的固定性和安全性。此外,除了基本消息类型连续性和API调用有效性之外,没有对接收到的数据包执行完整性检查,即没有方法验证有效载荷信息在传输过程中没有改变,这使得ROS成为数据包嗅探和中间人攻击的主要目标,从而导致本地网络机密性和数据完整性的缺失。
ROS在数据可靠性方面也存在问题,ROS节点之间传递的数据可能会被拦截或伪造。这个缺陷导致在基于ROS的多机器人交互场景中,数据交换和共享不安全且不稳定。此外ROS没有实现日志记录和数据标记,特别是记录数据和行为的能力,因此,当攻击者获得中央控制时,可以直接操纵数据,并且无法追溯错误信息。
ROS还缺乏节点的实时监控功能,为了提供系统的可用性,我们应该实时监控和记录节点的运行数据,当检测到系统错误时发出警报,并采取必要的措施加以解决,通过提供监控记录节点运行数据、统计数据和运行状态等,为系统出现紧急情况时的错误跟踪和响应提供必要的线索。记录节点的状态也是为了方便宕机节点的恢复,如果不记录这些状态,在系统重新启动时会丢失一些必要的数据,从而导致系统错误。这些缺陷导致基于ROS的多机器人交互场景下的数据交换和共享不安全、不稳定。
发明内容
本发明的目的是为了克服已有技术的缺陷,提出一种ROS关键信息存储共享平台及其运行方法,能够解决数据存储的安全与可信问题,并为数据的追溯提供可信机制。
为实现上述目的,本发明采用以下具体技术方案:
本发明提供的ROS关键信息存储共享平台,包括监控模块、消息队列模块以及区块链网络模块,监控模块用于获取、预处理ROS消息并一次加密后发送至消息队列模块,消息队列模块包括一级消息队列和二级消息队列,一级消息队列用于对一次加密后的消息进行二次加密并发送至二级消息队列,二级消息队列用于缓冲消息以适配区块链网络模块的吞吐,并将二次加密后的消息上传至区块链网络模块,区块链网络模块用于对消息进行去中心化安全存储以及响应消息的存入取出请求。
进一步地,区块链网络模块包括区块链和以太坊,以太坊包含智能合约,二级消息队列调用智能合约以传输消息至区块链,智能合约包括如下函数:
Register函数,用于使机器人所有者在区块链网络模块中注册身份;其中,该函数接受一个Bytes类型的参数,机器人所有者使用数据加密的SM4密钥作为token并转换为Bytes类型;
Data_upload函数,用于使机器人所有者将关键数据上传至区块链网络模块中进行不可变持久存储;其中,该函数接受三个Bytes类型的参数,第一个参数为将要上传的Bytes类型的数据密文,第二个参数为字节类型的SM4密钥的token,其表示数据上传者的身份,第三个参数为调用该方法时Bytes类型的时间戳;
Authority_Grant函数,用于使指定帐户访问函数调用者的数据;其中,该函数接受一个地址类型的参数,即以太坊账户(EOA)的地址,用于授予访问函数调用者数据的权限,调用此函数的机器人会将表示其身份的SM4密钥的token附加到指定EOA中的token列表中;
Data_query函数,用于使函数调用者访问目标EOA共享的数据;其中,该函数接受字节和地址类型的参数,第一个参数为表示函数调用者身份的字节类型的token,第二个参数表示查询操作的目标EOA地址;函数调用者的token需存在于目标EOA的token列表中。
进一步地,监控模块包括Master节点、Node节点以及RBE节点,RBE节点用于接收用户提交的对需求消息进行监控的指令,并发送至Master节点,同时RBE节点通过Master节点注册身份;Master节点根据RBE节点发送的指令为相应Node节点注册身份并对相应Node节点间的通信进行提取,用于使RBE节点随时获取相关通信数据信息。
进一步地,监控模块设计有两层身份识别机制,用于抵抗节点伪造攻击,两层身份识别机制包括第一级身份识别机制和第二级身份识别机制;机器人注册用户名、密码以及SM4密钥,并通过用户名和密码登录,所述第一级身份识别机制用于将SM4密钥与EOA绑定,并将用户名和密码存储在Redis中;第二级身份识别机制用于当用户调用智能合约的其他接口时,检查机器人的EOA下是否有对应的密钥与用户传递的密钥匹配。
进一步地,区块链网络模块设计有授权机制,用于通用可信数据共享,用户可以查看自己共享的数据,并通过调用区块链的接口将存储在EOA中的密钥附加到其他EOA中,用户可以通过密钥查询相应密钥所有者共享的数据,并通过密钥解密得到明文。
本发明提供的一种ROS关键信息存储共享平台的运行方法,包括如下步骤:
S1、建立上述ROS关键信息存储共享平台;
S2、用户向监控模块提交对需求消息进行监控的相关参数,并获取相应的原始数据;
S3、监控模块提取原始数据中的关键数据并将其转换为JSON格式的明文,对转换后的明文进行一次加密得到一次加密密文,监控模块将一次加密密文发送至一级消息队列;
S4、一级消息队列对一次加密密文进行二次加密得到二次加密密文,并将二次加密密文传输至二级消息队列,二级消息队列对接收的二次加密密文进行解密;
S5、二级消息队列将解密后的数据传输至区块链网络模块对数据进行存储。
进一步地,步骤S2中,监控模块设计有两层身份识别机制,包括第一级身份识别机制和第二级身份识别机制,用于抵抗节点伪造攻击,在获取相应的原始数据时,包括如下步骤:
机器人首先注册用户名、密码以及SM4密钥,并通过用户名和密码登录;第一级身份识别机制将SM4密钥与EOA绑定,并将用户名和密码存储在Redis中;当用户调用智能合约的其他接口时,第二级身份识别机制会检查机器人的EOA下是否有对应的密钥与用户传递的密钥匹配。
进一步地,步骤S3中,对转换后的明文进行一次加密得到一次加密密文包括如下步骤:
使用SM2算法对明文进行非对称加密得到数字签名,再将数字签名与明文合并后使用SM4算法进行对称加密,得到一次加密密文。
进一步地,步骤S4中,一级消息队列对一次加密密文进行二次加密得到二次加密密文包括如下步骤:
一级消息队列对一次加密密文进行JSON格式封装,并添加格式类型、时间戳书信信息,再使用SM4算法进行二次加密得到二次加密密文。
进一步地,步骤S4中,一级消息队列将二次加密密文传输至二级消息队列、二级消息队列对接收的二次加密密文进行解密的过程采用密钥交换机制,包括如下步骤:
S41、用户首次使用ROS关键信息存储共享平台时,需输入SM4密钥调用Register函数,用于在区块链网络模块注册身份对共享数据进行加密;
S42、ROS关键信息存储共享平台内置的SM2公钥PB加密SM4明文PT得到密文;
S43、一级消息队列通过TCP/IP传输协议将密文传输至二级消息队列;
S44、二级消息队列使用SM2私钥PR对密文进行解密,将解密得到的SM4密钥存储在区块链网络模块中以供后续解密,并为发送密文的机器人绑定一个EOA。
进一步地,步骤S5中,二级消息队列将解密后的数据传输至区块链网络模块包括如下步骤:
二级消息队列首先通过调用Data_upload函数对数据进行存储,再通过调用Authority_Grant函数设置添加访问权限。
本发明能够取得如下技术效果:
1、本发明提供的ROS关键信息存储共享平台采用区块链去中心化的储存管理数据,能够更好地适配ROS集群的分布式特性,具有更强的高可用性与鲁棒性;
2、提供用户友好的界面,隐藏了区块链的复杂实现和加密算法的细节,用户只需输入要监控的主题或节点的名称即可与以太坊进行交互;
3、数据可信度高,使用基于证书的密钥交换机制完成数据传输,并在区块链中进行数据的储存;
4、安全性高,引入了权限授予机制来控制对存储在以太坊网络中的指定数据的访问;
5、基于SM算法加密传输系统,使RBE具有卓越的安全性能和更高的加密效率;
6、为集群系统提供监管机制,区块链技术的可溯源特性为ROS集群带来了可信的恶意数据、恶意节点的追溯功能。
附图说明
图1是根据本发明实施例提供的ROS关键信息存储共享平台的架构示意图。
图2是根据本发明实施例提供的监控模块的架构示意图。
图3是根据本发明实施例提供的明文J的典型格式的示意图。
图4是根据本发明实施例提供的加密处理的流程图。
图5是根据本发明实施例提供的证书认证密钥交换机制的示意图。
图6是根据本发明实施例提供的区块链网络模块数据存储运行流程示意图。
图7是根据本发明实施例提供的伪造节点窃取节点间传输的数据或破坏本地ROS的示意图。
图8是根据本发明实施例提供的两层身份识别机制的示意图。
图9是根据本发明实施例提供的授权机制的示意图。
具体实施方式
在下文中,将参考附图描述本发明的实施例。在下面的描述中,相同的模块使用相同的附图标记表示。在相同的附图标记的情况下,它们的名称和功能也相同。因此,将不重复其详细描述。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
图1本发明实施例提供的ROS关键信息存储共享平台,如图1所示,ROS关键信息存储共享平台包括监控模块、消息队列模块以及区块链网络模块,监控模块用于获取、预处理ROS消息并加密发送至消息队列模块,消息队列模块包括一级消息队列和二级消息队列,一级消息队列用于对监控模块发送的ROS消息进行二次加密处理并发送至二级消息队列,二级消息队列用于缓冲消息以适配区块链网络模块的吞吐,并将一级消息队列发送的消息上传至区块链网络模块,区块链网络模块用于对消息进行去中心化安全存储以及响应消息的存入取出请求。
本发明实施例中加密处理的机制基于中国国家密码管理局制定的SM算法家族,其主要包括三种算法,即SM2、SM3以及SM4。SM2椭圆曲线公钥密码算法包括SM2-1椭圆曲线数字签名算法、SM2-2椭圆曲线密钥交换协议和SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名、密钥协商和数据加密。SM2标准包括四个部分:总则、数字签名算法、密钥交换协议和公钥加密算法,其适用于基域为素数域和二元扩展域的椭圆曲线。SM3哈希算法适用于商业密码应用中数字签名和消息认证码的生成和验证,以及随机数的生成,可以满足各种密码应用的安全要求。对于长度不为256整数倍位数的消息,SM3哈希算法被填充并迭代压缩以生成哈希值。哈希值的长度为256位,具有较高的安全性。
SM4算法是一种基于不平衡节日网络的块对称密码算法,可以抵抗现有的差分攻击和线性攻击等攻击,非常高效和安全。根据标准,该算法的块长度为128位,密钥长度为128位。加密算法和密钥扩展算法均采用32轮非线性迭代结构。解密算法的结构与加密算法的结构相同,只是轮密钥的使用顺序相反,而解密轮密钥是加密轮密钥的相反顺序。SM4安全性高,能有效抵御各种攻击。SM4在各种密码分析中具有优异的性能,如差分密码分析、线性密码分析、不可能差分密码分析、零相关线性密码分析、积分密码分析和代数密码分析。
区块链网络模块包含智能合约,用于使二级消息队列进行调用传输消息,智能合约包括如下函数:
Register(bytes),该函数接受一个Bytes类型的参数,机器人所有者通过使用数据加密的SM4密钥作为token并转换为Bytes类型,机器人所有者调用该函数在区块链网络模块中以太坊网络中注册身份;
Data_upload(bytes,bytes,bytes),该函数接受三个Bytes类型的参数,第一个参数为将要上传的Bytes类型的数据密文,第二个参数为字节类型的SM4密钥的token,其表示数据上传者的身份,第三个参数为调用该方法时Bytes类型的时间戳,机器人所有者通过调用该函数将关键数据上传至区块链网络模块中进行不可变持久存储;
Authority_Grant(address),该函数接受一个地址类型的参数,即以太坊账户(EOA)的地址,用于授予访问函数调用者数据的权限,调用此函数的机器人会将表示其身份的SM4密钥的token附加到指定EOA中的token列表中,用于指定帐户访问函数调用者的数据;
Data_query(bytes,address),该函数接受字节和地址类型的参数,第一个参数为表示函数调用者身份的字节类型的token,第二个参数表示查询操作的目标EOA地址;函数调用者的token需存在于目标EOA的token列表中,以便函数调用者访问目标EOA共享的数据。
图2示出了本发明实施例提供的监控模块的架构,如图2所示,监控模块包括Master节点、Node节点以及RBE节点,RBE节点用于接收用户提交的对需求消息进行监控的指令,并发送至Master节点,同时RBE节点通过Master节点注册身份;Master节点根据RBE节点发送的指令为相应Node节点注册身份并对相应Node节点间的通信进行提取,用于使RBE节点随时获取相关通信数据信息。
在具体的实施例中,如要监控Node1和Node2节点之间的消息时,当RBE节点获取相应指令信息,通过Master节点为Node1和Node2注册身份(即订阅者或发布者),并设置主题“/robot/odom”进行消息传输,当Node1和Node2节点之间通信时,RBE节点可以在任何给定时间获取话题数据。
本发明实施例还提供一种ROS关键信息存储共享平台的运行方法,包括如下步骤:
S1、建立上述的ROS关键信息存储共享平台。
S2、用户向监控模块提交对需求消息进行监控的相关参数,并获取相应的原始数据。
S3、RBE节点提取原始数据中的关键数据并将其转换为JSON格式的明文,对转换后的明文进行一次加密得到一次加密密文,监控模块将一次加密密文发送至一级消息队列。
对收集到的原始数据首先进行封装预处理,RBE节点从原始数据中提取有价值的数据K,之后将提取的数据转换为JSON格式的明文J,明文J中包括提取的确切时间Time、原始消息的类型Type以及数据共享者Owner等,图3示出了本发明实施例提供的明文J的典型格式。
图4示出了本发明实施例提供的加密处理的流程。如图4所示,在将预处理的数据发送至消息队列之前,需要对数据进行一次加密处理,首先使用SM2算法对原始数据进行非对称加密,通过处理得到数字签名,再将数字签名与原始数据合并后使用SM4算法进行对称加密,得到一次加密密文。
S4、一级消息队列对一次加密密文进行二次加密得到二次加密密文,并将二次加密密文传输至二级消息队列,二级消息队列对接收的二次加密密文进行解密。
一级消息队列对一次加密密文进行JSON格式封装,并添加必要的书信信息,如格式类型、时间戳书信信息等,再使用SM4算法进行二次加密得到二次加密密文。
一级消息队列将二次加密密文传输至二级消息队列、二级消息队列对接收的二次加密密文进行解密的过程采用密钥交换机制,包括如下步骤:
S41、机器人拥有者在首次使用ROS关键信息存储共享平台时,需输入SM4密钥调用Register函数,在以太坊网络中注册身份,以便后续对共享数据进行加密;
S42、ROS关键信息存储共享平台内置的SM2公钥PB加密SM4明文PT得到密文;
S43、一级消息队列通过TCP/IP传输协议将密文传输至二级消息队列;
S44、二级消息队列使用SM2私钥PR对密文进行解密,将解密得到的SM4密钥存储在区块链网络模块中以供后续解密,并为发送密文的机器人绑定一个EOA。
图5示出了本发明实施例提供的证书认证密钥交换机制,如图5所示,具体地,为了保证数据传输过程中的安全性,有效抵御"中间人攻击",本发明设计了基于SM算法族的证书认证密钥交换机制。该机制通过标识符ID与临时交互号N进行身份验证,辅以SM2加密和签名来保障密钥机密性与完整性;使用SM3加盐对明文口令进行散列,由于哈希函数的不可逆性,即使数据泄露也无法被破解,从而实现用户信息的安全存储。
证书认证密钥交换机制的具体流程如下:
首先,通过标识符在服务器和客户端之间执行ID和临时交互编号N的验证;其次,服务器使用SM2对对称密钥进行加密和签名获得密文K并发送给客户;最后,客户端解密K恢复并验证密钥的完整性。
其中,PUB:客户端B的公钥,PUA:服务器A的公钥,N1:第一次交互临时交互编号,N2:第二次交互临时交互编号,IDA:服务器A的标识,PRA:用于SM2算法验证的密钥,K:密文。
S5、二级消息队列将解密后的数据传输至区块链网络模块。
图6示出了本发明实施例提供的区块链网络模块数据存储运行流程,如图6所示,二级消息队列中对于以获取的数据进行区块链上链操作,对于获取的数据使用SM2算法认证确认发送者身份并解密后,分别获取上链具体信息,SM4密文、访问权限拥有者列表等,准备调用部署于以太坊上的智能合约和区块链进行交互。首先通过EOA应用首先调用Data_upload函数实现数据上链的储存,再调用Authority_Grant函数完成访问权限的设置与添加。
图7示出了伪造节点窃取节点间传输的数据或破坏本地ROS的情况,如图7所示,ROS在一个主题下允许多个消息订阅者和发布者,攻击者可能会构建一个与本地ROS同名的发布者,替换本地ROS中的发布者,将攻击者自己的信息输出到本地ROS中的某些主题或伪装成成为本地ROS中的订阅者以窃取数据,即节点伪造。攻击者将伪造节点植入本地ROS,使用与本地ROS中运行的节点相同的名称,窃取本地ROS中运行的节点之间传输的数据或破坏本地ROS。
本发明提供一种两层身份识别机制,用于抵抗伪造节点攻击,图8示出了本发明实施例提供的两层身份识别机制的具体流程,如图8所示,首先,机器人必须在系统中注册他们的用户名、密码和SM4密钥,然后机器人就可以用这组用户名和密码登录系统了,SM4密钥将与EOA绑定,用户名和密码对将存储在Redis中,这是第一级身份识别。其次,当机器人所有者想要调用合约中加载的其他接口时,RBE会通过身份校验机制检查机器人的以太坊账户下是否有对应的密钥与用户传递的密钥匹配,这是第二级身份识别,本发明提供的两层身份识别机制可以有效抵抗伪造攻击。
具体地,ROS关键信息存储共享平台为用户提供了不同的界面来使用。机器人需要通过一对用户名和密码以及SM4密钥在ROS关键信息存储共享平台中注册,然后他们可以通过与合约中加载的函数交互来使用ROS关键信息存储共享平台,每个交互请求都必须与SM4密钥绑定,以确保正确实施身份检查,只有授权用户才能访问其他用户共享的数据。用户可以通过Authority_Grant接口授权以太坊网络内的其他用户。
图9示出了本发明实施例提供的授权机制,如图9所示,ROS关键信息存储共享平台的通用可信数据共享主要通过授权机制实现,其中,EOA代表外部拥有的账户,机器人2使用智能合约中编写的接口“Authority_Grant”,参数为EOA1的地址和自己的SM4密钥,将密钥附加到EOA1,然后EOA1机器人1绑定,可以访问机器人2共享的数据。通过区块链网络中的密钥传输授予权限,机器人所有者可以自由查看自己共享的区块链上关键数据的密文。机器人所有者可以调用区块链上的接口,将存储在其以太坊账户中的密钥附加到网络中的其他以太坊账户。以太坊账户获得密钥的机器人所有者可以查询相应密钥所有者共享的数据密文,并用密钥解密密文得到明文。该授权机制不仅可以有效保证信息共享的安全性,而且由于密钥使用以太坊账户地址在链中传输,因此具有良好的匿名性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
以上本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

Claims (11)

1.一种ROS关键信息存储共享平台,其特征在于,包括监控模块、消息队列模块以及区块链网络模块,所述监控模块用于获取、预处理ROS消息并一次加密后发送至所述消息队列模块,所述消息队列模块包括一级消息队列和二级消息队列,所述一级消息队列用于对一次加密后的消息进行二次加密并发送至所述二级消息队列,所述二级消息队列用于缓冲消息以适配区块链网络模块的吞吐,并将二次加密后的消息上传至区块链网络模块,所述区块链网络模块用于对消息进行去中心化安全存储以及响应消息的存入取出请求。
2.根据权利要求1所述的ROS关键信息存储共享平台,其特征在于,所述区块链网络模块包括区块链和以太坊,所述以太坊包含智能合约,所述二级消息队列调用所述智能合约以传输消息至所述区块链,所述智能合约包括如下函数:
Register函数,用于使机器人所有者在区块链网络模块中注册身份;其中,该函数接受一个Bytes类型的参数,机器人所有者使用数据加密的SM4密钥作为token并转换为Bytes类型;
Data_upload函数,用于使机器人所有者将关键数据上传至区块链网络模块中进行不可变持久存储;其中,该函数接受三个Bytes类型的参数,第一个参数为将要上传的Bytes类型的数据密文,第二个参数为字节类型的SM4密钥的token,其表示数据上传者的身份,第三个参数为调用该方法时Bytes类型的时间戳;
Authority_Grant函数,用于使指定帐户访问函数调用者的数据;其中,该函数接受一个地址类型的参数,即以太坊账户(EOA)的地址,用于授予访问函数调用者数据的权限,调用此函数的机器人会将表示其身份的SM4密钥的token附加到指定EOA中的token列表中;
Data_query函数,用于使函数调用者访问目标EOA共享的数据;其中,该函数接受字节和地址类型的参数,第一个参数为表示函数调用者身份的字节类型的token,第二个参数表示查询操作的目标EOA地址;函数调用者的token需存在于目标EOA的token列表中。
3.根据权利要求1所述的ROS关键信息存储共享平台,其特征在于,所述监控模块包括Master节点、Node节点以及RBE节点,所述RBE节点用于接收用户提交的对需求消息进行监控的指令,并发送至Master节点,同时RBE节点通过Master节点注册身份;所述Master节点根据RBE节点发送的指令为相应Node节点注册身份并对相应Node节点间的通信进行提取,用于使RBE节点随时获取相关通信数据信息。
4.根据权利要求1所述的ROS关键信息存储共享平台,其特征在于,所述监控模块设计有两层身份识别机制,用于抵抗节点伪造攻击,所述两层身份识别机制包括第一级身份识别机制和第二级身份识别机制;机器人注册用户名、密码以及SM4密钥,并通过用户名和密码登录,所述第一级身份识别机制用于将SM4密钥与EOA绑定,并将用户名和密码存储在Redis中;第二级身份识别机制用于当用户调用智能合约的其他接口时,检查机器人的EOA下是否有对应的密钥与用户传递的密钥匹配。
5.根据权利要求2所述的ROS关键信息存储共享平台,其特征在于,所述区块链网络模块设计有授权机制,用于通用可信数据共享,用户可以查看自己共享的数据,并通过调用区块链的接口将存储在EOA中的密钥附加到其他EOA中,用户可以通过密钥查询相应密钥所有者共享的数据,并通过密钥解密得到明文。
6.一种ROS关键信息存储共享平台的运行方法,其特征在于,包括如下步骤:
S1、建立如权利要求1-5任一项所述的ROS关键信息存储共享平台;
S2、用户向监控模块提交对需求消息进行监控的相关参数,并获取相应的原始数据;
S3、监控模块提取原始数据中的关键数据并将其转换为JSON格式的明文,对转换后的明文进行一次加密得到一次加密密文,监控模块将一次加密密文发送至一级消息队列;
S4、一级消息队列对一次加密密文进行二次加密得到二次加密密文,并将二次加密密文传输至二级消息队列,二级消息队列对接收的二次加密密文进行解密;
S5、二级消息队列将解密后的数据传输至区块链网络模块对数据进行存储。
7.根据权利要求6所述的ROS关键信息存储共享平台的运行方法,其特征在于,步骤S2中,监控模块设计有两层身份识别机制,包括第一级身份识别机制和第二级身份识别机制,用于抵抗节点伪造攻击,在获取相应的原始数据时,包括如下步骤:
机器人首先注册用户名、密码以及SM4密钥,并通过用户名和密码登录;第一级身份识别机制将SM4密钥与EOA绑定,并将用户名和密码存储在Redis中;当用户调用智能合约的其他接口时,第二级身份识别机制会检查机器人的EOA下是否有对应的密钥与用户传递的密钥匹配。
8.根据权利要求6所述的ROS关键信息存储共享平台的运行方法,其特征在于,步骤S3中,对转换后的明文进行一次加密得到一次加密密文包括如下步骤:
使用SM2算法对明文进行非对称加密得到数字签名,再将数字签名与明文合并后使用SM4算法进行对称加密,得到一次加密密文。
9.根据权利要求6所述的ROS关键信息存储共享平台的运行方法,其特征在于,步骤S4中,一级消息队列对一次加密密文进行二次加密得到二次加密密文包括如下步骤:
一级消息队列对一次加密密文进行JSON格式封装,并添加格式类型、时间戳书信信息,再使用SM4算法进行二次加密得到二次加密密文。
10.根据权利要求6所述的ROS关键信息存储共享平台的运行方法,其特征在于,步骤S4中,一级消息队列将二次加密密文传输至二级消息队列、二级消息队列对接收的二次加密密文进行解密的过程采用密钥交换机制,包括如下步骤:
S41、用户首次使用ROS关键信息存储共享平台时,需输入SM4密钥调用Register函数,用于在区块链网络模块注册身份对共享数据进行加密;
S42、ROS关键信息存储共享平台内置的SM2公钥PB加密SM4明文PT得到密文;
S43、一级消息队列通过TCP/IP传输协议将密文传输至二级消息队列;
S44、二级消息队列使用SM2私钥PR对密文进行解密,将解密得到的SM4密钥存储在区块链网络模块中以供后续解密,并为发送密文的机器人绑定一个EOA。
11.根据权利要求6所述的ROS关键信息存储共享平台的运行方法,其特征在于,步骤S5中,二级消息队列将解密后的数据传输至区块链网络模块包括如下步骤:
二级消息队列首先通过调用Data_upload函数对数据进行存储,再通过调用Authority_Grant函数设置添加访问权限。
CN202310492502.XA 2023-04-28 2023-04-28 Ros关键信息存储共享平台及其运行方法 Pending CN116527695A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310492502.XA CN116527695A (zh) 2023-04-28 2023-04-28 Ros关键信息存储共享平台及其运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310492502.XA CN116527695A (zh) 2023-04-28 2023-04-28 Ros关键信息存储共享平台及其运行方法

Publications (1)

Publication Number Publication Date
CN116527695A true CN116527695A (zh) 2023-08-01

Family

ID=87393674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310492502.XA Pending CN116527695A (zh) 2023-04-28 2023-04-28 Ros关键信息存储共享平台及其运行方法

Country Status (1)

Country Link
CN (1) CN116527695A (zh)

Similar Documents

Publication Publication Date Title
CN113783836B (zh) 基于区块链和ibe算法的物联网数据访问控制方法及系统
CN111083131B (zh) 一种用于电力物联网感知终端轻量级身份认证的方法
JP2022043178A (ja) ブロックチェーンにより実装される方法及びシステム
Choudhury et al. A strong user authentication framework for cloud computing
CN112953727B (zh) 一种面向物联网的设备匿名身份认证方法及系统
US20090217386A1 (en) Stateless challenge-response broadcast protocol
KR101753859B1 (ko) 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법
JP2005509938A (ja) オペレーティング・システムの機能を用いて相互呼掛け応答認証プロトコルを実施する方法、機器およびコンピュータ・プログラム
CN109995530B (zh) 一种适用于移动定位系统的安全分布式数据库交互系统
Musa et al. Secure security model implementation for security services and related attacks base on end-to-end, application layer and data link layer security
Essa et al. Cyber physical sensors system security: threats, vulnerabilities, and solutions
TWI556618B (zh) Network Group Authentication System and Method
Hussain et al. An improved authentication scheme for digital rights management system
CN111490874B (zh) 一种配网安全防护方法、系统、装置及存储介质
CN107104888B (zh) 一种安全的即时通信方法
CN111294793A (zh) 一种无线传感网中身份认证的数据隐私保护方法
Zou et al. Information Security Transmission Technology in Internet of Things Control System.
Dikii Authentication algorithm for internet of things networks based on MQTT protocol
CN116527695A (zh) Ros关键信息存储共享平台及其运行方法
CN101425925B (zh) 提供数据通信认证的方法、系统和设备
CN115242392B (zh) 基于安全传输协议实现工业信息安全传输的方法及系统
WO2019129705A1 (en) Network security interface component and data transmission method
Arun et al. Cbca: consignment based communal authentication and encryption scheme for internet of things using digital signature algorithm
GB2570292A (en) Data protection
WO2023151427A1 (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