CN103746815B - 安全通信方法及装置 - Google Patents

安全通信方法及装置 Download PDF

Info

Publication number
CN103746815B
CN103746815B CN201410051155.8A CN201410051155A CN103746815B CN 103746815 B CN103746815 B CN 103746815B CN 201410051155 A CN201410051155 A CN 201410051155A CN 103746815 B CN103746815 B CN 103746815B
Authority
CN
China
Prior art keywords
security switch
common security
message
switch
common
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410051155.8A
Other languages
English (en)
Other versions
CN103746815A (zh
Inventor
冯冬芹
褚健
邹亚楠
叶秀员
李志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHEJIANG SUPCON RESEARCH Co Ltd
Original Assignee
ZHEJIANG SUPCON RESEARCH Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZHEJIANG SUPCON RESEARCH Co Ltd filed Critical ZHEJIANG SUPCON RESEARCH Co Ltd
Priority to CN201410051155.8A priority Critical patent/CN103746815B/zh
Publication of CN103746815A publication Critical patent/CN103746815A/zh
Application granted granted Critical
Publication of CN103746815B publication Critical patent/CN103746815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明实施例公开了安全通信方法及装置。上述方法包括:普通安全交换机接收数据报文;普通安全交换机对数据报文执行加密处理策略,加密处理策略包括:若判定数据报文的发送方或转发方不是普通安全交换机,则对数据报文进行加密处理,若判定数据报文的发送方或转发方是普通安全交换机,则不进行加密处理;普通安全交换机对执行过加密处理策略的数据报文执行解密处理策略,解密处理策略包括:若判定转发数据报文的端口所连接设备是普通安全交换机,则不进行解密处理,若判定转发数据报文的端口所连接设备不是普通安全交换机,则对数据报文进行解密处理;普通安全交换机对执行过解密处理策略的数据报文进行转发。

Description

安全通信方法及装置
技术领域
本发明涉及通信技术领域,更具体地说,涉及安全通信方法及装置。
背景技术
近年来针对工业控制系统的攻击不断涌现,给人民的生命财产带来了巨大威胁,在这种情况下,保障信息安全就显得尤为重要。
对于工业现场来说,目前的现场仪表还没有实现加密解密功能,这使得工业现场中的数据安全性存在隐患。对于这种情况,可以通过提高交换机网络的安全性来保证现场设备数据的安全性。如何利用交换机网络提高现场设备数据传输的安全性就成为迫在眉睫的问题。
发明内容
有鉴于此,本发明实施例的目的在于提供安全通信方法及装置,以解决上述问题。
为实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提供一种通信方法,基于安全交换机网络,所述安全交换机网络包括多个普通安全交换机;所述方法至少包括:
普通安全交换机接收数据报文;
所述普通安全交换机对所述数据报文执行加密处理策略,所述加密处理策略包括:判断所述数据报文的发送方或转发方是否是普通安全交换机,若判定所述数据报文的发送方或转发方不是普通安全交换机,则对所述数据报文进行加密处理,若判定所述数据报文的发送方或转发方是普通安全交换机,则不进行加密处理;
所述普通安全交换机对所述执行过加密处理策略的数据报文执行解密处理策略,所述解密处理策略包括:判断转发所述数据报文的端口所连接设备是否是普通安全交换机,若判定转发所述数据报文的端口所连接设备是普通安全交换机,则不进行解密处理,若判定转发所述数据报文的端口所连接设备不是普通安全交换机,则对所述数据报文进行解密处理;
所述普通安全交换机对所述执行过解密处理策略的数据报文进行转发。
结合第一方面,在第一种可能的实现方式中,当满足第一条件时,所述普通安全交换机判定所述数据报文的发送方或转发方是普通安全交换机;所述第一条件至少包括:接收所述数据接文的端口所连接设备的设备类型是普通安全交换机,以及,所述数据报文携带加密标识的至少一种;
当不满足所述第一条件时,所述普通安全交换机判定所述数据接文的发送方或转发方不是普通安全交换机;
当转发所述数据报文的端口所连接设备的设备类型是普通安全交换机时,所述普通安全交换机判定转发所述数据报文的端口所连接设备是普通安全交换机;
当转发所述数据报文的端口所连接设备的设备类型不是普通安全交换机时,所述普通安全交换机判定转发所述数据报文的端口所连接设备不是普通安全交换机。
结合第一方面,在第二种可能的实现方式中,所述普通安全交换机中存储有物理地址表,所述物理地址表中记载有接入所述安全交换机网络的所有现场设备的物理地址,所述方法还包括:
所述普通安全交换机在第一次接收到现场设备发送的数据报文时,将所述现场设备的物理地址与所述物理地址表中的物理地址进行匹配;若匹配成功,则认证通过,否则认证不通过。
结合第一方面,在第三种可能的实现方式中,所述安全交换机网络还包括服务器交换机;所述服务交换机中存储有所有普通安全交换机的标识码和用户密码;
在接收数据报文之前,所述方法还包括:
所述普通安全交换机向服务器交换机发送第一认证请求报文,所述第一认证请求报文携带所述普通安全交换机的标识码,以便所述服务器交换机在检索到存储有所述普通安全交换机的标识码后,向所述普通安全交换机返回携带加密字的第一质询报文;
所述普通安全交换机接收所述第一质询报文;
所述普通安全交换机将用户密码和所述第一质询报文中的加密字进行不可逆加密,得到第一加密结果,并将所述第一加密结果返回给服务器交换机,以便所述服务器交换机将第二加密结果与第一加密结果相比较,在二者相同时,判定所述普通安全交换机认证成功,进行第一认证通过操作;
所述第二加密结果是所述服务器交换器将存储的、所述普通安全交换机的用户密码和所述加密字进行所述不可逆加密得到的;
所述第一认证通过操作包括:记录所述普通安全交换机的物理地址和IP地址,向所有普通安全交换机发送第一认证成功通知报文,所述第一认证成功通知报文携带认证成功的普通安全交换机的物理地址和IP地址,用于与所述认证成功的普通安全交换机相连的普通安全交换机开启相应数据端口。
结合第一方面第三种可能的实现方式,在第四种可能的实现方式中,所述服务交换机中存储有所有客户端的用户信息和用户密码;所述方法还包括:
所述普通交换机转发客户端发起的、携带用户信息的第二认证请求报文;
所述普通交换机转发所述服务器交换机发起的携带加密字的第二质询报文;
所述普通安全交换机转发所述客户端发起的携带第三加密结果的报文;所述第三加密结果是所述客户端将所述第二质询报文中的加密字和用户密码进行不可逆加密得到的;
所述普通交换机转发第二认证成功通知报文;所述第二认证成功通知报文是所述服务器交换机在第四加密结果与所述第三加密结果相同时发出的;所述第四加密结果是所述服务器交换器将存储的、所述客户端的用户密码和所述加密字进行所述不可逆加密得到的;
所述第二认证成功通知报文包含所述客户端的IP地址和MAC地址,用于所有普通安全交换机向所述客户端授权数据端口,允许所述客户端接入。
结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:所述普通安全交换机定期向与其相连的普通安全交换机发送联络包声明在线;所述普通安全交换机在未接收与其相连的普通安全交换机发送的联络包时,判定所述与其相连的普通安全交换机出现故障,向服务器交换机发送报警报文,以便所述服务器交换机针对出现故障的普通安全交换机进行故障处理。
结合第一方面第五种可能的实现方式,在第六种可能的实现方式中,所述故障处理包括:将所述出现故障的普通安全交换机的状态设置为离线状态;令与所述出现故障的普通安全交换机相连接的普通安全交换机关闭相应的数据端口。
根据本发明实施例的第二方面,提供一种安全交换机,包括:
接收单元,用于接收数据报文;
加密处理单元,用于对所述接收单元接收的所述数据报文执行加密处理策略,所述加密处理策略包括:判断所述数据报文的发送方或转发方是否是普通安全交换机,若判定所述数据报文的发送方或转发方不是普通安全交换机,则对所述数据报文进行加密处理,若判定所述数据报文的发送方或转发方是普通安全交换机,则不进行加密处理;
解密处理单元,用于对所述执行过加密处理策略的数据报文执行解密处理策略,所述解密处理策略包括:判断转发所述数据报文的端口所连接设备是否是普通安全交换机,若判定转发所述数据报文的端口所连接设备是普通安全交换机时,则不进行解密处理,若判定转发所述数据报文的端口所连接的设备不是普通安全交换机时,则对所述数据报文进行解密处理;
发送单元,至少用于对所述执行过解密处理策略的数据报文进行转发。
结合第二方面,在第二方面的第一种可能的实现方式中,在作为普通安全交换机时,所述安全交换机还包括:
交换机认证单元,用于发送第一认证请求报文,所述第一认证请求报文携带所述普通安全交换机的标识码;接收携带加密字的第一质询报文,将用户密码和所述第一质询报文中的加密字进行不可逆加密,得到第一加密结果,并将所述第一加密结果返回。
结合第二方面,在第二方面的第二种可能的实现方式中,在作为服务器交换机时,所述安全交换机还包括:
服务器认证单元,用于接收到携带普通安全交换机的标识码的第一认证请求报文后,检索是否存储有与之相匹配的标识码;如存储有相匹配的标识码,返回携带有加密字的第一质询报文;将存储的、所述普通安全交换机的用户密码和所述加密字进行不可逆加密得到第二加密结果,将第二加密结果与第一加密结果相比较,在二者相同时,判定所述普通安全交换机认证成功,进行第一认证通过操作;
所述第一加密结果,是所述普通安全交换机将用户密码和所述第一质询报文中的加密字进行不可逆加密得到的;
所述第一认证通过操作包括:记录所述普通安全交换机的物理地址和IP地址,向所有普通安全交换机发送第一认证成功通知报文,所述第一认证成功通知报文携带认证成功的普通安全交换机的物理地址和IP地址,用于与所述认证成功的普通安全交换机相连的普通安全交换机开启相应数据端口。
可见,在本发明实施例中,普通安全交换机具有加密/解密功能,安全交换机网络为密文网络,数据在网络中传输时是密文传输,保证了数据安全性。当任何报文进入安全交换机网络时,普通安全交换机对其数据部分进行加密;当任何报文离开安全交换机网络时,普通安全交换机对其数据部分进行解密。每个报文,仅需要一次加密操作和一次解密操作,传输路径上的其它交换机不对该报文进行加密或解密操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的安全通信方法流程图;
图2为本发明实施例提供的安全交换网络结构示意图;
图3为本发明实施例提供的安全交换机结构示意图;
图4为本发明实施例提供的密钥更新/算法更新流程示意图;
图5为本发明实施例提供的普通安全交换机数据接收发送的流程示意图;
图6为本发明实施例提供的安全交换机另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的目的在于提供安全通信方法及装置,以保证数据安全性。
上述安全通信方法基于安全交换机网络。安全交换机网络至少包括两个及以上普通安全交换机,用以完成数据交换与传输,安全交换机网络可以按照各种拓扑结构组成。
本方法的核心思想是,安全交换机组成密文网络,安全交换机之间在传输一些报文(例如数据报文)时是密文传输,通过对报文进行加密/解密来实现:当数据报文进入安全交换机网络时,对数据报文进行加密,当数据报文离开安全交换机网络时,对数据报文进行解密。
基于上述核心思想,参见图1,上述安全通信方法至少包括如下步骤:
S1、普通安全交换机接收数据报文;
接入安全交换机网络的普通安全交换机具有多个端口(物理端口),数据报文是从端口进入的。
S2、普通安全交换机对接收的数据报文执行加密处理策略;
其中,加密处理策略包括:判断数据报文的发送方或转发方是否是普通安全交换机,若判定不是,则对该数据报文进行加密处理,若判定是,则不进行加密处理。
更具体的,当满足第一条件时,判定数据报文的发送方或转发方是普通安全交换机;而当不满足上述第一条件时,判定数据接文的发送方或转发方不是普通安全交换机。
前已述及,数据报文是从端口进入的。
在组网时,普通安全交换机通过发联络包(本文后续将详细介绍),可得到自身每一端口所连接的设备的设备类型(设备类型可包括普通安全交换机、现场设备、客户端)。
假定某普通安全交换机有A、B、C三个物理端口,在组网时,通过发联络包,确定物理端口A连接的设备,其设备类型为普通安全交换机;物理端口B连接的设备,其设备类型为现场设备;而物理端口C连接的设备,其设备类型为客户端。
假定数据报文是从端口A进入的。则可通过判断端口A所连接设备的设备类型,来判断数据报文的发送方或转发方是否是普通安全交换机。由于物理端口A连接的设备的设备类型为普通安全交换机,因此不进行加密处理。
此外,数据报文如已经加密,会携带加密标识,因此,通过判断数据报文是否携带加密标识,也可判断出数据报文的发送方或转发方是否是普通安全交换机。
因此,上述第一条件可包括:接收数据接文的端口所连接设备的设备类型是普通安全交换机,以及,数据报文携带加密标识的至少一种。
S3、普通安全交换机对执行过加密处理策略的数据报文执行解密处理策略。
上述解密处理策略包括:判断转发数据报文的端口所连接设备是否是普通安全交换机,若判定是,则不进行解密处理,若判定否,则对数据报文进行解密处理;
普通安全交换机是通过端口(物理端口)转发数据报文的。在组网过程中,普通安全交换机会学习路由,从而在接收到数据报文后,可得到通过哪一端口转发该数据报文,可令数据报文到达目的地址。
前已述及了,在组网时,普通安全交换机通过发联络包,可得到自身每一端口所连接的设备的设备类型(设备类型可包括普通安全交换机、现场设备/客户端)。
仍沿用前例,假定要通过端口B转发数据报文,可通过判断端口B所连接设备的设备类型,来判断转发数据报文的端口所连接设备是否是普通安全交换机。
由于物理端口B连接的设备的设备类型为现场设备,所以需要对数据报文进行解密处理。
S4、对执行过解密处理策略的数据报文进行转发。
仍沿用前例,通过端口B转发进行解密处理后的数据报文。
由于在本实施例中,安全交换机网络中普通安全交换机具有加密/解密功能,数据报文在安全交换机网络中传输时是密文传输,保证了数据安全性。并且,根据本实施例所提供的技术方案,当数据报文进入安全交换机网络时,普通安全交换机对其数据部分进行加密;当数据报文离开安全交换机网络时,普通安全交换机对其数据部分进行解密。每个数据报文,仅需要一次加密操作和一次解密操作,传输路径上的其它安全交换机不对该报文进行加密或解密操作。
在本发明其他实施例中,上述安全交换机网络还可包括服务器交换机,服务器交换机参与数据报文的传输,与普通安全交换机相比多了认证和密钥算法管理等功能。因此,服务交换机可与安全交换机通讯,以实现安全交换机认证、客户端认证和密钥/算法管理。
与上述方法相对应,本发明实施例还要求保护安全交换机。本实施例所要求保护的安全交换机既可作为普通安全交换机,也可作为服务器交换机。在初始配置时将选定的安全交换机配置为服务器交换机即可。如何选定安全交换机作为服务器交换机有多种方式,例如,可按照拓扑结构找到处于网络核心位置的安全交换机,通过软件配置启用其为服务器交换机。图2所示的是安全交换网络结构图。初始配置时可按照拓扑结构找到最核心位置的安全交换机将其配置为服务器交换机。图2中标S的设备即为普通安全交换机。
为实现当数据报文进入安全交换机网络时,对数据报文进行加密,当数据报文离开安全交换机网络时,对数据报文进行解密。本发明实施例所要求保护的安全交换机(无论作为普通安全交换机还是服务器交换机)至少需要包括加密/解密模块和通信模块。
其中,参见图3,加密/解密模块至少可包括:加密处理单元1、解密处理单元2。
通信模块可包括接收单元3和发送单元4。其中:
发送单元4,用于发送报文,在本实施例中,发送单元4用于对执行过解密处理策略的数据报文进行转发(具体请参见上述步骤S4)。
而接收单元3,用于接收数据报文。
在本发明其他实施例中,接收单元3可用于接收任何报文。
加密处理单元1,用于对接收单元3接收的数据报文执行加密处理策略。加密处理策略相关内容请参见步骤S2,在此不作赘述。
解密处理单元2,用于对执行过加密处理策略的数据报文执行解密处理策略,解密处理策略相关内容请参见步骤S3,在此不作赘述。
上述各模块、单元可为硬件器件,也可为逻辑器件,例如,加密处理单元可为加密芯片,也可为微处理器所执行的加密程序对应的逻辑单元。
下面将介绍如何组成密文网络。在组网时,普通安全交换机、客户端、现场设备要进行认证,认证成功后才允许接入密文网络。
一,普通安全交换机认证:
需先说明的是,普通安全交换机只有通过服务器交换机的认证才能够接入“密文网络”,进而才可接、发数据报文,以及接、发后续介绍的密钥报文。
上电组网时,服务器交换机先对普通安全交换机进行认证,对普通安全交换机认证完成后,安全交换网络将对欲接入安全交换网络的客户端和现场设备进行认证,认证成功的设备允许接入安全交换网络。
为实现认证,每一安全交换机均包括认证模块。由于任一安全交换机均可作为普通安全交换机或服务器交换机。因此,每一安全交换机的认证模块又包含两个单元——服务器认证单元和交换机认证单元。
作为服务器交换机时,启用服务器认证单元,而作为普通安全交换机则启用交换机认证单元。服务器认证单元和交换机认证单元在一个安全交换机里只允许使能一个,而且在整个安全交换网络内部有且仅有一台安全交换机使能服务器认证单元,缺省状态下,安全交换机启用的是交换机认证单元。
服务器认证单元实现的是服务器认证功能。服务器认证功能一方面用于整个安全交换机网络内普通安全交换机的上电组网认证和客户端接入认证,另一方面对普通安全交换机响应问询报文的应答报文进行统计,从而确定故障交换机的位置进行整个安全交换网络的故障告知(本文后续将进行介绍)。
交换机认证单元实现的是普通安全交换机认证功能,用于普通安全交换机上电组网时的认证和现场设备接入时的认证。
下面将对服务器交换机(服务器认证单元)与普通安全交换机(交换机认证单元)之间如何交互实现普通安全交换机认证进行介绍:
服务交换机中存储有所有普通安全交换机的标识码和用户密码,而任一普通安全交换机存储有自身的标识码、用户密码和服务交换机的物理地址。
对于服务器交换机,在初始配置时,需要将所有普通安全交换机的唯一标识码配置到服务器交换机中,并随机生成用户密码。对于普通安全交换机,初始配置时,将用户密码和服务器交换机的物理地址通过配置软件写入普通安全交换机。
所有普通安全交换机的标识码和用户密码可存储于服务器认证单元内,例如,服务器认证单元内部包含一个用户身份标识存储器,用于存储所有普通安全交换机的标识码和用户密码。当然,也可将所有普通安全交换机的标识码和用户密码存储在独立于服务器认证单元的存储区内。
同理,对于任一普通安全交换机而言,自身的标识码、用户密码和服务交换机的物理地址交换机既可存储于交换机认证单元内,亦可存储在独立的存储区内。
基于上述配置,普通安全交换机认证包括如下步骤:
步骤A,普通安全交换机上电后,数据端口(发送数据报文和密钥管理报文的端口)闭合;也即,普通安全交换机的接收单元和发送单元的数据端口闭合。此时,安全交换机网络中只允许通过认证报文。所谓的数据端口闭合,指的是在认证通过之前,数据报文不让通过的。
认证报文可包括在普通安全交换机认证过程中服务交换机与普通安全交换机之间交互所涉及的报文,例如下述的第一认证请求报文、第一质询报文等。认证报文还可包括在客户端认证过程中所涉及的交互报文。
步骤B,普通安全交换机向服务器交换机发送携带自身标识码的第一认证请求报文;
更具体的,开始通电后,所有普通安全交换机开始广播第一认证请求报文。第一认证请求报文的目标物理地址为服务器交换机的物理地址。
从单元的角度看,开始通电后,所有普通安全交换机的交换机认证单元指示发送单元广播第一认证请求报文。
当然,交换机认证单元也可有通信功能,此时,开始通电后,所有普通安全交换机的交换机认证单元广播第一认证请求报文。
步骤C,服务器交换机(服务器认证单元)接收到第一认证请求报文后,检索是否存储有相匹配的标识码;
显然,如服务器交换机未检索到匹配的标识码,则认证失败。
步骤D,如存储有相匹配的标识码,服务器交换机将发送第一认证请求报文的普通安全交换机作为目标交换机,向目标交换机发送携带有加密字的第一质询报文;
上述加密字可随机产生,或依据某一生成规律产生。
从单元的角度看,服务器认证单元指示发送单元向目标交换机发送携带有加密字的第一质询报文。
当然,服务器认证单元也可有通信功能,此时,服务器认证单元可直接返回携带有加密字的第一质询报文。
步骤E,目标交换机接收到第一质询报文后,将加密字和自身用户密码进行不可逆加密,得到第一加密结果,并将第一加密结果返回给服务器交换机;
从单元的角度看,则是:交换机认证单元将加密字和自身用户密码进行不可逆加密,得到第一加密结果,并(指示发送单元)将第一加密结果返回给服务器交换机。
步骤F,服务器交换机将本地存储的用户密码和加密字进行不可逆加密,得到第二加密结果;
需要说明的是,安全交换机中的服务器认证单元和交换机认证单元共享不可逆算法加密算子,这样,无论安全交换机启用服务器认证单元,还是启用交换机认证单元,都可实现不可逆加密。
步骤G,在第二加密结果与第一加密结果相同时,服务器交换机进行第一认证通过操作;如不相同或者超时,则认证失败。
其中,第一认证通过操作至少包括:
记录目标交换机的物理地址和IP地址,向所有其他普通安全交换机发送第一认证成功通知报文,该报文中包含目标交换机的物理地址和IP地址。与目标交换机相连的普通安全交换机(交换机认证单元)接收到第一认证成功通知报文后,开启与目标交换机相连的数据端口;向目标交换机返回认证成功的响应。
需要说明的是,在第二加密结果与第一加密结果不相同时,服务交换机会返回谁失败报文(或称认证失败报文),通知目标交换机认证失败,而如果超时导致的认证失败,则服务交换机不进行通知。
如果收到认证失败报文,或者一定时间内(例如30s)普通安全交换机没有收到服务器交换机的响应,则普通安全交换机重发送第一认证请求报文。若在一定时间内(例如10min)内依然没有收到响应,表示连接失败,需要检查网络或者检查普通安全交换机。
从单元的角度看,则是:服务器认证单元记录目标交换机的物理地址和IP地址,(指示发送单元)向所有其他普通安全交换机发送目标交换机的物理地址和IP地址,以令其他普通安全交换机开启相应数据端口。
所谓的开启相应数据端口,可指允许目标交换机发送或转发的数据报文通过。
在这里需要说明的是,普通安全交换机在认证过程中只起到“透传”的功能。但是在认证通过之前,普通安全交换机可以把报文分到两个逻辑端口中:控制端口和非控制端口。非控制端口始终处于连通状态,它不需要授权,随时可以与安全交换机网络中的其它设备进行数据交换,主要用来传递认证报文,保证可以随时接收转发认证报文。控制端口(也即关闭的数据端口)只有在认证通过后才打开,用于传递网络资源和服务。
组网完成后,当再有新的普通安全交换机接入安全交换机网络时,按照组网过程中的认证过程进行接入。
接入密文网络后,普通安全交换机将向周边设备发送联络包。在本发明实施例中,任一普通安全交换机在接收到联络包后均返回响应。因此,如接收到某周边设备的响应,则可判断出该设备是普通安全交换机,否则,可判断出该设备是客户端或者现场设备,从而判断出某端口所连接设备的设备类型。
二,客户端认证:
普通安全交换机上电组网时的认证与客户端认证过程基本一样,所不同的是普通安全交换机的认证是一上电接入就开始主动要求认证,而客户端认证是在客户端有接入需求时才进行认证。
与普通安全交换机认证相类似,服务器交换机中事先需存储所有客户端的用户信息和用户密码,客户端存储有自身的用户信息和用户密码;
客户端认证包括:
步骤A,客户端组播携带自身用户信息的第二认证请求报文;第二认证请求报文通过普通安全交换机转发。
步骤B,服务器交换机(服务器认证单元)获取第二认证请求报文所携带的用户信息,检索是否存储有相匹配的用户信息;
当然,客户端组播的第二认证请求报文也可以不携带自身的用户信息,服务器交换机收到第二认证请求报文后可向客户端返回响应,要求客户端发送用户名信息;客户端再返回用户名信息。
步骤C,如存储有相匹配的用户信息,服务器交换机(服务器认证单元)将发送第二认证请求报文的客户端作为目标客户端,向目标客户端发送携带有加密字的第二质询报文;同理,第二质询报文需要通过普通交换机转发,才能到达目标客户端。
上述加密字可随机产生,或依据某一生成规律产生。
步骤D,目标客户端接收到第二质询报文后,将加密字和自身用户密码进行不可逆加密,得到第三加密结果,并将携带第三加密结果的认证报文返回给服务器交换机。同理,该报文由普通安全交换机转发。
步骤E,服务器交换机(服务器认证单元)将本地存储的用户密码和加密字进行不可逆加密,得到第四加密结果;
步骤F,服务器交换机(服务器认证单元)将第三加密结果与第四加密结果进行对比,如不相同,(指示发送单元)向目标客户端发送携带认证失败原因的认证失败信息,如相同时,服务器交换机进行第二认证通过操作。
第二认证通过操作至少包括:
服务器交换机向普通安全交换机发送第二认证成功通知报文,第二认证成功通知报文包含目标客户端的IP地址和MAC地址等信息,所有接收到第二认证成功通知报文的普通安全交换机将向目标客户端授权数据端口,允许目标客户端接入。
此外,在报文传输中还可能涉及普通交换机。在本发明中,普通交换机只允许在安全交换机网络的外围接入。普通交换机将被视为透明传输介质。当一个外接设备通过普通交换机接入安全交换网络时,外接设备将请求进行客户端认证。认证时,外接设备的相关认证报文通过普通交换机传递到安全交换机网络。在认证过程中,普通交换机仅承担传递报文的工作,不对报文作任何修改,因此,可将其视为透明传输介质。
三,现场设备认证:
在任一普通安全交换机中存储有物理地址表,物理地址表中记载有接入安全交换机网络的所有现场设备的物理地址。
普通安全交换机在第一次接收到现场设备发送的正常的数据报文时,将现场设备的物理地址与自身存诸的物理地址表中的物理地址进行匹配,如匹配成功,则认证通过,否则认证不通过,丢掉数据报文。
前述步骤S2-S4所称的数据报文,具体可指由认证通过的设备(例如认证通过的普通安全交换机、认证通过的客户端、认证通过的现场设备)发送或转发的数据报文。
当有新的现场设备接入安全交换机网络时,与之相连的普通安全交换机重新配置设备认证信息(向物理地址表中录入新现场设备的物理地址)。
下面将介绍密钥/算法管理。需要说明的是,安全交换机网络中的普通安全交换机和服务器交换机中预置了多种加密算法以及与之对应的解密算法,各算法之间并行独立运行,循环轮回执行加密解密操作。并且,服务器交换机还会与普通安全交换机交互进行密钥/算法管理,以对密钥更新和算法更新。
安全交换机网络采用静态与动态相结合的方式对加密算法和密钥进行管理。在安全性要求不高的场景下,可不更新密钥和算法(静态),而在安全性要求高的场景下,可更新密钥和算法(动态)。
本实施例主要介绍如何更新密钥和算法:
初始配置时,安全交换机网络中的每台普通安全交换机均配置有统一的初始加密算法和初始密钥。用户也可对初始加密算法及密钥进行自主配置。
服务器交换机定时或不定时对加密算法或密钥进行更新。其中加密算法更新周期比密钥更新周期长。加密算法更新时,密钥也必须随着更新,也即对密钥和加密算法进行动态更新。
为实现密钥/算法管理,每一安全交换机均包括密钥管理模块和算法管理模块。密钥管理模块和算法管理模块还可合为一个模块——密钥/算法管理模块。由于任一安全交换机均可作为普通安全交换机或服务器交换机。因此,每一安全交换机的密钥管理模块又包含两个单元——服务器密钥管理单元和交换机密钥管理单元,同时,每一安全交换机的算法管理模块又包含两个单元——服务器算法管理单元和交换机算法管理单元。作为服务器交换机时,启用服务器密钥管理单元和服务器算法管理单元,而作为普通安全交换机则启用交换机密钥管理单元和交换机算法管理单元。
密钥更新和算法更新既可由服务器交换机主动发起,也可应普通安全交换机的请示而发起。下面将一一介绍。
参见图4,在由服务器交换机主动发起时:
(1),服务器交换机根据组网完成之后内部存放的地址信息(物理地址和IP地址),用当前使用密钥和加密算法加密密钥更新消息或加密算法更新消息后,向安全交换机网络中的各普通安全交换机发送。其中,密钥更新消息中包括新密钥Kn,而加密算法更新消息中包括新密钥Kn和新加密算法An。
从单元的角度来看,则是:
服务器密钥管理单元根据组网完成之后内部存放的地址信息(物理地址和IP地址),指示加密处理单元用当前使用密钥和加密算法加密密钥更新消息,并指示发送单元向安全交换机网络中的各普通安全交换机发送加密后的密钥更新消息。当然,服务器密钥管理单元也可具有通信功能,直接向安全交换机网络中的各普通安全交换机发送加密后的密钥更新消息。
或者,服务器算法管理单元指示加密处理单元用当前使用密钥和加密算法来加密算法更新消息,并指示发送单元向安全交换机网络中的各普通安全交换机发送加密后的算法更新消息。当然,服务器算法管理单元也可具有通信功能,直接向安全交换机网络中的各普通安全交换机发送加密后的算法更新消息。
(2),各普通安全交换机根据当前使用密钥和加密算法解密后,将新密钥,或新密钥和新加密算法保存在密钥算法预置区,并返回一个用当前使用密钥和加密算法加密的应答消息Ack。
从单元的角度来看,则是:
交换机密钥管理单元指示解密单元根据当前使用密钥和加密算法解密密钥更新消息,将新密钥存在密钥算法预置区,并指示发送单元返回一个用当前使用密钥和加密算法加密的应答消息Ack;当然,交换机密钥管理单元也可具有外部通信功能,可直接返回用当前使用密钥和加密算法加密的应答消息Ack。
或者交换机算法管理单元指示解密单元根据当前使用密钥和加密算法解密算法更新消息,将新密钥和新算法存在密钥算法预置区,并指示发送单元返回一个用当前使用密钥和加密算法加密的应答消息Ack;当然,交换机算法管理单元也可具有外部通信功能,可直接返回用当前使用密钥和加密算法加密的应答消息Ack。
(3),服务器交换机收到所有普通安全交换机的应答消息后,向各普通安全交换机发送用当前使用密钥和加密算法加密的激活消息Act。激活消息中包含激活时间,以便整个安全交换机网络在统一时间内激活新密钥或启用新加密算法。
从单元的角度来看,则是:服务器密钥管理单元或服务器算法管理单元,收到所有普通安全交换机的应答消息后,(指示发送单元)向各普通安全交换机发送用当前使用密钥和加密算法加密的激活消息Act。
而应普通安全交换机的请求而发起的流程则如下:
(A),普通安全交换机向服务器交换机发出新密钥分配请求或新算法分配请求。新密钥分配请求或新算法分配请求,至少包括两个数据项,一个数据项携带了普通安全交换机的身份(标识码),另一个数据项是这次业务的惟一识别符N1。每次请求使用的N1都不同。为了防止假冒,令攻击者对N1难以猜测,可用随机数作为业务的识别符。
也即,交换机密钥管理单元(指示发送单元)发送新密钥分配请求,或交换机算法管理单元(指示发送单元)发送新算法分配请求。
(B),服务器交换机根据组网完成之后内部存放的地址信息(物理地址和IP地址),用当前使用密钥和加密算法加密后向各普通安全交换机返回应答消息。应答消息中包括:
1)新加密算法An和新密钥Kn,或,新密钥Kn;
2)普通安全交换机发出的随机数(也即上述识别符N1);
携带普通安全交换机发出的随机数,目的是让普通安全交换机将接收到的应答消息与自己发出的请求相比较,看是否匹配。这样,普通安全交换机能验证自己发出的请求在被服务器交换机收到之前,是否被他人篡改。另外,普通安全交换机还能根据随机数确认收到的应答消息是否是服务器交换机重放对过去请求的应答;
3)生存时间T。
生存时间对新密钥或新算法的有效时间进行了定义,达到生存时间期限时,普通安全交换机需重新申请密钥或新算法。
更具体的,服务器密钥管理单元或服务器算法管理单元,指示加密单元用当前使用密钥和加密算法加密应答消息,之后,(指示发送单元)向各普通安全交换机返回加密后的应答消息。
(C),各普通安全交换机根据当前使用密钥和加密算法解密应答消息后,将新密钥,或,新密钥和新加密算法保存在密钥算法预置区,并返回一个确认消息,确认消息中包含激活请求。
更具体的,各普通安全交换机的交换机密钥管理单元或交换机算法管理单元,指示解密单元根据当前使用密钥和加密算法对应答报文解密后,将新加密算法和/或新密钥保存在密钥算法预置区,并(指示发送单元)返回一个确认消息。
(D),服务器交换机收到所有普通安全交换机发送的确认消息后,向所有普通安全交换机返回激活应答消息。激活应答消息中包含激活时间,以便整个安全交换机网络在统一的激活时间内激活新密钥或启用新加密算法。
更具体的,服务器密钥管理单元或服务器算法管理单元,收到所有普通安全交换机的确认消息后,(指示发送单元)向各普通安全交换机返回上述激活应答消息。
此外,更新密钥或加密算法时,服务器交换机若在一定时间内没有收到普通安全交换机的响应则重新发送,发送三次仍没有收到响应,则认为没有返回响应的普通安全交换机出现故障。进行故障处理。本文后续将对故障处理进行介绍。
需要说明的是,在组网初期密钥算法存储区内只存有初始密钥和初始算法,一段时间后,密钥算法存储区内可能存有三组密钥和算法,包括:初始密钥和初始算法、旧密钥和旧加密算法、新密钥和新加密算法。
因此,为了区分加密报文所采用的密钥及算法,可利用报文报头4个字节的标志位,标志加密报文所采用的密钥和算法。其中两个字节的标志位为密钥标志位,用于标志采用新密钥或旧密钥,另两个字节的标志位为算法标志位,用于标志采用新算法或旧算法。
因此,普通安全交换机在进行加、解密时,会对算法标志位和密钥标志位进行判断,如果判断为旧密钥及旧算法,则用旧密钥及旧算法对报文进行加解密。如果判断为新密钥及旧算法,则用新密钥和旧算法对报文进行加解密。如果判断为新算法,则用新密钥和新算法对报文进行加解密。
在本发明其他实施例中,上述方法还可包括:
任一普通安全交换机定期向相连接的普通安全交换机发送联络包声明在线;
任一普通安全交换机接收不到与其相连的普通安全交换机发送的联络包时,判断与其相连的普通安全交换机出现故障,向服务器交换机发送报警报文,报警报文中包含故障设备的相关信息;以便服务器交换机在收到报警报文后,向发送报警报文的普通安全交换机返回响应,记录故障,针对出现故障的普通安全交换机进行前述的故障处理。
由于要进行声明在线、发送报警报文、故障处理等,因此,在装置方面,安全交换机还包括声明单元、报警单元和故障处理单元。其中,声明单元用于定期生成联络包,并指示发送单元向相连接的普通安全交换机发送联络包声明在线。而报警单元用于在接收不到与其相连的普通安全交换机发送的联络包时,生成报警报文,指示发送单元向服务器交换机发送报警报文。故障处理单元则用于进行上述故障处理。
更具体的,安全交换机在作为普通安全交换机时使能声明单元和报警单元,而在作为服务器安全交换机时,使能故障处理单元。
此外,如果发送报警报文的普通安全交换机(报警单元)在一定时间内没有收到服务器交换机返回的响应,则重新发送报警报文,直到收到服务器交换机返回的响应为止。
此外,服务器交换机也可定期向处于工作状态的普通安全交换机发送问询请求;
任一处于工作状态的普通安全交换机接收到问询请求后,进行响应;
服务交换机将未进行响应的普通安全交换机作为出现故障的普通安全交换机,进行前述的故障处理。
更具体的,如果一定时间内服务器交换机没有收到普通安全交换机返回的响应,则重新发送问询请求,发送三次均没有收到普通安全交换机返回的响应时,则认为该普通安全交换机掉线,则将其作为出现故障的普通安全交换机,进行故障处理。
更具体的,故障处理包括:
将出现故障的普通安全交换机的当前状态修改为离线状态;
令与出现故障的普通安全交换机相连接的普通安全交换机关闭相应数据端口。
服务器交换机会向安全交换机网络中的普通安全交换机发送告知报文,告知报文中携带故障交换机的MAC地址。这样,其他安全交换机将屏蔽发往故障交换机的报文,从而避免广播风暴的产生。
图5所示的是普通安全交换机数据接收发送的大体流程。普通安全交换机从外部接口接收报文,然后对报文的格式进行拼接或拆分成后续所需要的报文格式,再对转换完格式的报文进行解析,这样就完成了对报文的接收。
普通安全交换机能识别的报文主要包括:数据报文、认证报文、密钥/算法管理报文、问询报文、联络包。
其中,认证报文包括前述的(第一、第二)认证请求报文、(第一、第二)质询报文、(第一、第二)认证成功通知报文等;密钥/算法管理报文包括前述的密钥更新消息、加密算法更新消息、应答消息、激活消息、新密钥分配请求等。
如果是数据报文,判断是否需要进行加/解密,如需加/解密,则对数据报文进行加/解密,然后再对报文重新封装;不需要加/解密的数据报文直接重新封装。封装好的报文,根据报文的优先级和报文的去向有序地进行报文格式的拼换或拆分,转换成为符合外部接口的报文格式(也即报文格式逆转换)。
如果是联络包,需要发送相对应的联络反馈报文(即响应),然后进行封装,最后发送出去。
如果是问询报文,需要发送相对应的问询反馈报文(即响应),然后进行封装,最后发送出去。
如果是认证报文,再判断是普通安全交换机的认证报文还是客户端的认证报文,根据相应报文发送相对应的普通安全交换机认证报文或客户端认证报文,并对报文进行封装,最后发送出去。
如果是密钥/算法管理报文,即根据密钥管理报文的类型,产生、存储、分配、更新密钥等。
图6所示的是安全交换机设计图。安全交换机主要包括以太网PHY芯片(以太网物理层芯片)、交换芯片和微处理器。微处理器在逻辑上又包括多个模块,例如认证模块、加密/解密模块、密钥/算法管理模块、报文解析/封装模块、Bus Convert模块、发送调度模块、PCI-E通信模块等。其中,报文解析/封装模块、Bus Convert模块、发送调度模块、PCI-E通信模块、以太网PHY芯片、交换芯片、发送调度模块可构成前述提及的通信模块。认证模块、加密/解密模块、密钥/算法管理模块本文前述已有记载,在此不多赘述。
下面将介绍上述各模块的协作:
普通安全交换机接收到报文后,报文经PHY芯片处理后发送给交换芯片,交换芯片通过自身的PCI-E接口与微处理器交互报文数据。
在微处理器中,接收到的报文先通过Bus Convert(总线转换)模块进行总线转换,将数据转换成适合解析处理的格式,报文解析/封装模块对报文进行解析、识别,最终分析出三种类型的报文,数据报文、认证报文、密钥/算法管理报文,并将分析出来的报文分别发给认证模块、加密/解密模块和密钥/算法管理模块进行相应的处理。
当微处理器有报文发送时,报文解析/封装模块先对数据进行封装,使之成为适合在以太网络上传输的格式,将封装好的数据交给发送调度模块,由它对待发送的报文进行时间调度管理,在适当的时候将报文交给总线转换模块,转换成适合PCI-E通信模块的数据传输格式,按次序交给交换芯片转发。
下面将介绍各模块的功能。
PCI-E通信模块和交换芯片:
PCI-E通信模块是微处理器与交换芯片互连的高速接口模块,微处理器与交换芯片互为数据发送端和数据接收端。PCI-E通信模块中的PCI-E总线使用端到端的连接方式,在一条PCI-E总线链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。
PCI-E总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,接收端接收数据时也使用这些层次。
PCI-E总线使用的层次结构与网络协议栈较为类似。在PCI-E总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,其也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,其也是接收端的发送链路。
PCI-E通信模块从事务层的层面来说主要负责与交换芯片进行TLP报文内容交互,接收过程它以PCI-E总线的规则接收来自交换芯片的以太网报文(包括认证报文、密钥/算法管理报文、数据报文等),PCI-E通信模块并不区分这些报文的格式、代表的意义;发送过程PCI-E模块只负责把以太网报文分批按TLP数据格式依次交给交换芯片,本身不对报文做任何处理,只提供一个接口,由交换芯片对数据进行解析并发往合适的端口。
在整个交换机的功能架构中,交换芯片的作用是负责存储和转发以太网报文,一方面交换芯片将接收到的以太网报文存储到接收报文存储区,另一方面交换芯片从发送报文存储区里读取报文进行转发。同时交换芯片还提供访问这两个报文存储区的方法,即通过PCI-E接口来进行这两个报文存储区的读写操作。微处理器里面的PCI-E通信模块主要也是为了访问这两个报文存储区而设计。PCI-E通信模块与交换芯片的PCI-E外设接口进行事务层的数据交互将封装在TLP数据包里的以太网报文双向传输。
当对交换芯片的发送报文存储区执行报文存储操作,PCI-E通信模块要做的工作包括对以太网报文执行TLP数据包的封装,根据以太网报文的长度来决定封装的TLP数据包的个数,每个TLP数据包里面指明交换芯片内发送报文存储区的地址偏移,完成TLP数据包的封装后执行一个TLP存储写请求。在PCI-E总线中,存储器(发送报文存储区、接收报存储区是存储器内划分的区域)写使用Posted总线事务。PCI-E通信模块仅使用存储器写请求TLP即可完成存储器写操作,不需要目标设备即交换芯片的回应报文。
同样当对交换芯片的接收报文存储区执行报文读取操作时,PCI-E通信模块要做的工作包括执行TLP存储读数据包的封装,在TLP存储读数据包里面指明交换芯片内接收报文存储区的地址偏移,以及读取的存储空间的大小。完成TLP数据包的封装后执行一个TLP存储读请求。在PCI-E总线中,当PCI-E主设备访问目标设备的存储器空间时,使用Non-Posted总线事务向目标设备发出存储器读请求TLP,目标设备收到这个存储器读请求TLP后,使用存储器读完成TLP,主动向主设备传递数据。当主设备收到目标设备的存储器读完成TLP后,将完成一次存储器读操作。在这里PCIe主设备即是微处理器里的PCI-E通信模块,目标设备即是交换芯片。
另外PCI-E通信模块还负责与BUS_CONVERT模块进行以太网报文内容的交互。
PCI-E通信模块一方面将从接收到的TLP数据包中解析出来的以太网报文数据包,以RAM存储接口的方式分报文头部和报文数据分别存入报文报头存储器和报文数据存储器(报文报头存储器和报文数据存储器属于微处理器),或者以RAM存储接口的方式从报文报头存储器和报文数据存储器中读取报文头部和报文数据,另一方面PCI-E通信模块负责接BUS_CONVERT模块以数据传输开始-数据传输结束的通信方式传输过来的处理后的以太网数据包流。
Bus Convert模块:
Bus Convert模块主要完成的功能包括两个方面。一方面将PCI-E通信模块解析出来的以太网报文数据包以RAM存储接口的方式分报文头部和报文数据分别存入报文报头存储器和报文数据存储器,并在报文基地址存储器里记录每个报文存储时的报头和数据部分的基地址,或者以RAM存储接口的方式从报文报头存储器和报文数据存储器中读取报文头部和报文数据。另一方面对外提供访问报文报头存储器、报文数据存储器、报文报头及数据部分基地址存储器的接口。
以将从PCI-E通信模块传送过来报文存入报文报头存储器和报文数据存储器为例,Bus Convert模块接收PCI-E通信模块传送过来的以太网报文,分报文头部和报文数据分别存入报文报头存储器和报文数据存储器:先对报文头部进行存储之后再对报文数据部分进行存储,而且在对报文头部完成存储之后要对外给出个头部存储完成的指示信号。这样设计的好处是报文头部一存储完成后就可以在继续对报文数据部分存储的同时对报文头部的相关字段进行解析识别出报文的类型,相当于并行处理的方式,一定程度上可以提高交换机的性能。
报文解析/封装模块通过访问报文基地址存储器可以找到接收到的报文头部和报文数据部分的存储基地址,之后通过这个地址来寻址报文头部或报文数据部分。整个工作流程是当接收到报头存储完成指示信号后即首先访问报文基地址存储器得到报头存储基地址,通过这个基地址读出报头相关字段完成报文类型的解析,为数据报文、认证报文、密钥/算法管理报文等报文中的一种,之后再次访问报文基地址存储器得到报文数据部分的存储基地址,通过这个基地址读出该报文的数据部进行后续处理。
报文基地址存储器还要用来存储发送报文的数据部分在报文发送存储器中的基地址,以备转发报文时组织数据通信格式时使用,因为转发报文时组织数据通信格式时需要通过报头基地址来寻址报文头部以及通过报文发送数据部分基地址来寻址报文发送数据部分。
发送调度模块:
发送调度模块的主要功能为缓存下行待发送的报文,并按调度规则交付交换芯片转发。
下行待发送的报文可包括认证报文、普通转发数据报文、密钥应答报文等。当这几种类型的报文都有发送需求时,它们需要按序发送或者按优先级发送,发送时间有一个调度,以免造成数据冲突或数据丢失。发送调度模块由一个发送报文缓存区和相应的调度控制逻辑组成,一方面实现数据的缓存,一方面实现发送时间的调度。
报文解析/封装模块:
报文解析/封装模块主要完成的功能是对从交换芯片接收过来的上行报文进行解析、识别以及对经过认证、加/解密、密钥更新等报文处理后的下行数据进行协议封装,使其成为适合在以太网上传输数据包。
前已述及,解析出的报文包括三种以上类型:数据报文、认证报文、密钥/算法管理报文等。
根据报文的特征字段进行匹配查表识别,识别了报文的类型之后的操作就是送往相应的后续模块(认证模块、加密/解密模块、密钥/算法管理模块)完成相应的处理。相应的处理完成后,要交给交换芯片使之发往相应的端口。
需要说明的是,数据要在以太网上传输就要符合一定的规则,这些规则具体的就是添加合适的报头以及源/目的地址,以及一些相应的控制字段,这部分工作由报文解析/封装模块来完成报文发送前的封装过程。
具体工作流程是当接收到Bus Convert模块的报头存储完成指示信号后即首先访问报文基地址存储器得到报头存储基地址,通过这个基地址读出报头相关字段完成报文类型的解析,为认证、密钥更新,普通数据等报文中的一种,之后再次访问报文基地址存储器得到报文数据部分的存储基地址,通过这个基地址读出该报文的数据部分送往相应的后续模块进行处理。
报文基地址存储器里存储有下行报文的数据部分在报文发送存储器中的基地址,执行报文封装时组织数据通信格式首先通过报头基地址来寻址报文头部然后再通过报文数据部分基地址来寻址报文发送数据部分完成封装。将完成封装后的下行以太网报文以源同步数据传输接口的方式传输到报文发送调度模块,由它完成发送报文的调度。
该模块还提供两套自定义的传输开始-传输结束数据传输接口,用以接收需要执行加/解密操作的报文的数据部分以及将加/解密处理后的报文的数据回传时使用。另外对于数据报文的数据部分进行加密/解密处理之后要求回传处理后的数据,而对于新密钥的解密处理后所得的新密钥则不要求进行回传,但必须把新密钥转存到密钥存储器中进行备份。
这种传输方式具体是在传输第一个有效数据时使能传输开始信号,之后依次传输所有的有效数据,直到传输到最后一个有效数据时使能传输结束信号。鉴于后续的加/解密处理的特殊性,要求在传输开始信号里面附带指示具体要执行加密处理还是解密处理,以及是否是加密后的新密钥数据。对于各种处理后回传的报文的数据部分把它们存储进模块里面的报文数据存储器,同时在报文基地址存储器里记录其基地址以备转发报文时执行报文封装时使用。
另外该模块内部集成一个封装联络包和联络响应报文以及报警报文机制,还有一个响应服务器型交换机问询的应答报文和接受服务器型交换机的告知报文机制。
联络包和联络响应报文的配合是用来检测与相邻普通安全交换机的链路状态正常与否,当发起联络之后能得到相邻普通安全交换机的联络响应即证明链路状态完好,反之则说明链路或相邻普通安全交换机存在故障,这时需封装一个报警报文来上报服务器交换机。
加密/解密模块:
加密/解密模块主要完成两方面的功能,一方面是对报文的数据部分进行加密/解密,另一方面是对新密钥的解密。
参数管理模块:
其中,参数管理模块由SMI、IIC、UART三部分参数控制逻辑组成,协调以及构建SMI、IIC、UART三个接口的共享数据传输通道。
SMI参数控制逻辑实现通过SMI接口对交换芯片的寄存器进行配置、管理;
IIC参数控制逻辑实现通过IIC接口对交换芯片的寄存器进行配置以及对E2PROM存储芯片存储的管理;
UART参数控制逻辑主要对交换机管理软件通过UART接口传输过来的指令进行响应。
UART通信模块:
UART通信模块一方面接收交换机管理配置软件下发的ACL规则,并把这些ACL规则交给参数管理模块,由它来协调控制IIC通信模块完成ACL规则的存储备份和控制SMI通信模块完成对交换芯片的相关寄存器配置,来实现交换机的报文数据包过滤功能;另一方面将参数管理模块对命令请求的状态确认信息反馈给交换机管理配置软件。
它需要对交换机管理配置软件下发的串行比特流进行解码并把其中的ACL规则进解码成参数管理模块可识别的对应于寄存器和相应数值形式,同时需要对交换机管理配置软件请求的状态确认消息进行串行比特流的编码。
前述提及的所有普通安全交换机的标识码和用户密码,可由服务器认证单元生成,也可由交换机管理配置软件生成之后通过微处理器内的UART通信模块以及参数管理模块写入用户身份标识存储器。
IIC通信模块:
IIC通信模块对外主要完成对外接E2PROM存储芯片的读写操作。对内一方面在交换机运行过程中动态的写入需要备份的用户ACL规则及系统参数,另一方面在执行系统恢复时从E2PROM存储芯片中读取用户ACL规则以及系统参数交给参数管理模块,由它进行运行参数的恢复和协助SMI通信模块完成对交换芯片的相关ACL寄存器的重配置。
SMI配置模块:
SMI配置模块主要完成对交换芯片的相关寄存器配置读写,这些寄存器值包括ACL规则,报文转发控制参数等,它一方面遵守SMI总线的通信规则,主要是数据部分的协议封装。另一方面还对配置的寄存器数据流做一个存储,从而缓存大批量的配置数据流。另外这个存储器还存储有系统上电初始化的运行数据,使得每次上电默认读出存储器里的数据对交换芯片的控制寄存器进行初始配置。
SMI配置模块中,SMI总线本身比较简单,一根时钟线和一根双向数据线完成对交换芯片的相关寄存器的读和写,工作方式为半双工。其关键部分在于数据帧的解析,有一定的通信格式。
系统加密模块:
系统加密模块通过与外置加密芯片的信息交互,获取加密芯片的唯一序列号并且MAC消息认证码匹配成功后才启动系统的运行。这样做的目的是即使微处理器的配置比特数据流被窃取,系统也不能运行。
具体过程为微处理器随机产生一个随机密钥序列提供给加密芯片,加密芯片回应一个唯一的序列ID以及经哈希算法处理后的消息认证码,这个序列ID的唯一性和不可复制性保证了系统技术机密的不外泄。系统的运行启动通过状态机来控制,如果从外置加密芯片过来的MAC消息认证码不匹配则始终处于初始IDLE状态,不能跳转到后续的运行状态,也就是说系统被禁止运行。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在可读取的存储介质中,如U盘、移动存储介质、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储软件程序代码的介质,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种安全通信方法,其特征在于,基于安全交换机网络,所述安全交换机网络包括服务器交换机和多个普通安全交换机;所述安全交换机网络中的普通安全交换机和服务器交换机中预置了多种加密算法以及与之对应的解密算法,各算法之间并行独立运行,循环轮回执行加密解密操作;所述服务器交换机与所述普通安全交换机交互进行密钥或算法管理,以进行密钥更新和算法更新;新密钥或新算法具有有效时间,新密钥或新算法达到生存时间期限时,普通安全交换机重新申请密钥或新算法;
所述方法至少包括:
普通安全交换机接收数据报文;
所述普通安全交换机对所述数据报文执行加密处理策略,所述加密处理策略包括:判断所述数据报文的发送方或转发方是否是普通安全交换机,若判定所述数据报文的发送方或转发方不是普通安全交换机,则对所述数据报文进行加密处理,若判定所述数据报文的发送方或转发方是普通安全交换机,则不进行加密处理;
所述普通安全交换机对所述执行过加密处理策略的数据报文执行解密处理策略,所述解密处理策略包括:判断转发所述数据报文的端口所连接设备是否是普通安全交换机,若判定转发所述数据报文的端口所连接设备是普通安全交换机,则不进行解密处理,若判定转发所述数据报文的端口所连接设备不是普通安全交换机,则对所述数据报文进行解密处理;
所述普通安全交换机对所述执行过解密处理策略的数据报文进行转发。
2.如权利要求1所述的方法,其特征在于:
当满足第一条件时,所述普通安全交换机判定所述数据报文的发送方或转发方是普通安全交换机;所述第一条件至少包括:接收所述数据接文的端口所连接设备的设备类型是普通安全交换机,以及,所述数据报文携带加密标识的至少一种;
当不满足所述第一条件时,所述普通安全交换机判定所述数据接文的发送方或转发方不是普通安全交换机;
当转发所述数据报文的端口所连接设备的设备类型是普通安全交换机时,所述普通安全交换机判定转发所述数据报文的端口所连接设备是普通安全交换机;
当转发所述数据报文的端口所连接设备的设备类型不是普通安全交换机时,所述普通安全交换机判定转发所述数据报文的端口所连接设备不是普通安全交换机。
3.如权利要求1所述的方法,其特征在于,所述普通安全交换机中存储有物理地址表,所述物理地址表中记载有接入所述安全交换机网络的所有现场设备的物理地址,所述方法还包括:
所述普通安全交换机在第一次接收到现场设备发送的数据报文时,将所述现场设备的物理地址与所述物理地址表中的物理地址进行匹配;若匹配成功,则认证通过,否则认证不通过。
4.如权利要求1所述的方法,其特征在于,
所述安全交换机网络还包括服务器交换机;所述服务交换机中存储有所有普通安全交换机的标识码和用户密码;
在接收数据报文之前,所述方法还包括:
所述普通安全交换机向服务器交换机发送第一认证请求报文,所述第一认证请求报文携带所述普通安全交换机的标识码,以便所述服务器交换机在检索到存储有所述普通安全交换机的标识码后,向所述普通安全交换机返回携带加密字的第一质询报文;
所述普通安全交换机接收所述第一质询报文;
所述普通安全交换机将用户密码和所述第一质询报文中的加密字进行不可逆加密,得到第一加密结果,并将所述第一加密结果返回给服务器交换机,以便所述服务器交换机将第二加密结果与第一加密结果相比较,在二者相同时,判定所述普通安全交换机认证成功,进行第一认证通过操作;
所述第二加密结果是所述服务器交换器将存储的、所述普通安全交换机的用户密码和所述加密字进行所述不可逆加密得到的;
所述第一认证通过操作包括:记录所述普通安全交换机的物理地址和IP地址,向所有普通安全交换机发送第一认证成功通知报文,所述第一认证成功通知报文携带认证成功的普通安全交换机的物理地址和IP地址,用于与所述认证成功的普通安全交换机相连的普通安全交换机开启相应数据端口。
5.如权利要求4所述的方法,其特征在于:
所述服务交换机中存储有所有客户端的用户信息和用户密码;
所述方法还包括:
所述普通交换机转发客户端发起的、携带用户信息的第二认证请求报文;
所述普通交换机转发所述服务器交换机发起的携带加密字的第二质询报文;
所述普通安全交换机转发所述客户端发起的携带第三加密结果的报文;所述第三加密结果是所述客户端将所述第二质询报文中的加密字和用户密码进行不可逆加密得到的;
所述普通交换机转发第二认证成功通知报文;所述第二认证成功通知报文是所述服务器交换机在第四加密结果与所述第三加密结果相同时发出的;所述第四加密结果是所述服务器交换器将存储的、所述客户端的用户密码和所述加密字进行所述不可逆加密得到的;
所述第二认证成功通知报文包含所述客户端的IP地址和MAC地址,用于所有普通安全交换机向所述客户端授权数据端口,允许所述客户端接入。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述普通安全交换机定期向与其相连的普通安全交换机发送联络包声明在线;
所述普通安全交换机在未接收与其相连的普通安全交换机发送的联络包时,判定所述与其相连的普通安全交换机出现故障,向服务器交换机发送报警报文,以便所述服务器交换机针对出现故障的普通安全交换机进行故障处理。
7.如权利要求6所述的方法,其特征在于,所述故障处理包括:
将所述出现故障的普通安全交换机的状态设置为离线状态;
令与所述出现故障的普通安全交换机相连接的普通安全交换机关闭相应的数据端口。
8.一种安全交换机,其特征在于,所述安全交换机作为普通安全交换机,或者作为服务器交换机;在安全交换机网络中,普通安全交换机和服务器交换机中预置了多种加密算法以及与之对应的解密算法,各算法之间并行独立运行,循环轮回执行加密解密操作;服务器交换机与普通安全交换机交互进行密钥或算法管理,以进行密钥更新和算法更新;新密钥或新算法具有有效时间,新密钥或新算法达到生存时间期限时,普通安全交换机重新申请密钥或新算法;所述安全交换机至少包括:
接收单元,用于接收数据报文;
加密处理单元,用于对所述接收单元接收的所述数据报文执行加密处理策略,所述加密处理策略包括:判断所述数据报文的发送方或转发方是否是普通安全交换机,若判定所述数据报文的发送方或转发方不是普通安全交换机,则对所述数据报文进行加密处理,若判定所述数据报文的发送方或转发方是普通安全交换机,则不进行加密处理;
解密处理单元,用于对所述执行过加密处理策略的数据报文执行解密处理策略,所述解密处理策略包括:判断转发所述数据报文的端口所连接设备是否是普通安全交换机,若判定转发所述数据报文的端口所连接设备是普通安全交换机时,则不进行解密处理,若判定转发所述数据报文的端口所连接的设备不是普通安全交换机时,则对所述数据报文进行解密处理;
发送单元,至少用于对所述执行过解密处理策略的数据报文进行转发。
9.如权利要求8所述的安全交换机,其特征在于,在作为普通安全交换机时,所述安全交换机还包括:
交换机认证单元,用于发送第一认证请求报文,所述第一认证请求报文携带所述普通安全交换机的标识码;接收携带加密字的第一质询报文,将用户密码和所述第一质询报文中的加密字进行不可逆加密,得到第一加密结果,并将所述第一加密结果返回。
10.如权利要求8所述的安全交换机,其特征在于,在作为服务器交换机时,所述安全交换机还包括:
服务器认证单元,用于接收到携带普通安全交换机的标识码的第一认证请求报文后,检索是否存储有与之相匹配的标识码;如存储有相匹配的标识码,返回携带有加密字的第一质询报文;将存储的、所述普通安全交换机的用户密码和所述加密字进行不可逆加密得到第二加密结果,将第二加密结果与第一加密结果相比较,在二者相同时,判定所述普通安全交换机认证成功,进行第一认证通过操作;
所述第一加密结果,是所述普通安全交换机将用户密码和所述第一质询报文中的加密字进行不可逆加密得到的;
所述第一认证通过操作包括:记录所述普通安全交换机的物理地址和IP地址,向所有普通安全交换机发送第一认证成功通知报文,所述第一认证成功通知报文携带认证成功的普通安全交换机的物理地址和IP地址,用于与所述认证成功的普通安全交换机相连的普通安全交换机开启相应数据端口。
CN201410051155.8A 2014-02-14 2014-02-14 安全通信方法及装置 Active CN103746815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410051155.8A CN103746815B (zh) 2014-02-14 2014-02-14 安全通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410051155.8A CN103746815B (zh) 2014-02-14 2014-02-14 安全通信方法及装置

Publications (2)

Publication Number Publication Date
CN103746815A CN103746815A (zh) 2014-04-23
CN103746815B true CN103746815B (zh) 2017-11-03

Family

ID=50503806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410051155.8A Active CN103746815B (zh) 2014-02-14 2014-02-14 安全通信方法及装置

Country Status (1)

Country Link
CN (1) CN103746815B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656655B (zh) * 2014-11-14 2019-07-23 华为技术有限公司 一种网络安全管理方法、装置,及系统
CN108667644A (zh) * 2017-03-31 2018-10-16 华为数字技术(苏州)有限公司 配置acl业务的方法及转发设备
CN107465506A (zh) * 2017-09-19 2017-12-12 北京知道创宇信息技术有限公司 用于加密传输数据的客户端、服务器、网络系统及方法
CN107733907B (zh) * 2017-10-25 2020-06-02 国家电网公司 动态防护方法与装置
CN109657091B (zh) * 2019-01-02 2021-06-22 百度在线网络技术(北京)有限公司 语音交互设备的状态呈现方法、装置、设备及存储介质
CN110825432B (zh) * 2019-10-30 2021-09-10 西安联飞智能装备研究院有限责任公司 一种数据传递方法及装置
CN112637145B (zh) * 2020-12-08 2023-04-28 北京北信源软件股份有限公司 一种网络设备互联认证方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143134A (zh) * 2010-08-05 2011-08-03 华为技术有限公司 分布式身份认证方法、装置与系统
CN102790775A (zh) * 2012-08-01 2012-11-21 北京映翰通网络技术有限公司 一种增强网络安全性能的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143134A (zh) * 2010-08-05 2011-08-03 华为技术有限公司 分布式身份认证方法、装置与系统
CN102790775A (zh) * 2012-08-01 2012-11-21 北京映翰通网络技术有限公司 一种增强网络安全性能的方法及系统

Also Published As

Publication number Publication date
CN103746815A (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
CN103746815B (zh) 安全通信方法及装置
US10104545B2 (en) Computer-implemented anonymity authentication method for wireless sensor networks
CN103716320B (zh) 一种终端主密钥tmk安全下载方法及系统
CN106973056B (zh) 一种面向对象的安全芯片及其加密方法
US4881263A (en) Apparatus and method for secure transmission of data over an unsecure transmission channel
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
CN101409619B (zh) 闪存卡及虚拟专用网密钥交换的实现方法
US20100037069A1 (en) Integrated Cryptographic Security Module for a Network Node
CN108234132A (zh) 一种主控芯片与加密芯片的安全通信系统及方法
CN104283688B (zh) 一种USBKey安全认证系统及安全认证方法
CN109391468A (zh) 一种认证方法及系统
CN104539420B (zh) 一种通用的智能硬件的安全密钥管理方法
CN107172056A (zh) 一种信道安全确定方法、装置、系统、客户端及服务器
CN102081713B (zh) 一种用于防止数据泄密的办公系统
CN103248476B (zh) 数据加密密钥的管理方法、系统及终端
CN113923044A (zh) 一种基于可信执行环境的跨链系统及方法
CN101262405A (zh) 基于网络处理器的高速安全虚拟专用网通道及其实现方法
CN102075327A (zh) 一种实现电子钥匙解锁的方法、装置及系统
CN107040536A (zh) 数据加密方法、装置和系统
CN110300108A (zh) 一种配电自动化报文加密传输方法、系统、终端及存储介质
CN104137508A (zh) 具有网络附接的无状态安全卸载装置的网络节点
CN110035058A (zh) 资源请求方法、设备及存储介质
CN108199847A (zh) 数字安全处理方法、计算机设备及存储介质
CN107707562A (zh) 一种非对称动态令牌加、解密算法的方法、装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant