CN115694830A - 多机器人plc控制系统身份认证机制与方法 - Google Patents
多机器人plc控制系统身份认证机制与方法 Download PDFInfo
- Publication number
- CN115694830A CN115694830A CN202211236959.6A CN202211236959A CN115694830A CN 115694830 A CN115694830 A CN 115694830A CN 202211236959 A CN202211236959 A CN 202211236959A CN 115694830 A CN115694830 A CN 115694830A
- Authority
- CN
- China
- Prior art keywords
- pkey
- robot
- signature
- curve
- control system
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims description 24
- 230000006854 communication Effects 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000005538 encapsulation Methods 0.000 claims description 3
- MYWUZJCMWCOHBA-VIFPVBQESA-N methamphetamine Chemical compound CN[C@@H](C)CC1=CC=CC=C1 MYWUZJCMWCOHBA-VIFPVBQESA-N 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及PLC控制系统技术领域,且公开了多机器人PLC控制系统身份认证机制,PLC主控和远程主机通过VPN连接到同个虚拟网,并且通过VPN进行通信,建立连接之后,远程主机向PLC主控下达指令时,会使用协商出来的会话密钥进行加密,此时使用SM9对下达的指令操作进行签名,机器人端收到加密信息和签名后首先进行解密信息和SM9验证,通过认证后才能判定发送者是远程主机并且数据完整,最终才执行指令。本发明通过机器人与控制器之间建立通信隧道以此来保证通信的安全性,SSL协议通过数字证书验证身份的识别功能,通过加密算法对数据加密传输的保密性功能为网络通信提供安全及数据完整性的保障。
Description
技术领域
本发明涉及PLC控制系统技术领域,尤其涉及多机器人PLC控制系统身份认证机制与方法。
背景技术
目前,工业机器系统面临着严重的信息安全问题,没有建立完备的安全管理理念,缺乏身份认证等问题,因此容易受到攻击。
现有的技术方案中,仅有使用RSA算法来进行签名验证,支持从站对主站的身份认证。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了多机器人PLC控制系统身份认证机制与方法,具备在安全性能相同的情况下,密钥长度小于现有的技术方案中的密钥长度,等优点,用于解决现有技术中仅有使用RSA算法来进行签名验证,支持从站对主站的身份认证的问题。
(二)技术方案
本发明提供如下技术方案:多机器人PLC控制系统身份认证机制,PLC主控和远程主机通过VPN连接到同个虚拟网,并且通过VPN进行通信,建立连接之后,远程主机向PLC主控下达指令时,会使用协商出来的会话密钥进行加密,此时使用SM9对下达的指令操作进行签名,机器人端收到加密信息和签名后首先进行解密信息和SM9验证,通过认证后才能判定发送者是远程主机并且数据完整,最终才执行指令。
多机器人PLC控制系统身份认证方法,包括以下步骤:
S1、将SM9算法自定义添加到openssl中;
S2、修改配置openvpn服务端、客户端的文件;
S3、启动客户端openvpn连接上服务端openvpn,建立起服务端和客户端的通信隧道;
S4、新机器人注册时分发远程主机的公开密钥,建立通信隧道后收到服务端发送的数据包进行解密信息和SM9验证。
S1中还包括以下步骤:
S1.1、密钥封装
在封装公钥加密的p_enc.c文件中,创建SM9的密钥结构体并初始化,定义加密曲线为SM9曲线;
在封装私钥解密的p_dec.c文件中,创建SM9密钥结构体并初始化,定义解密曲线为SM9曲线;
S1.2、实现EVP_PKEY的调用接口,实现EVP_PKEY的调用接口涉及crypto/ec目录下的ec_pmeth.c文件。
在一种可能的实施方式中,S1.1中,在封装签名函数的p_sign.c文件中,编辑如下代码,实现数字签名接口对SM9签名算法的支持,定义签名曲线为SM9曲线。
在一种可能的实施方式中,在封装验签函数的p_verify.c文件中,编辑如下代码,实现验签接口对SM9签名算法的支持,定义验签曲线为SM9曲线。
在一种可能的实施方式中,S1.2中,实现EVP_PKEY的调用接口涉及crypto/ec目录下的ec_pmeth.c文件,过程如下:在EC_PKEY_CTX结构体尾部添加非对称密钥的信息,保证EC_PKEY有关接口能完成对应的功能,包括SM9曲线参数、签名者id、公钥加密参数、对方id、id长度以及系统参数。
在一种可能的实施方式中,在pkey_ec_init函数添加对变量初始化;
在pkey_ec_copy函数添加对变量复制;
在pkey_ec_cleanup函数中添加对变量的清理。
在一种可能的实施方式中,在pkey_ec_sign函数、pkey_ec_verify函数中为SM9签名算法添加在openssl中回调;
在pkey_ec_kdf_derive函数中增加代码,保证SM9密钥协商;
在ec_pkey_meth数组中添加SM9公钥加密和解密的接口,并在该数组之上静态实现。
与现有技术相比,本发明提供了多机器人PLC控制系统身份认证机制与方法,具备以下有益效果:
1、本发明通过机器人与控制器之间建立通信隧道以此来保证通信的安全性,SSL协议通过数字证书验证身份的识别功能,通过加密算法对数据加密传输的保密性功能为网络通信提供安全及数据完整性的保障。
2、本发明首先客户端将SSL版本、支持的加密套件和客户端生成的第1随机数发送到服务端;服务端确认支持的SSL版本和加密套件,发送服务端生成的第2随机数,并发送服务方的标识和IBC公共参数和公开密钥;由于SM9使用用户的唯一标识作为公钥,故在握手过程中不再发送证书,客户端收到该公开密钥后,产生第3随机数(即预主密钥),并将该公共密钥加密后的预主密钥传送到服务端;服务端用私有密钥对预主密钥进行解密;客户端和服务端分别用持有的预主密钥和第1随机数、第2随机数生成相应会话密钥,两者会话密钥相同;接下来会话将使用会话密钥来实现加密和解密。
3、本发明通过使用SM9对下达的指令操作进行签名,机器人端收到加密信息和签名后首先进行解密信息和SM9验证,通过认证后才能判定发送者是远程主机并且数据完整,最终才执行指令,当有新的机器人进行注册时则会分发远程主机的公开密钥,当建立通信隧道后收到加密的数据包则需按上述过程进行身份认证。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
图1为本发明所提供的多机器人PLC控制系统身份认证机制与方法的整体结构示意图;
图2为本发明所提供的多机器人PLC控制系统身份认证机制与方法的;
图3为本发明所提供的多机器人PLC控制系统身份认证机制与方法的。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1-3所示
对SM9数字签名验证算法推导:
已知:t1=H1(IDA||hid,N)+ks,dsA=[t2]P1,Ppub-s=[ks]P2,g=e(P1,Ppub-s),l′=(r-h′)modN,S′=[1′]dsA,t=gh′,h1=H1(IDA||hid,N),P=[h1]P2+Ppub-s,u=e(S′,P),w′=u·t,N为大于2191的素数。求证:h2=h′。
证明过程如下:
由于w′=u·t,u=e(S′,P),t=gh′,故w′=e(S′,P)·gh′。
因为S′=[l′]dsA,l′=(r-h′)modN,P=[h1]P2+Ppub-s,且N为大于2191的素数。故l′=(r-h′)modN=r-h′,等价于w′=e([r-h′]dsA,[h1]P2+Ppub-s)·gh′。
又因为Ppub-s=[ks]P2,故w′=e([r-h′][ks·(h1+ks)-1]P1,[h1]ks-1·Ppub-s+Ppub-s)·gh′。
等价于w′=e([r-h′][ks·(h1+ks)-1]P1,([h1]ks-1+1)Ppub-s)·gh′。
因为g=e(P1,Ppub-s),故等价于w′=g[r-h′]·gh′。
等价于w′=gr=w。
由于M=M′,则H2(M||w,N)=H2(M′||w′,N)。
由于h=h′故h2=h=h′。
多机器人PLC控制系统身份认证机制,PLC主控和远程主机通过VPN连接到同个虚拟网,并且通过VPN进行通信,建立连接之后,远程主机向PLC主控下达指令时,会使用协商出来的会话密钥进行加密,此时使用SM9对下达的指令操作进行签名,机器人端收到加密信息和签名后首先进行解密信息和SM9验证,通过认证后才能判定发送者是远程主机并且数据完整,最终才执行指令。
多机器人PLC控制系统身份认证方法,包括以下步骤:
S1、将SM9算法自定义添加到openssl中。
S1.1、密钥封装
在封装公钥加密的p_enc.c文件中,创建SM9的密钥结构体并初始化,定义加密曲线为SM9曲线。
在封装私钥解密的p_dec.c文件中,创建SM9密钥结构体并初始化,定义解密曲线为SM9曲线。
在封装签名函数的p_sign.c文件中,编辑如下代码,实现数字签名接口对SM9签名算法的支持,定义签名曲线为SM9曲线。
在封装验签函数的p_verify.c文件中,编辑如下代码,实现验签接口对SM9签名算法的支持,定义验签曲线为SM9曲线。
S1.2、实现EVP_PKEY的调用接口,实现EVP_PKEY的调用接口涉及crypto/ec目录下的ec_pmeth.c文件,过程如下:
在EC_PKEY_CTX结构体尾部添加非对称密钥的信息,保证EC_PKEY有关接口能完成对应的功能,包括SM9曲线参数、签名者id、公钥加密参数、对方id、id长度以及系统参数。
在pkey_ec_init函数添加对变量初始化。
在pkey_ec_copy函数添加对变量复制。
在pkey_ec_cleanup函数中添加对变量的清理。
在pkey_ec_sign函数、pkey_ec_verify函数中为SM9签名算法添加在openssl中回调。
在pkey_ec_kdf_derive函数中增加代码,保证SM9密钥协商。
在ec_pkey_meth数组中添加SM9公钥加密和解密的接口,并在该数组之上静态实现。
S2、修改配置openvpn服务端、客户端的文件;
S3、启动客户端openvpn连接上服务端openvpn,建立起服务端和客户端的通信隧道;
S4、新机器人注册时分发远程主机的公开密钥,建立通信隧道后收到服务端发送的数据包进行解密信息和SM9验证。
如附图1,机器人与控制器之间需要建立通信隧道以此来保证通信的安全性,而建立通信隧道主要包含通信双方确立信任关系,进行身份验证和通过密钥协商确定通信过程中使用的会话密钥信息。SSL协议的通过数字证书验证身份的识别功能,通过加密算法对数据加密传输的保密性功能为网络通信提供安全及数据完整性的保障。
SSL协议中,握手协议是三个高层协议其中之一。如附图2,首先客户端将SSL版本、支持的加密套件和客户端生成的第1随机数发送到服务端;服务端确认支持的SSL版本和加密套件,发送服务端生成的第2随机数,并发送服务方的标识和IBC公共参数和公开密钥;由于SM9使用用户的唯一标识作为公钥,故在握手过程中不再发送证书。客户端收到该公开密钥后,产生第3随机数(即预主密钥),并将该公共密钥加密后的预主密钥传送到服务端;服务端用私有密钥对预主密钥进行解密;客户端和服务端分别用持有的预主密钥和第1随机数、第2随机数生成相应会话密钥,两者会话密钥相同;接下来会话将使用会话密钥来实现加密和解密。
PLC主控与多个机器人通过Modbus/TCP协议进行通讯,示教器会显示机器人的具体信息,PLC主控和远程主机通过VPN连接到同个虚拟网,并且通过VPN进行通信。如附图3,建立连接之后,远程主机向PLC主控下达指令时,会使用协商出来的会话密钥进行加密,此时使用SM9对下达的指令操作进行签名,机器人端收到加密信息和签名后首先进行解密信息和SM9验证,通过认证后才能判定发送者是远程主机并且数据完整,最终才执行指令。当有新的机器人进行注册时则会分发远程主机的公开密钥,当建立通信隧道后收到加密的数据包则需按上述过程进行身份认证。
尽管已经示出和描述了本发明实施的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (8)
1.多机器人PLC控制系统身份认证机制,其特征在于:PLC主控和远程主机通过VPN连接到同个虚拟网,并且通过VPN进行通信,建立连接之后,远程主机向PLC主控下达指令时,会使用协商出来的会话密钥进行加密,此时使用SM9对下达的指令操作进行签名,机器人端收到加密信息和签名后首先进行解密信息和SM9验证,通过认证后才能判定发送者是远程主机并且数据完整,最终才执行指令。
2.多机器人PLC控制系统身份认证方法,包括以下步骤:
S1、将SM9算法自定义添加到openssl中;
S2、修改配置openvpn服务端、客户端的文件;
S3、启动客户端openvpn连接上服务端openvpn,建立起服务端和客户端的通信隧道;
S4、新机器人注册时分发远程主机的公开密钥,建立通信隧道后收到服务端发送的数据包进行解密信息和SM9验证。
3.根据权利要求1所述的多机器人PLC控制系统身份认证方法,其特征在于,S1中还包括以下步骤:
S1.1、密钥封装
在封装公钥加密的p_enc.c文件中,创建SM9的密钥结构体并初始化,定义加密曲线为SM9曲线;
在封装私钥解密的p_dec.c文件中,创建SM9密钥结构体并初始化,定义解密曲线为SM9曲线;
S1.2、实现EVP_PKEY的调用接口,实现EVP_PKEY的调用接口涉及crypto/ec目录下的ec_pmeth.c文件。
4.根据权利要求3所述的多机器人PLC控制系统身份认证机制与方法,其特征在于,S1.1中,在封装签名函数的p_sign.c文件中,编辑如下代码,实现数字签名接口对SM9签名算法的支持,定义签名曲线为SM9曲线。
5.根据权利要求4所述的多机器人PLC控制系统身份认证机制与方法,其特征在于,在封装验签函数的p_verify.c文件中,编辑如下代码,实现验签接口对SM9签名算法的支持,定义验签曲线为SM9曲线。
6.根据权利要求3所述的多机器人PLC控制系统身份认证机制与方法,其特征在于,S1.2中,实现EVP_PKEY的调用接口涉及crypto/ec目录下的ec_pmeth.c文件,过程如下:在EC_PKEY_CTX结构体尾部添加非对称密钥的信息,保证EC_PKEY有关接口能完成对应的功能,包括SM9曲线参数、签名者id、公钥加密参数、对方id、id长度以及系统参数。
7.根据权利要求6所述的多机器人PLC控制系统身份认证机制与方法,其特征在于,在pkey_ec_init函数添加对变量初始化;
在pkey_ec_copy函数添加对变量复制;
在pkey_ec_cleanup函数中添加对变量的清理。
8.根据权利要求7所述的多机器人PLC控制系统身份认证机制与方法,其特征在于,在pkey_ec_sign函数、pkey_ec_verify函数中为SM9签名算法添加在openssl中回调;
在pkey_ec_kdf_derive函数中增加代码,保证SM9密钥协商;
在ec_pkey_meth数组中添加SM9公钥加密和解密的接口,并在该数组之上静态实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211236959.6A CN115694830A (zh) | 2022-10-10 | 2022-10-10 | 多机器人plc控制系统身份认证机制与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211236959.6A CN115694830A (zh) | 2022-10-10 | 2022-10-10 | 多机器人plc控制系统身份认证机制与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115694830A true CN115694830A (zh) | 2023-02-03 |
Family
ID=85064846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211236959.6A Pending CN115694830A (zh) | 2022-10-10 | 2022-10-10 | 多机器人plc控制系统身份认证机制与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115694830A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935213A (zh) * | 2020-06-29 | 2020-11-13 | 杭州创谐信息技术股份有限公司 | 一种基于分布式的可信认证虚拟组网系统及方法 |
CN112422507A (zh) * | 2020-10-19 | 2021-02-26 | 北京电子科技学院 | 一种基于标识算法的国密ssl加密方法 |
US20220312208A1 (en) * | 2020-09-08 | 2022-09-29 | Shenzhen Gas Corporation Ltd. | Access method and system of internet of things equipment based on 5g, and storage medium |
-
2022
- 2022-10-10 CN CN202211236959.6A patent/CN115694830A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935213A (zh) * | 2020-06-29 | 2020-11-13 | 杭州创谐信息技术股份有限公司 | 一种基于分布式的可信认证虚拟组网系统及方法 |
US20220312208A1 (en) * | 2020-09-08 | 2022-09-29 | Shenzhen Gas Corporation Ltd. | Access method and system of internet of things equipment based on 5g, and storage medium |
CN112422507A (zh) * | 2020-10-19 | 2021-02-26 | 北京电子科技学院 | 一种基于标识算法的国密ssl加密方法 |
Non-Patent Citations (2)
Title |
---|
邓伟 等: "配电网数据加密认证方案的设计与分析", 《软件》, vol. 38, no. 6, 15 June 2017 (2017-06-15), pages 17 - 23 * |
邓伟 等: "配电网数据加密认证方案的设计与分析", 软件, vol. 38, no. 06, 15 June 2017 (2017-06-15), pages 17 - 23 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN107277061B (zh) | 基于iot设备的端云安全通信方法 | |
CN108650227B (zh) | 基于数据报安全传输协议的握手方法及系统 | |
CN104506534A (zh) | 安全通信密钥协商交互方案 | |
CN110995414B (zh) | 基于国密算法在tls1_3协议中建立通道的方法 | |
EP1151579A2 (en) | Self-generation of certificates using a secure microprocessor in a device for transferring digital information | |
WO2009076811A1 (zh) | 密钥协商方法、用于密钥协商的系统、客户端及服务器 | |
JPH11331147A (ja) | デ―タネットワ―クでのシンクライアントとサ―バ装置との間の暗号始動処理をなす方法 | |
US20190394029A1 (en) | Authenticating Secure Channel Establishment Messages Based on Shared-Secret | |
CN103036880A (zh) | 网络信息传输方法、设备及系统 | |
CN110690966B (zh) | 终端与业务服务器连接的方法、系统、设备及存储介质 | |
CN109194474A (zh) | 一种数据传输方法及装置 | |
CN115314214A (zh) | 一种基于支持硬件加速国密算法的tls协议实现方法 | |
CN110601825A (zh) | 密文的处理方法及装置、存储介质、电子装置 | |
CN108259486B (zh) | 基于证书的端到端密钥交换方法 | |
CN111817846A (zh) | 一种轻量级的密钥协商通信协议 | |
CN115174114A (zh) | 一种ssl隧道建立方法、服务端及客户端 | |
CN111901335B (zh) | 基于中台的区块链数据传输管理方法及系统 | |
CN112995210B (zh) | 一种数据传输方法、装置及电子设备 | |
CN115694830A (zh) | 多机器人plc控制系统身份认证机制与方法 | |
CN113422753B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN113986464A (zh) | 虚拟机安全迁移的方法和系统 | |
CN115567195A (zh) | 安全通信方法、客户端、服务器、终端和网络侧设备 | |
CN107835196B (zh) | 一种基于hdlc的安全通信方法 | |
CN112422530A (zh) | Tls握手过程中服务器端的密钥安全保护方法及密码设备 |
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 |