一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于零信任架构的工业控制系统访问控制方法与流程

2022-10-26 16:16:51 来源:中国专利 TAG:


1.本发明涉及工业控制系统访问控制技术领域,尤其涉及一种基于零信任架构的工业控制系统访问控制方法。


背景技术:

2.工业控制系统是由各种自动化控制组件以及对实时数据进行采集、监测的过程控制组件共同构成的,确保工业基础设施自动化运行、过程控制与监控的业务流程管控系统,随着工业控制系统网络化浪潮的推进,又将诸如嵌入式技术、多标准工业控制网络互联、无线技术等多种当今流行技术融合进来,从而拓展了工业控制领域的发展空间,带来新的发展机遇。随着计算机技术、通信技术和控制技术的发展,传统的控制领域正经历着一场前所未有的变革,开始向网络化方向发展,向数字化方向转型。另一方面,随着5g网络、云计算、大数据、物联网等技术的兴起和引入,工业控制系统的网络环境随之发生变化,高级威胁攻击频发,工业控制系统的系统数据因暴露面增加和信任策略缺失而遭受的安全冲击成倍增长,传统网络的物理边界已经被彻底打破,传统的仅部署在边界的静态安全防御与物联网云平台数据监控场景安全需求的矛盾日益深化。
3.现有的工业控制系统安全防御手段在处理终端设备的通信请求时,通常只在用户通过终端设备登录时,根据当前的已知信息评估当前网络环境的安全性,授予该用户相应的访问权限,并在之后的通信过程中对该登录用户保持信任。但实际网络环境随时都会发生改变,降低终端设备与工业控制网络通信过程的安全性,增加工业控制系统暴露的风险。


技术实现要素:

4.(一)要解决的技术问题鉴于现有技术的上述缺点、不足,本发明提供一种基于零信任架构的工业控制系统访问控制方法,其解决了现有的工业控制系统安全防御手段不能适应随时变化的网络环境,使工业控制系统与终端设备通信的安全性降低的技术问题。
5.(二)技术方案为了达到上述目的,本发明采用的主要技术方案包括:第一方面,本发明实施例提供一种基于零信任架构的工业控制系统访问控制方法,所述零信任架构包括sdp(software-defined perimeter,软件定义边界)控制器、sdp网关、工业控制系统和多个终端设备,所述终端设备上部署有零信任客户端;所述sdp控制器通过公网连接多个终端设备,sdp网关通过公网连接多个终端设备,所述sdp控制器通过私网与配对的sdp网关连接,所述sdp网关通过私网与工业控制系统连接;所述访问控制方法包括:在每个预设的周期时长内,sdp控制器执行权限更新操作;所述权限更新操作包括:a10、sdp控制器接收终端设备发送的关于该终端设备的安全环境信息;a20、sdp控制器基于所述安全环境信息和本地存储的与该终端设备对应的设备基
本信息,确定在该终端设备上已登录的账户的访问权限;a30、sdp控制器基于所述设备基本信息和所述访问权限,生成与已登录的账户对应的唯一识别码;其中,所述唯一识别码包括所述终端设备的地址信息、账户信息、访问权限和该唯一识别码的有效期的起始时间;其中,所述地址信息包括该终端设备的mac地址,所述账户信息包括该账户的账号;a40、sdp控制器将所述唯一识别码发送至该终端设备,以及发送至配对的sdp网关,用于在该终端设备上已登录的账户,基于所述唯一识别码和所述唯一识别码包含的访问权限,与该sdp网关在有效期内进行数据交互,使该sdp网关将工业控制系统的数据传输至终端设备。
6.本发明实施例提出的访问控制方法,在每个预设的周期时长内,sdp控制器根据终端设备发送的安全环境信息,定期更新该终端设备上已登录的账户的访问权限,并将该已登录的账户更新的访问权限信息分发给该已登录的账户对应的终端设备和sdp网关,使该已登录的账户基于更新的访问权限访问工业控制系统,从而能够在用户登录期间,持续根据终端设备的安全环境信息动态调整用户的访问权限,从而保证在终端设备的安全环境信息发生变化时,已登录的账户的访问权限也得到相应调整,保证工业控制系统与终端设备通信时的安全性,降低工业控制系统暴露的风险。
7.此外,本发明实施例提出的访问控制方法,还将访问权限的更新与唯一识别码结合,将账户的访问权限、有效期、对应的终端设备信息等零散的信息统一融入到和该账户对应的唯一识别码中,从而缩减零信任架构内部通信的数据量,提高通信效率。
8.可选地,在a30和a40中,所述唯一识别码为uuid(universally unique identifier,通用唯一识别码),所述唯一识别码的有效期的起始时间为生成uuid的时间,所述唯一识别码的有效期时长是预设的周期时长的1~2倍。
9.可选地,在a10中,所述终端设备发送的关于该终端设备的安全环境信息,为终端设备基于零信任客户端每隔一个预设的周期时长发送的;所述关于该终端设备的安全环境信息包括:该终端设备的ip地址、mac地址、时间信息;所述时间信息为该终端设备发送安全环境信息时的本地时间。
10.可选地,在a20中,所述与该终端设备对应的设备基本信息包括:该终端设备的ip地址、mac地址、安全等级、身份认证类型,以及授权在该终端设备上登录的一个或多个用户的用户基本信息;所述身份认证类型包括口令认证、数字证书认证或ukey(usb key,电子钥匙)认证中的至少一种;所述用户基本信息包括账户名称、账号、账户密码、账户类型、用户登录状态信息和用户安全状态信息;所述用户登录状态信息包括:已登录状态和离线状态;所述用户安全状态信息包括:危险状态、警告状态和正常状态。
11.可选地,所述a20包括:a201、sdp控制器基于所述安全环境信息和设备基本信息,执行对该终端设备的安全等级判定进程,得到该终端设备的新的安全等级;
a202、基于所述新的安全等级,更新与该终端设备对应的设备基本信息中包含的安全等级;s203、基于所述新的安全等级,以及该终端设备对应的设备基本信息中处于已登录状态的账户的账户类型,根据预先建立的权限管理规则,确定已登录账户的访问权限;其中,所述预先建立的权限管理规则包括至少一个账户类型,以及每个账户类型在每个安全等级下的访问权限;所述账户类型包括:观察员、操作员和管理员;所述访问权限包括:无权限、只读权限、读写权限。
12.可选地,在a201中,所述对该终端设备的安全等级判定进程包括:s1、基于所述安全环境信息中包含的该终端设备的ip地址、mac地址,与设备基本信息中包含的该终端设备的ip地址、mac地址进行地址比对,判断地址比对结果是否一致;以及,基于所述安全环境信息中包含的该终端设备的时间信息,与sdp控制器本地的当前时间进行时间比对,判断误差是否在预设时长范围内;基于地址比对和时间比对的结果进行判断,若地址比对和时间比对的任意一项结果为否,则将该终端设备的安全等级判定为低,并结束安全等级判定进程;否则跳转至s2;s2、基于设备基本信息中包含的用户在线状态信息,判定终端设备的安全等级,若所有账户的用户在线状态信息均为离线状态,则将终端设备的安全等级判定为低,并结束安全等级判定进程;否则跳转至s3;s3、基于设备基本信息中包含的用户安全状态信息,判断用户安全状态信息中是否包含危险状态,若是,则判定终端设备的安全等级为低,并结束安全等级判定进程;若否,则判断用户安全状态信息中是否包含警告状态;若是,则判定终端设备的安全等级为中,若否,则判定终端设备的安全等级为高,并结束安全等级判定进程。
13.可选地,所述访问控制方法还包括:当sdp控制器接收到终端设备发送的某一账户的登录请求时,基于该终端设备对应的设备基本信息中包含的该账户的身份认证类型,对该终端设备进行身份认证;若身份认证成功,获取登录请求中包含的登录信息,基于该终端设备对应的设备基本信息中包含的该账户的账号和账户密码,对登录信息进行登录验证;所述登录信息包括该用户的账号和账户密码;若登录验证成功,则将设备基本信息中与该账户对应的用户登录状态信息更新为已登录状态,并基于该用户的账户类型,以及该终端设备对应的设备基本信息中包含的安全等级,确定所述账户的访问权限;基于所述账户的访问权限和该终端设备的设备基本信息,生成与该账户对应的唯一识别码;所述唯一识别码包括该终端设备的mac地址,该账户的账号、访问权限和该唯一识别码的有效期的起始时间;将所述唯一识别码分别发送至终端设备和配对的sdp网关。
14.第二方面,本发明实施例还提供一种基于零信任架构的工业控制系统访问控制方法,所述零信任架构包括sdp控制器、sdp网关、工业控制系统和多个终端设备,所述终端设备上部署有零信任客户端,所述工业控制系统包括多台工控设备;所述sdp控制器通过公网连接多个终端设备,sdp网关通过公网连接多个终端设备,所述sdp控制器通过私网与配对的sdp网关连接,所述sdp网关通过私网与工业控制系统中的工控设备连接;
所述访问控制方法包括:所述sdp网关接收配对的sdp控制器发送的唯一识别码,解析该唯一识别码,获取该唯一识别码包含的访问权限,将该唯一识别码保存在本地存储的唯一识别码列表中对应的访问权限下;所述唯一识别码列表包括多个访问权限,每个访问权限下保存有包含该访问权限的唯一识别码;且所述唯一识别码列表基于唯一识别码的有效期定期刷新;所述sdp网关接收到终端设备上的某一已登录的账户基于第一通信协议发送的交互请求数据时,执行响应进程,所述响应进程包括:b10、sdp网关基于第一通信协议解析所述交互请求数据,得到交互请求数据包中包含的请求方唯一识别码、目标工控设备、操作类型和操作内容;b20、sdp网关基于交互请求数据中包含的请求方唯一识别码,遍历本地存储的唯一识别码列表,判断唯一识别码列表中是否包含该请求方唯一识别码;若是,获取该请求方唯一识别码对应的访问权限;b30、sdp网关比对交互请求数据中包含的操作类型与请求方唯一识别码对应的访问权限是否一致;若一致,则响应所述交互请求数据。
15.本发明实施例提出的访问控制方法,sdp网关根据sdp控制器发送的唯一识别码在本地建立唯一识别码列表;针对已登录账户基于终端设备发送的交互请求数据,sdp网关基于唯一识别码列表判断已登录账户的身份和访问权限是否合法,当两者皆合法时,才会响应所述交互请求数据,从而达到控制已登录账户的访问权限的目的。
16.可选地,在b30中,所述响应所述交互请求数据包括:p1、sdp网关基于第二通信协议,将所述操作内容发送至交互请求数据中包含的目标工控设备;p2、sdp网关接收目标工控设备返回的响应数据;p3、sdp网关基于第二通信协议解析所述响应数据,得到响应内容;p4、sdp网关基于第一通信协议,根据响应内容生成交互响应数据,将所述交互响应数据发送至终端设备。
17.可选地,所述唯一识别码列表基于唯一识别码的有效期定期刷新包括:在每个预设的刷新时长内,sdp网关遍历本地存储的唯一识别码列表,对于唯一识别码列表中的每一个唯一识别码,解析该唯一识别码,得到该唯一识别码中包含的有效期的起始时间,计算所述有效期的起始时间与sdp网关当前本地时间的差值,判断所述差值是否大于有效期时长,若是,删除该唯一识别码。
18.(三)有益效果在本发明实施例中,sdp控制器根据终端设备发送的安全环境信息,定期更新该终端设备上已登录的账户的访问权限,并将该已登录的账户更新的访问权限信息分发给该已登录的账户对应的终端设备和sdp网关,使该已登录的账户基于更新的访问权限访问工业控制系统,从而能够在用户登录期间,持续根据终端设备的安全环境信息动态调整用户的访问权限,从而保证在终端设备的安全环境信息发生变化时,已登录的账户的访问权限也得到相应调整,保证工业控制系统与终端设备通信时的安全性,降低工业控制系统暴露的风险。
19.此外,本发明实施例提出的访问控制方法,还将访问权限的更新与唯一识别码结
合,将账户的访问权限、有效期、对应的终端设备信息等零散的信息统一融入到和该账户对应的唯一识别码中,从而缩减零信任架构内部通信的数据量,提高通信效率。
20.本发明提供的访问控制方法,基于零信任架构,不信任任何终端设备或用户,针对处于已登录状态的账户,sdp控制器根据对应的终端设备的安全环境信息定时更新其访问权限,并将包含更新的访问权限的唯一识别码下发终端设备和sdp网关。对于终端设备发送的交互请求数据,sdp网关基于sdp控制器下发的唯一识别码,以及唯一识别码中包含的访问权限,判定所述交互请求数据是否合法,当所述交互请求数据合法时才会响应,从而控制位于外部网络中的终端设备对工业控制网络的访问权限,以保证工业控制系统的安全性。
附图说明
21.图1为实施例中提供的一种基于零信任架构的工业控制系统访问控制方法中,权限更新操作的流程示意图;图2为实施例中提供的一种零信任框架的框架结构示意图;图3为实施例中提供的一种安全等级判定进程的流程示意图。
具体实施方式
22.为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
23.实施例一本实施例提供一种基于零信任架构的工业控制系统访问控制方法,所述访问控制方法基于零信任架构实现。
24.如图2所示,所述零信任架构包括sdp控制器、sdp网关、工业控制系统和多个终端设备,所述终端设备上部署有零信任客户端;所述sdp控制器通过公网连接多个终端设备,sdp网关通过公网连接多个终端设备,所述sdp控制器通过私网与配对的sdp网关连接,所述sdp网关通过私网与工业控制系统连接。
25.所述访问控制方法包括:在每个预设的周期时长内,sdp控制器执行权限更新操作。其中,所述预设的周期时长可根据实际需求进行设置,一般地,预设的周期时长越短,则已登录的账户的访问权限更新越频繁,本访问控制方法的实时性越好,工业控制系统的安全性越高,但过度频繁执行的权限更新操作意味着需要占用更多零信任架构的资源,因而需要基于实际的需求进行适当设定。较佳地,所述预设周期时长为30秒~10分钟;具体地,所述预设周期时长可为30秒、1分钟、2分钟、4分钟、6分钟、8分钟或10分钟。
26.如图1所示,所述权限更新操作包括:a10、sdp控制器接收终端设备发送的关于该终端设备的安全环境信息。
27.具体地,所述终端设备发送的关于该终端设备的安全环境信息,为终端设备基于零信任客户端每隔一个预设的周期时长发送的。
28.所述关于该终端设备的安全环境信息可包括:该终端设备的ip地址、mac地址、时间信息;所述时间信息为该终端设备发送安全环境信息时的本地时间。
29.a20、sdp控制器基于所述安全环境信息和本地存储的与该终端设备对应的设备基本信息,确定在该终端设备上已登录的账户的访问权限。
30.具体地,所述与该终端设备对应的设备基本信息包括:该终端设备的ip地址、mac地址、安全等级、身份认证类型,以及授权在该终端设备上登录的一个或多个用户的用户基本信息。
31.所述身份认证类型包括口令认证、数字证书认证或ukey认证中的至少一种。
32.所述用户基本信息包括账户名称、账号、账户密码、账户类型、用户登录状态信息和用户安全状态信息;所述用户登录状态信息包括:已登录状态和离线状态;所述用户安全状态信息包括:危险状态、警告状态和正常状态。所述用户基本信息中的账户名称、账号、账户密码、账户类型为基于用户的注册信息预先保存在本地的,后继也可在管理员的管理过程中进行新增、修改或删除。
33.其中,所述用户安全状态信息的判定采用现有的技术手段实现,例如,在一段连续的时间内,若所述账户登录失败的次数为0~1次,则判定所述账户为正常状态;若所述账户登录失败的次数为2~5次,则判定所述账户为警告状态;若所述账户登录失败的次数大于5次,则判定所述账户为危险状态。
34.a30、sdp控制器基于所述设备基本信息和所述访问权限,生成与已登录的账户对应的唯一识别码。
35.其中,所述唯一识别码包括所述终端设备的地址信息、账户信息、访问权限和该唯一识别码的有效期的起始时间;其中,所述地址信息包括该终端设备的mac地址,所述账户信息包括该账户的账号。
36.所述述唯一识别码用于标识对应的已登录的账户在有效期内的访问权限,同时也作为终端设备和sdp网关间的通信令牌使用,用于标示发送该述唯一识别码的账户的合法身份。
37.所述唯一识别码的格式可根据实际需求进行设置,在本实施例的一种较佳的实施方案中,所述唯一识别码为uuid,所述唯一识别码的有效期的起始时间为生成uuid的时间,也可被称为时间戳,所述唯一识别码的有效期时长是预设的周期时长的1~2倍,较佳地,所述唯一识别码的有效期时长是预设的周期时长的1.5倍。
38.上述uuid可由一个32位的十六进制数字串构成,所述已登录的账户的终端设备的地址信息、账户信息、访问权限和该唯一识别码的有效期的起始时间可按照预先约定的规则放置在数字串对应的位置。
39.a40、sdp控制器将所述唯一识别码发送至该终端设备,以及发送至配对的sdp网关,用于在该终端设备上已登录的账户,基于所述唯一识别码和所述唯一识别码包含的访问权限,与该sdp网关在有效期内进行数据交互,使该sdp网关将工业控制系统的数据传输至终端设备。
40.需要说明的,所述唯一识别码的作用有两方面,一方面,所述唯一识别码用于表明,基于终端设备上部署的零信任客户端,当前根据所述唯一识别码与sdp网关进行数据交互的已登录账户为经过sdp控制器认证的合法账户;另一方面,由于所述身份识别码中包含所述已登录账户的访问权限,sdp网关和终端设备在接收到所述唯一识别码后,可通过解析所述唯一识别码得到对应账户的访问权限,基于所述访问权限即可对所述账户的访问内容
进行判断和控制。
41.也即,本访问控制方法将上述唯一识别码作为终端设备和网关通信的令牌,同时又将已登录账户对应的终端设备的地址信息、账户信息、访问权限和该唯一识别码的有效期等相关零散信息融入唯一识别码中,从而在保证通信安全性的同时有效减少通信所需的数据量,提高通信效率。
42.本发明实施例提出的访问控制方法,在每个预设的周期时长内,sdp控制器根据终端设备发送的安全环境信息,定期更新该终端设备上已登录的账户的访问权限,并将该已登录的账户更新的访问权限信息分发给该已登录的账户对应的终端设备和sdp网关,使该已登录的账户基于更新的访问权限访问工业控制系统,从而能够在用户登录期间,持续根据终端设备的安全环境信息动态调整用户的访问权限,从而保证在终端设备的安全环境信息发生变化时,已登录的账户的访问权限也得到相应调整,保证工业控制系统与终端设备通信时的安全性,降低工业控制系统暴露的风险。
43.实施例二为了更好地理解实施例一中权限更新操作中的步骤a20,本实施例结合具体的步骤进行进行详细说明。
44.本实施例的访问控制基于实施例一所述的零信任架构实现,执行主体为sdp控制器,在每个预设的周期时长内,所述a20包括:a201、sdp控制器基于a10中接收到的安全环境信息,以及本地存储的设备基本信息,执行对该终端设备的安全等级判定进程,得到该终端设备的新的安全等级。
45.所述安全等级用于后继步骤中,确定该终端设备上的账户的访问权限,具体地,如图3所示,所述对该终端设备的安全等级判定进程包括:s1、基于所述安全环境信息中包含的该终端设备的ip地址、mac地址,与设备基本信息中包含的该终端设备的ip地址、mac地址进行地址比对,判断地址比对结果是否一致;以及,基于所述安全环境信息中包含的该终端设备的时间信息,与sdp控制器本地的当前时间进行时间比对,判断误差是否在预设时长范围内;基于地址比对和时间比对的结果进行判断,若地址比对和时间比对的任意一项结果为否,则将该终端设备的安全等级判定为低,并结束安全等级判定进程;否则跳转至s2。
46.在本实施例中,不限定上述s1步骤中进行地址比对和时间比对的先后顺序,可先进行地址比对,也可先进行时间比对。在实际应用中,被恶意攻击的终端设备的某些数据可能被影响或篡改,使得其ip地址、mac地址、时间信息等安全环境信息中的一项或多项发生改变,本实施s1步骤通过比对上述安全环境信息,来判断终端设备所处网络环境的安全性。
47.s2、基于设备基本信息中包含的用户在线状态信息,判定终端设备的安全等级,若所有账户的用户在线状态信息均为离线状态,则将终端设备的安全等级判定为低,并结束安全等级判定进程;否则跳转至s3。
48.对于一台终端设备,若该终端设备上所有账户的用户在线状态均为离线状态,则说明当前没有用户使用该终端设备,因而可将其安全等级判定为低,以预防恶意入侵者假冒该终端设备上的合法账户欺骗sdp控制器,获取较大的访问权限。
49.s3、基于设备基本信息中包含的用户安全状态信息,判断用户安全状态信息中是
否包含危险状态,若是,则判定终端设备的安全等级为低,并结束安全等级判定进程;若否,则判断用户安全状态信息中是否包含警告状态;若是,则判定终端设备的安全等级为中,若否,则判定终端设备的安全等级为高,并结束安全等级判定进程。
50.需要说明的,上述用户安全状态信息用于标示对应账户的危险程度,具体地,一个账户的危险程度按照正常状态、警告状态、危险状态的顺序依次升高,当一个账户的危险程度较高时,则表明该账户对应的终端设备的安全程度较低,故步骤s3中将该终端设备的安全等级与该终端设备上所有账户的用户安全状态进行对应,从而限制后继步骤中该终端设备上的账户的访问权限。
51.其中,一个账户的用户安全状态是sdp控制器进行判定的,具体的,其可为sdp控制器基于实施例一所述的一段时间内登录验证失败的次数确定,也可通过其他的现有技术手段确定。
52.a202、基于所述新的安全等级,更新与该终端设备对应的设备基本信息中包含的安全等级。此处保存的安全等级,也可用于新登录账户的访问权限的确定。
53.s203、基于所述新的安全等级,以及该终端设备对应的设备基本信息中处于已登录状态的账户的账户类型,根据预先建立的权限管理规则,确定已登录账户的访问权限。
54.其中,所述预先建立的权限管理规则包括至少一个账户类型,以及每个账户类型在每个安全等级下的访问权限;所述账户类型包括:观察员、操作员和管理员;所述访问权限包括:无权限、只读权限、读写权限。
55.需要说明的,在工业控制系统中,所述读权限实际上对应的是对工业控制系统中系统数据的监视权,也即读取系统数据的权限;所述写权限实际上对应的是对系统数据的控制权,也即编辑系统数据的权限。所述系统数据可为工业控制系统中工控设备产生、传输、接收或保存的参数数据、控制数据等。
56.所述预先建立的权限管理规则可根据实际的安全需求进行设置,具体地,所述预先建立的权限管理规则可如表1所示:表1 权限管理规则表此外,为了防止在两次权限更新操作之间登录的账户无法得到有效的访问权限,本发明实施例还包括账号登录验证进程,所述登录验证进程包括对新登录的账户进行登录验证和访问权限的配置过程,该登录验证进程的执行主体为sdp控制器。
57.具体地,该登录验证进程包括:m1、sdp控制器接收终端设备发送的某一账户的登录请求,所述登录请求中包含该账户的账号和账户密码,基于该终端设备对应的设备基本信息中包含的该账户的身份认证类型,对该终端设备进行身份认证。若身份认证失败,则判定登录失败,记录该账户登录失
败的时间,结束登录验证进程;若身份验证成功,跳转至m2。
58.所述身份认证的过程采用常规技术手段实现,此处不做赘述。
59.m2、sdp控制器获取登录请求中包含的该账户的账号和账户密码,基于该终端设备对应的设备基本信息中包含的该账户的账号和账户密码进行比对,判断比对结果是否一致;若否,则判定登录失败,记录该账户登录失败的时间,结束登录验证进程;若是,则判定登录验证成功,跳转至m3。其中,该账户一个或多个登录失败的时间可用于上述用户安全状态信息的判定。
60.m3、sdp控制器将本地存储的设备基本信息中与该账户对应的用户登录状态信息更新为已登录状态,并基于设备基本信息中该用户的账户类型,以及该终端设备对应的安全等级,确定所述账户的访问权限。
61.m4、基于所述账户的访问权限和该终端设备的设备基本信息,生成与该账户对应的唯一识别码;所述唯一识别码包括该终端设备的mac地址,该账户的账号、访问权限和该唯一识别码的有效期的起始时间。
62.将所述唯一识别码分别发送至终端设备和配对的sdp网关。
63.上述对新登录的账户进行访问权限的配置过程,实际上是将用户登录验证的过程由终端设备上提到了sdp控制器,防止攻击者绕过终端设备的防护手段而获得合法身份,从而进一步提高零信任架构的安全性。
64.实施例三本实施例还提供一种基于零信任架构的工业控制系统访问控制方法,所述零信任架构包括sdp控制器、sdp网关、工业控制系统和多个终端设备,所述终端设备上部署有零信任客户端,所述工业控制系统包括多台工控设备;所述sdp控制器通过公网连接多个终端设备,sdp网关通过公网连接多个终端设备,所述sdp控制器通过私网与配对的sdp网关连接,所述sdp网关通过私网与工业控制系统中的工控设备连接;本实施例中所述访问控制方法的执行主体是sdp网关,所述访问控制方法包括:sdp网关接收配对的sdp控制器发送的唯一识别码,解析该唯一识别码,获取该唯一识别码包含的访问权限,将该唯一识别码保存在本地存储的唯一识别码列表中对应的访问权限下。所述唯一识别码列表包括多个访问权限,具体地,所述访问权限可为实施例二中所述的无权限、只读权限和读写权限。每个访问权限下保存有包含该访问权限的唯一识别码,且所述唯一识别码列表基于有效期定期更新。
65.也即,sdp网关在接收到配对的sdp控制器发送的唯一识别码后,将唯一识别码按照其所包含的访问权限分类放入本地存储的唯一识别码列表中。所述唯一识别码列表中的唯一识别码用于在接收到终端设备的交互请求数据时,验证发送该交互请求数据的账户的身份是否合法,以及判断交互请求数据中包含的操作类型与访问权限是否一致,以对访问工业控制系统的账户的访问权限进行控制。由于唯一识别码是有有效期的,因而需要定期刷新唯一识别码列表,及时删除失效的唯一识别码。
66.具体地,所述唯一识别码列表基于唯一识别码的有效期定期刷新可包括:在每个预设的刷新时长内,sdp网关遍历本地存储的唯一识别码列表,对于唯一识别码列表中的每一个唯一识别码,解析该唯一识别码,得到该唯一识别码中包含的有效期的起始时间,计算所述有效期的起始时间与sdp网关当前本地时间的差值,判断所述差值是
否大于有效期时长,若是,删除该唯一识别码。
67.不失一般性地,所述预设的刷新时长小于有效期时长,以及时清除唯一识别码列表中失效的唯一识别码,具体地,所述预设的刷新时长可为预设的周期时长的0.2倍、0.4倍、0.6倍或0.8倍。
68.需要说明的是,在上述唯一识别码列表基于唯一识别码的有效期定期刷新的过程中,由于唯一识别码的有效期的起始时间是基于sdp控制器的本地时间生成的,而上述刷新唯一身份识别码列表的过程是sdp网关基于本地时间进行的,因而需要保持sdp控制器和sdp网关的时钟同步,从而保证唯一身份别码的有效期的准确性。上述使sdp控制器和sdp网关的时钟同步的方法可采用本领域的常规技术手段实现,例如,可在sdp网关与sdp控制器初始化配置时将两者的初始本地时间设置为相同的时间点,也可设置为两者的本地时间均与世界时同步,以保证两者本地时间的同步性。
69.上述唯一识别码列表主要在sdp网关与终端设备的通信交互过程中使用,具体地,sdp网关接收到终端设备上的某一已登录的账户基于第一通信协议发送的交互请求数据时,执行响应进程,所述响应进程包括:b10、sdp网关基于第一通信协议解析所述交互请求数据,得到交互请求数据包中包含的请求方唯一识别码、目标工控设备、操作类型和操作内容。
70.其中,所述请求方的唯一识别码是sdp控制器基于该终端设备的安全环境信息,以及sdp控制器本地存储的与该终端设备对应的设备基本信息生成后发送给终端设备的;所述操作类型是终端设备基于操作内容确定的;所述操作内容指的是用户对目标工控设备采取的操作内容,有时也被称为操作指令、控制指令或工控指令。
71.b20、sdp网关基于交互请求数据中包含的请求方唯一识别码,遍历本地存储的唯一识别码列表,判断唯一识别码列表中是否包含该请求方唯一识别码;若否,则结束响应进程;若是,则获取该请求方唯一识别码对应的访问权限;跳转至b30。
72.需要说明的是,出于网络延迟的考虑,唯一识别码的有效期为预设的周期时长的1~2倍,因此,对于同一账户,唯一识别码列表中可能同时存在两个与该账户对应的唯一识别码,此种情况是正常的。由于终端设备在接收到sdp控制器发送的该账户的新的唯一识别码后,会用新的唯一识别码覆盖原有的唯一识别码,因而一个合法账户永远只能持有一个唯一识别码,且该唯一识别码一定是唯一识别码列表中两个与该账户对应的唯一识别码中的一个,因而可正常通过步骤b20中的验证。
73.b30、sdp网关比对交互请求数据中包含的操作类型与请求方唯一识别码对应的访问权限是否一致;若一致,则响应所述交互请求数据;否则,结束响应进程。
74.作为本实施例的一种较佳实施方案,为了进一步提高安全性,在步骤b30中,所述响应所述交互请求数据包括:p1、sdp网关基于第二通信协议,将所述操作内容发送至交互请求数据中包含的目标工控设备;p2、sdp网关接收目标工控设备返回的响应数据;p3、sdp网关基于第二通信协议解析所述响应数据,得到响应内容;p4、sdp网关基于第一通信协议,根据响应内容生成交互响应数据,将所述交互响应数据发送至终端设备。
75.也即,在该较佳的实施方案中,sdp网关基于第一通信协议得到终端设备发送的操作内容和目标工控设备后,基于第二通信协议将所述操作内容转发给目标工控设备;sdp网关接收到目标工控设备基于第二通信协议返回的响应数据后,基于第二通信协议解析所述响应数据,得到响应内容,再将该响应内容基于第一通信协议转发给终端设备。基于上述设置,终端设备只能通过sdp网关的转发与工业控制系统内的工控设备间接通信,且终端设备只知道自身与sdp网关的通信协议,而不知道工业控制系统与外部网络的通信协议,因而能够防止终端设备被攻击者入侵而导致工业控制系统的信息被泄露,从而进一步降低了工业控制系统暴露于外部网络的风险。
76.实施例四为了更好地理解本发明的发明构思,本实施例基于实施例一至三中记载的零信任架构和访问控制方法,对终端设备与sdp控制器和sdp网关之间的交互过程进行说明。
77.在本实施例中,唯一识别码采用uuid,终端设备可分别通过公网与sdp控制器和sdp网关通信连接,终端设备上部署有零信任客户端。
78.具体地,部署所述零信任客户端的步骤包括:c001、将零信任客户端插件解压并放置在用户指定目录下。
79.c002、配置零信任客户端的目的控制器地址和端口、身份认证标准、身份认证类型、客户端账户信息;上述客户端账户信息包括一个或多个账号,及所述账号关联的uuid、用户在线状态和访问权限信息。
80.c003、启动后台守护进程,基于后台守护进程,执行与sdp控制器或sdp网关的通信交互。
81.需要说明地,部署有零信任客户端的终端设备有时也被称为授权设备,一般地,一个终端设备可供一个或多个账户登录,但一个账户只能在一个终端设备上登录,以方便对用户账户的管理,保证工业控制系统与外部网络通信的安全性。
82.在本实施例中,终端设备与sdp控制器或sdp网关的通信交互包括:c1进程:在每个预设的周期时长内,向sdp控制器发送关于本地的安全环境信息,并接收和处理sdp控制器返回的uuid。
83.c2进程:对于当前处于已登录状态的账户,当接收到用户触发的访问请求操作时,基于第一通信协议和所述已登录账户对应的uuid与sdp网关通信,得到sdp网关返回的交互响应数据。
84.c3进程:若接收到用户触发的某一账户的登录请求操作,根据用户输入的登录信息,与sdp控制器通信,进行账号登录。
85.具体地,上述c1进程在终端设备的本地时间到达周期推送时间点时进行,上述c1进程包括:c101、判断本地时间是否到达周期推送时间点,若否,结束c1进程;若是,向sdp控制器发送本地的安全环境信息,并将周期推送时间点更新为当前周期推送时间点延迟一个预设周期时长的下一周期推送时间点,跳转至c102。
86.c102、接收sdp控制器基于所述安全环境信息生成的新的uuid,解析所述新的uuid得到所述新的uuid对应的账号和访问权限,将所述uuid和访问权限保存至本地存储的账户
列表下,结束c1进程。
87.其中,所述账户列表包括授权在该终端设备上登录的账户的账号,以及该账号对应的uuid、访问权限和用户登录状态信息。
88.上述c2进程在接收到用户触发的访问请求操作时开始执行,上述c2进程包括:c201、对于处于已登录状态的账户,当接收到用户触发的访问请求操作时,获取用户输入的操作内容,根据预先建立的操作内容分类列表判断所述操作内容的操作类型。
89.其中,所述预先建立的操作内容分类列表包括操作类型、以及每个操作类型包括的操作内容。需要说明的,上述操作类型和权限管理规则应当是对应的,例如,对应实施例二中的权限管理规则表,则本实施例中的操作类型包括读操作和写操作。具体地,读操作包括的操作内容指的是对工业控制系统的系统数据的读取操作,例如,其可为读取组态数据库中的组态数据、读寄存器、读工控设备的设备识别码等操作;写操作包括的操作内容指的是对工业控制系统的系统数据的新增、编辑、修改、删除等操作,例如,其可为编辑组态数据库中的组态数据、写寄存器等操作。
90.c202、从账户列表中获取该账户对应的访问权限,将所述操作类型与所述访问权限进行比对,判断所述操作类型是否包括于所述访问权限中;若是,则跳转至c203;若否,使用常规技术手段将“操作内容不合法”显示于用户操作界面,结束c2进程。
91.此处,相当于在终端设备在向sdp网关发送访问请求数据之前,先在本地判断用户的操作类型是否合法,并对操作类型不合法的操作内容进行拦截,使终端设备本身也设置一道安全防护屏障,以进一步提高工业控制系统的安全性,同时也可在一定程度上降低sdp网关的任务量,提高sdp网关对合法的访问请求数据的响应速度。
92.c203、基于第一通信协议,向sdp网关发送包括目标工控设备、操作类型、操作内容和该账户对应的uuid的访问请求数据。
93.c204、接收sdp网关发送的交互响应数据,基于第一通信协议解析所述交互响应数据,得到响应内容,使用常规技术手段将所述响应内容显示于用户操作界面,结束c2进程。
94.上述c3进程在接收到用户触发的登录请求操作后开始执行,上述c3进程包括:c301、接收用户触发的某一账户的登录请求操作,根据用户输入的登录信息,向sdp控制器发送登录请求。
95.所述登录信息包括用户输入的账号和账号密码。
96.c302、接收sdp控制器发送的身份认证提示,基于本地的身份认证类型进行身份认证;所述身份认证过程采用常规技术手段实现,此处不做赘述;若身份认证失败,结束c3进程;若身份认证成功,跳转至c303。
97.c303、接收sdp控制器发送的uuid,解析所述uuid得到所述uuid对应的账号和访问权限,将所述uuid和访问权限保存至对应的账户下,并将该账户的登录状态信息改为已登录状态,结束c3进程。
98.需要说明的是,在上述c2进程或c3进程中,若相关的验证过程或认证过程失败,sdp控制器或sdp网关可向终端设备返回认证失败信息或验证失败信息,也可不返回相关失败信息。若设定为sdp控制器或sdp网关返回失败信息,则c2进程和c3进程根据返回的失败信息结束;若设定为sdp控制器或sdp网关不返回失败信息,则c2进程和c3进程可设置为在持续的一段时间内没有接收到sdp控制器或sdp网关的消息时结束。
99.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
100.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
101.应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
102.此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
103.尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
104.显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献