嵌入式工业以太网安全网关的制作方法

文档序号:7651413阅读:97来源:国知局
专利名称:嵌入式工业以太网安全网关的制作方法
技术领域
本发明涉及通信技术、网络安全技术和自动控制技术,具体是一种安全 网关。
技术背景随着技术的发展,信息化推动工业化进程的加速,越来越多的计算机技术和网络通信技术应用于工业控制系统,比如嵌入式技术、PCS、 ERP、 MES 等企业信息自动化的应用;企业信息网络与Internet相连等。这些技术应用的 同时,随之带来了控制网路的安全和实时性问题,如何保障工业控制系统的 互连性、保密性、完整性、可用性和实时性则成了现代控制系统需要考虑的 一个重要问题。工业以太网EPA标准的推广导致越来越多的EPA相关产品开始进入实际 应用领域,EPA作为一个开放系统,其潜在的安全风险是不可避免的。由于 工业控制网络对实时性、可靠性、准确性的高要求,普通的安全网关均不能 满足EPA网络应用的要求。工业以太网EPA网络有其自身的特点,如向IEEE注册分配了特定值 (0x88BC)标识EPA报文,在MAC层与网络层之间定义了 EPA通信调度管 理实体,定义了应用层服务与协议规范等。目前应用于工业现场的安全网关 存在着不能很好的兼容EPA报文,对工业现场设备的各种安全烕胁不能提供 很好的安全保护,不能提供整个EPA系统内的时间同步,不能对接收的EPA 数据报文进行确定性调度等问题。正是基于以上考虑,因此有必要开发针对 EPA网络的EPA安全网关。

发明内容
本发明针对EPA工业控制网络中通信转发、网络安全和实时性、可靠性的 要求,提出适用于EPA工业控制网络的,采用模块化结构设计实现的EPA安全 网关。该EPA安全网关是连接EPA网络中现场设备层和过程监控层的设备,是 上下层网络通信的唯一接口,起连接双方、隔离现场设备层和外部网络的作 用,对现场设备层实施边界保护,从而达到保证现场设备层网络在一个开放 的环境中能够安全地运行的目的。
本发明解决上述技术问题的技术方案是根据EPA工业控制网络的特点, 采用EPA报文转发部分,EPA安全部分和EPA调度部分来实现EPA安全网关的 功能。
EPA报文转发部分由EPA底层驱动模块、EPA桥接模块和EPA路由模块组 成,EPA底层驱动模块是CPU与网卡的软件接口,实现了报文的发送与接收功 能,对上层屏蔽了底层硬件具体的实现细节,为上层提供了应用接口。
EPA 桥接模块主要负责在两个相同的微网段的设备之间互相通信的报文进行转发 与控制。EPA路由模块主要负责在两个不同的微网段或监控级微网段和现场设 备级微网段的设备之间互相通信的报文进行转发与控制。
EPA安全部分由EPA防火墙处理模块、EPA安全报文处理模块和EPA设备 鉴别处理模块组成。EPA防火墙处理模块主要针对进出的外部网络报文进行监 控和处理;EPA安全报文处理模块主要针对进出的EPA安全报文进行处理,从 而监控现场设备的运作。这种独特的两层保护可以有效地防止未授权用户的 接入和访问,阻止各种非法报文进出EPA现场设备层,帮助保护现场设备层网
络及终端现场设备。EPA设备鉴别处理模块在EPA安全网关接入网络时发送设 备鉴别服务报文,由上位机组态软件完成鉴别过程,确保EPA安全设备接入 EPA网络的合法性。EPA调度部分由EPA时间同步模块和EPA确定性调度模块组成。EPA时间 同步模块用来实现EPA系统中EPA设备与时间服务器之间的时间同步;在EPA 系统时间同步的基础上,EPA确定性调度模块对EPA安全网关的数据报文进行 确定性调度。本发明的有益效果,采用EPA报文转发功能,EPA安全功能和EPA调度功 能三项核心技术的实现,对EPA网络提供可靠的报文转发,有效的边界保护, 精确的时间同步和数据报文的确定性调度,从而建立具有安全性、实时性、 高效性的工业控制网络。


图l EPA安全网关硬件系统结构图 图2 EPA安全网关软件功能模块组成图 图3 EPA安全网关报文处理流程图 图4 EPA报文转发功能模块关系图 图5 EPA安全功能模块关系图 图6 EPA安全报文处理流程图具体实施方式
图1为EPA安全网关硬件系统结构图。EPA安全网关的硬件部分主要由
三部分微处理器CPU模块,以太网控制器部分,以太网供电模块。其中, CPU模块的主要功能是实现特定网络接口功能及执行相关控制信息;以太网 控制器模块主要用来担负以太网现场设备的数据信息传输;以太网供电模块 通过网络隔离器为设备供电,完成EPA安全网关的供电功能。以太网控制器 采用总线连接的方式,由CPU模块提供不同片选信号实现不同的以太网控制器的选通,从而控制不同的网络通道。EPA安全网关采用以太网供电,即供电系统和数据传输共用一根网线,以太网和局域网相连互通数据的同时输送 电源。
图2所示为EPA安全网关功能模块组成示意图,根据EPA工业控制网络的 特点,采用EPA报文转发部分,EPA安全部分和EPA调度部分来实现EPA安全 网关报文转发、安全、实时的功能,采用pC/OS-II操作系统模块为EPA安全网 关中的多任务提供调度和通信的功能,采用TCP/IP模块实现EPA安全网关中对 TCP/IP报文进行解析和发送的功能,采用EPA应用层通信协议栈使得EPA安全 网关实现了EPA设备在EPA应用层的功能。EPA报文转发部分由EPA底层驱动 模块、EPA桥接模块和EPA路由模块组成,EPA底层驱动模块是CPU模块与网 卡的软件接口,实现了报文的发送与接收功能,对上层屏蔽了底层硬件具体 的实现细节,为上层提供了应用接口; EPA桥接模块主要负责在两个相同的微 网段的设备之间互相通信的报文进行转发与控制;EPA路由模块主要负责在两 个不同的微网段或监控级微网段和现场设备级微网段的设备之间互相通信的 报文进行转发与控制。
EPA安全部分由EPA防火墙处理模块、EPA安全报文处理模块和EPA设备 鉴别处理模块组成,通过EPA防火墙处理模块、EPA安全报文处理模块对EPA网络现场设备层的安全采取独特的两层保护,可以有效地防止未授权用户的接入和访问,阻止各种非法报文进出EPA现场设备层,帮助保护现场设备层网 络及终端现场设备。EPA防火墙处理模块主要针对进出EPA网络的外部网络报 文进行监控和处理;EPA安全报文处理模块主要针对进出EPA网络的EPA报文 进行安全处理,对EPA报文进行解密、校验和访问授权处理,从而监控现场设 备的运作。EPA设备鉴别处理模块在EPA安全网关接入网络时发送设备鉴别服 务报文,由上位机组态软件完成鉴别过程,确保EPA安全设备接入EPA网络的 合法性。EPA调度部分由EPA时间同步模块和EPA确定性调度模块组成。EPA时间 同步模块用来实现EPA系统中EPA设备与时间服务器之间的时间同步;在EPA 系统时间同步的基础上,EPA确定性调度模块对EPA安全网关的数据报文进行 确定性调度。其中EPA时间同步模块使用IEEE 1588协议来实现时间同步,通过最佳 主时钟算法,选择出整个系统中的最优时钟为最高级时钟GMC (Grandmaster Clock)作为整个系统的时钟源,EPA安全网关作为边界时钟,从而确保跨网 段系统的时间同步。在EPA安全网关的一个网段内,主时钟依据EPA管理信 息库中对时间对象定义的时间间隔,周期性的发出同步信息,连接在这个网 段内的EPA安全网关的一个端口作为从时钟,依据EPA管理信息库中对时间 同步对象定义的时间精度属性,通过将其与计算所得的时间偏差进行比较从 而决定是否需要修改本地系统时间。这样,主时钟通过周期性地发出时间同 步消息,从时钟通过不断地根据时间偏差修改本地系统时间,便实现了在这 个网段内基于正EE 1588的EPA系统的时间同步机制。同时,EPA安全网关
作为边界时钟,其余的端口作为主时钟,依据同样的方式,通过交换同步报 文,实现其余端口内的时间同步,从而实现整个系统内的时间同步。EPA确定性调度是在系统时间同步的基础上实现的,通过将完成一个通 信周期所需要的通信宏周期划分为周期报文传输阶段和非周期报文传输阶 段,确保了网络上报文传输的实时性。在EPA安全网关的一个EPA微网段内, 所有EPA设备间的通信均按周期进行,完成一个通信周期所需的一个通信宏 周期分为两个阶段,其中第一个阶段为周期报文传输阶段,这个阶段,每个 EPA设备按照各自的时间分别向网络上发送包含周期数据的报文,如需按控 制回路的控制周期传输的测量值、控制值,或功能块输入、输出之间需要按 周期更新的数据。周期报文的发送优先级是最高的。第二个阶段为非周期报 文传输阶段。这个阶段,每个EPA设备按照各自的时间分别向网络上发送包 含非周期数据的报文,如程序的上下载、变量读写、事件通知等数据,以及 诸如HTTP、 FTP等应用数据。非周期报文按其优先级高低、IP地址大小及时 间有效方式进行发送。TCP/IP模块负责对接收到的数据报文的应答,并递交给相应的模块作进 一步处理。当数据报文进入TCP/IP模块处理流程时,首先会对数据报文IP 地址进行分析和处理如果数据报文是发送给EPA安全网关,则接着对接收 到的端口号进行处理,根据不同的端口号,进入相应的处理流程,否则丢弃 这个数据报文。如果数据报文不是发送给EPA安全网关,则进一步对数据报 文的目的IP和源IP地址进行解析,如果目的IP和源IP地址不在同一个网段, 则将该报文发送到EPA报文转发模块中的EPA路由模块进行处理,在EPA路 由模块中将根据路由表或者默认路由信息来转发这个报文;如果是同一个网
段,则采用EPA报文转发模块中的EPA桥接模块对这个数据报文进行处理。
pC/OS-II操作系统模块是构建软件系统的基础,处于系统结构的最底层, 提供任务调度与任务间通信的服务,EPA安全网关通过uC/OS-II操作系统模 块实现了多任务方式。uC/OS-II操作系统模块采用了嵌入式系统中广泛采用的实时操作系统pc/os-n,它资源耗费小、实时性能突出,非常适合作为实时嵌入式操作系统。它所提供的任务调度机制可以提高EPA安全网关的运行 效率,从而EPA安全网关的实时性得到提升。pC/OS-II操作系统模块按照优 先级的不同来对对不同的系统任务进行调度,使时间紧迫性要求较低的任务 让位于时间紧迫性要求高的任务,同时避免无谓的查询尚未就绪的任务状态, 从而保证高优先级任务的实时性并且提高EPA安全网关的运行效率。
EPA应用层通信协议栈使得用户能够通过终端的应用程序与作为EPA设 备的EPA安全网关建立连接,实现数据通信。EPA应用层通信协议由EPA系 统管理实体、EPA应用访问实体、EPA套接字映射实体组成,其中EPA系统 管理实体支持设备识别、地址分配、对象定位、时间同步、EPA链路管理等 功能;提供EPA设备査询、EPA设备查询应答、EPA设备属性査询、EPA设 备声明、EPA设备属性设置以及EPA设备属性清除服务。EPA应用访问实体 是为用户应用进程间的数据通信提供的接口,它由域管理、变量读写和事件 管理组成其中域管理包括域下载和域上载服务,变量读写包括变量读、变 量写和信息分发服务,时间管理包括事件通知、事件确认和改变事件条件服 务。EPA套接字映射实体则为EPA应用访问实体、系统管理实体与TCP/IP 模块的接口。
图3所示为EPA安全网关报文处理流程图,其具体处理过程如下所述当 EPA安全网关接收到网络中的数据报文时,EPA底层驱动模块将该报文传递给 EPA确定性调度模块,如果为报文结束声明,则按照确定性调度规则将缓存在 EPA安全网关中的数据报文,发送给EPA底层驱动模块,进行报文转发,如果 不是,则依据报文的特征,向上传递给EPA防火墙处理模块,根据报文的传输 方向,对报文进行包过滤和地址转换处理。如果报文没有通过防火墙处理, 则释放报文,否则下一步判断是否为EPA安全报文。如果是EPA安全报文,则 交由EPA安全报文处理模块进行处理,否则,直接交由TCP/IP模块。EPA安全 报文处理模块对EPA报文进行解密、校验和访问授权处理,如校验和访问授权 都通过,则把报文交由TCP/IP模块,否则释放报文。TCP/IP模块判断报文传 输方向,如为本机报文,根据端口号来判断数据报文类型是否为时间同步协 议报文、设备鉴别报文或EPA通信协议报文,如果是,则交由EPA时间同步模 块,由其中的EPA通信协议栈处理,之后,判断目的IP和源IP;如果TCP/IP处 理模块判断报文为非本机报文,则根据报文的目的IP和源IP,选择EPA路由模 块或EPA桥接模块处理,并传递给EPA确定性调度模块,按照调度规则,将数 据报文传递给EPA底层驱动模块,转发报文。图4为EPA报文转发功能模块关系图。下面结合每个部分中各模块的功能 和实施方式作具体说明,EPA报文转发功能模块由EPA底层驱动模块、EPA桥 接模块和EPA路由模块组成。EPA底层驱动模块对报文进行接收或者发送;EPA 桥接模块和EPA路由模块选择报文转发的路径。下面对各个模块做具体说明EPA底层驱动模块包括BSP(板级支持包)模块、定时器驱动模块和网卡驱 动模块组成。BSP模块主要作用是针对目标板的设计,实现了对操作系统的支 持,使之能够更好的运行于硬件之上;定时器驱动模块为实现一般报文的重 发,路由报文的定时重发以及EPA报文的调度和时间同步等系统所需要的定时 提供了准确的时间;网卡驱动模块实现了CPU与网卡的软件接口,实现了报 文的发送与接收功能,对上层屏蔽了底层硬件具体的实现细节,为上层提供 了应用接口。 EPA安全网关上电后,BSP模块负责上电时的硬件初始化、启动 嵌入式操作系统或应用程序模块、提供底层硬件驱动,为上层软件提供访问 底层硬件的手段。定时器驱动模块实现定时器的分配,定时器的初始化,定 时器时间的插入,定时器时间的删除。网卡驱动模块实现网卡的初始化、中 断处理、报文的接收和发送以及监测和处理网卡出现的异常。EPA安全网关在 EPA网络中,主要运用于连接现场设备层和过程监控层的以太网段,针对连接 的端口网段相同与否,采取桥接或路由的方式对数据报文进行转发,若EPA 安全网关两端连接的是不同的IP网段,则根据路由模块中的路由表来转发;如 果两端连接的是同一个IP网段的设备,则根据桥接模块中的MAC地址学习库 采用路由的方式来转发。采用桥接模块针对的是同一个IP网段,它提供了除路 由转发外的另一种转发机制,满足了工业现场的灵活组网的需求。而且桥接 转发的速率快,延迟非常小,占用的网络资源小。EPA桥接模块包括MAC地址学习库模块、桥接转发模块和生成树模块。 MAC地址学习库模块中记录的是MAC地址与所属端口一一对应关系;桥接 转发模块查询MAC地址学习库并选择数据报文转发的路径;生成树模块通过 发送包含根节点的数据报文,避免网络中广播风暴的发生。设置EPA安全网 关的两个网络接口为混杂模式,它将接收与之连接的网络上的每一个数据包。 当数据包到达EPA安全网关其中一个端口时,桥接模块会对此数据包的目的
MAC地址进行解析,然后对比自己端口和另一个端口的MAC地址学习库, 如果在两个端口的MAC地址学习库中都没有找到此目的MAC地址,则同时 在两个网段上广播,同时将源MAC地址和该物理端口记录在MAC地址学习 库中。经过多次这样的学习和记录,EPA安全网关就会将两个端口所连接的 所有MAC地址记录下来了 ,从而建立起一个MAC地址学习库。如果在MAC 地址学习库中找到此MAC地址,则判断库中端口是否与接收的端口相同,若 相同,则证明拥有目的MAC的设备与源MAC在同一个物理网段,则丢弃此 数据包;如果不同,则得出具有该地址的设备在另一个物理网段上,此时允 许此数据包通过EPA安全网关,通过另一个端口发送出去。生成树模块通过EPA安全网关相互通信,并用一棵到达每个LAN的生成 树覆盖实际的拓扑结构,有效地防止网络中回路的出现,避免了由于帧的无 限循环和重复接收所导致的网络风暴的发生。当EPA安全网关上电后,首先 会配置EPA安全网关ID,端口 ID,端口相对优先级,各个端口的花费。每 个EPA安全网关假定自己是根网关,通过广播数据报文发送它认为的根网关 ID。如果一个EPA安全网关收到一个根网关ID小于其所知ID的数据报文时, 它将更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口(下传) 分发。如果数据报文中根网关ID大于其所知ID,该信息被丢弃;如果该帧从 指定端口到达,则回送一个帧告知真实根网关的较低ID。在EPA安全网关优 先级都一样的情况下,设置MAC地址最小的网关为根网关,其余的端口设置 为指定端口,进入转发状态。接下来,其他网关将各自选择一条最优的树枝 作为到根网关的路径。按根到每个EPA安全网关的最短路径来构造生成树。 如果某个EPA安全网关或LAN故障,则重新计算。 EPA路由模块包括路由协议模块和路由转发模块。路由协议模块是根据 网络拓扑结构的变化而动态的维护一个本地的路由表;路由转发模块是根据 报文的目的IP地址和子网掩码査找已有的本地路由表来转发报文。路由协议 模块采用选路信息协议RIP协议,它是基于距离向量的路由选择,每一个EPA 安全网关周期性地与其邻站共享有关整个网络的知识,从而使EPA安全网关 中的路由表的表项总是为最新。当EPA安全网关有数据报文要发送的时候, 或EPA安全网关收到一个数据报文要发送时,通过路由转发模块,査找路由 表,找出到达最终目的地的路由。EPA底层驱动模块接收到报文以后,交由EPA确定性调度模块处理,如 果是非周期数据声明或者是非周期数据发送结束声明,则EPA确定性调度模 块依据调度规则,对缓存在EPA安全网关中的数据报文进行处理;否则进入 EPA安全功能模块。图5为EPA安全功能模块关系图。针对网络中的安全威胁,EPA安全网 关的安全功能模块采用了 EPA防火墙处理模块、EPA安全报文处理模块、EPA 设备鉴别处理模块。EPA防火墙处理模块和EPA安全报文处理模块过滤所有 通信业务——无论它们来自现场设备层还是外部,这种独特的两层保护可帮 助保护现场设备层网络及终端现场设备,防止未授权的接入和损害。EPA设 备鉴别处理模块用来保证只有合法的设备才能接入EPA网络。EPA防火墙处 理模块和EPA安全报文处理模块采用中间层截包处理的模式,对网络接口收 到报文,在中间层截取报文,获取网络层、传输层和应用层报文信息,根据 处理结果,或者丢弃该报文,或者将处理后的报文通过送到IP协议,IP协议 及上层应用层接收到报文进行下一步处理。EPA安全网关上线时,EPA设备
鉴别处理模块在网络中周期性的广播发送设备鉴别服务报文,防止非法设备接入EPA网络,保障EPA安全网关接入网络的合法性。EPA安全网关的EPA防火墙处理模块包括包过滤模块和NAT (网络地址 转换)模块,它们能从不同方面有效地保护内部网络的安全。防火墙模块基 于包过滤技术对整个网络报文进行处理,并且提供网络地址转换功能屏蔽现 场设备层内部子网。作为一种保护装置,EPA安全网关的防火墙作为外部网 与内部网之间的一个中介系统,竖起一道安全屏障,用来拒绝未经授权的用 户访问,阻止未经授权的用户存取敏感数据,同时允许合法用户无障碍地使 用网络资源,从而阻断外部网络对本地网络的威胁和入侵,起到提供保护本 地内部网络中的数据和资源的作用。包过滤模块首先在数据链路层完成网络数据包的截取,然后对所有经过 网络内部的数据包进行安全检查与控制。通过监视并过滤网络上输入输出的 IP包,拒绝发送那些可疑的包,可以在一定程度上防止欺骗攻击,保护内部 网络的安全。EPA安全网关的包过滤防火墙过滤规则是基于可以提供给IP转 发过程的包头信息建立的,它涵盖对所有出入防火墙的数据包的处理方法。 外部网络访问位于防火墙后的现场设备层设备时,所有进出的数据包都要经 过防火墙的过滤后方可通过。这里遵循"未明确表示允许的服务便被禁止的" 策略。当收到从数据链路层上来的包后,将根据包的源IP地址、目的IP地址、 TCP/UDP源和目的端口、协议标志等信息与安全规则逐项匹配,如果满足规 则,则接收数据包,否则丢弃。通过这些方法,可以过滤掉外部网络与内部 网络之间的非法通信,从而保护了现场设备层网络。EPA安全网关的NAT(网络地址转换)模块用于实现网络IP地址的转换,
就是在内部网络的私有地址需要与外部网络通信时,利用1个或几个IP地址来实现内部网络中的所有主机都可以访问外部网络。通过使用NAT,外部网 络可以通过少数几个甚至一个公网地址访问EPA设备;同时它还起到了隐藏 内部网络结构的作用,使"黑客"无法直接攻击内部网络,具有一定的安全性; 它还可以实现负载平衡,提升了网络性能。本系统的NAT机制采用的是NAPT (网络地址端口转换)来实现,使用 了伪装处理模块和去伪装处理模块对IP包进行网络地址转换,并通过不同的 端口来区分各个不同的内部主机。当NAPT模块接收到IP报文时,首先解析 报文源IP地址和目的IP地址,当源IP地址为子网地址,目的地址为外网地 址时,执行伪装处理;当源IP地址为外网地址,目的地址为网关地址时执行 去伪装处理;其它情形不进行NAPT处理。执行地址伪装处理时,首先将检 査地址映射表以确定某个连接的表项是否存在,如果存在,则用伪装地址(网 关地址)、伪装端口号分别替换包首部中的源地址、源端口号;如果不存在, 则建立一个新的表项,并使用它进行伪装。因为首部进行了替换,所以需要 检验和重新计算。执行地址去伪装处理时,它将目的地址、目的端口号与地 址映射表的表项进行匹配,如果不存在匹配表项,则将包直接交于IP层处理; 如果存在,则将首部中的目的地址、目的端口号用地址映射表中记录的指向 内部网主机真实的目的地址、目的端口号替换。当然,也需要重新计算检验 和。NAPT处理完成后,判断是否是EPA安全报文,如果不是,则直接提交 TCP/IP协议处理;否则进入EPA安全报文处理模块。EPA安全报文处理模块包括EPA解密模块、EPA报文校验模块和EPA访 问控制模块。EPA解密模块用来对加密的EPA报文进行解密处理,以便EPA
安全报文处理模块进行下一步处理;EPA报文校验模块实现对EPA报文进行 校验,检査数据在传输过程中是否改变,防止使用遭受篡改和破坏的信息; EPA访问控制模块用来对发起的EPA服务访问权限进行判断,阻止未授权的 用户进入EPA系统或授权用户对系统资源的非法使用。图6为EPA安全报文处理流程图。由于EPA安全设备在构造安全报文时, 安全措施是可选的,所以,EPA安全网关在处理接收到的EPA安全报文的过程 中,解密处理、校验处理和访问控制处理也是可选的。EPA安全网关接收到 EPA安全报文时,首先解析EPA安全头部,査询安全标识标志位,如果该报文 为加密报文,首先需要进行将加密的EPA报文提取出来,进行解密处理,把密 文转化为明文,而不对原文进行任何改动。然后对提取出的明文,判断是否 为报文校验,如果是,则交由报文校验处理,如果校验通过,接着判断是否 为访问控制,如果是,则交由访问控制处理,当访问权限通过时,转发EPA 安全报文。否则丢弃报文。根据《用于工业测量与控制系统的EPA网络安全规范》,从现场设备的 性能要求以及速度要求出发,兼顾安全,EPA网关的报文解密模块根据设备 所选择的加密算法对所接收的EPA报文进行解密,采用异或算法和AES算法,通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权用户不能了 解被保护信息的内容。其中,EPA密钥的产生和管理由组态软件完成,组态 软件使用随机数生成算法产生128字节长的密钥表、密钥偏移以及密钥长度, 并且下载到EPA安全网关中。解密密钥需要定时更新,更新密钥时组态软件 同时对密钥表、密钥偏移以及密钥长度进行更新。EPA安全网关中EPA解密 模块在本地管理信息库中的密钥表对象中取出密钥,与从接收的EPA安全报
文头部中获取的时间戳运算,得到解密密钥,然后对报文进行异或算法或AES 算法解密处理,解密后的报文取其原始长度作为有效报文,并将数据交由EPA 报文校验模块处理。EPA安全报文处理模块中报文校验模块的校验算法使用异或校验算法和 MD5 (信息-摘要算法5)报文摘要算法,通过比较接收方的校验码与发送方 的校验码是否一致来完成,保证EPA报文在网络传输过程中的完整性和可用 性。其中,MD5报文摘要算法将对输入的任意长度的信息进行计算,产生一 个128位长度的"报文摘要",该算法不需要任何大型的置换列表,编码简洁, 能在32位机器上能以很快的速度运行,具有很好的安全性。EPA安全部分中EPA报文校验模块从本地管理信息库中的密钥表对象中 取出密钥,从接收的EPA安全报文头部中获取的时间戳,对报文进行异或校 验算法或MD5报文摘要算法运算,计算出正确校验码。通过比较接收到的校 验码与计算得出的校验码,可以判断报文是否被篡改,从而决定转发该数据 包还是丢弃该数据包。EPA访问控制模块的访问控制机制基于访问控制列表实现,访问控制机 制按照事先确定的规则决定主体对客体的访问是否合法,对访问的申请,批 准和撤销的全过程进行有效的控制,以确保只有合法用户的合法访问才能得 到批准,而且被批准的访问只能进行授权的操作。EPA安全网关中都保存着 组态时设置的访问控制列表。访问控制列表项包含了发起访问的远程设备IP 地址、功能块ID、对象ID以及本地设备功能块ID、对象ID、通信角色。通 过以上6个参数,可以唯一的确定一对EPA通信关系。EPA安全网关中访问控制模块接收并取出EPA安全报文中的访问控制信
息字段,然后在管理信息库中查询本地和远程的功能块标识以及变量对象索 引与访问控制信息一致的且通信角色为接收方的访问控制对象,若査询失败 则释放报文,否则,继续比较访问控制对象中的访问口令、访问权限、访问 组与访问控制信息中的访问口令、访问权限、访问组是否一致,如一致,则 允许该报文通过,完成规定权限的通信,否则,拒绝访问请求并释放报文。EPA设备鉴别处理模块用于向系统声明其身份,EPA安全网关的设备鉴 别处理,采取了以下三种措施1) 为了抵抗可能的攻击者伪造或篡改合法EPA设备的设备标识符和设备 安全序列号,伪装成合法设备进入EPA网络,引入了单向散列函数,把任意 长度的字符串映射成一固定长度的哈希值,在接收端可以通过验证该哈希值 来确定合法设备的设备标识符和设备安全序列号是否被更改。2) 为了防止非法设备获取合法设备发送的哈希值进行重放攻击,设备鉴 别安全机制引入了时间戳机制,利用本地系统时间参与哈希值的生成,使得 设备每次发送的哈希值都不同。使得攻击者不可能通过重放某个消息来达到 冒充合法设备。3) 从处理速度和占用内存空间两方面来考虑,设备鉴别安全机制选择了 MD5算法。设备上电时发送设备鉴别报文,首先使用MD5算法对固化在本 设备中的设备标识符、设备安全序列号和获取的本地时间戳所组成的字符串 进行哈希函数的运算。运算得到的哈希值作为鉴别码,与设备的设备标识符 和本地时间戳等共同构成设备鉴别报文,向EPA网络广播发送。网络中组态 上位机收到设备鉴别服务报文时,首先解析报文,根据报文中的设备标识符 字段查找存储在组态软件中的设备描述文件,从其中读取其合法的设备安全 序列号,与接收的设备标识符和时间戳共同组成字符串,采用MD5算法进行 哈希运算获得正确鉴别码。比较运算得到的该设备正确鉴别码和报文中接受 的鉴别码。若从报文中获取的鉴别码与正确鉴别码一致,则组态软件发送设 备鉴别通过确认报文,设置该设备鉴别状态为已通过,并且写入通过鉴别的 时间戳。否则,组态软件把该设备标识为非法设备。EPA安全网关上电后,会进入Standby状态,EPA通信调度管理实体对所 有报文不做任何处理;当EPA安全网关处于Ready状态时,EPA安全网关处于通信调度控制状 态,按照如下规则进行操作-对来自DLS一User (数据链路服务用户)的DLS_User DATA时,先放入 缓存区进行缓存;对来自DLE解析过的DLPDU时,首先检査其是否为非周 期数据声明报文。如果是,则将其发送方的IP地址、非周期报文的发送优先 级等参数存放在预先建立的非周期报文发送管理列表中,否则将其直接提交 给DLS一User。当EPA安全网关的EPA通信调度管理实体检测到发送周期报文的时间到 时,EPA通信调度管理实体状态改变为周期报文发送状态。这时,首先检查有 无优先级为0的报文,如果没有,则发送非周期数据声明报文。否则,将需要 在此时发送的DLS—User DATA依次传送给DLE,由DLE通过PhLE发送到网络 上,然后EPA通信调度管理实体再将非周期数据声明报文传送给DLE,通过 PhLE发送到网络上,并将其状态改变为Ready。当EPA通信调度管理实体检测到一个通信宏周期内非周期报文传输开始 时间到时,本地设备接收到远程设备发送的非周期数据发送结束声明报文时, EPA通信调度管理实体状态改变为非周期报文发送状态。这时,按以下规程进 行操作a) 检查EPA安全网关有无非周期数据需要发送,若无,则进入g);否则 进入下一步;b) 检查EPA安全网关本地非周期报文发送管理列表,比较本地与本网段 内所有远程设备的非周期报文发送优先级。如本地设备的非周期报文优先级 低于所有远程设备,则进入g);否则进入下一步;c) 如EPA安全网关的非周期报文优先级高于所有远程设备,且本次宏周 期内剩余时间足够该数据的完整发送,则通信调度管理实体将该非周期报文 传送给DLE,由DLE发送到网络上,转入f);否则保留到下次发送,转入g);d) 如本地与一个或多个远程设备的非周期报文发送优先级相同,且为最 高时,若本地设备的IP地址较大,则进入g);否则进入下一步;e) 如本次宏周期内剩余时间足够该数据的完整发送,则EPA通信调度管 理实体将该非周期报文传送给DLE,由DLE发送到网络上,转入f);否则保留到下次发送,转入g);f) 如果EPA安全网关还有未发送的非周期报文,则转到b);g) 如EPA安全网关发送了至少一个非周期报文,通信调度管理实体向 DLE发送"非周期数据发送结束声明"报文;h) 将本地通信调度管理实体的状态改变为Ready状态。 以上只是本发明的优选实施例说明,本发明的保护范围基于本领域技术人员的理解结合权利要求进行限定。
权利要求
1、一种嵌入式工业以太网EPA安全网关,包括,EPA报文转发部分、EPA安全部分和EPA调度部分,其特征在于,EPA报文转发部分是CPU模块与网卡的软件接口,实现报文的发送与接收功能,负责在两个微网段的设备之间通信的报文进行转发与控制;EPA安全部分采用两层保护,针对进入EPA现场设备层的外部网络报文和EPA安全报文进行监控和处理,阻止各种非法报文进入EPA现场设备层;EPA调度部分实现EPA系统中EPA设备与根据最佳主时钟算法在EPA系统中选择出来的EPA系统主时钟之间的时间同步,并对进出EPA安全网关的数据报文进行确定性调度。
2、 根据权利要求1所述工业以太网EPA安全网关,其特征在于,EPA报文转 发部分根据工业现场组网的需要,基于路由技术和桥接技术实现。
3、 根据权利要求1所述工业以太网EPA安全网关,其特征在于,EPA报文转 发部分中EPA桥接模块负责在两个相同的微网段之间对通信的报文进行转发 与控制,EPA路由模块负责在两个不同的微网段之间对通信的报文进行转发 与控制。
4、 根据权利要求1所述工业以太网EPA安全网关,其特征在于,EPA调度部 分中时间同步模块基于IEEE 1588协议实现时间同步;确定性调度模块通过 将完成一个通信周期所需要的通信宏周期划分为周期报文传输阶段和非周期 报文传输阶段,确保网络上报文传输的实时性。
5、 根据权利要求1所述工业以太网EPA安全网关,其特征在于,EPA安全部 分包括EPA解密模块、EPA报文校验模块和EPA访问控制模块,EPA解密模 块对加密的EPA报文进行解密处理;EPA报文校验模块依据校验码对EPA报 文进行校验;EPA访问控制模块对发起的EPA服务访问权限进行判断,阻止 未授权用户进入EPA系统或授权用户对系统资源的非法使用。
6、 根据权利要求1所述工业以太网EPA安全网关,其特征在于,所述两层保 护是EPA防火墙处理模块对进出的外部网络报文进行监控和处理;EPA安全报 文处理模块针对进出的EPA安全报文进行处理。
7、 根据权利要求2所述工业以太网EPA安全网关,其特征在于,若EPA安全 网关两端连接的是不同的IP网段,则根据路由表来转发报文;如果EPA安全 网关两端连接的是同一个IP网段,则根据MAC地址学习库来转发报文。
8、 根据权利要求5所述工业以太网EPA安全网关,其特征在于,报文校验模 块根据从本地管理信息库中的密钥表对象中取出密钥,从接收的EPA报文头 部中获取时间戳,对报文进行异或校验算法或MD5报文摘要算法计算校验码。
全文摘要
本发明请求保护一种工业以太网安全网关,涉及工业控制网络安全技术。本发明在EPA安全网关中实现报文转发功能,安全功能,以及调度功能,实现连接现场设备层和过程监控层的边界保护。本安全网关采用路由功能和桥接功能,实现同一网段和不同网段之间的报文转发,采用多重安全保护,防止非法报文进入现场设备层,防止对EPA设备的非法操作,防止对EPA报文的非法篡改和破坏,鉴别是否有非法外部设备接入。微网段内数据报文的调度,保证整个系统内基于主时钟的时间同步;在某一时刻只允许一个设备发送数据报文,确保每个设备可以在确定的时间之内把信息发送出来,从而保证EPA网络的实时性。本发明适用于工业以太网的安全保护。
文档编号H04L12/66GK101159718SQ20071009253
公开日2008年4月9日 申请日期2007年8月3日 优先权日2007年8月3日
发明者敏 向, 平 王, 王发茂 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1