为解决以太无源光网络下行数据传输的不安全性问题,我们提出一种基于时间标签函数的加密方案,来完成下行数据的加密。

一、AES加密算法与时间标签的结合

本文基于时间标签的加密方案将AES算法与时间相结合形成时间函数作为密钥,对下行数据进行加密。AES作为对称加密算法的代表,具有强安全性、高效率等优点,能满足实时性业务的需求,将它与时间相结合,让密钥随着时间动态更新,同时也满足了高安全性的业务。

1、AES加密算法原理

AES是一个对称密码,它是由字节代换、行移位,列混合和加轮密钥这4种代换进行循环变换所形成的。根据所选密钥大小的不同,可以分别进行10轮、12轮和14轮的变换。、本文选用最简单的AES-128算法,它需要经过10轮变换,其加解密的原理如图l所示,其中,Ki(i=0,1,...,9)表示进行的10轮变换的扩展密钥,每一轮扩展密钥都是由4个字(即16 Byte)组成的。首先鼻输入的明文与岛进入加轮密钥模块,加轮密钥模块主要进行异或操作,然后将异或的结果按顺序依次进行字节代换、行移位、列混合和加轮密钥这4种变换,每完成一次这4种变换即完成了一轮的变换,再重复这样的操作9次,直到进行到第10次操作时,不需要进行列变换,然后直接输出结果,即是加密后的密文。解密过程与加密过程类似,只不过4种变换进行的是逆操作,即每一轮完成的是逆字节变换、逆行移位、逆列混合和加轮密钥4种操作,且扩展密钥是从K9到Ko。

1

2、MixColumns变换与时间标签的结合

在AES算法的4种变换中,由于字节代换、行移位和加轮密钥都是对数据本身的变换操作,不引入额外的参数,因此选择在MixColumns变换中引入时间标签。MixColumnS变换过程如图2所示,AES-128算法的密钥是一个4 Bytex4 Byte的状态矩阵,每一行和每一列都是由4个字节组成。MixColumns变换是把状态矩阵中的每一列都与一个常数矩阵相乘,得到一个新的列,然后把变换后的新列重新组合成一个新的状态矩阵。

1

常数矩阵是一个有逆元的多项式;

1

设要进行MixColumns变换的状态矩阵多项式为:

1

则MixColumns变换可表述为:

1

其中,⊕是AES算法中定义的2个多项式的乘法,即模m(x)乘法,因为AES算法是按4 Byte的字进行的,所以m(x)是一个4次多项式,即m(x)=x4+1:

MixColumns变换写成矩阵形式为:

1

引入时间标签z后,MixColumns变换为:

1

因为每次提取的时间标签也是一个常数t,所以可以把时间标签放在列变换的常数矩阵中(如式(5)所示),即将常数矩阵乘以时间,形成一个新的常数矩阵,再将这个新的常数矩阵与状态矩阵的每一列相乘,得到一个与时间有关的新矩阵。这样,经过MixColumns变换形成的将是与时间有关的新状态矩阵。当完成了10轮变换之后,最后输出的结果将是与时间有关的密钥,即本方案中的AES(t)。由于每次提取的时间标签,都不一样,因此经过MixColumns变换之后,最终形成的密钥也不一样,这样,密钥就会随着时间变化。解密的过程与加密类似,即解密是在逆列混合的常数矩阵中引入时间f,且逆变换的常数矩阵与正变换的常数矩阵互为逆矩阵。

二、基于时间标签的加/解密模块设计

1、加密定位

本文方案的设计原则是对数据链路层的数据帧进行加密。根据EPON点到多点的结构特征,实际应用中应尽可能不对上层产生太多影响,保持上层的独立性和完整性,基于这种考虑,在媒体接入控制(Media Access Control,MAC)子层和RS(Reconciliation Sub-Iayer)之间增加一个透明的加/解模块,使之对上面的MAC子层来说相当于一个RS,而对下面的RS来说相当于一个MAC子层。这样,密钥不需要通过信道传输,即不会增加额外的成本,也不会对网络的性能影响太大。加/解密模块的内部结构如图3所示。

1

首先提取发送数据帧中的4 Byte时间标签,把时间标签作为AES加/解密算法的参数,形成与时间有关的时间加密函数AES(t),将这个函数作为加/解的密钥,然后将输入数据帧和生成的AES(t)-起输入加/解密控制模块,若是下行发送数据,则光线路终端(Optical Line Terminal,OLT)完成加密功能,输出密文发送出去;若是上行发送数据,则OLT完成解密功能,输出明文。ONU端加/解模块功能与OLT一样,是一个对应的关系,只要能保持OLT和ONU两端的同步即可。

在整个设计方案中,最关键的一点就是时间标签与AES加密算法的结合,即时间标签如何与AES加密算法结合形成时间加密函数AES(t)。

2、时间标签的提取与同步

时间标签放在帧中的什么位置和怎样提取,密钥怎样随着时间变化,以及OLT和ONU两端的时间标签如何同步,都是需要重点解决的问题。

借用EPON系统的测距和同步技术,可以在测距的时候提取到时间标签。根据IEEE 802.3ah技术规范,MAC帧的帧结构符合以太网规范,是64~1518可变长度字节帧,且有4 Byte是用来存放时间标签的,因此,可以利用这4 Byte的时间标签并在测距的时候提取。在测距时,下行的时间标签放在OLT发给ONU的Gate控制帧中,上行的时间标签放在ONU发给OLT的Report控制帧中。

EPON系统采用时间标签法进行测距来保证收发同步,即每次发送数据之前耍进行精测再为ONU分配带宽。如图4所示,OLT、ONU两端有同频系统时钟,OLT以一定的时间间隔给每个ONU发送当前OLT的时间标签值,ONU收到后用该时间标签值来刷新ONU当前时间标签,这样保证ONU以落后于OLT -定的时间与OLI’在时间上同步,这时ONU也可以获得并提取这个时间标签。由于EPON中要求对所有ONU进行实时测距,因此在每次测距的时候,OLT和ONU都能提取时间标签并形成与当前时刻相对应的加/解密密钥,完成数据的加密和解密操作,且密钥随着时间变化,这种实时性和唯一性使系统的安全性大幅度提高。

1

综上所述,时间标签的提取和同步是基于EPON系统的测距过程,每个ONU都有自己的动态时间标签。在测距的过程中,既完成了OLT和ONU两端时间标签的同步,也达到了密钥的同步和不断更新。

3、加密指示和密钥更新的设计

传输的数据中既有加密的数据”也有没加密的数据,发送端需要给接收端指示,告诉它数据是否进行了加密处理和密钥是否已经更新。鉴于前导码在EPON系统中不进行加密处理,有关加密的指示信息可以选择在前导码中携带。目前前导码中只有第4字节、第5字节被保留,尚未携带具体信息,因此,本文方案利用第5字节的前2 bit来传送加密信息,分别定义为加密指示比特(EIB)和更新指示比特(UIB),它们在前导码中的位置如图5所示,其中,EIB用于指示数据是否经过加密处理;UIB用于指示当前加密所使用的密钥是否更新。

1

OLT通过EIB和UIB指示ONU的过程如下:

(1)在系统初始时刻,OLT和ONU没有建立逻辑链接之前,没有数据发送,也不存在加密的问题,因此,EIB和UIB都为0,表示链路尚未进行加密。

(2)当ONU向OLT发送注册响应帧表示注册完成时,

OLT开始向ONU发送数据,在发送数据之前OLT完成了对ONU的测距。在OLT端,先提取当前时刻的时间标签,形成时间函数对要发送的数据进行加密,并将EIB设为l,UIB设为0,表明数据经过了加密处理,但是密钥为初始密钥,尚未更新。当ONU收到OLT发送的数据后,先检测指示比特的变化,然后用ONU相对应的时间标签密钥对数据进行解密。

(3)第2次要发送数据时,同样在OLT端提取当前时刻的时间标签。这时生成一个新的密钥,用新密钥加密数据后,EIB和UIB都设为1,表明数据经过了加密处理,且密钥经过了更新,因为UIB由O跳变到1岛当ONU收到数据后,需用第2次测距的时间标签生成的新密钥才能解密数据包a同理,以后的每一个时刻发送数据,EIB一直保持为1,表明数据经过了加密,而UIB则在0和l之间不断发生跳变,表明密钥经过了更新,ONU需用更新后的密钥才能解密。

综上所述,只要EIB为1,就表示数据经过了加密处理,ONU就要对数据进行解密;而UIB只要发生了跳变,就表示密钥进行了更新,ONU要用更新后的密钥对数据解密。

小知识之以太网无源光网络

以太网无源光网络(Ethernet Passive Optical Network , EPON) 是一种新型的光纤接入网技术,它采用点到多点结构、无源光纤传输,在以太网之上提供多种业务。