自主控制系统和方法与流程

文档序号:11236557阅读:1148来源:国知局
自主控制系统和方法与流程

优先权的要求

本申请要求在2014年10月24日递交的美国非临时专利申请no.14/523,577的优先权,该美国非临时专利申请的内容在此通过引用并入。

附图说明

图1为根据本发明的实施方式的受保护系统、自主控制系统和输入设备。

图2为根据本发明的实施方式的串联连接的自主控制系统。

图3为示出根据本发明的实施方式的控制方法的流程图。

图4为根据本发明的实施方式的串联连接的自主控制系统。

图5为示出根据本发明的实施方式的串联连接的自主控制系统的操作的示意图。

图6为根据本发明的实施方式的串联连接的自主控制系统。

图7为根据本发明的实施方式的并联连接的自主控制系统。

图8为根据本发明的实施方式的并联连接的自主控制系统。

图9为示出根据本发明的实施方式的并联连接的自主控制系统的操作的示意图。

图10为根据本发明的实施方式的串联连接和并联连接的自主控制系统。

图11为根据本发明的实施方式的包括通信总线的自主控制系统。

图12为根据本发明的实施方式的包括半导体多芯片模块的自主控制系统。

图13为根据本发明的实施方式的在外部安装在插入式pcb上的自主控制系统。

图14为示出根据本发明的实施方式的自主控制系统的防篡改特征的流程图。

图15示出根据本发明的实施方式的使用自主控制系统作为对于用于安全协同处理的主机cpu的系统服务的工序流程。

具体实施方式

电子系统、机械系统、化学系统和生物系统可以具有可导致严重故障的状态或状态序列。这类致命状态可以从内部的自然力量、外部的偶发力量、或外部的故意敌对力量发生。在工业系统中,在远程控制和监控下的驱动设备或系统可以具有已知的不利状态,控制系统可以允许这些不利状态作为故障、用户失误、或恶意或敌对行为的结果。驱动设备可以接受并执行这类命令或出界信号,导致整个相关系统承受来源于这类诱发状态的损害、降级或自毁。例如,诱发的不利系统状态可以为过快或过慢的处理速度、打开得过远或关闭得过紧的阀门、或过高或过低的压力或温度。许多设备可能缺乏其自身的内部保护措施以在物理上或电力上防止这些出界操作。

本文中所描述的系统和方法可以提供自主控制,该自主控制可以根据商业规则和/或安全规则来监控并修改或阻断输入信号和/或输出信号,从而保护系统关键部件。信号修改和/或阻断可以确保多个设备或系统之间及其内部的出界连接状态不发生或仅在无关紧要的时间量内发生,以最小化或防止不期望的系统效应。(连接状态可以为在物理层级、在特定时刻的两个或更多个设备或系统之间的任何受监控的信号级或命令。例如,物理层可以为设备或系统的传送原始信号的最低硬件层。)当检测到违反规则的信号时,自主控制系统(例如电路)可以通过在内部切断违反信号而阻断违反信号。该电路反而可以不向受保护系统发送信号或向受保护系统发送失效保护信号,该受保护系统可以为在由自主控制系统保护下的任何设备或系统。该电路可以被配置成与遗留系统一起使用,例如通过被设计到系统升级中或被改装到系统。

在本文中所描述的系统和方法可以包括一个或多个计算机,该计算机也可以被称为处理器。计算机可以为能够执行算术操作和/或逻辑操作的任何一个或多个可编程机器。在一些实施方式中,计算机可以包括处理器、存储器、数据存储设备、和/或其它公知的或新型的部件。可以在物理上或者通过网络或无线链路连接这些部件。计算机还可以包括可指导前文提及的部件的操作的软件。计算机可以被称为由相关领域中的普通技术人员常用的术语,诸如服务器、pc、移动设备、路由器、交换机、数据中心、分布式计算机、或其它术语。计算机可以促进多个用户之间和/或其它计算机之间的通信、可以提供数据库、可以执行数据的分析和/或转换、和/或执行其它功能。将由普通技术人员所理解,在本文中所使用的那些术语为可互换的,以及可以使用能够执行所描述功能的任何计算机。计算机可以借助一个或多个网络而彼此链接。网络可以为任何多个完全或部分互连的计算机,其中,一些或全部计算机能够彼此通信。将由普通技术人员所理解,计算机之间的连接在一些情况下可以为有线的(例如,借助以太网连接、同轴连接、光学连接、或其它有线连接)或可以为无线的(例如,借助wi-fi、wimax、或其它无线连接)。计算机之间的连接可以使用任何协议,包括面向连接协议(诸如tcp)或无连接协议(诸如udp)。至少两个计算机可以交换数据所通过的任何连接可以为网络的基础。

图1示出受保护系统100。受保护系统100可以与输入设备102通信。输入设备102可以将信号发送到受保护系统100和/或从受保护系统100接收信号。输入设备例如可以为模拟或数字信号端口、控制旋钮、触摸显示器、键盘、鼠标、和/或一些其它外围设备。输入设备102还可以为用于受保护系统100或网络上的设备的主机设备。自主控制系统104(其可以被称为专用监控和动作设备(dmad))可以被放置成串联在输入设备102和受保护系统100之间和/或与输入设备102和受保护系统100并联。如下文更详细地描述,自主控制系统104的各种实施方式可以包括配置成执行软件的电子电路、处理器和存储器或其组合。自主控制系统104可以为内在安全的(例如包括加密和防篡改能力)。自主控制系统104还可以被显示为与输入设备/主机102和受保护系统100之间在数据流的两个方向上的数据连接串联或并联,从而自主控制系统104可以监控去往受保护系统100的输入信号和来自受保护系统100的输出信号。

在一些实施方式中,自主控制系统104可以创建实施规则的决定性行进条件。决定性行进条件可以为在输入的信号和即将到来的信号之间故意诱发的行进条件,从而具有仅输入的信号将影响输出的高级确认度。当规则违反信号出现在去往或来自受保护系统100的数据总线上时,自主控制系统104可以全速行进以检测违规以及可以在内部切断信号且代替失效保护信号(如果串联连接)或可以试图修改该信号(如果并联连接)。输入的信号和/或输出的信号可以被缓存以提供更多检测时间以及确保仅仅通过验证的信号被自主控制系统104传输到受保护系统100,反之亦然。

在一些实施方式中,自主控制系统104可以在物理上被显示在受保护系统100中或者在物理上以各种方式连接到受保护系统100或控制设备,上述各种方式诸如硅芯片叠加、集成电路封装叠加、模块化系统模块叠加、光导纤维、射频、导线、印制电路板线、量子纠缠、或者分子连接、热连接、原子连接或化学连接。

在一些实施方式中,自主控制系统104可以包括物理接口,该物理接口串联、并联、或串联和并联连接在一个或多个设备或系统(例如输入设备102和受保护系统100)之间。对于给定应用和系统类型(诸如有机、电子、或射频),每种物理连接类型可以具有不同组的设计依据和权衡。例如,在电子系统中,可以评估电压接口级别、信号集成度、驱动强度、防篡改、和/或诱导的传播延迟,以确定连接方法。

在一些实施方式中,自主控制系统104可以为具有加密的记忆存储器和防篡改特征的计算机系统,该计算机系统可以被设计、被编程、和被放置成自主地对主机系统或设备实施特定的安全和商业规则。自主控制系统104可以包括多个部件,诸如处理逻辑、记忆存储器、输入/输出缓冲器、通信端口、和/或重编程端口。自主控制系统104可以不断地实时分析任何数量的设备或系统之间的连接状态以及可以实施预定的商业和安全规则。当检测到出界状态时,自主控制系统104可以阻断、推翻禁止的连接状态,或将禁止的连接状态改变为已知的良好状态。类似方法可以应用于例如电系统、光学系统、机电系统、电磁系统、热系统、生物系统、化学系统、分子系统、重力系统、原子系统、或量子力学系统。

在一些实施方式中,自主控制系统104可以包括可编程设备,该可编程设备可以被编程为自主地响应于刺激而确定性地运转。例如,自主控制系统104可以包括现场可编程门阵列(fpga)、微控制器(mcu)、微处理器(mpu)、软件定义无线电、电光设备、量子计算设备、有机化合物、可编程物质、或可编程生物病毒。自主控制系统104可以直接连接到受保护系统100或连接到运行在受保护系统100上的一个或多个控制设备。自主控制系统104可以在物理上被连接,诸如通过硅芯片叠加、集成电路封装叠加、模块化系统模块叠加、光导纤维、射频、导线、印制电路板线、量子纠缠、分子方式、热方式、原子方式、或化学方式。

在一些实施方式中,自主控制系统104可以与受保护系统100存储器分离而安全地存储数据(诸如加密证书或系统日志),从而仅可以利用更强大的认证方法和访问控制(相比于受保护系统100所提供的)来访问或修改该数据。例如,自主控制系统104可以被计算机系统用来实施安全评分方法(例如,自主控制系统104可以被用于存储安全证书和需求信息)。此外,安全评分方法可以利用自主控制系统104来基于安全评分信息确认/验证、认证和授权外部资源。例如,所存储的数据可以用于验证与其它系统结合的安全集成度。

在一些实施方式中,自主控制系统104可以用于实现电子系统的内部的电子加密的公钥基础设施(pki)以确保内部系统部件、数据和/或外部连接设备的集成度和真实性。此外,这些证书可以被用于安全通信,确保消息的可信度、集成度、和/或真实性。例如,实现和实施电子加密pki的自主控制系统104可以包括只读存储器(rom)分区,该只读存储器(rom)分区包含在系统的初始制造期间可编程的公钥或全局唯一标识符(guid)。然后可以在自主控制系统104首次启动时通过自主控制系统104在内部生成私钥,例如使用业内标准加密方法,诸如rsa和x.509证书。然后可以使用该私钥来生成证书请求,该证书请求由制造商的证书认证机构(ca)或批准的第三方ca来签署。然后可以将签署的证书安全地存储在自主控制系统104的rom上。然后可以使用该证书来实现数据的数字签名和加密/解密。实现电子加密pki的自主控制系统104可以被改装到未实现电子加密pki的受保护系统100中,从而添加这类能力。这可以具有如下益处:使私钥存储在受保护系统100不可访问的位置上用以增加安全性。

在一些实施方式中,自主控制系统104可以与电子加密pki一起使用以确认内部受保护系统100部件为真实的,以及其它(内部受保护系统100和/或外部输入设备102)部件也能够实现pki,从而可以交换、存储和认证公钥。如果利用伪造版本篡改和替换实现pki的受保护系统100或输入设备102部件,则自主控制系统104可以能够检测伪造品,这是因为伪造的设备签名可能是不存在的或与原始的设备签名不同的。

在一些实施方式中,自主控制系统104可以利用加密方法(诸如pki)来确保受保护系统100和其它(例如外部输入设备102)系统部件内的数据集成度。自主控制系统还可以实现确保还未以任何方式改变数据的加密方法。此外,可以保证数据的真实性,因为数据的发起者可以被证明或确认。例如,自主控制系统104可以使用外围设备的公钥来加密意图用于外围设备的消息并验证从外围设备接收的消息。

在一些实施方式中,自主控制系统104可以实现电子加密pki,以及还可以通过生成虚拟系统(或其部件)的加密签署的散列值并存储那些散列值来保证虚拟机和/或虚拟层(通常被称为“虚拟系统”)的集成度和真实性。然后自主控制系统104可以通过重新计算散列值并将其与存储值相比较来验证虚拟系统的真实性和集成度。此外,自主控制系统104可以一直、在预定的或随机的时间段、和/或在预定的或随机的持续时间内仿真受保护系统100,使得所接收的任何命令不到达受保护系统100,从而防止对受保护系统100的影响。该操作模式可以用于测试或用于向攻击者给出在实际上从未在受保护系统100处驱动恶意企图时的攻击成功的印象。自主控制系统104可以包括进攻性措施,该进攻性措施可以在检测到禁止的连接状态、命令和/或命令序列时抵消威胁。例如,如果在usb端口上检测到未授权的连接,则自主控制系统104可以将信号输入usb外围输入设备102中以破坏或抵消该未授权的连接。

在一些实施方式中,自主控制系统104可以为集成电路芯片上的电子电路设计,该集成电路芯片可以以如下这类方式串联连接到控制设备中的第二集成电路芯片的物理接口:对系统性能和功能具有微不足道的影响。同时,第一集成电路芯片可以能够禁止与第二集成电路芯片的某些连接状态。该连接状态可以为给定时刻的两个设备之间的每个连接点上的信号级,诸如每个数字i/o连接上的电压级。可替选地,电子设备可以被插入在或添加到信号接口上,该信号接口可以包括对一个或多个电子设备或系统之间的一些或全部信号级或状态的外部恒定监控、以及确保设备或系统之间的出界信号状态不发生或仅在无关紧要的时间量内发生(从而不期望的系统效应将不发生)的动作。实现该方法的电子设备可以串联、并联、或串联和并联连接在一个或多个设备或系统之间,以及可以独立地或与外部监控和控制(包括利用计算机实现的安全评分方法)一起运行。

在一些实施方式中,自主控制系统104可以操作成基于硬件的串联“中间人”(mitm)。受保护系统100和输入设备102(例如外围设备)之间的通信可以正常地继续,直到自主控制系统104的监控逻辑检测到预编程的禁止的信号模式、数据封装、或对信号线的访问尝试。当检测到禁止的信号时,自主控制系统104可以通过选择替选的信号总线(或中断总线)而完全禁用主要信号总线。该替选的信号总线可以用于记录外围设备、中断外围设备、或与外围设备的全部断开。可以选择替选的信号总线,同时保持与受保护系统100的通信,例如为了通知受保护系统100其受到攻击。例如,自主控制系统104可以通过使用内部参数化多路复用器例示来保持该通信,该例示的通道选择线由专用的监控和动作逻辑控制,该专用的监控和动作逻辑被编程到受保护系统100中。

图2示出包括处理器200和存储器202的自主控制系统104的实施方式,该自主控制系统104与输入设备102(未示出)和受保护系统100(未示出)串联布置。处理器200可以在节点204上接收输入信号,该节点204可以连接到输入设备102。处理器可以在节点206上生成输出信号,该节点206可以被路由到受保护系统100。存储器202可以存储禁止的输入信号状态。处理器200可以将输入信号与禁止的输入信号状态相比较且可以产生匹配信号或不匹配信号。响应于不匹配信号,可以将输入信号供应给受保护系统100。响应于匹配信号,可以将替代输入信号供应给受保护系统100。该代替输入信号可以为不引起对受保护系统100的损害的输入信号。例如,指导受保护系统100的电机以其最高速度操作的对于受保护系统100的输入可能不利于特定处理操作且不应当被允许。如果这类命令为来自输入设备102的输入,则自主控制系统104可以拦截信号并采取紧急动作以防止未授权的状态。在本示例中,自主控制系统104可以完全地控制速度选择并将合适信号发送到受保护系统100,该受保护系统100保持先前授权的速度选择。此外,自主控制系统104可以创建日志条目或发送尝试未授权的连接状态的警报。自主控制系统104的响应可以取决于应用且可以预先被编程。例如,自主控制系统104还可以被编程为停止物理过程而非保持当前速度。

图3为示出根据本发明的实施方式的控制方法的流程图。该图呈现了用于上文所讨论的串联的自主控制系统104实施方式的示例性流程图。该示例性流程图还可以应用于下文所讨论的附加的串联的和/或并联的自主控制系统104实施方式,这些实施方式可以包括或不包括图2的处理器200和存储器202。自主控制系统104可以监控受保护系统100和输入设备102之间的连接状态1405。可以检查状态以确定该状态是否出界1410(例如,来自上文图2的示例的最大速度命令)。如果允许该状态,则监控可以正常地继续1405。如果该状态出界,则自主控制系统104可以采取抵抗该状态的动作1415(例如,通过将速度设置为比所命令速度低的速度或通过指示受保护系统100保持其当前速度)。自主控制系统104可以确定其介入是否将受保护系统100设置到或还原到可接受状态1420。例如,自主控制系统104可以确定电机是否实际上已恢复到较低速度而无损害。如果受保护系统100是好的,则监控可以正常地继续1405。然而,在一些情况下,可能无法将受保护系统100恢复到可接受状态。例如,如果受保护系统100为一把锁,且在自主控制系统104可以介入之前(例如,在并联布置(诸如下文关于图7所描述的并联布置)中)该受保护系统100接收到开锁命令,则受该锁控制的门可以已打开。再次锁上该锁将不符合该条件。在该情况下,可以使受保护系统100与进一步外部输入隔离,以及可以产生警报1425。

图4为根据本发明的实施方式的与在受保护系统100和输入设备102之间的串联接口连接的自主控制系统104的框图。该实施方式可以类似于上文所讨论的图2的实施方式起作用,但是在自主控制系统104内可以具有除了处理器200和存储器202以外和/或代替处理器200和存储器202的其它元件。在本示例中,自主控制系统104可以包括可编程逻辑器件(pld)或提供监控逻辑140的其它设备(例如电路、处理器等)。监控逻辑140通常可以通过双向多路复用器(mux)160而在受保护系统100和外围设备102之间传递所有信号。相同的信号也可以被送入提供控制逻辑150的监控和动作电路,该监控和动作电路可以为提供监控逻辑140的pld、电路、或处理器的一部分,或者可以与监控逻辑140分离(例如单独的pld、电路、处理器等)。在本图中绘制的实施方式为自主控制系统104的基于硬件的串联“中间人”(mitm)实现方式。在本实施方式中,受保护系统100和外围设备102之间的通信可以正常地继续,直到监控逻辑140检测到预编程的禁止的信号模式、数据封装、或对信号线的访问尝试。当检测到禁止的信号时,自主控制系统104中的控制逻辑150可以通过选择替选的内部i/o总线(或中断总线)来记录外围设备102、中断外围设备102、或与外围设备102的全部断开而完全禁用主要外围设备i/o总线。可以在自主控制系统104中实现该方法,同时保持与受保护系统100的通信以通知受保护系统100其受到攻击。自主控制系统104可以通过使用内部参数化多路复用器例示来保持该通信,该例示的通道选择线由专用的监控和动作逻辑控制,该专用的监控和动作逻辑被编程到受保护系统100中。

图4的自主控制系统104可以在物理层串联在受保护系统100的cpu和所连接外围设备102之间,该所连接外围设备102可以在受保护系统100的内部或外部。通信总线可以穿过包括监控逻辑140和mux160的自主控制系统104,该mux160被编程为检测违反对于给定应用的规则的信号。当检测到这类信号时,自主控制系统104可以阻止这些信号到达受保护系统100或至少阻止这些信号在受保护系统100处坚持达一定时长,该时长对于过程为不期望的。在图4的示例中,总线a通常可以穿过受保护系统100的cpu和外围设备102之间的自主控制系统104,并携带去往受保护系统100的cpu的信号和来自受保护系统100的cpu的信号。在如此做时,总线a可以穿过自主控制系统104的输出多路复用器。是总线a还是总线b到达受保护系统100可以由多路复用器的“s0”控制端口来确定。当s0端口为逻辑0时,总线a可以穿过。当s0端口为逻辑1时,总线b可以穿过。总线b的每条线的值可以受自主控制系统104的状态机控制逻辑150控制,该状态机控制逻辑150可以被配置成实施规则。在本示例中,当总线a的所有线为高时,s0可以坚持为逻辑1。作为响应,4输入与(and)门可以拨动s0以切换到总线b。与门可以为硬件门,以及通过硬件与门的传播时间可以为纳秒级,因此可以执行接近即时的切换。也可以借助供给s0的2输入or门、直接通过自主控制系统104的状态机控制逻辑150控制s0。自主控制系统104的多个实例可以被插入受保护系统100的输入和/或输出和输入设备102之间以对各种接口实施各种规则。

在图4中还示出了可以存储和加密数据的安全存储器。该存储器可以被用作自主控制系统104对主机cpu的系统服务和/或可以包含与主机cpu隔离的数据,诸如可从安全应用程序或外围设备读出的规则违反事件的日志。

在图4的示例中绘制的自主控制系统104可以以串联接口来布置,该串联接口使用具有如下特征的可编程逻辑器件:对于受监控线的通过自主控制系统104的诱发的信号传播延迟对于系统时序要求是可忽略的。自主控制系统104中的pld可以包括常规“穿过”模式,该模式增加少量的传播延迟,例如大约二十纳秒的延迟。所增加的延迟对于许多系统可以是无关紧要的,因此可以不影响正常的系统操作。

在图4的示例中绘制的自主控制系统104的串联接口可以能够部分地或完全地使受保护系统100与外围设备102断开连接,以作为防篡改措施在电气上隔离受保护系统100。然后自主控制系统104可以将任何攻击性信号、防御性信号、或诊断/修复信号输出到攻击或故障外围设备102,或仅仅保持状态。

图5为示出根据本发明的实施方式的具有串联接口的自主控制系统104的防止未授权的连接状态的操作的示意图。自主控制系统104可以被放置在速度选择输入设备(外围设备102)和驱动设备(受保护系统100)之间,该驱动设备接受二进制编码的速度以应用于物理过程。自主控制系统104可以包括监控逻辑140,该监控逻辑140监控输入并将输入传递到多路复用器(mux)或开关160。如果输入被允许,则这些输入可以从mux160前进到受保护系统100。如果输入不被允许,则状态机监控和控制动作逻辑150反而可以介入并引起mux160将由状态机监控和控制动作逻辑150生成的输出传递到受保护系统100。在本示例中,最高速度(用二进制“1111”表示)不利于特定处理操作且不应当被允许。图5中绘制的设备可以被调整为监控大量连接状态并对其起作用,这些连接状态编码多种多样的不同功能。例如,本示例中的自主控制系统104还可以被编程为防止未授权的速度选择序列,诸如从最低允许速度立即跳到最高允许速度。自主控制系统104逻辑可以为专用的,因此尽管“1111”在本示例中为禁止输入,但是在其它实施方式中可以禁止其它输入。对于自主控制系统104的输入受限于本示例的4位实施方式。

在图5.1中,速度选择总线连续地使信号穿过自主控制系统104以及借助自主控制系统104的“总线开关”到达驱动设备上。在控制总线开关的这个示例中,自主控制系统104可以监控用于可编程的未授权速度(连接状态)的速度选择总线并采取预编程的动作。在图5.1中,所选速度为授权速度,因此自主控制系统104允许该选择传递到驱动设备。

图5.2绘制了非故意地或恶意地通过输入设备102传输到自主控制系统104的针对速度的未授权的信号“1111”。自主控制系统104可以拦截该信号并采取紧急动作来防止未授权的状态。在本示例中,自主控制系统104可以包括用于拨动总线开关的预编程动作逻辑,从而自主控制系统104完全控制速度选择并将合适信号发送到受保护系统100,该受保护系统100保持先前授权的速度选择。此外,自主控制系统104可以创建日志条目或发送尝试未授权的连接状态的警报。自主控制系统104的响应可以取决于应用且可以预先被编程。例如,自主控制系统104还可以被编程为停止物理过程而非保持当前速度。

图5.3示出了,当输入设备102被用户或控制系统重新调整为选择授权速度时,自主控制系统104逻辑可以通过将总线开关拨回到默认的稳态位置而将控制切换回输入设备102。

图6示出了类似于图5的实施方式的自主控制系统104的实施方式,但是处理器200和存储器202代替硬件逻辑。在本实施方式中,可以借助链路300将节点204上的输入信号路由到存储器200。处理器200可以将输入信号与存储在存储器202中的禁止的输入信号状态相比较且产生匹配信号或不匹配信号。处理器200可以在线路302上产生选择信号,该选择信号可以控制mux304。在不匹配信号的情况下,选择信号可以允许线路204上的信号穿过多路复用器304到达受保护系统100。在匹配信号的情况下,可以将替代输入信号应用到线路306,以及线路302上的选择信号可以使替代输入信号穿过mux304。

图7为根据本发明的实施方式的利用并联接口连接到受保护系统100的、包括可编程逻辑器件(pld)的自主控制系统104的框图。可以借助自主控制系统104中的pld的输入或借助嵌入在自主控制系统104中的处理器来监控受保护系统100的输入和/或输出。在图5中所示的实施方式中,自主控制系统104可以利用并联接口连接到受保护系统100以及可以包括至少一个双向信号驱动器,该至少一个双向信号驱动器可以监控输入、内在地将状态改变为输出、以及引起中断而无需额外连接。驱动器可以联接到监控逻辑140,该监控逻辑140监控借助驱动器的开关160所接收的输入。如果输入被允许,则驱动器可以保持其状态。如果输入不被允许,则动作逻辑150可以将开关160投向动作总线输出,动作总线输出可以为例如接地信号或高信号。如在上文描述的串联接口示例中,受保护系统100和外围设备102之间的通信可以正常地进行,直到监控逻辑检测到未授权的信号模式、数据封装、或访问尝试。在并联配置中,控制逻辑无法通过在替选i/o路径中切换而在内部重新路由或断开i/o总线,该替选i/o路径用于记录外围设备102、中断外围设备102、或与外围设备102的全部断开。而是,通过开关160将去往受保护设备100的信号接地或设置为高。然而,并联方法可以对具有通信速度和信号速度的非常高速的系统(例如操作在ghz范围内的系统)有用,在该系统中可以不容许传播延迟。此外,并联的自主控制系统104可以需要比串联接口更少的整体i/o连接,这是因为该并联的自主控制系统104不必使信号穿过其自身(对于每个输入需要匹配输出)。

图8为利用并联接口连接到受保护系统100的自主控制系统104的实施方式的框图,该自主控制系统104包括连接到来自自主控制系统104的外围设备总线的至少一个三态输出端160(代替图7的开关),该至少一个三态输出端160在被命令努力引起i/o中断时可以拨到逻辑高或逻辑低。该三态输出端可以用于不具有双向i/o接口的自主控制系统104。

图9为示出根据本发明的实施方式的具有并联接口的电子自主控制系统104的操作的示意图。自主控制系统104可以包括并联接口,在此,输入设备102和受保护设备100之间的信号不直接穿过自主控制系统104。而是,自主控制系统104可以分接具有电力高阻抗输入的每条线路,以监控输入信号,如图9.1所示。当进行未授权的输入尝试时,并联的自主控制系统104可以通过将总线开关拨到输出总线而中断未授权的输入,该输出总线具有适合于覆盖主机总线的驱动强度(电流陷落和供应)。在图9.2的示例中,在内部使速度_选择_3线路接地可以防止其达到逻辑高状态,该逻辑高状态反过来选择最高处理速度。在图9.2中,自主控制系统104可以周期性地将总线开关拨回到位置3以监控来自输入设备2的输入,而没有来自自主控制系统104的动作总线输出的干扰。当自主控制系统104检测到选择授权的速度时,自主控制系统104可以移回到稳态,如图9.3所示。具有并联接口的自主控制系统104可以不同时监控信号,不像具有串联接口的自主控制系统104那样。

图10为自主控制系统104利用串联接口和并联接口连接到受保护系统100的实施方式的框图。串联接口包括监控逻辑140a、动作逻辑150a、和开关160a。并联接口包括监控逻辑140b、动作逻辑150b、和开关160b。在本实施方式中,当特定通信路径过快而不能在不降级正常系统操作的情况下串联通过时,可以通过并联接口处理那些路径。可以通过串联接口处理较慢的路径。

图11为自主控制系统104(不管接口)包括在自主控制系统104和受保护系统100之间的通信总线170的实施方式的框图。通信总线170可以包括如下功能:如果检测到恶意的或未授权的意图,则可选地标记受保护系统100。通信总线还可以包括用于记录、警报、或禁用至少一个外围设备102的功能。此外,通信总线170可以自主地记录事件并将这类事件上报给计算机实现的安全评分系统。

图12为自主控制系统104包括半导体多芯片模块的实施方式的图,该半导体多芯片模块可以包括在功能上以层叠体或平面阵列形式连接的至少两个互连的处理器方块。该模块还可以包括插入板和/或粘合在单一半导体封装内部的直接导线,该单一半导体封装直接安装到印制电路板(pcb)。该布置可以使在视觉上难以检测自主控制系统104,这可以提供抵抗恶意篡改的保护。

图13为将自主控制系统104在外部安装在插入式pcb上的实施方式的图,该插入式pcb可以包括可以在功能上以层叠体形式布置在受保护系统100的上方或下方的自定义插口组件。在本实施方式中,自主控制系统104可以用于保护现有的cpu并使用为cpu制造的现有的主板和插口。该实现方式可以被称为封装叠加实现方式,这是因为其涉及连接两个单独封装的部件以形成一体。

在一些实施方式中,自主控制系统104可以包括电子电路,该电子电路可以表面安装在可包括受保护系统100的印制电路板(pcb)上。自主控制系统104可以使用例如一个或多个pcb印制线、悬空引线、同轴电缆、或光导纤维而操作性地连接到受保护系统100。

在一些实施方式中,自主控制系统104可以包括可操作性地安装在受保护系统100上的模块化可堆叠的单板-计算平台。例如,该平台可以为pc104、epic、ebx、raspberrypi、parallella、或类似的模块化计算平台。在本实施方式中,自主控制系统104可以包括模块化承载体,该模块化承载体可以附接到模块化计算堆叠头且执行上文所描述的安保功能。这可以被称为模块叠加实现方式。

图14为示出根据本发明的实施方式的自主控制系统104的防篡改特征的流程图。如上所述,可以存储数据以实现自主控制系统104的加密防篡改检查。周期性地或基于用户请求,可以发起防篡改检查1305。自主控制系统104可以利用私钥签署去往与自主控制系统104通信的系统(即执行自主控制系统104的检查的系统)的消息1310。执行检查的系统可以尝试验证签名1315。如果签名为无效的,则可以生成指示自主控制系统104可能已被篡改的警报1320。如果签名为有效的,则执行检查的系统可以利用私钥签署消息1325。自主控制系统104可以尝试验证签名1330。如果签名为无效的,则可以生成指示执行检查的系统可能已被篡改的警报1335。如果签名为有效的,则篡改检查可以被宣布全部安全(即,检查系统和自主控制系统104二者均免于篡改)1340。因此,自主控制系统104可以检查另一系统且被该系统检查以提供互相安全性。

图15示出根据本发明的实施方式的使用自主控制系统104作为对于用于安全协同处理的主机cpu的系统服务的工序流程。上述针对自主控制系统104所描述的架构还可以实现安全处理作为对于主机cpu的系统服务,这是因为自主控制系统104的处理器可以具有自主控制系统的多种例示。在本实施方式中,自主控制系统104可以接收指令1505。自主控制系统104可以将如简化的所接收指令(例如来自输入设备102)与编译器的机器语言或操作码相比较1510以找到与存在于存储器中的预编程操作码的匹配,该存储器与自主控制系统104存储器子系统相关联。如果存在匹配,则自主控制系统104可以执行操作码的预编程功能1515,以及受保护系统100可以不接收该操作码。自主控制系统104可以访问安全存储器1520并返回结果1525。可替选地,如果不存在与在自主控制系统104的预编程存储器内的所接收的操作码的匹配,则可以将操作码传递到受保护系统100用以执行1530,以及受保护系统100可以返回结果1535。在输入设备102上执行的专门设计成与自主控制系统104一起工作的软件应用程序可以被要求包含自主控制系统104的专用操作码或指令集以访问自主控制系统104的安全协同处理能力。例如,如果这类自主控制系统104专用的操作码或一系列操作码将要请求数据集上的加密签名,则处理器200可以通过首先对数据集执行加密散列而进行响应。然后处理器200可以使用其私钥(存储在安全存储器202中)以数字方式签署散列数据集,以及然后借助输入设备102将签署的数据集返回到自主控制系统104专用应用程序,该专用应用程序已生成了讨论中的操作码。

尽管上文已描述了各种实施方式,但是应当理解,通过示例而非限制的方式呈现了这些实施方式。对于相关领域中的技术人员将显而易见的是,在不脱离精神和范围的情况下可以进行各种形式和细节改变。事实上,在阅读上文描述之后,对于相关领域中的技术人员将显而易见的是如何实现替选实施方式。

此外,应当理解,仅出于示例目的呈现了突出功能和优势的任何附图。所公开的方法和系统均足够灵活且可配置使得可以以所示出的方式以外的方式来利用这些方法和系统。

尽管术语“至少一个”可以经常被用在说明书、权利要求和附图中,但是术语“一”、“该”、“所述”等在说明书、权利要求和附图中也表示“至少一个”或“该至少一个”。

最后,申请人的意图是仅包括“用于...的方法”或“用于...的步骤”的表达语言的权利要求根据35u.s.c.112(f)来解释。没有明显包括“用于...的部件”或“用于...的步骤”的短语的权利要求不根据35u.s.c.112(f)来解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1