从零开始理解IEC104协议之五——数据安全

        本司未针对变电所综合自动化系统设置网络安全防护。但为了文章完整性会针对以往的经验进行简单介绍。

        未进行安全防护的104协议数据是明文数据,有被旁路控制、拦截/篡改的风险,为抵御黑客、病毒、恶意代码等通过各种形式对系统发起的恶意破坏和攻击,各种网络信息安全防护设备孕育而出。总体原则是安全分区、网络专用、横向隔离、纵向认证。

⑴  、安全分区

        根据系统中业务的重要性和对一次系统的影响程度进行分区,所有系统都必须置于相应的安全区内;对实时控制系统等关键业务采用认证、加密等技术实施重点保护。

        安全Ⅰ区:即控制区。电力生产的重要环节、安全防护的重点与核心;直接实现对一次系统运行的实时监控;纵向使用电力调度数据网络或专用通道。典型系统包括调度自动化系统,变电站自动化系统等。

        安全Ⅱ区:即非控制区。所实现功能为电力生产的必要环节;在线运行,但不具备控制功能,使用电力调度数据网络,与控制区中的系统或功能模块联系紧密。典型系统包括调度员培训模拟系统,继电保护及故障录波信息管理系统,电能量计量系统等。

        管理信息大区:是指生产控制大区以外的电力企业管理信息系统的集合。可细化为安全Ⅲ区(侧重于生产管理的系统,如调度生产管理系统、调度报表系统、雷电监测系统等)及安全Ⅳ区(纯管理的系统,如管理信息系统、办公自动化系统等)。

⑵  、网络专用

I、电力调度数据网与其他网络的物理隔离

        电力调度数据网应当在专用通道上使用独立的网络设备组网,采用基于SDH/PDH上的不同通道、不同光波长、不同纤芯等方式,在物理层面上实现与电力企业其它数据网及外部公共信息网的安全隔离。

说明:

        数字传输系统中,有两种数字传输系列,一种叫“准同步数字系列”,简称PDH;另一种叫“同步数字系列”,简称SDH。

        SDH的被复接的几个支路是在同一高稳定的时钟控制下,它们的数码率是严格相等的,即各支路的码位是同步的。这时可以将各支路码元直接进行时间压缩,移相后进行复接。

        而PDH的被复接的几个支路不是在同一时钟控制下,各支路有自己的时钟,它们的数码率由于各自的时钟偏差不同而不会严格相等,即各支路码位是不同步的。这种情况下在复接之前必须调整各支路码速,使之达到严格相等。

        两者的区别就在同步的程度上。笼统地说SDH的同步是完整的,精确的,而PDH的同步是不完整的,不精确的。

        另SDH与PDH均以时分复用(TDM)为基础,就是将一个标准时长(1秒)分成若干段小的时间段(8000),每一个小时间段(1/8000=125us)传输一路信号。

Ⅱ、实时子网和非实时子网的逻辑隔离

        电力调度数据网划分为逻辑隔离的实时子网(数据实时性的要求为秒或毫秒级)和非实时子网(数据实时性的要求为分钟或小时级),分别连接控制区和非控制区。可采用MPLS-VPN技术、安全隧道技术、PVC技术、静态路由等构成子网。

说明:

1、MPLS-VPN技术

        MPLS-VPN在大型企业和运营商内部运用的非常广泛,是MPLS技术与VPN的结合。

MPLS技术

        即多协议标签交换技术,是一种IP骨干网技术。MPLS技术通过为IP报文增加标签信息,并且根据标签信息进行转发。标签被压入二层头部之后,三层头部之前,俗称2.5层 。

        这种技术最初是为了提高转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,从而节约了处理时间。

其工作流程如下:

        首先基于CEF技术(思科特快交换技术),将路由器表和ARP表转换为FIB表(转发信息数据库,包含目标ip地址及出接口信息)和ADJ表(邻居表,包含源目MAC地址)。

        当控制层面使用路由协议传递路由条目后,路由器上使用TDP/LDP(标签分发协议,LDP为开放协议,TDP为思科私有协议)为FIB表(转发信息数据库)中每一条存在的路由条目均分配一个标签号,装载于LIB表(标签信息数据库)中,同时传递给邻居,LIB中还记录邻居传递到本地标签号;之后路由器基于本地的FIB和LIB表生成LFIB(标签转发表),对应一个标签号的最佳路径。

        第一跳路由器负责标签的压入,中间路由器基于标签号转发流量,最后一跳路由器负责标签的弹出。

        随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势,但其与二层网络转发有很好的兼容性,仍旧得到广泛的应用。

VPN技术

        VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络。

        VPN通过操作系统的接口直接虚拟出一张网卡,后续整个操作系统的网络通讯都将通过这张虚拟的网卡进行收发。这和任何一个代理的实现思路都差不多,应用层并不知道网卡是虚拟的,这样VPN虚拟网卡将以中间人的身份对数据进行加工,从而实现各种效果。具体来说,VPN是通过编写一套网卡驱动并注册到操作系统实现的虚拟网卡,这样数据只要经过网卡收发就可以进行拦截处理。

        通常情况下,VPN服务器采取双网卡结构,外网卡使用公网IP接入Internet。我们来看看其工作流程:

        网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B,其发出的访问数据包的目标地址为终端B的内部IP地址。

        网络一的VPN虚拟网卡在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装的方式根据所采用的VPN技术不同而不同,同时VPN虚拟网卡会构造一个新VPN数据包,并将封装后的原数据包作为VPN数据包的负载,VPN数据包的目标地址为网络二的VPN服务器的外部地址。

        网络一的VPN虚拟网卡将VPN数据包发送到Internet,由于VPN数据包的目标地址是网络二的VPN服务器的外部地址,所以该数据包将被Internet中的路由正确地发送到网络二的VPN服务器。

        网络二的VPN服务器对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN虚拟网卡发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离,再将数据包反向处理还原成原始的数据包。

        网络二的VPN服务器将还原后的原始数据包发送至目标终端B,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B。在终端B看来,它收到的数据包就和从终端A直接发过来的一样。

        从终端B返回终端A的数据包处理过程和上述过程一样,这样两个网络内的终端就可以相互通讯了。

        由于VPN虚拟网卡可以对数据进行加工,可以结合下面提到的安全隧道技术对数据加密,也可以和防火墙结合到一起使用。

        而MPLS-VPN技术实现了跨地域、安全、高速、可靠的数据、语音、图像多业务通信,并结合差别服务、流量工程等相关技术,将公众网可靠的性能、良好的扩展性、丰富的功能与专用网的安全、灵活、高效结合在一起,为用户提供高质量的服务。

2、安全隧道技术

        安全隧道技术提供三个功能:第一是把一个协议封装在另一个协议中,这样不同的协议就能够在同一个IP基础设施上进行传输;第二是通过公共的寻址基础设施传输私有寻址的报文,这点其实就类似于VPN;第三是提供数据的完整性和机密性。

        综上来看,安全隧道技术的核心就是协议封装和数据加密。这里主要介绍一下数据加密。

对称加密

        加密数据与解密数据使用相同的密钥,这种加密方法称为对称加密。

        其特点为:①将原始数据进行切块,逐个进行加密。②加密与解密使用相同密钥,加密解密速度快。

        其缺点为:①每一个通信的对象都有一把密钥,如果通信对象过多导致密钥过多。②密钥分发问题,如何保证密钥不被窃取。

非对称加密

        加密数据与解密数据使用一组公共/私人密钥系统。公共密钥可以广泛的共享和透露,私钥自己保存。

        其特点为:加密时使用一种密钥,解密时使用另一种密钥。

        其缺点为:加密解密速度慢、时间长,不适用于对大数据进行加密解密。

hash算法

        它能把任意长度的数据、字符加密后得到一个固定长度的特征码。

        其特点为:①加密后输出的特征码长度固定;②加密后的特征码只跟数据内容有关,与数据名称无关。③可以用作数据的指纹④得到数据的特征码无法算出原数据的内容。

        其缺点为:①相同内容的文件加密后结果相同;②通常随数据一同发出,极易被窃取。

数字证书

        数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。

        数字证书往往含有以下内容:证书的发布机构、证书的有效期、公钥、证书所有者(Subject)、签名所使用的算法、指纹以及指纹算法。

数字证书的形成:

        首先权威证书签发机构(CA),先用非对称加密算法产生一对公私钥。然后生成一个数字证书文件,里面的内容如上文所述,都是明文,简称内容C。接着对其使用hash算法,得到数据指纹P。然后用私钥对数据指纹P进行加密,得到签名信息S。最后将C、S组成一个文件,这就是数字证书了。

数字证书的检验:

        具备通信功能的应用程序(如IE等)会读取证书中的发布机构,然后会在操作系统中受信任的发布机构的证书中去寻找这个发布机构的证书(即根证书),如果找不到,那说明证书的发布机构存在问题,那么证书也就可能存在问题,程序会给出一个错误信息。

        如果在系统中找到了证书发布机构的证书(根证书),那么应用程序就会从根证书中取出公钥,然后对证书里面的指纹和指纹算法用这个公钥进行解密,然后使用这个指纹算法计算证书的指纹,将这个计算的指纹与放在证书中的指纹对比,如果一致,说明证书肯定没有被修改过并且证书是由证书发布机构发布的,证书中的公钥肯定是证书所有机构的。

        最后就可以放心的使用这个公钥和证书所有机构进行通信了。

综合运用

        上述几种技术,如果单独使用任何一种对数据进行数据加密的话都是不安全的,往往都是各类技术混合使用,互补优缺点使数据的传输更加安全。其通信流程如下:

        step1:“客户”向服务端发送一个通信请求;

        step2:“服务器”向客户发送自己的数字证书。证书中有一个公钥用来加密信息,私钥由“服务器”持有;

        step3:“客户”收到“服务器”的证书后,它会去验证这个数字证书到底是不是“服务器”的,数字证书有没有什么问题,数字证书如果检查没有问题,就说明数字证书中的公钥确实是“服务器”的。检查数字证书后,“客户”会发送一个随机的字符串给“服务器”用私钥去加密,服务器把加密的结果返回给“客户”,“客户”用公钥解密这个返回结果,如果解密结果与之前生成的随机字符串一致,那说明对方确实是私钥的持有者,或者说对方确实是“服务器”。

        step4: 验证“服务器”的身份后,“客户”生成一个对称加密算法和密钥,用于后面的通信的加密和解密。这个对称加密算法和密钥,“客户”会用公钥加密后发送给“服务器”,别人截获了也没用,因为只有“服务器”手中有可以解密的私钥。这样,后面“服务器”和“客户”就都可以用对称加密算法来加密和解密通信内容了。

总结

        安全隧道技术原理如上,实践中应用广泛IPSEC技术正是基于此,除了不可否认性、数据完整性、数据可靠性,还实现了反重播性。

        不可否认即发送的不可否认,当发送方通过私钥产生的数字签名随消息一起发送时,接收方即可使用公钥进行验证。由于发送者拥有的私钥具有唯一性,所以只要通过验证发送对象便不能说自己没有发送,这就好比身份识别。

        反重播性就好比接受手机的验证码,每个IP只能使用一次,这样可以有效的防止某些黑客进行破译信息。

        数据完整性作用在于保护数据,避免被篡改。IPSEC使用的函数为Hash,即每个数据包产生一个加密检查和,接收方在打开Packet前必须进行检查和,如若不符立即丢弃。

        数据可靠性指的是IPSEC的加密技术,作用同样是为了保护数据。

3、PVC技术

        永久虚电路是指两台计算机通过面向连接网络的连接。PVC能经受计算机的重新自举或电源的波动,从这个意义上说它是永久的,因为它是将路径放在路由表中,而不是建立物理连接。下文首先我们先介绍下虚电路(VC)。

虚电路(VC)的组成:

        ①源和目的主机之间的路径(即一系列链路和路由器);

        ②VC 号,沿着该路径的每段链路一个号码;

        ③沿着该路径的每台路由器中的转发表表项。

虚电路(VC)的传输过程:

        虚电路网络如下图所示:

        ①虚电路的建立:发送方A发送含有地址信息的特定的控制信息块(如:呼叫分组),该信息块途经的每个中间结点根据当前的链路使用状况,分配链路,并建立输入和输出的链路映射表,所有中间结点分配的链路的串接形成虚电路(VC)。

        ②数据传输:发送方A发送的所有分组均沿着相同的VC传输,分组的发收顺序完全相同。

        ③虚电路的释放:数据传输完毕,采用特定的控制信息块(如:拆除分组),释放该虚电路。通信的双方都可发起释放虚电路的动作。有此过程的便是交换虚电路(SVC),无此过程的便是永久虚电路(PVC)。

        采用虚电路传输的分组数据将在它的首部携带一个VC 号。因为一条虚电路在每条链路上可能具有不同的VC号,所以每台中间路由器必须用一个新的VC号替代每个传输分组的VC号。 这个新的 VC 号从转发表中获得。转发表如下所示:

        我们再回看网络图:

        首先主机 A 请求该网络在它自己与主机 B 之间创建一条虚电路。 同时假定该网络为该虚电路选择路径 A-R1-R2-B,并为这条路径上的这 3 条链路分配 VC 号 12、22 和 32。在这种情况下,当这条虚电路中的分组离开主机 A 时,该分组首部中的 VC 字段的值是 12;当它离开 R1 时该值是 22,而当它离开 R2 时该值是 32。

        现在我们对虚电路应该有了一个初步的认识,来看看它的优缺点吧。

虚电路的优点

        ①数据传输分组无需建立完整的地址信息,对数据量较大的通信传输效率高,分组传输时延固定且较小。

        ②在正常情况下,分组到达目的结点时不会出现丢失、重复与乱序的现象。

        ③分组通过虚电路上的每个结点时,结点只需要做差错检测,而不需要做路径选择。

        ④通信子网中每个结点可以和任何结点建立多条虚电路连接。

虚电路的缺点

        ①需经历呼叫建立、数据传输和呼叫释放三个过程,对数据量较小的通信效率较低。

        ②如果虚电路中的某个结点或者线路出现故障,将导致虚电路传输失效,并且经过故障点的数据全部丢失。

虚电路的应用

        适用于两端之间长时间的大批量数据传输数据交换。

说明:

        计算机自举包括两个过程:加电自检和磁盘引导。①加电自检,当计算机上电时会进行加电自检,以断定它的所有元件都在正确地工作。如果某个元件有故障,显示器上酒会出现报警提示信息(如果显示器也不能正常工作,则以一串嘟嘟声来报警);②磁盘引导,查找装有操作系统的磁盘驱动器。从磁盘加载操作系统的原因有二:一是操作系统升级简单容易,二是使用户拥有选择操作系统的自由。

4、静态路由技术

      静态路由一种路由的方式,路由项由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表。其示意图如下:

        我们可以看到网络,由两个路由器R1和R2组成(接口号和IP地址在图中给出),它们分别连接了各自的网络:R1连接了子网192.168.0.0/24,R2连接了子网192.168.2.0/24 。

        在没有配置静态路由的情况下,这两个子网中的计算机A、B之间是不能通信的。从计算机A发往计算机B的IP包,在到达R1后,R1不知道如何到达计算机B所在的网段192.168.2.0/24(即R1上没有去往192.168.2.0/24的路由表),同样R2也不知道如何到达计算机A所在的网段192.168.0.0/24,因此通信失败。

        此时就需要管理员在R1和R2上分别配置静态路由来使计算机A、B成功通信。

第一步,在R1上执行添加静态路由的命令ip route 192.168.2.0 255.255.255.0

192.168.1.1。它的意思是告诉R1,如果有IP包想达到网段192.168.2.0/24,那么请将此IP包发给192.168.1.1(即和R1的2号端口相连的对端)。

第二步,也要在R2上执行添加静态路由的命令ip route 192.168.0.0 255.255.255.0

192.168.1.2。它的意思是告诉R2,如果有IP包想达到网段192.168.0.0/24,那么请将此IP包发给192.168.1.2(即和R2的3号端口相连的对端)。

        通过上面的两段配置,从计算机A发往计算机B的IP包,能被R1通过2号端口转发给R2,然后R2转发给计算机B。同样地,从计算机B返回给计算机A的IP包,能被R2通过3号端口转发给R1,然后R1转发给计算机A,完成了一个完整的通讯过程。

静态路由技术优点

        ①它是最为原始的配置路由方式,纯手工,易管理。

        ②网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。

        ③不占用网络带宽,因为静态路由不会产生更新流量。

静态路由技术缺点

        ①人工配置,对人员有一定要求,且耗时较多。

        ②大型和复杂的网络环境通常不宜采用静态路由。一方面,网络管理员难以全面地了解整个网络的拓扑结构;另一方面,当网络的拓扑结构和链路状态发生变化时,路由器中的静态路由信息需要大范围地调整,这一工作的难度和复杂程度非常高。

        ③当网络发生变化或网络发生故障时,不能自动重选路由,很可能使路由失败。

5、物理隔离

        物理隔离指的是在物理上将内部网络与外部网络分离,使得内部网络无法通过任何直接或者是间接的方式与外部网络用户直接相连。通常采用以下三种技术手段:

①独立网络

        即配置两个从用户到服务器的整个网络架构。内网、外网完全隔离。对用户侧来说,就是使用2台电脑一台连接外网,一台连接内网,完全独立。

②网络物理隔离卡

        利用手动物理开关,使同一时刻仅有一组物理数据载体是生效的,另一组物理数据载体,绝对不可能被读写数据。

        网线同一时刻也只能选择一条连通,选外网断开内网,选内网断开外网。并且一条网线仅对应一个数据载体,与另一条网线及数据载体是物理隔离的。

        实现方式其实很简单,即同一时间只有一块数据载体(如硬盘)和与其相对应的那块网卡是得电,另一组网卡及数据载体(如硬盘)是失电。

        其优点为能够实现两个网络的完全物理隔离;其缺点为操作较为麻烦,转换内外网需要关机然后重新开机并且内外网数据不能直接交换。

        当然也可以通过技术手段实现双硬盘的数据交换,例如在网络上设置仅由管理员管理的公用硬盘或通过软盘进行双硬盘的数据交换。不过,这样就牺牲了部分的安全性。

        其网络架构如下所示:

③网闸

        网闸实现的是个安全的概念,与防火墙等网络安全设备不同的地方是他阻断通讯的连接,只完成数据的交换,没有业务的连接,攻击就没有了载体,如同网络的“物理隔离”。网闸其实就是模拟人工数据倒换,利用中间数据倒换区,分时地与内外网连接,但一个时刻只与一个网络连接,保持“物理的分离”,实现数据的倒换。这就象从前长江上的摆渡船,既没有“物理的连接”大桥,也实现了货物的交换。其架构图如下所示:

        下面我们分块来了解它的工作原理:

        内网处理单元:包括内网接口单元与内网数据缓冲区。接口部分负责与内网的连接,并终止内网用户的网络连接,对数据进行病毒检测、防火墙、入侵防护等安全检测后剥离出“纯数据”,作好交换的准备,也完成来自内网对用户身份的确认,确保数据的安全通道;数据缓冲区是存放并调度剥离后的数据,负责与隔离交换单元的数据交换。

        外网处理单元:与内网处理单元功能相同,但处理的是外网连接。

        隔离与交换控制单元:是网闸隔离控制的摆渡控制,控制交换通道的开启与关闭。控制单元中包含一个数据交换区,就是数据交换中的摆渡船。对交换通道的控制的方式目前有两种技术,摆渡开关与通道控制。摆渡开关是电子倒换开关,让数据交换区与内外网在任意时刻的不同时连接,形成空间断口,实现物理隔离。通道方式是在内外网之间改变通讯模式,中断了内外网的直接连接,采用私密的通讯手段形成内外网的物理隔离。该单元中有一个数据交换区,作为交换数据的中转。

        在内外网处理单元中,接口处理与数据缓冲之间的通道,称内部通道1,缓冲区与交换区之间的通道,称内部通道2。对内部通道的开关控制,就可以形成内外网的隔离。模型中的用中间的数据交换区摆渡数据,称为三区模型;摆渡时,交换区的总线分别与内、外网缓冲区连接,也就是内部通道2的控制,完成数据交换。

网闸的原则有两条:

        单一服务:只完成数据文件的交换,只完成文件形式的数据交换。其他的服务一律关闭。

        定向交换:在数据交换时指定接收人、发送人。

总结

        以上三种方式是进行物理隔离的常用手段。特别注意的是下面两种情况:

        一、基于一个硬盘的方案;二、使用了2个硬盘但能进行切换(通过键盘、软件、总线、内存这些方式)甚至直接数据互通。这都不属于严格意义上的物理隔离。

6、逻辑隔离

        逻辑隔离是一种通过软硬件的技术手段来保证两个网络之间不能直接进行数据交换的网络架构。需要注意的是,被隔离的两端仍然存在物理上数据通道连线,但通过技术手段保证被隔离的两端没有数据通道,这就是逻辑上隔离。

        一般使用协议转换、数据格式剥离和数据流控制的方法,在两个逻辑隔离区域中传输数据,并且传输的方向是可控状态下的单向,不能再两个网络之间直接进行数据交换。

        在内部网络对安全性要求不是特别高的情况下,可以采用逻辑隔离。

        常见的软件逻辑隔离有:VLAN、虚拟路由、虚拟交换机、MPLS、防火墙、虚拟桌面等;常见的硬件逻辑隔离有:路由器、三层交换机、单硬盘隔离卡等。

①VLAN     

        VLAN,即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。

VLAN的划分方式

        一般将它划分为两大类,静态和动态。

        静态VLAN也叫做基于端口的VLAN。从意思也能理解,它是固定不变的,就是明确指定交换机各端口属于哪个VLAN的设定方法。

        基于端口的VLAN这种方法的优点是VLAN成员的定义非常简单明确,直接针对交换机现有的端口设置VLAN,能够很容易被运维人员理解。缺点是由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数量后,设定操作就会变得烦杂无比。并且,计算机每次变更所连端口,都必须同时更改该端口所属VLAN的设定——这显然静态VLAN不适合那些需要频繁改变拓扑结构的网络和大型网络。

        动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为以下3类:①基于MAC地址的VLAN

        通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个计算机MAC地址为“A”被交换机设定为属于VLAN“1”,那么不论MAC地址为“A”这台计算机连在交换机哪个端口,该端口都会被划分到VLAN1中去。

②基于子网的VLAN(Subnet Based VLAN)

        通过所连计算机的IP地址,来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。

③基于用户的VLAN(User Based VLAN)

        根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是Windows域中使用的用户名。这些用户名信息,属于OSI第四层以上的信息。

        VLAN基本网络架构示意图如下所示:

        动态VLAN只需将上图中右部表格中的端口项更换成MAC地址/IP地址/用户名即可。

汇聚链接(Trunk Link)

        若需要实现跨越交换机间的VLAN或不同VLAN间的数据交换,这就是需要用到汇聚链接。它是能够转发多个不同VLAN的通信的端口。汇聚链路上流通的数据帧,都被附加了用于识别属于哪个VLAN的特殊信息。

        跨越交换机间的VLAN网络架构图如下所示:

        其通信过程如下:A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于红色VLAN的标记。

        交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的,因此去除标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。

        转发,是指经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色VLAN的端口。

        这里值得一提的是,图中出现了交换机的级连。交换机的级连一般遵循以下原则:应把级连口控制开关放在MDI(级连口,有的用Uplink表示)上,同时用直通线相连。如果交换机没有专用级连口,或者无法使用级连口,必须使用MDIX(普通)口级连,这时应采用交叉线序。

        交换机的级连网线长度不应超过100m,交换机的级连不应超过4级。因交叉线较少用到,故应做特别标记,以免日后误作直通线用,造成线路故障。

      不同VLAN间的数据交换的网络架构如下图所示:

其通信过程如下:

        ⒈计算机A从通信目标的IP地址(192.168.2.1)得出C与本机不属于同一个网段。因此会向设定的默认网关(Default Gateway,GW)转发数据帧。在发送数据帧之前,需要先用ARP获取路由器的MAC地址。

        ⒉得到路由器的MAC地址R后,接下来就是按图中所示的步骤发送往C去的数据帧。①的数据帧中,目标MAC地址是路由器的地址R、但内含的目标IP地址仍是最终要通信的对象C的地址。

        ⒊交换机在端口1上收到①的数据帧后,检索MAC地址列表中与端口1同属一个VLAN的表项。由于汇聚链路会被看作属于所有的VLAN,因此这时交换机的端口6也属于被参照对象。这样交换机就知道往MAC地址R发送数据帧,需要经过端口6转发。

        ⒋从端口6发送数据帧时,由于它是汇聚链接,因此会被附加上VLAN识别信息。由于原先是来自红色VLAN的数据帧,因此如图中②所示,会被加上红色VLAN的识别信息后进入汇聚链路。路由器收到②的数据帧后,确认其VLAN识别信息,由于它是属于红色VLAN的数据帧,因此交由负责红色VLAN的子接口接收。

        ⒌接着,根据路由器内部的路由表,判断该向哪里中继。由于目标网络192.168.2.0/24是蓝色VLAN,,且该网络通过子接口与路由器直连,因此只要从负责蓝色VLAN的子接口转发就可以了。这时,数据帧的目标MAC地址被改写成计算机C的目标地址;并且由于需要经过汇聚链路转发,因此被附加了属于蓝色VLAN的识别信息。这就是图中③的数据帧。

        6. 交换机收到③的数据帧后,根据VLAN标识信息从MAC地址列表中检索属于蓝色VLAN的表项。由于通信目标——计算机C连接在端口3上、且端口3为普通的访问链接,因此交换机会将数据帧除去VLAN识别信息后(数据帧④)转发给端口3,最终计算机C才能成功地收到这个数据帧。

        综上,进行VLAN间通信时,即使通信双方都连接在同一台交换机上,也必须经过:发送方——交换机——路由器——交换机——接收方,这样一个流程。

②虚拟路由器/虚拟交换机

        谈到虚拟,这本身就是一种软件功能。以最常见的虚拟机为例:在用户看来它们就像是真正的计算机,它具有实际的硬盘驱动器和内存。然而,在现实中,这些元素并没有真实存在。只是,虚拟操作系统环境(通常是指VMware vSphere、Citrix Xen Server或者微软Hyper-V)向我们呈现了这些元素。

        虚拟路由器(交换机)也是如此,它具有物理路由器(交换机)的所有组成部分,并且它们的工作方式也相同。但是,与虚拟机一样,虚拟路由器(交换机)并不是具有物理连接且真实存在的设备。

        虚拟路由器(交换机)的优点在于功能多(SSR、过滤或拦截,数据加解密,流量控制,负载均衡等)且带负载能力强(支持海量链接数量),但数据交互和转发功能弱于物理实体(因为是经过CPU转发,无专用芯片)。

        虚拟交换机+VLAN也可以起到一定的隔离作用。但虚拟网络设备对网络管理人员要求很高,一般在电力系统中很难见到。而且不管怎么虚拟,都不能算作物理隔离。

③MPLS隔离

        多协议标签转换(MPLS)之前已经讲过了,使用标签而不是保存在路由表里的网络地址来转发数据包。结合上文理解,这边不再拓展。

        可以看作是使用类似于虚电路(VC)的通道来数据进行数据的隔离。

④防火墙

        防火墙是位于两个或多个网络之间执行访问控制的软件或硬件系统,他根据访问控制规则对进出的网络的数据流进行过滤,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。它是一种网络安全产品,用于对网络进行安全访问限制,一般用在互联网的边缘,防止外部黑客的攻击。防火墙可以看成是带有安全功能的路由器,早期的防火墙就是在路由器的基础上加入了访问控制功能。

        另外防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。

        防火墙也存在一些缺陷,

        其一,在正常状况下,所有互联网的数据包软件都应经过防火墙的过滤,这将造成网络交通的瓶颈。这点也可以被黑客利用,黑客会寄出海量的数据包,让防火墙疲于过滤数据包,而使一些合法数据包软件亦无法正常进出防火墙。

        其二,防火墙虽然可以过滤互联网的数据包,但却无法过滤内部网络的数据包。因此若有人从内部网络攻击时,防火墙也起不了作用。

        其三,本身的操作系统亦可能因一些系统漏洞,使入侵者可以利用这些漏洞绕过防火墙。

        综上,防火墙也只能算作逻辑隔离。

⑤虚拟桌面

        利用虚拟化技术实现逻辑隔离。利用虚拟化技术,可以让用户在一台计算机上打开一个或多个虚拟桌面,每个虚拟桌面以及该计算机的真实操作系统之间都可以互相隔离,数据不能相互传输。不同的虚拟桌面以及真实系统连接到不同安全级别的网络这样就实现了内外的隔离。

        但不同安全级别的网络之间依旧有着物理上的连接,逻辑上使得它们互相之间不能访问,通过指定的协议才能进行数据交换。这仍旧是明显的逻辑隔离。

⑥路由器

        这一块我们先来看看交换机与路由器的区别吧。举个简单的例子,一台两块网卡的电脑,当软件配置成路由模式(转发依据为IP地址)就是三层路由器;当软件配置成桥接模式(转发依据为MAC地址)即是二层交换机。

        那么桥接与路由到底有什么区别呢?第一点,分割广播域,控制流量。桥接无法控制广播在不同物理接口之间穿梭,而路由可以进行广播域的划分,从而对广播进行控制。第二点,不同类型的物理接口,不能桥接只能路由。路由器可以对二层封装进行替换,使它们能够互相识别。

        综上,交换机只需要查看二层数据帧的头部即可决策转发地址,策略十分简单,可以直接通过硬件芯片实现相应功能,所以可以做到廉价高速,被大量应用在接入层。

        而路由器由于需要处理跨网络的连接,必须在接收到完整的IP数据包后才能转发数据,路由协议又比较复杂,所以只能使用软件的方式实现相应的功能,要达到高性能只能付出更高的价格。

        简而言之,路由器要最短路径送报文,交换机要快速转发提高吞吐量,即路由谋短,交换求快。

⑦三层交换机

        上文中我们已经详细讲解了VLAN功能,当一个网络的计算机过多,不进行管理,会出现广播风暴,轻则数据丢失,重则整个网络瘫痪。这个时候就需要划分VLAN,把计算机划分成多块区域进行管理。而不同VLAN之间计算通信,就需要路由器单臂路由来实现。对于小型的网络,单臂路由可以应付,但随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈,出现掉包、或者通信堵塞。为了解决上述VLAN之间数据交换问题,三层交换机应运而生。

        三层交换机通俗来说就是二层交换机+三层路由模块。那么三层交换机是等同路由器么?

        它们还是有很明显的区别的。三层交换机基于硬件转发,一次路由,多次交换。基于硬件的转发没有运算/判断的过程,输入输出直通。所以转发速度极快,容量极大;一次路由,多次交换的实现形式是通过单独的路由引擎,但是路由引擎并非一直工作,而是在第一次通信的时候通过路由引擎查询路由表,建立转发表,之后的数据不再经过路由引擎,而是通过与二层类似的交换引擎进行转发。

        但三层交换机的路由引擎较弱,相比路由器支持的路由协议有限且转发表有限,不适合复杂的多网络互联。因为并不是每一个包都会经过路由引擎,三层交换机的路由策略功能较弱。三层交换机更适合网络结构简单,交换数据量大的情景下使用(例如小型网络的汇聚层)。

        而则是路由器基于软件转发,一次路由,一次交换。其实路由器的真正功能是计算路由。互联网的理念就是像渔网那样把所有节点互相连接起来,示意图如下:

        像这样不管摧毁哪个节点或者切断哪个线路,数据都可以绕路到达另一个节点,从而达到几乎坚不可摧的目的。

        这样其实从一个节点到另一个节点有很多种选择,哪种才是最优的呢?专门有一个数学分支来研究这个问题,称之为图论。而选择路径也有很多种策略,落实到现实世界就是各种路由协议。

        如果网络结构不变,最短径路算好放在那就行了。但一旦网络发生变化,比如增加节点或者线路出现故障,那就要路由器来重新计算,这样的工作模式,使得路由器对每一个数据包都进行路由查询,占用了大量资源,所以寻路效率较低,但网络鲁棒性好,而且路由协议复杂,无法通过纯硬件芯片处理,造成大量数据转发时性能比不上三层交换机。因此路由器更适合复杂的多网络互联的核心交换区域。

⑧单硬盘隔离卡

      单硬盘隔离卡在隔离的时候数据是放在同一个硬盘上,数据存储没有物理上的断开,虽然可以采用软件技术控制内外网的数据放于不同区域,但是数据还是有物理上的连接,所以不属于物理隔离。

⑶ 横向隔离

        横向隔离是电力二次安全防护体系的横向防线,采用不同强度的安全设备隔离各安全区,特别是生产控制大区与管理信息大区。

        电力专用横向单向安全隔离装置作为生产控制大区与管理信息大区之间的必备边界防护措施,是横向防护的关键设备,隔离强度应接近或达到物理隔离。生产控制大区内部的安全区之间应当采用具有访问控制功能的网络设备、防火墙或者相当功能的设施,实现逻辑隔离。

        按照数据通信方向电力专用横向单向安全隔离装置分为正向型和反向型。

        正向安全隔离装置用于生产控制大区到管理信息大区的非网络方式的单向数据传输。

        反向安全隔离装置用于从管理信息大区到生产控制大区单向数据传输,是管理信息大区到生产控制大区的唯一数据传输途径。反向安全隔离装置集中接收管理信息大区发向生产控制大区的数据,进行签名验证、内容过滤、有效性检查等处理后,转发给生产控制大区内部的接收程序。

        禁止E-Mail、WEB、Telent、Rlogin、FTP等安全风险高的通用网络服务和以B/S或C/S方式的数据库访问穿越专用横向单向安全隔离装置,仅允许纯数据的单向安全传输。

        其网络架构图如下所示:

正向数据流程(主机A/192.168.1.1→主机B/192.168.2.1):

        ①变换IP目的地址,即将B机IP地址(192.168.2.1)转为其正向虚拟IP地址(192.168.1.2)。

        ②主机A发ARP请求,谁有192.168.1.2的MAC地址,请告诉192.168.1.1;正向隔离内网侧ARP应答,192.168.1.2的MAC是MAC3-1。

        ③主机A发送IP数据包至正向隔离装置内网侧。其数据帧内容如下:

        ④正向隔离装置接收IP数据包,并进行过滤。基于下列内容:源MAC,源IP,目的IP,协议,源端口,目的端口。

        ⑤若不合法,丢弃;若合法重新填写IP及MAC。其数据帧内容如下:

        ⑥正向隔离外网侧发送IP数据包至主机B。

反向数据流程:

        ①安全区Ⅲ内的数据发送端首先对需发送的数据签名(即数据指纹)然后发给反向隔离装置;

        ②反向隔离装置接收数据后,进行签名验证,并对数据进行内容过滤、有效性检查等处理;

        ③将处理过的数据转发给安全区Ⅰ/Ⅱ内部的接收程序。

⑷ 纵向加密

        纵向加密认证是电力二次系统安全防护体系的纵向防线。采用认证、加密、访问控制等技术措施实现数据的远方安全传输以及纵向边界的安全防护。

        对于重点防护的调度中心、发电厂、变电站在生产控制大区与广域网的纵向连接处应当设置电力专用纵向加密认证装置或者加密网关及相应设施,实现双向身份认证、数据加密和访问控制。

电力系统整体网络架构

        安全区Ⅰ、Ⅱ所连接的广域网为国家电力调度数据网SPDnet。SPDnet为安全区Ⅰ、Ⅱ分别提供二个逻辑隔离的MPLS-VPN。安全区Ⅲ所连接的广域网为国家电力数据通信网SPTnet,SPDnet与SPTnet物理隔离。

纵向加密装置安装位置

        安全区Ⅰ、Ⅱ接入SPDnet时,应配置纵向加密认证装置,实现远方通信的双向身份认证和数据加密。

⑸  调度中心网络架构图

        简单介绍一下上文中没有提及的设备及通讯方式:

PSTN

        即公用电话交换网,它是一种以模拟技术为基础的电路交换网络。在众多的广域网互联技术中,通过PSTN进行互联所要求的通信费用最低,但其数据传输质量及传输速度也最差,同时PSTN的网络资源利用率也比较低。

        通过PSTN可以实现拨号访问外网/内网,也可用于两个或多个局域网之间的网络互连。当两个主机或路由器设备需要通过PSTN连接时,在两端的网络接入侧(即用户回路侧)必须使用调制解调器(Modem)实现信号的模/数、数/模转换。其网络架构如下:

        PSTN可以看成是物理层的一个简单的延伸,没有向用户提供流量控制、差错控制等服务。而且由于PSTN是一种电路交换的方式,所以一条通路自建立直至释放,其全部带宽仅能被通路两端的设备使用,即使他们之间并没有任何数据需要传送。因此,这种电路交换的方式不能实现对网络带宽的充分利用。

专线

        专线是接在服务商与用户之间架设专用线路,该线路只给用户使用,其他的用户不能连接或使用该线路或者在线路中开辟一条由某一用户独享的专用通道。

        那么专线与普通网络有什么区别呢?首先专线的申请需要营业执照,其次专线保证出现故障3小时恢复。最典型的特征是专线的上下行速度一致且有固定IP地址(可以利用此地址开通网站或FTP服务器)

说明:

下面对常见的误区进行下解释:

        ①我们访问互联网的过程中存在这两种行为:一是上传数据,二是下载数据。上行宽带(速度)指的是上传的速度,而下行宽带(速度)指的是下载数据是的数度。

        非专线网络,上行宽带(速度)和下行宽带(速度)是不对称的,一般是下行速度大于上行的速度。我们平时所使用的宽带说多M,都是指的下行宽带,因为我们上网主要是从互联网上下载数据,而上传的数据量要少很多。

        ②宽带服务商对下行速度和Windows电脑上面下行速度的是单位不一样,Windows电脑的单位是KBbs,而宽带运营上的单位是Kbbs,1B=8b。例如你从宽带运营上那里办理了10M的宽带,10Mbps=10240Kbps/8=1280KBps,所以你在电脑上下载数据是,你的最大的下载速度只有1280KBps,也就是只有1M/s左右的样子。

安全Web服务

      SSL(SecureSockets Layer)安全协议又叫“安全套接层协议”。它是在网络传输层之上提供的一种基于RSA和对称加密算法的,用于浏览器和Web服务器之间的安全连接技术,用来提供两个应用之间通信的保密,可信和身份认证。它被视为 Internet 上 Web 浏览器和服务器的标准安全性措施。

        非控制区的接入交换机应当支持HTTPS的纵向安全WEB服务,采用电力调度数字证书对浏览器客户端访问进行身份认证及加密传输。

        这里就不深入了,也没能力深入。实际上打开一些支付网站会弹出数字证书的确认,这就是安全web一种表现形式。在IE浏览器右下角的一把小锁标识,也代表了是基于加密的安全访问。

IDS

        即网络入侵检测系统,这个系统部署在生产控制大区。其安全策略的设置重在捕获网络异常行为、分析潜在威胁以及事后安全审计。其IDS探头主要部署在横向、纵向边界以及重要系统的关键应用网段。

        好了,结合上文内容自行理解本节中的这张图,这样会使得自己对网络架构清晰不少。

⑹ 电力调度数字证书

电力调度数字证书分三类:

人员证书

      当用户在访问系统、进行操作时对其身份进行认证所需要持有的证书;

程序证书

      关键应用的模块、进程、服务器程序运行时需要持有的证书;

设备证书

      网络设备、服务器主机等,在接入本地网络系统与其它实体通信过程中需要持有的证书;

      在对纵向加密装置的调试过程中就会用到上述证书。使用管理工具导出证书请求,将其发给调度人员签发证书,一般需要30分钟。当取得设备证书和人员证书后才能开始配置。配置隧道及策略时,还需要用到程序证书。

写在最后

      如果能耐心看到这里,相信你对104规约和网络架构都会有一个比较全面的认识,当然都是些很基础的内容,注意结合实际工作,加深理解,更上一层楼。谢谢大家。

你可能感兴趣的:(从零开始理解IEC104协议之五——数据安全)