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

基于网络拓扑的设备数据保护的制作方法

2022-02-20 00:05:33 来源:中国专利 TAG:

基于网络拓扑的设备数据保护
1.相关申请的交叉引用
2.本国际申请是基于并要求于2019年6月4日提交的编号为16/430,663的题为“decive data protection based on network topology”的美国专利申请的优先权,其全部内容通过引用结合于此。
技术领域
3.本公开涉及保护网络系统中的设备的敏感数据,并且更具体地,涉及基于网络拓扑的设备数据保护。


背景技术:

4.有许多行业已经发展到将复杂的工业过程与联网的系统集成在一起。联网的系统可以包括,例如,控制工业中使用的复杂工业过程的各个方面的分布式计算机化控制设备。在这些类型的系统中,许多计算机化控制设备可以用替换设备来替换。例如,替换设备可以被物理安装和配置成以与被替换的原始设备相同的方式操作。在这种情况下,当原始设备从其位置物理移除时,系统可以关闭一段时间。在安装替换设备的过程中,会访问某些敏感设备数据,以便为网络配置替换设备。例如,在替换设备被安装并连接到网络之后,操作参数和配置数据可以经由网络连接被下载到替换设备。然而,在许多情况下,这可能会使敏感设备数据不受保护或暴露在攻击之下。


技术实现要素:

5.根据本公开,通过使用某些设备表征数据来生成密码短语(passphrase),实现了快速设备安装和替换(di&r)服务,该服务提供敏感设备数据的数据机密性和强完整性保护,而不需要用户交互。在许多实现中,密码短语基于与网络的互连设备相关联的拓扑。例如,密码短语可以是相对于拓扑以特定的排列来组织的设备表征数据的级联。然后,基于该密码短语导出密码密钥(cryptographic key),并用于保护(例如,加密/解密/哈希)敏感设备数据,而无需用户干预。在随后的快速设备替换事件中,设备的表征数据被用于重新导出密码密钥。在一些实现中,访问用于配置替换设备的经加密的敏感设备数据并测试其有效性。然后,经验证的敏感设备数据被解密并被加载到替换设备中,替换设备将恢复网络中原始设备的正常操作。以这种方式,实现了快速设备替换,其提供了数据保密性,同时也保持了设备替换的便利性,而无需用户交互。
6.在一个方面,基于网络拓扑提供设备数据保护的控制器设备包括存储多个配置数据的存储器和可操作地耦合到存储器的处理逻辑。处理逻辑可以识别与网络中的多个设备中的至少一个设备相关联的替换设备。确定表征多个设备中的每一个和替换设备的表征数据。基于表征数据生成与包括多个设备和替换设备的拓扑相关的密码短语。执行利用密码短语作为输入的密钥导出函数来产生密码密钥。使用密码密钥,与用替换设备进行对至少一个设备的替换相关联的配置数据被加密。
7.在另一方面,一种基于网络拓扑提供设备数据保护的方法包括:接收表征网络中的多个设备中的每个设备的表征数据;由控制器设备基于表征数据导出与多个设备的拓扑相关的密码短语;由控制器设备至少基于密码短语产生密码密钥;以及使用密码密钥解密用于配置网络中的替换设备的配置数据。
8.在又一方面,基于网络拓扑提供设备数据保护的非暂时性计算机可读存储介质包括可执行指令,当可执行指令由控制器设备执行时,使得控制器设备:接收表征网络中的多个设备中的每个设备的表征数据。基于表征数据,导出与多个设备的拓扑相关的密码短语。至少基于密码短语产生密码密钥。使用密码密钥,配置数据被解密以为网络配置替换设备。
9.在一个示例中,替换设备被配置为当检测到与替换相关联的事件时,基于配置数据作为控制器设备的替换来操作。在该示例中,事件包括但不限于以下中的至少一个:配置改变事件、操作员命令事件、错误通知事件、重启事件或调度事件。对于导出密码短语,与拓扑相关联的多个设备中的每一个设备的表征数据被级联。对于级联,基于多个设备中的每个设备相对于拓扑的顺序来排列表征数据。在又一示例中,基于与多个设备相关联的计算的哈希值来验证替换设备的经解密的配置数据。为了验证,将计算的哈希值与从经解密的配置数据中提取的哈希值进行比较。
10.如果被比较的哈希值彼此不匹配,则生成指示替换设备的配置无法恢复的警报或错误代码。如果被比较的哈希值匹配,则经解密的敏感设备数据有效,并且替换设备的配置可以继续。一旦敏感设备数据被解密和验证,敏感设备数据就被加载到替换设备的配置中。因此,替换设备可以代替网络中的原始设备恢复正常操作。
11.提供本发明内容是为了以简化的形式介绍将在下面的具体实施方式中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。其他特征将部分显而易见,部分在下文中指出。
附图说明
12.通过参考各种实施例,可以获得上文简要概述的本公开的更详细描述,其中一些实施例在附图中示出。虽然附图图示了本公开的选定实施例,但是这些附图不应被认为是对其范围的限制,因为本公开可以允许其他同等有效的实施例。
13.图1a

图1c是示出根据本公开实施例的基于网络拓扑提供设备数据保护的系统架构的框图。
14.图2a

图2c是示出根据本公开实施例的基于网络中所有被管理设备的网络拓扑来提供设备数据保护的后台触发过程的流程图。
15.图3a

图3e是示出根据本公开的实施例的当替换网络中的设备时,基于网络拓扑提供设备数据保护的后台触发过程的流程图。
16.图4是根据本公开实施例的在被管理设备的快速设备替换中基于网络拓扑提供设备数据保护的方法的流程图。
17.图5是根据本公开实施例的在控制器设备的快速设备替换中基于网络拓扑提供设备数据保护的方法的流程图。
18.图6是示出了包括一个或多个机器的系统的框图,在该系统中可以使用本公开的实施例。
19.在可能的情况下,使用相同的附图标记来表示附图中相同的元件。然而,在一个实施例中公开的元件可以有益地用于其他实施例,而无需具体叙述。
具体实施方式
20.本公开的各方面通常涉及在网络中实现快速设备安装和替换(di&r)服务,同时为敏感设备(配置)数据提供机密性和完整性保护,这些敏感设备(配置)数据诸如设备配置文件、用户/密码标识符、设备固件文件等。本公开的技术通过使用与网络中的每个设备相关联的某些表征数据来生成密码短语来提供这种保护。例如,该密码短语可能与与设备相关联的拓扑相关。拓扑是指网络中互连设备的物理设计或排列/布局。例如,密码短语可以是设备表征数据的级联,该设备表征数据相对于拓扑以特定的排列组织。然后基于该密码短语导出密码密钥。密码密钥用于自动加密和解密敏感设备数据,而无需用户干预。例如,密码密钥中的至少一个用于自动解密敏感设备数据,以为网络配置替换设备。一旦被解密,敏感设备数据可以被加载到替换设备中,使得该设备可以作为网络中原始设备的替换来操作。因此,本公开的技术有利地允许网络的任何设备被快速和安全地换出,而不会不利地影响服务时间或损害系统完整性。
21.图1a

图1c是示出根据本公开实施例的基于网络拓扑提供设备数据保护的系统架构100的框图。如图1a所示,系统架构100包括与一个或多个服务器103通信(例如,经由网络连接)的隔离环境101,服务器103与耦合到隔离环境101的分布式计算环境105相关联。本公开的各方面可以结合分布式计算环境105来实施,该分布式计算环境105包括许多类型的计算机系统配置,包括个人计算机、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络pc、小型计算机、大型计算机等。本公开的各方面还可以结合分布式计算环境105来实践,在分布式计算环境105中,任务由通过通信网络链接(通过硬连线链接、无线链接或者通过硬连线链接或无线链接的组合)的本地和远程处理设备来执行。在分布式计算环境105中,程序模块可以在本地和远程存储器存储设备中,诸如服务器103中。
22.在实现中,服务器103可以用作分布式计算环境105的存储设备。服务器103可以是计算机系统、大型机、工作站、个人计算机(pc)、移动电话、手掌大小的计算设备等。服务器103可以运行“主机”(host)软件,这种操作系统管理硬件和其他类型的系统资源,这些系统资源可以包括处理器、存储器、i/o设备,以提供诸如进程间通信、调度、存储器和数据管理等功能。在一些实现中,隔离环境101也可以被称为网络,诸如工业过程控制网络。在一些实现中,隔离环境(网络)101可以包括公共网络(例如,互联网)、家庭或专用网络(例如,局域网(lan)或广域网(wan))、有线网络(例如,以太网)、无线网络(例如,802.11网络或wi

fi网络)、蜂窝网络(例如,长期演进(lte)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。
23.在一些实现中,隔离环境101可以包括几个互连的设备,诸如由一个或多个控制器设备(诸如控制器设备120)管理的被管理设备110a

n。互连的设备可以被实现为各种工业(例如,化学处理、纸浆和纸张制造、发电、石油和天然气加工、电信、医院校园等)的过程控制系统的一部分。控制器设备120可以是计算机或处理设备的类型,其可以接收命令和数据并将其发送到硬件设备(例如,被管理设备110a

n),以控制过程的特定方面或整个过程。在一个说明性示例中,控制器设备120可以控制自动化系统的各个方面,以执行部分或全部设
施的集成能量生成和管理。被管理设备110a

n可以从控制器设备120接收命令,以实现部分受控过程的全部。例如,被管理设备110a

n可以包括中央处理单元,其按照控制器设备120的指令实现某些控制功能。
24.为了保持隔离环境101的过程控制系统的运行健康,可以安装和/或替换被管理设备110a

n或控制器设备120中的任何一个。例如,隔离环境101的原始设备可以基于触发事件被替换设备替换,诸如当接收到操作员用于暂停或重启原始设备的命令时,当原始设备的操作出现受损或故障时,或者当原始设备被安排替换时,等等。在替换设备的安装期间,某些敏感设备数据111a

n和121可以被访问以配置替换设备在网络中操作。与每个被管理设备110a

n和120相关联的该敏感设备数据111a

n和121可以包括但不限于配置数据/文件,包括密码/用户id和其他类型的敏感设备数据。在某些情况下,访问敏感设备数据可能会导致问题,因为这可能会使数据不受保护或受到攻击,从而导致各种类型的系统故障或损坏,从而对系统性能产生不利影响。
25.本公开的实现通过实现快速设备安装和替换(di&r)服务来解决上述和其他缺陷,其中该服务同时基于网络拓扑为敏感设备数据提供安全的数据保护。在一些实现中,本公开的技术可以在控制器设备120的di&r处理逻辑125(例如,硬件/软件)中实现。例如,di&r处理逻辑125可以根据需要预加载或加载到设备的固件中。根据本公开,di&r处理逻辑125通过使用某些设备表征数据来生成与设备110a

n和120的拓扑相关的密码短语,从而为敏感设备数据111a

n和121提供数据机密性和强完整性保护。
26.转到图1b,显示了系统架构的另一视图。在该示例中,di&r处理逻辑125初始地指示控制器设备120向所有被管理设备110a

n查询设备表征数据(设备标识信息)dii1

n。例如,设备表征数据dii1

n表征每个设备,并且可以包括但不限于设备序列号、设备商业参考号、设备位置信息、设备顺序排序信息等。为了查询被管理设备110a

n,控制器设备120可以使用各种技术。例如,控制器设备120可以向每个相应设备的被管理设备110a

n发送命令或指令,以提供它们的设备表征数据di11

n。响应于该命令,设备110a

n可以返回设备表征数据di11

n以供控制器设备120处理。在替代实现中,控制器设备120可以向被管理设备110a

n的硬件存储装置查询与设备表征数据di11

n相关的信息。在一些实现中,控制器设备120可以将设备表征数据di11

n存储在存储器或其他类型的存储设备中。对设备表征数据dii1

n的查询可以例如在系统架构的初始构建时实现,或者随后由控制器设备120按需实现。
27.基于设备表征数据dii1

n,生成与被管理设备110a

n的拓扑相关的密码短语(例如,文本数据)123。例如,密码短语123可以是设备的设备表征数据dii1

n的特定部分和/或组合的级联。在一些实现中,该级联包括基于每个设备相对于拓扑的顺序来排列设备表征数据dii1

n。例如,被管理设备110a和110b的设备表征数据dii1和dii2可以分别用于生成密码短语123。在该示例中,dii1可以包括设备序列号dii1=xxx,而dii2=456,这可以包括设备商业参考号。因此,密码短语被生成为测试串=“dii1|dii2|...|diin,”...|diin”(文本中的“|”表示级联)或者作为示例生成为“xxx|456...”。在一些情况下,可以基于位置信息、设备层次、功能、优先级或其他类型的设备信息来确定测试串中设备的顺序。在替代实现中,设备表征数据dii1

n的级联可以是无序的,并且该数据的其他排列也是可能的。
28.然后,基于密码短语123导出密码密钥(例如,密钥1和密钥2)。例如,密码短语被用
作密钥导出函数127的输入数据。在一些实现中,密钥导出函数127可以包括基于哈希算法的各种类型的密码哈希函数,诸如argon2、pbkdf2、scrypt或bcrypt。基于密码短语,密钥导出函数127返回输出密钥129。输出密钥129可以分为两个密钥,密钥1和密钥2,其中密钥1是加密/解密密钥(最小长度为128位),并且密钥2是基于哈希的消息认证码(hmac)密钥(最小长度为128位)。在一些实现中,输出密钥长度为256位,这满足密钥1的最小密钥长度为128位和密钥2的哈希长度为128位。在替代实现中,输出密钥129的长度可以小于256位,然而,这可能包括相应的安全性牺牲。
29.控制器设备120基于从输出密钥129导出的密码密钥(密钥1和密钥2)自动加密和解密敏感设备数据111a

n和121。例如,密钥1(加密/解密密钥)用于加密敏感设备数据111a

n和121。密钥2(哈希密钥)被用作密码哈希算法的输入,该算法也接收未加密的敏感设备数据111a

n和121,并返回哈希值128。哈希值128表示例如文本的唯一(例如,256位)签名。哈希值128随后被用于确保敏感设备数据111a

n和121在被加密之后不被改变或篡改。
30.一旦敏感设备数据111a

n和121被加密,包括经加密的敏感设备数据111a

n和121以及哈希值128的经加密的数据对象155被生成并存档以供随后检索。例如,经加密的数据对象155可以存储在服务器103的数据存储装置150中。在一些实现中,经加密的数据对象155可以用唯一的标签来标记,以将其与控制器设备120相关联。例如,控制器设备120的唯一标识符(例如,mac地址)可以用于为经加密的数据对象155创建唯一标签。这确保控制器设备120访问正确的经加密的数据对象155。在一些实现中,一个或多个被管理设备110a

n的地址以及控制器设备120的唯一标识符可以用于创建经加密的数据对象155的唯一标签。在其他实现中,唯一标签可以包括用于经加密的数据对象155的版本化控制的日期/时间信息。
31.在一些实现中,从输出密钥129导出的密码密钥(密钥1和密钥2)被删除,例如,以确保它们不会被不正确地访问或保持不安全。由于密钥被删除,在随后的快速设备替换事件期间,被管理设备110a

n的敏感设备数据111a

n和121被用于重新导出密码密钥(密钥1和密钥2)。例如,如果替换设备110f的任务是(如箭头159所示)替换被管理设备110a

n中的被管理设备(例如,101c),则替换设备110r可以由控制器设备120使用敏感设备数据来配置。控制器设备120例如可以存储敏感设备数据111a

n和121的副本,使得它可以配置任何替换设备以在隔离环境101中正常操作。
32.由于与替换设备110f在隔离环境101中的插入相关的拓扑的改变,控制器设备120更新在服务器102处存档的经加密的数据对象155。例如,di&r处理逻辑125指示控制器设备120再次从所有被管理设备110a

n(其现在也包括替换设备110f)检索设备表征数据dii1

n。基于设备表征数据dii1

n,生成与拓扑相关联的新的密码短语123。基于新的密码短语123导出新的密码密钥129。于是,敏感设备数据111a

n被加密,并且基于新的密码密钥129的密钥1和密钥2部分生成新的哈希值128。一旦在更新的经加密的数据对象155中被加密和分类,经加密的数据对象155被标记并再次在服务器103处存档。
33.在图1c中,示出了系统架构100的另一视图。在该示例中,替换设备120r的任务是(如箭头160所示)替换隔离环境101中的控制器设备120。这里,替换设备120r被加载有di&r处理逻辑125。例如,di&r处理逻辑125可以根据需要被预加载或加载到替换设备120r的固件中。由于被管理设备110a

n的拓扑没有改变,替换设备120r可以被配置有先前存档的经
加密的数据对象155的敏感设备数据。例如,经加密的数据对象155从服务器103被检索,被解密并被应用于替换设备120r(例如,硬件存储器)。
34.为了解密经加密的数据对象155,用于加密该数据的相同密码密钥129被重新创建。在这点上,di&r处理逻辑125向隔离环境101中的所有被管理设备110a

n查询先前获得的相同的设备表征数据dii1

n。基于该设备表征数据dii1

n,重新生成与拓扑相关的先前密码短语123。密码密钥129的密钥1和密钥2是基于先前的密码短语导出的,并且用于解密经加密的数据对象155的敏感设备数据。
35.在一些实现中,经加密的数据对象155的敏感设备数据在其被加载到替换设备120r之前被测试有效性。例如,di&r处理逻辑125可以基于与被管理设备110a

n相关联的哈希值来验证敏感设备数据。这确保敏感设备数据自从被加密以来没有被改变或篡改。例如,在生成密码密钥之后,还生成每个被管理设备的敏感设备数据的哈希值128,并将其与经加密的敏感设备数据一起存储在经加密的数据对象155中,以供以后检索。
36.为了验证经加密的数据对象155的敏感设备数据,从经加密的数据对象155中提取先前存储的哈希值。提取的哈希值与计算的哈希值128进行比较,该计算的哈希值128是基于与被管理设备110a

n相关联的敏感设备数据111a

n来重新计算的。例如,重新创建的密码密钥129的密钥2与未加密的敏感设备数据111a

n和121一起被馈送到密码哈希算法中。密码哈希算法然后返回哈希值128。
37.如果被比较的哈希值彼此不匹配,则控制器设备120生成指示替换设备120r的配置不能恢复的警报或错误代码。如果被比较的哈希值匹配,则经解密的敏感设备数据有效,并且替换设备102r的配置可以继续。一旦敏感设备数据被验证和解密,di&r处理逻辑125将敏感设备数据加载到替换设备120r的配置中。于是,替换设备120r可以在隔离环境101中代替原始设备(例如,控制器设备120)恢复正常操作。
38.图2a

图2c是示出后台触发过程200的流程图,该过程200例如由控制器设备120的di&r处理逻辑125执行,以基于网络(例如,隔离环境101)中所有被管理设备(例如,被管理设备110a

n)的网络拓扑提供设备数据保护。后台触发过程200可以结合控制器设备120、被管理设备210(可以与被管理设备110a

n相同)和数据存储装置250(可以与服务器103的数据存储装置150相同)来实现。在一些实现中,后台触发过程200的激活可以导致使用与di&r服务相关联的数据来实现后台过程的列表。例如,后台触发过程200可以初始地被激活,以在随后的快速设备替换事件期间为敏感设备数据提供保护。
39.转到图2a,后台触发过程200开始于步骤202,其中控制器设备120查询并接收与被管理设备210相关联的设备标识信息(dii)。例如,设备标识信息表征每个设备,并且可以包括但不限于设备序列号、设备商业参考号、设备位置信息、设备顺序排序信息等。为了查询被管理设备210,控制器设备120可以执行查询命令。例如,控制器设备120可以循环通过每个被管理设备,以执行查询命令或执行指令。响应于该查询命令,每个被管理设备110a

n可以返回包括设备表征数据dii1

n的响应,该设备表征数据dii1

n然后被控制器设备120存储。
40.在步骤204,基于接收到的dii生成输入串(也称为密码短语)。例如,密码短语可以是dii的某些部分和/或组合的级联。在一些实现中,级联包括基于每个设备相对于拓扑的顺序来排列dii。在一些情况下,设备的顺序可以基于位置信息、设备层次、功能、优先级或
其他类型的设备信息来确定。在替代实现中,dii的级联可以是无序的,并且其他布置也是可能的。
41.在步骤206,基于输入串生成输出密钥(也称为密码密钥)。例如,输入串或密码短语被用作密钥导出函数的输入,以导出一个或多个密钥。例如,密钥导出函数可以包括各种类型的密码哈希函数,如下文进一步讨论的。输出密钥长度具有特定的长度(例如,256位),以满足安全性的最小密钥长度。在替代实现中,输出密钥的长度可以具有其他长度,但是这会对安全性造成对应的影响。
42.如可选路径中的步骤208和210所示,在一些实现中,得到的输出密钥或密码密钥可以被分成两个密钥。在步骤208,从密码密钥的一部分中提取特定长度(例如,128位)的加密/解密密钥。在步骤210,从密码密钥的另一部分提取特定长度(例如,128位)的哈希密钥。从密码密钥导出的密钥用于自动保护被管理设备210的敏感设备数据。
43.转向图2b,示出了背景触发过程200的继续。在该示例中,示出了可被实现来保护与被管理设备中的每一个相关联的敏感设备数据(也称为di&r数据对象)的替代技术。例如,在一个实现中,可以使用基于哈希的消息认证码(hmac),而在替代实现中,不使用。相反,aes

gcm(高级加密标准

伽罗瓦计数器模式)被用作加密算法,这使得hmac冗余。
44.在一个替代实现中,可以基于未加密的di&r数据对象生成基于哈希的消息认证码(hmac)。hmac是一种基于密码密钥和哈希函数生成的消息认证码。hmac用于提供数据完整性和消息的认证。在一些实现中,各种类型的哈希函数,诸如sha

256或sha

3,可以用于hmac的计算。在步骤212,基于敏感设备数据和从输出密钥导出的哈希密钥,通过使用例如sha

256哈希函数来生成哈希值。作为步骤213,基于hmac和哈希值对敏感设备数据进行哈希。在步骤214,基于从输出密钥导出的加密密钥来加密每个被管理设备的经哈希的敏感设备数据。
45.如果将aes

gcm用作加密算法,则无需为敏感设备数据生成hmac哈希。这是因为aes

gcm提供了认证的加密和解密,这使得hmac步骤变得冗余。因此,在步骤215的替代实现中,基于从输出密钥导出的加密密钥,为每个被管理设备加密敏感设备数据。例如,原始的di&r数据对象被馈送到加密算法中,因为aes_gcm提供了认证加密和认证解密。
46.转到图2c,示出了背景触发过程200的另一继续。在步骤216,基于例如sha

256哈希函数和从输出密钥导出的哈希密钥,对每个被管理设备的经加密的敏感设备数据进行哈希。一旦生成了哈希,在步骤217,哈希被级联在一起成为哈希列表,并且经加密的敏感设备数据被捆绑在一起成为单个对象。在步骤218,经加密的数据对象和经哈希的经加密的敏感设备数据对象被传输到远程或本地服务器。在步骤219,敏感设备数据被存储在服务器上以供以后检索。
47.图3a

图3e是示出后台触发过程351的流程图,该过程351例如由控制器设备120的di&r处理逻辑125执行,以在实现替换设备时基于网络拓扑提供设备数据保护,诸如在网络(例如,隔离环境101)中的控制器设备120。如图所示,后台触发过程351可以结合控制器设备120、一个或多个被管理设备310(可以与被管理设备110a

n相同)和数据存储装置350(可以与服务器103的数据存储装置150相同)来实现。在一些实现中,后台触发过程351的激活可以导致使用与di&r服务相关联的数据来实现后台过程的列表。例如,当检测到快速设备替换事件,诸如配置改变事件、操作员命令事件、错误通知事件、重启事件或调度事件时,可
以激活后台触发过程351。
48.关于图3a,后台触发过程351开始于步骤352,其中控制器设备120向数据存储装置350发送请求命令,以接收存储在其上的经加密的敏感设备数据。作为响应,数据存储装置350可以传输或以其他方式提供对经加密的敏感设备数据的访问。控制器设备120然后解密经加密的敏感设备数据。为了解密检索到的经加密的敏感设备数据,将重新创建用于加密该数据的相同密码密钥。在这点上,控制器设备120首先在步骤354查询被管理设备,并接收表征被管理设备中的每一个的dii(设备标识信息)数据。
49.转向图3b,在步骤356基于dii数据生成输入串(密码短语)。例如,密码短语可以是被管理设备中的每一个的设备表征数据dii的某些部分和/或组合的级联。在一些实现中,级联包括根据每个设备相对于拓扑的顺序来排列dii数据。在步骤358,基于输入串生成输出密钥(密码密钥)。例如,使用哈希算法的密钥导出函数,诸如argon2、pbkdf2、scrypt或bcrypt,将输入串作为输入并返回输出密钥。然后,输出密钥被分成至少两个密钥。例如,在步骤360,输出密钥被分成加密/解密密钥,并且在步骤362,输出密钥被分成哈希密钥。在步骤364,基于哈希密钥对每个被管理设备的敏感设备数据进行哈希。
50.在图3c中,后台触发过程351继续,其中每个经加密的敏感设备数据的哈希被级联在一起成为哈希列表,然后被验证。为了验证经加密的敏感设备数据,从经加密的敏感设备数据中提取先前存储的哈希值。将提取的哈希值与计算的哈希值进行比较,该计算的哈希值是基于被管理设备相关联的敏感设备数据重新计算的。验证步骤的优点是,它确保敏感设备数据在被加密后没有被改变或篡改。
51.在365,每个经加密的敏感设备数据对象被解密,并且哈希值被计算。在步骤366,从先前的经哈希的敏感设备数据中提取对应的哈希值。于是,将计算的哈希值与每个被管理设备的提取的哈希值进行比较。如果被比较的哈希值彼此不匹配,则后台触发过程351在“失败”路径上继续。如果被比较的哈希值匹配,则后台触发过程351在“成功”路径上继续。
52.转到图3d,如果被比较的哈希值不匹配,后台触发过程351可以跳转到步骤368,其中“失败”路径可以包括拒绝经加密的敏感设备数据并生成错误代码。否则,如果被比较的哈希值匹配,则后台触发过程351在步骤367继续,在步骤367确定经加密的敏感设备数据有效,并且替换设备的配置可以继续。敏感设备数据通过使用加密/解密密钥来解密,然后被加载到替换设备的配置中。因此,替换设备可以代替网络中的原始设备恢复正常操作。
53.图4是根据本公开实施例的方法400的流程图。在一个实施例中,图1a

图1c的控制器设备120可以执行方法400,以在被管理设备的快速设备替换中基于网络拓扑提供设备数据保护。方法400可以由控制器设备120的处理逻辑(例如,di&r逻辑125)来执行。处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。可选地,在一些其他实施例中,执行该方法的控制器设备120的一个或多个处理器可以执行例程、子例程或操作,这些例程、子例程或操作可以执行方法400及其每个单独的功能。在某些实施例中,单个处理线程可以执行方法400。或者,两个或更多个处理线程可以执行方法400,其中每个线程执行一个或多个单独的功能、例程、子例程或操作。应当注意,图4中描述的方法400的框可以同时执行,或者以不同于描述的顺序执行。
54.参考图4,在框410,方法400识别与网络中的多个设备中的至少一个设备相关联的替换设备。例如,控制器设备可以基于检测到的事件,诸如配置改变事件、操作员命令事件、
错误通知事件、重启事件、调度事件等,识别替换设备以配置为网络中原始设备的替换。在框420中,确定用于表征多个设备中的每一个设备和替换设备的表征数据。例如,控制器设备查询所有被管理设备,并作为响应接收设备表征数据,该设备表征数据可以包括但不限于设备序列号、设备商业参考号、设备位置信息、设备顺序排序信息等,
55.在框430中,基于表征数据生成与包括多个设备和替换设备的拓扑结构相关的密码短语。例如,密码短语可以是相对于拓扑以特定的排列组织的设备表征数据的级联。在框440中,执行利用密码短语作为输入的密钥导出函数,以产生密码密钥。例如,密码短语用作密钥导出函数的输入数据,该函数将密码密钥作为输出返回。在框450中,使用密码密钥,加密与用替换设备进行至少一个设备的替换相关联的配置数据。例如,基于密码密钥的加密/解密密钥部分对敏感设备数据进行加密。
56.图5是根据本公开实施例的方法500的流程图。在一个实施例中,图1a

图1c的控制器设备120可以执行方法500,以在控制器设备的快速设备替换中基于网络拓扑提供设备数据保护。方法500可以由控制器设备120的处理逻辑(例如,di&r逻辑125)来执行。该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的软件)或两者的组合。或者,在一些其他实施例中,执行该方法的控制器设备120的一个或多个处理器可以执行例程、子例程或操作,这些例程、子例程或操作可以执行方法500及其每个单独的功能。在某些实施例中,单个处理线程可以执行方法500。或者,两个或更多个处理线程可以执行方法500,其中每个线程执行一个或多个单独的功能、例程、子例程或操作。应当注意,图5中描绘的方法500的框可以同时执行或者以不同于描绘的顺序执行。
57.参考图5,在框510,方法500接收表征网络中的多个设备中的每个设备的表征数据。例如,控制器设备可以接收设备表征数据,该设备表征数据可以包括但不限于设备序列号、设备商业参考号、设备位置信息、设备顺序排序信息等。在框520中,基于表征数据导出与多个设备的拓扑相关的密码短语。例如,密码短语可以是相对于拓扑以特定的排列组织的设备表征数据的级联。在框530中,至少基于密码短语产生密码密钥。例如,密码短语用作密钥导出函数的输入数据,该密钥导出函数函数将密码密钥作为输出返回。在框540中,使用密码密钥来解密用于配置网络中的替换设备的配置数据。例如,基于密码密钥的加密/解密密钥部分解密敏感设备数据。
58.图6是示出包括一个或多个机器610、620和630的系统600的框图,在该系统中可以执行指令集,用于使机器执行本文讨论的任何一个或多个方法。在替代实施例中,系统600可以连接(例如,联网)到lan、内联网、外联网或互联网中的其他机器。机器610、620和630可以与图1a

图1c的设备相比较。例如,机器610可以与被管理设备110a

n之一相同,机器620可以与控制器设备120相同,机器630可以与图1a

图1c的服务器103相同。
59.在某些实施例中,系统600的机器610、620和630可以经由网络601(诸如局域网(lan)、内联网、外联网或互联网)连接到其他计算机系统。计算机系统可以在客户端

服务器环境中以服务器或客户端计算机的身份运行,或者在对等或分布式网络环境中作为对等计算机运行。例如,计算机系统可以由个人计算机(pc)、平板电脑、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够执行指定该设备要采取的动作的指令集(顺序的或其他的)的任何设备来提供。此外,术语“计算机”应包括单独或联合执行一个或多个指令集的任何计算机的集合,以执行本文描述的用于支持区
块链共识系统的微服务的任何一种或多种方法。
60.系统600包括处理设备(例如,cpu 612、622、632)、易失性存储器614、624、634,诸如闪存、随机存取存储器(ram)、动态随机存取存储器(dram,(诸如同步dram(sdram)或dram(rdram)等)、静态随机存取存储器(sram)、非易失性存储器616、626、636(例如,只读存储器(rom)或电可擦除可编程rom(eeprom)),一个或多个输入/输出设备618、628、638、数据存储设备621和经由网络601进行通信的网络接口619、629、639。
61.处理设备612、622、632表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(cisc)微处理器、精简指令集计算机(risc)微处理器、超长指令字(vliw)微处理器、或实现其他指令集的处理器、或实现指令集的组合的处理器。处理设备502也可以是一个或多个专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理设备612、622、632可以执行用于执行本文讨论的操作和步骤的处理逻辑(例如,di&r逻辑125)。
62.系统600还可以包括可通信地耦合到网络601的网络接口设备(例如,网络接口619、629、639)。计算机系统500还可以包括一个或多个输入/输出设备618、628、638,其包括但不限于视频显示单元(例如,液晶显示器(lcd)或阴极射线管(crt))、字母数字输入设备(例如,键盘)、光标控制设备(例如,鼠标)和信号生成设备(例如,扬声器)。
63.数据存储设备621可以包括计算机可读存储介质623(例如,非暂时性计算机可读存储介质),其上可以存储编码本文描述的方法或功能中的任何一个或多个的指令,包括编码图1a

图1c的di&r逻辑的指令,用于实现支持区块链共识系统的微服务的图4的方法400。在系统600执行指令期间,指令也可以全部或部分地驻留在易失性存储器614和/或处理设备612中,因此,易失性存储器614和处理设备612也可以构成机器可读存储介质。
64.非暂时性机器可读存储介质623还可以用于存储指令,以实现di&r逻辑125,从而基于网络拓扑提供设备数据保护,以确保本文描述的快速设备安装和替换服务中的敏感设备(配置)数据的机密性和完整性保护,和/或包含调用上述应用的方法的软件库。虽然机器可访问存储介质623在示例实施例中被示为单个介质,但是术语“机器可访问存储介质”应当被理解为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“机器可访问的存储介质”还应被理解为包括能够存储、编码或携带由机器执行的指令集并使机器执行本公开的任何一种或多种方法的任何介质。因此,术语“机器可访问存储介质”应被理解为包括但不限于固态存储器以及光学和磁性介质。
65.在前面,参考了各种实施例。然而,本公开的范围不限于具体描述的实施例。相反,所描述的特征和元素的任何组合,无论是否与不同的实施例相关,都被预期来实现和实践预期的实施例。此外,尽管实施例可以实现优于其他可能的解决方案或现有技术的优点,但是特定的优点是否由给定的实施例实现并不限制本公开的范围。因此,前述各方面、特征、实施例和优点仅仅是说明性的,并且不被认为是所附权利要求的要素或限制,除非在权利要求中明确陈述。
66.本文公开的各种实施例可以实现为系统、方法或计算机程序产品。因此,各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或结合软件和硬件方面的实施例的形式,这些方面在本文通常都可以被称为“电路”、“模块”或“系统”此外,
各方面可以采取包含在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有包含在其上的计算机可读程序代码。
67.可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是非暂时性计算机可读介质。非暂时性计算机可读介质可以是,例如但不限于,电子、磁、光、电磁、红外或半导体系统、装置或设备,或前述的任何合适的组合。非暂时性计算机可读介质的更具体的例子(非穷举列表)可以包括以下:具有一条或多条导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd

rom)、光存储设备、磁存储设备或上述的任何合适的组合。体现在计算机可读介质上的程序代码可以使用任何合适的介质来传输,包括但不限于无线、有线、光纤电缆、rf等,或者前述的任何合适的组合。
68.用于执行本公开各方面的操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写。此外,这种计算机程序代码可以使用单个计算机系统或通过彼此通信的多个计算机系统(例如,使用局域网(lan)、广域网(wan)、互联网等)来执行。虽然前面的各种特征是参照流程图和/或框图描述的,但是本领域普通技术人员将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机逻辑(例如,计算机程序指令、硬件逻辑、两者的组合等)来实现。通常,计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器。此外,使用处理器执行这样的计算机程序指令产生了能够执行流程图和/或框图块中指定的功能或动作的机器。
69.附图中的流程图和框图说明了本公开的各种实施例的可能实施例的架构、功能和/或操作。在这点上,流程图或框图中的每个框可以表示模块、代码段或代码部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应该注意的是,在一些替代实施例中,框中提到的功能可以不按图中提到的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意到,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
70.应当理解,以上描述旨在说明而非限制。在阅读和理解以上描述后,许多其他实施例是显而易见的。尽管本公开描述了具体示例,但是应当认识到,本公开的系统和方法不限于本文描述的示例,而是可以在所附权利要求的范围内进行修改来实施。因此,说明书和附图被认为是说明性的,而不是限制性的。因此,本公开的范围应当参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献