什么是捷变加密系统,其实所谓的捷变加密系统就是指系统能够在各种不同的密码参数(密钥、初始变量、当前状态、密钥长度、算法、操作模式等变量)间快速轻易地来回切换。那么我们今天探讨的基于ATM网络的捷变加密系统,就是将捷变加密系统放置在ATM网络的汇聚点处,如防火墙中等,从而使得用户可以通过不可信的公网建立自己可信的VPN。
一、ATM网络捷变加密系统设计中需要注意的问题
1、ATM网络密码同步问题
ATM网络不同于其它网络,它存在着信元丢失的问题。传输过程中缓冲器的溢出或错误的发生均可能造成信元的丢失。在捷变的ATM网络加密系统中,信元的丢失将引起密码的失步,严重的还会导致数据的丢失以及错误的扩散等。因此在设计加密算法或加密模式时就应考虑自同步能力或采取一定的措施,如定期地对所传输的数据流进行同步处理等,从而把信元丢失所带来的损失降低到最小。
2、ATM网络寻址问题
在ATM的信元结构中,UNI和NNI的VPI/VCI字段长度分别为24比特和28比特,这意味着在ATM网络中和ATM网际之间可能建立的连接数最多将分别达到2的24次方个和2的28次方个。由于每一个可能的连接都需要存储有相应的密码参数,因此所需的存储空间将非常巨大。要想在一个信元头的处理时间内线性搜索如此大的存储空间,显然十分困难。然而事实上,由于同一时间内活动着的连接数目比较有限,因此采用内容可定址寄存器等技术就可以大大缓解这个问题。
3、ATM网络吞吐量问题
当加密进程或解密进程的速度赶不上最大信元到达率时,应当对VC的信元吞吐量进行限制,以避免发生信元丢失。这可在VC建立期间通过连接接入控制CAC进行,也可在VC建立之后通过介入流量控制来进行。不管采用何种方式,对于交换网络来说,加密和解密设备都不再透明,而是应当主动参与到连接建立或VC控制中去。
4、服务质量
当加密和解密设备采用强度捷变或算法捷变时,由于不同的算法、密钥长度、模式等对于延迟1吞吐量、错误扩散、失步等的敏感程度都不同,因此,数据的加解密可能会对服务质量造成一些间接的影响。这样,在连接建立过程中进行服务质量协商时必须把加密模式等因素也考虑进去。在采用算法捷变加密时,尽管使用同一算法的VC的信元次序都能够得到保证,但对于使用不同算法的VC来说,情况则未必如此。然而,由于加密系统的输出端口只有一个,因此,所有加密后的信元流,不管其延迟程度如何,在输出端口都要进行排队,以重新组合成一个新的信元流。这样,即使对于使用同一个加密算法的同一VC上的所有信元,也可能因为排队而引入额外的信元时延抖动CDV。
为了消除或减少由于CDV的增加而给网络服务质量所带来的影响,需要采取一定的措施。一种方案是让加密设备参与到连接建立时的服务质量协商过程中,在协商时,充分考虑CDV的变化情况,从而将变化后的CDV控制在所协商的范围内。另一种方案就是在低时延的密码路径输出端安放一个缓冲设备以增加时延,从而使得各种不同时延的算法之间能够达到时延平衡。这种方案虽然降低了CDV,然而却是以增加了信元的传输时延CTD为代价的。
5、保证机制
必须考虑两种类型的保证机制:用户控制机制和服务控制机制。其中用户控制机制用来检验用户是否具有使用某种服务、某种算法或某个密钥长度的权利,服务控制机制则主要用于保证被授权的服务总能够正确地得到激发。
对于加密算法捷变或强度捷变的加密设备,由于系统中存在有多种不同的算法或加密模式,某些特定的算法或某种特定的密码强度可能会被非授权的用户所使用,因此对此类设备进行用户控制的意义非同寻常。在进行用户控制时,一般可以采用认证等手段。从物理上讲,这可以是用来提供访问控制的IC卡或其它类似设备。
除了用户控制之外,还必须进行服务控制,以保证服务总是能够正确地被激发。具体来说,就是加密设备必须保证用户所使用的正是他被授权的密码参数。当系统中具有多种加密算法时,这种类型的保证显得尤为重要。采用标记、监控等技术就可以实现这种类型的保证。
二、ATM网络捷变加密系统加密系统的总体结构
它由以下几个部分组成:物理I/O模块、信元标识与关联模块、信元路由模块、加密模块、信元归并模块、密钥管理模块,以及非实时控制模块等。
按照对时间的敏感程度,可将整个系统分为两个部分:实时部分与非实时部分。实时部分包括物理I/O模块、信元标识与关联模块、信元路由模块、加密模块、信元归并模块等,非实时部分包括密钥管理模块和非实时控制模块。整个系统的设计都必须以满足实时部分的要求为目标,否则就会引入过剩的延迟。在实现时也可从与ATM的关系上将整个系统划分为两个子系统:ATM专用子系统与安全加密子系统。这样两部分的设计就可以分开进行,从而不仅便于实现,也有利于产品的更新换代。
1、ATM专用子系统
该子系统中,数据的流向首先从I/O端口开始,经过标识与关联模块,然后进行信元路由。在将数据送入安全加密部分进行加密和解密处理之后,数据又返回到信元归并模块,最后又经由I/O端口流出。
(1)物理I/O端口
在发送侧,I/O口的作用就是接收从主机发来的原始数据,并将加密后的数据输出到ATM网络中。在接收侧,其作用就是接收从网络发来的数据并将解密后的数据发送给主机。
(2)标识与关联模块
ATM网络具有面向连接的特性,其信元中的VPI/VCI域用于指示有关网络中的连接信息。利用这一特性,在进行捷变的加密系统设计时,使得该域除了指示连接信息之外,还用于指定信元所使用的密码参数。在加密设备中,当接收到从I/O口送来的数据时,首先的工作就是对ATM信元进行标识与关联。
由于在非实时控制模块中所处理的都是组装后的信息,而不是原始的ATM信元,因此,在将数据送交该模块处理之前,应当先对信元进行分拆与重装操作。
(3)非实时控制模块
该模块用于提供一些加密设备本身所需要的,无需实时处理的一些控制功能,如连接的管理与维护以及对加密设备自身的管理等。在对信元进行标识之后,非实时性信元如信令信元等就被转送到非实时控制模块。这意味着信元将由高速的实时通道转到低速的非实时性通道中去。这一过程可通过FIFO实现。由于FIFO必须以全速率来满足实时通道的传输要求,因此,FIFO的时钟频率必须足够大。此外,由于非实时性通道的速率比实时性通道的要低得多,因此FIFO的深度也要足够大。
(4)信元路由
当设备支持多种加密算法时,应当对算法进行分割,以防止有意或无意的滥用。最好能使一种加密算法仅对应一条密码路径。同样,一条密码路径所使用的也最好是自己唯一的硬件设备,如状态向量存储器、通信加密密钥(TEK)存储器、信元处理器、密钥生成器,以及加密器等。因此,需要有专门的信元路由器将信元路由到正确的路径中去。在图1所示的结构中,所有的非实时性信元都被路由到非实时性控制模块中,而所有的实时性信元都被路由到各自的密码路径中。
在信元路由器和密码路径之间,既可以使用点到点的结构,也可以使用总线结构。当前的PCI总线在66M的工作频率下可支持64位的数据传输,从而可使整个系统的数据传输速率达到4.2Gbps。
然而,从安全的角度出发,点到点结构更有利于实现多种密码路径之间的分割,从而能够确保数据的加密和解密操作总是在正确的密码参数作用下进行。
(5)信元归并
与加密系统前端所连接的路由模块相对应,在加密模块末端连接有信元归并模块,用以把多个密码路径中送出的数据流归并成一条高速的信元流,然后经由物理端口送出。它的设计与信元路由器的设计比较类似。
出于保证服务质量方面的考虑,在实现信元的归并时可选用如下两种方案:
(1)先来先服务队列
该方案中,所有加密模块输出的信元都被送到FIFO中排队,随后按照进入FIFO的先后次序组装成SONET(或SDH)帧并送到I/O端口。该方案比较简单而且易于实现。然而,由于各种加密算法的时延可能相差很大,因此由加密系统输出的信元流中可能存在着很大的时延抖动。
(2)延迟匹配
这种方案是各个密码路径的尾部都放置有缓冲设备。依据各种算法延迟的不同,进行不同程度的缓冲处理,从而使得加密模块输出的信元流保持着与输入时相同的信元次序。这样,就可以在很大程度上降低时延抖动。然而,正是由于缓冲的作用,整个系统的平均传输时延可能会因此大大增加。
2、安全加密子系统
安全加密子系统是捷变加密设备中的关键组成部分,它具体实施信元的加密工作,有效地防止了对所截获数据信息的非法解读,从而保证了ATM网络中信息的安全传送。
为了实现对信元数据的加密,安全加密子系统必须具有两种功能:
一是用于生成和维护加密密钥的密钥管理功能,二是用于实现机密性服务的加密和解密功能。前者通过密钥管理模块实现,后者则通过加密模块实现。其它一些安全性服务,如抗流量分析、安全认证等一般都可在信令部分或高层中实现。
(1)加密模块
加密模块由密钥生成器、加密器、状态向量存储器、TEK存储器以及信元处理器等五个部分组成。
流经信元处理器的信元有两类:用户数据信元和与安全相关的OAM信元(如同步信元等)。尽管对于每一个信元来讲,信元处理器都必须对其进行实时性的处理,然而根据信元类型的不同,信元处理器所作的处理也有所不同。对于用户数据信元,信元处理器必须将其转送到密钥生成器和加密器中,实现适当的加密和解密处理;而对于同步信元,信元处理器则直接进行同步信元的处理就行了。
1)密码同步
除了处理用户信元之外,加密模块还必须对同步信元作出处理。同步信元的处理包括同步信元的插入与接收两种操作。在进行同步信元的插入操作时,首先从状态向量存储器中取出当前的状态向量SV并加以更新。更新主要包括使跳数加1、设置相应的I/R位、将序列号与分段号置O,以及将LFSR(线性反馈移位寄存器)的值置为当前值等。除了将更新后的SV写入同步信元之外,还应将其回写到状态向量存储器中,以备下一个同步信元所用。此外,在同步信元末尾还要加上CRC-10,以便在收端对其进行完整性检验。
2)加密和解密
在进行数据加密和解密之前,先要生成数据加密和解密密钥。首先,信元处理器依据信元头所附带的关联信息,从状态向量存储器中检索出适当的状态向量SV并送入到密钥生成器中。但对于TEK而言,由于它自身的敏感性,信元处理器不能直接对其进行读写操作,而只是将有关的地址信息传送给密钥生成器,由密钥生成器自己完成对TEK的读取工作。
在数据加密密钥生成期间,用户数据(信元净荷)一直保存在FIFO中。当数据加密密钥生成之后,用户数据将与数据加密密钥一道被送入加密器中,从而开始了数据的加解密处理。
接收到同步信元时,加密模块首先检验CRC-IO是否准确,然后检查跳数是否合法。若无误则开始同步处理。
(2)密钥管理
密钥管理本身属于非实时性控制部分,对于每一个连接,密钥管理模块都要为加密设备生成一个TEK。
由于密钥信息本身的敏感性要求,因此应当防止对TEK的非法泄露。为此,需要在密钥管理模块与加密模块之间建立一条被保护的路径。可以采用双端口存储器,通过读/写端口连接密钥管理模块,只读端口连接加密模块的方式,在两个模块之间建立一条点到点的连接来实现。值得注意的是,除了对TEK数据进行保护之外,对TEK地址信息的保护也很重要。事实上,加密模块与密钥管理模块都只能从非实时控制模块中接收TEK地址信息。从这个角度讲,有关TEK地址信息的有效性与可信度就完全取决于非实时性控制模块的有效性与可信度了。
ATM网络捷变加密系统实现时,除了按照对时间的敏感程度,将整个系统划分为实时部分与非实时部分,也可以从与ATM的关系上把整个系统划分为ATM专用部分与安全加密部分。这样,两个部分就可以分开进行设计,不仅便于实现,也有利于产品的更新。
小知识之ATM网络
ATM是Asynchronous Transfer Mode(ATM)异步传输模式的缩写,是实现B-ISDN的业务的核心技术之一。ATM是以信元为基础的一种分组交换和复用技术。它是一种为了多种业务设计的通用的面向连接的传输模式。它适用于局域网和广域网,它具有高速数据传输率和支持许多种类型如声音、数据、传真、实时视频、CD质量音频和图像的通信。