CN112182551B - Plc设备身份认证***和plc设备身份认证方法 - Google Patents

Plc设备身份认证***和plc设备身份认证方法 Download PDF

Info

Publication number
CN112182551B
CN112182551B CN202011378887.XA CN202011378887A CN112182551B CN 112182551 B CN112182551 B CN 112182551B CN 202011378887 A CN202011378887 A CN 202011378887A CN 112182551 B CN112182551 B CN 112182551B
Authority
CN
China
Prior art keywords
plc
identity authentication
lower computer
computer equipment
equipment
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.)
Active
Application number
CN202011378887.XA
Other languages
English (en)
Other versions
CN112182551A (zh
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.)
China Aviation Oil Group Co ltd
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Aviation Oil Group Co ltd
China Electronic Technology Cyber Security Co Ltd
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 China Aviation Oil Group Co ltd, China Electronic Technology Cyber Security Co Ltd filed Critical China Aviation Oil Group Co ltd
Priority to CN202011378887.XA priority Critical patent/CN112182551B/zh
Publication of CN112182551A publication Critical patent/CN112182551A/zh
Application granted granted Critical
Publication of CN112182551B publication Critical patent/CN112182551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种PLC设备身份认证***和PLC设备身份认证方法,其中PLC设备身份认证***,包括:上位机设备,用于发起通信协议Modbus,并且具有计算KDF、国产对称密码算法和解密的功能;PLC下位机设备,用于响应由所述上位机设备发起的通信协议Modbus,并且具有国产对称密码算法和解密的功能;后台管理单元,用于管理所述上位机设备和所述PLC下位机设备,并且具有计算KDF的功能;密钥管理单元,与所述后台管理单元连接,具有生成和管理密钥的功能;其中,所述KDF为密钥导出函数。根据本发明的PLC设备身份认证***,结构简单,简单的配置即可完成复杂的通信及计算过程,而且验证可靠性高,功能稳定。

Description

PLC设备身份认证***和PLC设备身份认证方法
技术领域
本发明涉及工业控制安全技术领域,尤其涉及一种PLC设备身份认证***以及PLC设备身份认证方法。
背景技术
民用运输机场供油自控***包括长输管道输油自动化控制***、油库供油自动化控制***、航空加油站加油自动化控制***等。该***中以PLC为代表的工控设备关键核心部件面临的安全形势正在日益加剧,大量的PLC安全事件的发生,证明尽管国际主流品牌PLC功能稳定、可靠性高,但缺乏必要的安全设计,存在较高的安全风险,特别是PLC设备的身份认证问题。这导致任意设备都可接入或者设备被篡改为非法设备也不能识别等,从而对整个民用运输机场供油自控***的安全运行造成危害。
传统的民用运输机场供油自控***是封闭***,很多厂商也就默认和接收了这样的风险;其次,该***中使用的Modbus协议中也不提供设备认证功能。但是现在工业互联网的引入使得民用运输机场供油自控***成为一个开放的环境,这就使得该问题成为一个迫在眉睫的严重问题。
发明内容
本发明的目的在于解决上述背景技术中的至少一个问题,提供一种PLC设备身份认证***和PLC设备身份认证方法。
为实现上述目的,本发明提供一种PLC设备身份认证***,包括:
上位机设备,用于发起通信协议Modbus,并且具有计算KDF、国产对称密码算法和解密的功能;
PLC下位机设备,用于响应由所述上位机设备发起的通信协议Modbus,并且具有国产对称密码算法和解密的功能;
后台管理单元,用于管理所述上位机设备和所述PLC下位机设备,并且具有计算KDF的功能;
密钥管理单元,与所述后台管理单元连接,具有生成和管理密钥的功能;
其中,所述KDF为密钥导出函数。
为实现上述目的,本发明还提供一种PLC设备身份认证方法,包括以下步骤:
所述上位机设备发送认证命令;
所述PLC下位机设备响应所述认证命令,并发起应答命令;
所述上位机设备根据所述后台管理单元管理的所述PLC下位机设备信息和所述密钥管理单元生成的所述PLC下位机设备的密钥验证所述PLC下位机设备的所述应答命令是否等于所述认证命令,若是,则认证通过。
根据本发明的一个方面,所述上位机设备生成随机数R,所述上位机设备发送所述随机数R,所述随机数R的长度RLen为14字节。
根据本发明的一个方面,所述上位机设备向所述后台管理单元请求随机数R,所述上位机设备发送所述随机数R,所述随机数R的长度RLen为14字节。
根据本发明的一个方面,所述上位机设备发送所述随机数R时的Modbus数据报文包括:
地址:所述PLC下位机设备地址;
功能码:采用自定义码FCODE1,该自定义码表明所述上位机设备要求所述PLC下位机设备响应身份验证请求;
数据:所述随机数R,长度为RLen字节;
CRC:按Modbus协议执行CRC计算。
根据本发明的一个方面,所述PLC下位机设备收到所述随机数R时,解析所述随机数R,验证所述CRC和所述功能码FCODE1,正确后利用所述PLC下位机设备地址SD-ADDR、自定义码FCODE2和所述PLC下位机设备的唯一标识SDID值计算CD值:
CD = CRC(SD-ADDR|| FCODE2||SDID);
其中,自定义码FCODE2为所述上位机设备要求所述PLC下位机设备响应身份验证请求,CD为CRC计算结果的记号,其长度为2字节。
根据本发明的一个方面,所述PLC下位机设备发送所述SDID值和密文CT值,其中,CT = ENCSK(CD||R);
其中,密文CT长度CTLen为16字节,ENC为密文导出函数,ENCSK(CD||R)为使用128比特PLC下位机设备密钥SK对消息CD||R调用国产分组密码算法做加密,得到密文。
根据本发明的一个方面,所述PLC下位机设备发送所述SDID值和所述CT值时的Modbus数据报文包括:
地址:所述PLC下位机设备地址;
功能码:采用所述自定义码FCODE2,该自定义码表明所述PLC下位机设备响应身份验证请求;
数据:所述SDID值和所述CT值;
CRC:按Modbus协议执行CRC计算。
根据本发明的一个方面,所述上位机设备验证所述Modbus协议的有效性,验证所述CRC值和所述功能码FCODE2,验证通过则进入下一步,否则,所述PLC下位机设备身份认证失败。
根据本发明的一个方面,所述上位机设备验证所述PLC下位机设备的唯一标识SDID是否有效,所述上位机设备向所述后台管理单元确认所述SDID是否有效或被吊销,若反馈无效或被吊销,则所述PLC下位机设备身份认证失败,若验证通过则进入下一步。
根据本发明的一个方面,所述上位机设备利用所述PLC下位机设备的唯一标识SDID生成所述PLC下位机设备的密钥,该密钥为128比特的密钥SK,SK=KDF(GK, SDID),其中,KDF是密钥导出函数,KDF(GK, SDID)表示用密钥GK和SDID值执行密钥导出函数计算,得到指定长度派生密钥。
根据本发明的一个方面,所述上位机设备用所述密钥SK解密所述CT得到明文PT,PT = DECSK(CT),其中,DEC是明文导出函数,DECSK(CT)表示使用128比特密钥SK对密文CT调用国产分组密码算法做解密,得到明文。
根据本发明的一个方面,所述上位机设备计算所述CD值,然后检查所述CD与所述PT的前16比特是否相等,若相等,则进入下一步;否则,所述PLC下位机设备身份认证失败;
其中,式中CRC表示对数据SD-ADDR|| FCODE2||SDID执行Modbus的CRC计算,得到16比特校验码。
根据本发明的一个方面,所述上位机设备将解密得到的明文PT丢弃前16比特,保留16比特后的数据,记为R`,比较所述随机数R与R`是否相等,若相等,则所述PLC下位机设备身份认证通过;否则,所述PLC下位机设备身份认证失败。
根据本发明的一个方案,PLC设备身份认证***的结构简单,上下位设备通过后台管理单元管理设备信息、通过密钥管理单元生成并管理密钥以及通过ModBus协议完成的通信即可完成PLC设备的身份验证,使得整个***通过简单的配置即可完成复杂的通信及计算过程,而且验证可靠性高,功能稳定。
根据本发明的一个方案,因为CD||R共16=14+2个字节,ENCSK(CD||R)可以直接使用ECB(电码本)模式加密,仅调用一次国产对称密码算法,加密得到的密文CT的长度CTLen为16个字节。其中,国产分组密码算法优选SM7算法,该算法是轻量级分组密码算法,在PLC下位机设备中使用此算法会进一步减小PLC下位机设备的资源开销。
根据本发明的一个方案,对密文CT(长度CTLen为16个字节)做解密的计算PT =DECSK(CT)也是直接使用ECB(电码本)模式解密,仅调用一次国产对称密码算法,并且国产分组密码算法优选SM7算法,该算法是轻量级分组密码算法,在PLC下位机设备中使用此算法会进一步减小PLC下位机设备的资源开销。
根据本发明的认证方法,实现了设备的身份认证,确保设备接入安全。设备认证中全部采用国产密码算法实现,从算法层面保证了***的安全可靠。设备认证中采用分组密码算法减少了计算能力不强的下位机设备的计算资源消耗。不仅如此,使用轻量级密码算法SM7,可以更进一步减少下位机设备的计算资源消耗。
并且本发明兼容Modbus协议,协议格式无改动,采用Modbus允许的自定义功能码方式告知协议指令功能。而且有良好的健壮性,即使有不识别自定义功能码的下位机设备存在,也不会对导致设备或***异常。
同时安全性高,且兼顾安全性与***适用性。上位机设备可以计算出任意下位机设备的密钥,只要知道PLC下位机设备的唯一标识SDID,就可以派生出下位机设备密钥。每一个PLC下位机设备只知道自己的下位机设备密钥,无法计算出其它设备的密钥。
附图说明
图1示意性表示根据本发明的一种实施方式的PLC设备身份认证***的结构组成框图;
图2示意性表示根据本发明的一种实施方式的PLC设备身份认证方法的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护范围。
图1示意性表示根据本发明的一种实施方式的PLC设备身份认证***的结构组成框图。如图1所示,根据本发明的一种实施方式PLC设备身份认证***,包括:上位机设备、PLC下位机设备、后台管理单元和密钥管理单元。其中,上位机设备用于发起通信协议Modbus,并且具有计算KDF、国产对称密码算法和解密的功能。PLC下位机设备用于响应由上位机设备发起的通信协议Modbus,并且具有国产对称密码算法和解密的功能。后台管理单元用于管理上位机设备和PLC下位机设备,并且具有计算KDF的功能。密钥管理单元与后台管理单元连接,具有生成和管理密钥的功能。在本实施方式中,KDF为密钥导出函数。在本实施方式中,国产对称密码算法包括SM4算法、SM1算法和SM7算法。
根据本发明的上述设置,PLC设备身份认证***的结构简单,上下位设备通过后台管理单元管理设备信息、通过密钥管理单元生成并管理密钥以及通过ModBus协议完成的通信即可完成PLC设备的身份验证,使得整个***通过简单的配置即可完成复杂的通信及计算过程,而且验证可靠性高,功能稳定。
根据本发明的上述PLC设备身份认证***,初始化过程如下:
首先添加上位机设备,向后台管理单元注册和添加上位机设备,后台管理单元从密钥管理单元处申请上位机设备密钥GK(为对称密钥,比如为128比特至256比特。),并以安全形式将上位机设备密钥GK注入上位机设备。
然后添加PLC下位机设备,PLC下位机设备向后台管理单元申请添加和注册,后台管理单元读取PLC下位机设备唯一标识SDID,派生SK=KDF(GK, SDID),注入PLC下位机设备。SK为下位机设备密钥,128比特,不同的PLC下位机设备有不同的PLC下位机设备密钥,它由上位机设备密钥GK派生。KDF是密钥导出函数,KDF(GK, SDID)表示用密钥GK和数据SDID执行密钥导出函数计算,得到指定长度派生密钥;本发明中无特殊说明时,使用KDF派生得到的密钥长度为128比特。
图2示意性表示根据本发明的一种实施方式的PLC设备身份认证方法的流程图。如图2所示,根据本发明的一种实施方式的PLC设备身份认证方法,包括以下步骤:
a. 上位机设备发送认证命令;
b.PLC下位机设备响应上述认证命令,并发起应答命令;
c. 上位机设备根据后台管理单元中管理的PLC下位机设备信息和密钥管理单元生成的PLC下位机设备的密钥来验证PLC下位机设备发起的应答命令是否等于所述认证命令,若是,则认证通过。
在上述a步骤中,根据本发明的一种实施方式,上位机设备生成随机数R作为认证命令,上位机设备发送该随机数R,该随机数R的长度RLen为14字节。
在上述a步骤中,根据本发明的另一种实施方式,上位机设备向后台管理单元请求随机数R作为认证命令,然后上位机设备发送该随机数R,该随机数R的长度RLen为14字节。
根据以上a步骤中的两种实施方式中任一种,上位机设备发送随机数R时的Modbus数据报文包括:
地址:PLC下位设备地址;
功能码:采用自定义码FCODE1,该自定义码表明上位机设备要求PLC下位机设备响应身份验证请求;
数据:随机数R,长度为RLen字节;
CRC:按Modbus协议执行CRC计算。CRC为循环冗余校验码。
根据本发明的一种实施方式,在上述b步骤中,PLC下位机设备收到认证命令随机数R时,解析随机数R,验证CRC和功能码FCODE1正确,正确后利用PLC下位机设备地址SD-ADDR、自定义码FCODE2和PLC下位机设备的唯一标识SDID(SDID为每个PLC下位机设备具有的唯一标识符,其公开值和长度不限,具体值由例如民用运输机场供油自控***决定。)值计算CD值:
CD = CRC(SD-ADDR|| FCODE2||SDID);
其中,自定义码FCODE2为上位机设备要求所述PLC下位机设备响应身份验证请求,CD的长度为2字节。
在本实施方式中,PLC下位机设备发送SDID值和密文CT值作为应答命令,其中,CT= ENCSK(CD||R);
其中,密文CT长度CTLen为16字节,ENC为密文导出函数,ENCSK(CD||R)为使用128比特PLC下位机设备密钥SK对消息CD||R调用国产分组密码算法做加密,得到密文。
在本实施方式中,因为CD||R共16=14+2个字节,ENCSK(CD||R)可以直接使用ECB(电码本)模式加密,仅调用一次国产对称密码算法,加密得到的密文CT的长度CTLen为16个字节。其中,国产分组密码算法优选SM7算法,该算法是轻量级分组密码算法,在PLC下位机设备中使用此算法会进一步减小PLC下位机设备的资源开销。
在本实施方式中,PLC下位机设备发送SDID值和所述CT值时的Modbus数据报文包括:
地址:PLC下位机设备地址;
功能码:采用自定义码FCODE2,该自定义码表明PLC下位机设备响应身份验证请求;
数据:SDID值和CT值;
CRC:按Modbus协议执行CRC计算。
根据本发明的一种实施方式,在上述c步骤中,上位机设备验证Modbus协议的有效性,验证CRC值的正确性并验证功能码为自定义码FCODE2,验证通过则进入下一步,否则,PLC下位机设备身份认证失败。
进一步地,上位机设备验证PLC下位机设备的唯一标识SDID是否有效,上位机设备向后台管理单元确认SDID是否有效或被吊销,若反馈无效或被吊销,则PLC下位机设备身份认证失败,若验证通过则进入下一步。
进一步地,上位机设备利用PLC下位机设备的唯一标识SDID生成PLC下位机设备的密钥,该密钥为128比特的密钥SK,SK=KDF(GK, SDID),其中,KDF是密钥导出函数,KDF(GK,SDID)表示用密钥GK和SDID值执行密钥导出函数计算,得到指定长度派生密钥。
进一步地,上位机设备用密钥SK解密CT得到明文PT,PT = DECSK(CT),其中,DEC是明文导出函数,DECSK(CT)表示使用128比特密钥SK对密文CT调用国产分组密码算法做解密,得到明文。
在本实施方式中,对密文CT(长度CTLen为16个字节)做解密的计算PT = DECSK(CT)也是直接使用ECB(电码本)模式解密,仅调用一次国产对称密码算法,并且国产分组密码算法优选SM7算法,该算法是轻量级分组密码算法,在PLC下位机设备中使用此算法会进一步减小PLC下位机设备的资源开销。
进一步地,上位机设备计算CD值,然后检查CD与PT的前16比特是否相等,若相等,则进入下一步;否则,PLC下位机设备身份认证失败;
其中,CD = CRC(SD-ADDR|| FCODE2||SDID),式中CRC表示对数据SD-ADDR||FCODE2||SDID执行Modbus的CRC计算,得到16比特校验码。
进一步地,上位机设备将解密得到的明文PT丢弃前16比特,保留16比特后的数据,记为R`,比较随机数R与R`是否相等,若相等,则PLC下位机设备身份认证通过;否则,PLC下位机设备身份认证失败。
不仅如此,下位机设备因为异常、故障等原因需要注销时,后台管理单元将该下位机设备的唯一标识加入到无效标识列表中。后续上位机设备向后台管理单元请求验证PLC下位机设备唯一标识时,若PLC下位机设备唯一标识在无效标识列表中,则后台管理***向上位机设备反馈“下位机设备唯一标识无效”。
根据本发明的上述设置,例如在小型民用运输机场供油自控***中,可以将上位机设备、后台管理单元、密钥管理单元进行一定程度的合并,比如第一种情况是后台管理单元和密钥管理单元合并,第二种情况是将后台管理单元和密钥管理单元都合并到上位机设备中。这样在小型***中减少了设备开销和部署复杂度。
根据本发明的上述设置,实现了设备的身份认证,确保设备接入安全。设备认证中全部采用国产密码算法实现,从算法层面保证了***的安全可靠。设备认证中采用分组密码算法减少了计算能力不强的下位机设备的计算资源消耗。不仅如此,使用轻量级密码算法SM7,可以更进一步减少下位机设备的计算资源消耗。
并且本发明兼容Modbus协议,协议格式无改动,采用Modbus允许的自定义功能码方式告知协议指令功能。而且有良好的健壮性,即使有不识别自定义功能码的下位机设备存在,也不会对导致设备或***异常。
同时安全性高,且兼顾安全性与***适用性。上位机设备可以计算出任意下位机设备的密钥,只要知道PLC下位机设备的唯一标识SDID,就可以派生出下位机设备密钥。每一个PLC下位机设备只知道自己的下位机设备密钥,无法计算出其它设备的密钥。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

Claims (13)

1.一种PLC设备身份认证***的PLC设备身份认证方法,其特征在于,所述PLC设备身份认证***,包括:
上位机设备,用于发起通信协议Modbus,并且具有计算KDF、国产对称密码算法和解密的功能;
PLC下位机设备,用于响应由所述上位机设备发起的通信协议Modbus,并且具有国产对称密码算法和解密的功能;
后台管理单元,用于管理所述上位机设备和所述PLC下位机设备,并且具有计算KDF的功能;
密钥管理单元,与所述后台管理单元连接,具有生成和管理密钥的功能;
其中,所述KDF为密钥导出函数;
所述PLC设备身份认证方法包括以下步骤:
所述上位机设备发送基于Modbus数据报文的认证命令;
所述PLC下位机设备响应所述认证命令,发起基于Modbus数据报文的应答命令;
所述上位机设备根据所述后台管理单元管理的所述PLC下位机设备信息和所述密钥管理单元生成的所述PLC下位机设备的密钥验证所述PLC下位机设备的所述应答命令是否等于所述认证命令,若是,则认证通过。
2.根据权利要求1所述的PLC设备身份认证方法,其特征在于,所述上位机设备生成随机数R,所述上位机设备发送所述随机数R,所述随机数R的长度RLen为14字节。
3.根据权利要求1所述的PLC设备身份认证方法,其特征在于,所述上位机设备向所述后台管理单元请求随机数R,所述上位机设备发送所述随机数R,所述随机数R的长度RLen为14字节。
4.根据权利要求2或3所述的PLC设备身份认证方法,其特征在于,所述上位机设备发送所述随机数R时的Modbus数据报文包括:
地址:所述PLC下位机设备地址;
功能码:采用自定义码FCODE1,该自定义码表明所述上位机设备要求所述PLC下位机设备响应身份验证请求;
数据:所述随机数R,长度为RLen字节;
CRC:按Modbus协议执行CRC计算。
5.根据权利要求4所述的PLC设备身份认证方法,其特征在于,所述PLC下位机设备收到所述随机数R时,解析所述随机数R,验证所述CRC和所述功能码FCODE1,正确后利用所述PLC下位机设备地址SD-ADDR、自定义码FCODE2和所述PLC下位机设备的唯一标识SDID值计算CD值:
CD = CRC(SD-ADDR|| FCODE2||SDID);
其中,自定义码FCODE2为所述上位机设备要求所述PLC下位机设备响应身份验证请求,CD为CRC计算结果的记号,其长度为2字节。
6.根据权利要求5所述的PLC设备身份认证方法,其特征在于,所述PLC下位机设备发送所述SDID值和密文CT值,其中,CT = ENCSK(CD||R);
其中,密文CT长度CTLen为16字节,ENC为加密函数,ENCSK(CD||R)为使用128比特PLC下位机设备密钥SK对消息CD||R调用国产分组密码算法做加密,得到密文。
7.根据权利要求6所述的PLC设备身份认证方法,其特征在于,所述PLC下位机设备发送所述SDID值和所述CT值时的Modbus数据报文包括:
地址:所述PLC下位机设备地址;
功能码:采用所述自定义码FCODE2,该自定义码表明所述PLC下位机设备响应身份验证请求;
数据:所述SDID值和所述CT值;
CRC:按Modbus协议执行CRC计算。
8.根据权利要求7所述的PLC设备身份认证方法,其特征在于,所述上位机设备验证所述Modbus协议的有效性,验证所述CRC值和所述功能码FCODE2,验证通过则进入下一步,否则,所述PLC下位机设备身份认证失败。
9.根据权利要求8所述的PLC设备身份认证方法,其特征在于,所述上位机设备验证所述PLC下位机设备的唯一标识SDID是否有效,所述上位机设备向所述后台管理单元确认所述SDID是否有效或被吊销,若反馈无效或被吊销,则所述PLC下位机设备身份认证失败,若验证通过则进入下一步。
10.根据权利要求9所述的PLC设备身份认证方法,其特征在于,所述上位机设备利用所述PLC下位机设备的唯一标识SDID生成所述PLC下位机设备的密钥,该密钥为128比特的密钥SK,SK=KDF(GK, SDID),其中,KDF是密钥导出函数,KDF(GK, SDID)表示用密钥GK和SDID值执行密钥导出函数计算,得到指定长度派生密钥。
11.根据权利要求10所述的PLC设备身份认证方法,其特征在于,所述上位机设备用所述密钥SK解密所述CT得到明文PT,PT = DECSK(CT),其中,DEC是明文导出函数,DECSK(CT)表示使用128比特密钥SK对密文CT调用国产分组密码算法做解密,得到明文。
12.根据权利要求11所述的PLC设备身份认证方法,其特征在于,所述上位机设备计算所述CD值,然后检查所述CD与所述PT的前16比特是否相等,若相等,则进入下一步;否则,所述PLC下位机设备身份认证失败;
其中,式中CRC表示对数据SD-ADDR|| FCODE2||SDID执行Modbus的CRC计算,得到16比特校验码。
13.根据权利要求12所述的PLC设备身份认证方法,其特征在于,所述上位机设备将解密得到的明文PT丢弃前16比特,保留16比特后的数据,记为R`,比较所述随机数R与R`是否相等,若相等,则所述PLC下位机设备身份认证通过;否则,所述PLC下位机设备身份认证失败。
CN202011378887.XA 2020-12-01 2020-12-01 Plc设备身份认证***和plc设备身份认证方法 Active CN112182551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011378887.XA CN112182551B (zh) 2020-12-01 2020-12-01 Plc设备身份认证***和plc设备身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011378887.XA CN112182551B (zh) 2020-12-01 2020-12-01 Plc设备身份认证***和plc设备身份认证方法

Publications (2)

Publication Number Publication Date
CN112182551A CN112182551A (zh) 2021-01-05
CN112182551B true CN112182551B (zh) 2021-03-16

Family

ID=73918329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011378887.XA Active CN112182551B (zh) 2020-12-01 2020-12-01 Plc设备身份认证***和plc设备身份认证方法

Country Status (1)

Country Link
CN (1) CN112182551B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746833B (zh) * 2021-09-02 2023-06-16 上海商汤智能科技有限公司 通信方法及装置、电子设备和存储介质
CN116436595A (zh) * 2023-02-06 2023-07-14 祎智量芯(江苏)电子科技有限公司 一种基于modbus通信协议的通信方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490895A (zh) * 2013-09-12 2014-01-01 北京斯庄格科技有限公司 一种应用国密算法的工业控制身份认证方法及装置
CN104871098A (zh) * 2012-12-20 2015-08-26 三菱电机株式会社 控制***、程序发送装置、认证服务器、程序保护方法、程序发送方法以及程序发送装置的程序
CN105988449A (zh) * 2015-03-06 2016-10-05 北新集团建材股份有限公司 一种生产线监控方法、远程客户端、服务器以及上位机
CN106301793A (zh) * 2016-09-06 2017-01-04 中国电子技术标准化研究院 一种plc认证和安全通信的方法
WO2019104988A1 (zh) * 2017-11-28 2019-06-06 中国科学院沈阳自动化研究所 Plc的安全处理单元及其总线仲裁方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298202B (zh) * 2014-10-21 2017-04-26 张晓华 一种基于物联网的工业现场智能监控终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871098A (zh) * 2012-12-20 2015-08-26 三菱电机株式会社 控制***、程序发送装置、认证服务器、程序保护方法、程序发送方法以及程序发送装置的程序
CN103490895A (zh) * 2013-09-12 2014-01-01 北京斯庄格科技有限公司 一种应用国密算法的工业控制身份认证方法及装置
CN105988449A (zh) * 2015-03-06 2016-10-05 北新集团建材股份有限公司 一种生产线监控方法、远程客户端、服务器以及上位机
CN106301793A (zh) * 2016-09-06 2017-01-04 中国电子技术标准化研究院 一种plc认证和安全通信的方法
WO2019104988A1 (zh) * 2017-11-28 2019-06-06 中国科学院沈阳自动化研究所 Plc的安全处理单元及其总线仲裁方法

Also Published As

Publication number Publication date
CN112182551A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
CN109672538B (zh) 一种轻量级车载总线安全通信方法及安全通信***
CN111028397B (zh) 认证方法及装置、车辆控制方法及装置
CN106357400B (zh) 建立tbox终端和tsp平台之间通道的方法以及***
CN102111265B (zh) 一种电力***采集终端的安全芯片加密方法
CN110708388B (zh) 用于提供安全服务的车身安全锚节点设备、方法以及网络***
US20180270052A1 (en) Cryptographic key distribution
CN112887282B (zh) 一种身份认证方法、装置、***及电子设备
CN106850207B (zh) 无ca的身份认证方法和***
CN101409619A (zh) 闪存卡及虚拟专用网密钥交换的实现方法
CN114267100B (zh) 开锁认证方法、装置、安全芯片及电子钥匙管理***
CN112182551B (zh) Plc设备身份认证***和plc设备身份认证方法
CN110855616B (zh) 一种数字钥匙生成***
CN115396121A (zh) 安全芯片ota数据包的安全认证方法及安全芯片装置
CN111147257A (zh) 身份认证和信息保密的方法、监控中心和远程终端单元
CN114793184B (zh) 一种基于第三方密钥管理节点的安全芯片通信方法及装置
CN111654503A (zh) 一种远程管控方法、装置、设备及存储介质
KR20170017455A (ko) 세션 키 및 인증 토큰에 기반한 상호 인증 장치들 간의 상호 인증 방법 및 상호 인증 장치들
US11570008B2 (en) Pseudonym credential configuration method and apparatus
CN116318637A (zh) 设备安全入网通信的方法和***
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
CN112468493A (zh) 基于现场总线的数据传输方法、身份识别方法及***
US20170222810A1 (en) User permission check system
CN113766450A (zh) 车辆虚拟钥匙共享方法及移动终端、服务器、车辆
CN117118759B (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
GR01 Patent grant
GR01 Patent grant