隔离硬件设计的基本原理和方法
扫描二维码
随时随地手机看文章
嵌入式系统的隔离硬件设计是指在嵌入式系统中通过硬件手段实现不同功能模块之间的隔离,以确保系统的安全性和稳定性。这种设计方法通过将系统划分为不同的安全域,每个域都有自己的权限和内存访问限制,从而防止一个模块的故障或攻击影响到整个系统。
隔离硬件设计的基本原理和方法
基于硬件的隔离:嵌入式开发中,基于硬件的隔离是一种重要的安全措施。通过使用具有硬件隔离功能的微控制器,如赛普拉斯PSoC 64或多核处理器,可以将系统分为安全和非安全环境。例如,安全区域处理关键的外围设备、内存和功能,而非安全环境则是传统的执行环境1。
内存保护单元(MPU):在许多安全应用程序中,内存保护单元(MPU)被用来进一步分解应用程序,确保每个模块只能访问特定的内存区域。这种机制可以有效防止一个模块访问或破坏其他模块的数据1。
隔离硬件设计的应用场景和优势
应用场景:隔离硬件设计广泛应用于需要高安全性的场景,如医疗设备、电机控制、交通设备等。在这些应用中,隔离设计可以防止电流浪涌损坏设备或危害人员,同时允许数据或功率传送2。
优势:
安全性:通过将系统划分为不同的安全域,每个域都有自己的权限和内存访问限制,可以有效防止一个模块的故障或攻击影响到整个系统。
稳定性:隔离设计可以减少系统间的相互影响,提高系统的稳定性和可靠性。
灵活性:基于硬件的隔离提供了更高的灵活性和可控性,使得系统在不同环境下都能保持稳定运行12。
谈到安全性,应该在开发人员脑海中回荡的关键概念是安全性始于隔离。开发人员需要将他们的应用程序隔离到不同的域中,每个域都有自己的权限并且只能访问特定的内存区域。在传统的嵌入式系统中,许多应用程序的架构使得任何软件模块或组件都可以访问整个内存映射。如果黑客能够访问内存中的单个模块,他们就可以毫不费力地完全拥有该系统。
隔离背后的想法是将应用程序分解为单独的安全域。如果黑客能够访问内存中的一个区域,他们将无法访问其他内存区域。如果他们想要访问,他们必须投入更多的时间和精力来弄清楚如何突破隔离屏障。在嵌入式系统中实现隔离的最好方法是实现基于硬件的隔离,它有几种不同的形式,应该一起使用。
隔离工具 #1 – 处理器架构
首先,对于安全性至关重要的应用程序,嵌入式开发人员应该使用具有基于硬件隔离的微控制器将应用程序执行环境分成两个不同的环境; 安全和非安全环境。 安全区域处理对保护设备至关重要的外围设备、内存和功能。 非安全环境是传统的、丰富的执行环境。 在现代微控制器中,这种隔离通过两种方式实现,一种是使用赛普拉斯 PSoC 64 等多核处理器,另一种是使用 Arm 的 TrustZone 等单核隔离技术。
多核微控制器通过具有一个专用于安全处理环境和一个专用于非安全处理环境的微控制器内核来实现基于硬件的隔离。另一方面,TrustZone 只是一个在安全处理环境和非安全处理环境之间切换的单核,TrustZone 确实需要几个时钟周期来在环境之间切换,但允许开发人员使用单个内核。
1 引言
Internet的迅猛发展使信息共享的程度进一步提高,因而信息安全的问题也日益突出,这时唯一的解决方法只能是主动解决信息安全和网络安全问题。目前国内外采用最多的、最普遍的网络安全措施是使用防火墙类软件,但是防火墙类软件本身存在两大先天缺陷:其一是防火墙隔离的网络还是基于TCP/IP协议来进行信息交换的,而TCP/IP 协议存在漏洞,它无法防止协议本身的漏洞;其二是防火墙的运行离不开操作系统,操作系统和防火墙软件都存在漏洞,因而不能阻止由这些漏洞而引起的网络安全问题[1]。因此,开发相应的应用系统是必要的。本文在对已有的防火墙技术及物理隔离技术进行分析的基础上,提出了带缓冲区的双通道实时开关技术,通过该技术所设计出的网络隔离器能满足实时数据的传输,同时本文提出了一种物理隔离环境下数据安全转发的技术构思,该方案使得网络隔离器有很好的安全性能。
2 物理隔离技术原理
2.1 简介
物理隔离是指内部网络不得直接或间接地连接外部网络即互联网[2]。物理隔离技术通过中断内部网络与外部网络的连接,不支持TCP/IP 协议,不依赖于操作系统,解决了目前网络安全存在的根本性问题,即由于操作系统漏洞和TCP/IP 协议漏洞所带来的安全问题,有效地防止了恶意代码、病毒以及网络入侵的发生,满足了网络安全的机密性、完整性、可用性、可控性和可审查性要求。
2.2 物理隔离技术
目前,国内外普遍采用的物理隔离技术有: 单硬盘物理隔离卡和双主板物理隔离技术。
2.2.1 单硬盘物理隔离卡
这种技术是将计算机的单个硬盘从物理层上分割为公共和安全两个分区,每个分区各自安装一套操作系统。在操作中,用户工作在安全状态和公共状态两个互相排斥的操作系统环境下,从而实现内外网的安全隔离。这种技术的缺点是不能传输实时数据。
2.2.2 双主板物理隔离技术
两块主板之间通过非网络方式的一个双端口RAM进行数据的传输,双端口RAM 分为两个区,第一个区是内网客户端向外网服务器单向传输数据的通道。第二个区是外网客户端向内网服务器单向传输数据时的通道。在平时内外网是断开的,双端口RAM处于断开状态。当有数据要传输时,内外网才通过双端口RAM 进行数据传输[3]。
3 网络隔离器技术原理
目前网络隔离器的实时开关实现方式主要有基于SCSI 的开关技术和基于总线的开关技术两种。
基于总线的实时开关技术的网络隔离器采用双端口静态存储器(Dual Port SRAM)配合基于独立的ARM的控制电路,双端口各自通过开关与独立的计算机主机连接,如图1所示。ARM作为独立的控制电路保证双端口静态存储器的每一端口上存在一个开关,且两个开关不能同时闭合即K1×K2=0。
基于SCSI 开关技术的网络隔离器和图1相似,只是数据通道换为SCSI 硬盘接口,而存储介质使用的是SCSI 硬盘,控制单元使用专门设计的硬件电路板实现。

该系统的数据交换原理如下:以数据由外部网到内部网的传递为例,首先外部主机将由外部网接收到的数据进行TCP/IP 协议和应用协议的剥离,将其还原为原始数据,同时对数据进行完整性和安全性的审查;审查通过后,将安全的数据传递给交换设备,然后内部主机接收到这批数据,在对它们进行TCP/IP协议和应用协议的封装后,把它们发送到内部网。反之亦然。
以内网接收电子邮件为例,当外网需要有数据到达内网的时候,外部的服务器立即发起对隔离设备的非TCP/IP 协议的数据连接,隔离设备将所有的协议剥离,将原始的数据写入存储介质。根据不同的应用,可能有必要对数据进行完整性和安全性检查,如防病毒和恶意代码等。
一旦数据完全写入隔离设备的存储介质,隔离设备立即中断与外网的连接。转而发起对内网的非TCP/IP 协议的数据连接。隔离设备将存储介质内的数据推向内网。内网收到数据后,立即进行TCP/IP 的封装和应用协议的封装,并交给应用系统。
这个时候内网电子邮件系统就收到了外网的电子邮件系统通过隔离设备转发的电子邮件。在控制台收到完整的交换信号之后,隔离设备立即切断隔离设备于内网的直接连接。
如果这时,内网有电子邮件要发出,隔离设备收到内网建立连接的请求之后,建立与内网之间的非TCP/IP 协议的数据连接。隔离设备剥离所有的TCP/IP 协议和应用协议,得到原始的数据,将数据写入隔离设备的存储介质。必要的话,对其进行防病毒处理和防恶意代码检查。然后中断与内网的直接连接。控制台收到信息处理完毕后,立即中断隔离设备与外网的连接,恢复到完全隔离状态。
每一次数据交换,隔离设备经历了数据的接受,存储和转发三个过程。由于这些规则都是在内存和内核里完成的,因此速度上有保证,可以达到100%的总线处理能力[4]。
4 隔离硬件的设计
网络隔离器中实现数据交换的过程是通过对隔离硬件上的存储芯片的读写来完成的。存储芯片作为内外网的数据交换存储区,其访问设计方案决定了网络隔离器的数据交换速度。为了满足数据交换速度的要求,采用了带缓冲区的双通道实时开关技术。
双端口静态存储器划分为两个存储区域A、B。
外部主机通过K1只能向A中写入数据或从B中读出数据,而内部主机通过K2 只能从A 中读出数据或向B 中写入数据,K1 和K2 的约束为K1a×K2c=0 且K1b×K2d=0。如此一来就将双向数据通道变为了两个单向的数据通道。这样的设计使得在原有设计中内外部处理单元一方对隔离硬件进行读写操作,而另一方就无法访问隔离硬件的情况有所改善,它允许双方同时进入读读或写写的状态。但是在这种结构中,存在着这样的读写冲突问题,例如当外部主机通过K1 向A 写入数据时,内部主机无法从A 中读出数据,或者当内部主机从A 中读出数据时,外部主机 不能向A 写入数据,对B 的操作也存在类似的情况。因此提出了带缓冲区的双通道实时开关技术。

将A、B 存储区域划分为N 个相等的小块存储区ai、bi(1≤i≤N),K1 和K2 的约束为K1ai×K2ai=0且K1bi×K2bi=0。
这样的改进使得当内外部主机中的一方对ai 或bi 进行访问时,另一方仍可以对aj或bj(i≠j)进行访问,减少了发生读写冲突的几率,提高了数据通道的效率,从而实现了提高内部网络和外部网络间数据的交换速度的目的。
5 物理隔离环境下数据安全转发方案的设计
物理隔离环境下数据安全转发方案的设计目标是要在内外网隔离的前提下实现安全、动态、实时的数据交换。
数据存储转发的构架由外网处理单元、数据转发区、内网处理单元、物理隔离模块、通断控制电路等功能部分组成。其中:
(1) 外网处理单元负责对外网数据的确定、采集工作,由内网用户需求而定,例如指定访问目标的网站等。
(2) 数据转发区负责内外网数据的暂存、转发工作。在数据交换的过程中,内网处理单元把数据导出到内网转发区或者外网处理单元把数据导入到外网转发区,而内网转发区与外网转发区是否有数据交换由隔离硬件根据用户的转发权限决定。用户没有数据转发的权限时,外网转发区与内网转发区是完全隔断的。
(3) 内网处理单元按照预先设定的安全策略对数据进行扫描分析、筛选过滤、病毒检测等处理。来自于外网数据或发往外网的数据,如果违反既定安全规则就被阻止进出。
(4) 物理隔离硬件实现在物理传导上使内外网络隔断,在物理上隔断内部网与外部网。物理隔离硬件被设置在最低的物理层上,内外网的数据转发由物理隔离硬件操纵通断控制电路来执行,在同一时段内,物理隔离硬件只能接受来自内网处理单元或者外网处理单元转发数据的请求,不能同时接收来自内网处理单元和外网处理单元转发数据的请求,使内网转发区和外网转发区双向进行数据转发操作。而且它的失效只会影响内外网数据交换的性能,而不会影响内网的安全性。
(5) 通断控制电路负责控制内网转发区与外网转发区的线路连接,同时控制对数据转发区中的数据进行转发或清除。通常,只有授予数据转发权限的用户和角色,在通过物理隔离硬件检查后认定数据转发权限与对象列表中的权限相符的情况下,通断控制电路才会连通内外转发区,并按其数据流向实施数据的转发工作。