背景技术
近几年,随着电信网、广播电视网和互联网三网融合的快速推进,我国将在2013年至2015年,全面实现三网融合业务。在三网融合业务中,PON(无源光网络)是解决FTTH(光纤到户)的主要技术,而基于以太网的EPON是目前应用最成熟也是最理想的接入网方案。EPON是一种融合了以太网和无源光网络优点的接入网技术,既能充分利用现有的以太网资源,又能有效地支持IP数据的传输。
然而EPON是一个点到多点的系统,下行信道以广播方式发送给与之相连接的所有ONU(光网络单元),每个ONU仅仅根据分配到的LLID(逻辑链路标识)来决定是否接收数据,一旦攻击者把ONU设置成“混杂”模式,它将能接收到所有的下行传输信息。另一方面,EPON系统具有自动发现功能,对于新加入的ONU可以自动完成注册,如果ONU不采取任何认证措施,那么非法ONU将会随意接入到系统,对网络构成极大的安全威胁。同时,由于以太网帧结构的透明性,非法用户可以依据该结构伪造MAC(媒质接入控制)帧和OAM(运行管理维护)帧,并利用分配好的上行时隙发送,不仅可以使用控制帧骗取授权信息,而且可以利用OAM帧更改系统参数甚至捣毁系统。因此,MAC帧和OAM帧的安全保障在EPON中显得尤为重要,目前没有特别理想的安全措施来解决这一隐患。
现有的一些加密措施中,基本上采用AES(高级加密标准)、DES(数据加密算法)、3DES(三重搅动算法)对数据进行加密,或者是将2种加密算法相结合,如AES和ECC(椭圆曲线密码)算法相结合。当然,也有对业务进行分级的加密方法,根据业务对安全性和实时性的不同需求,对不同的业务采用不同的加密算法。这些方法对安全性要求不是很高的数据业务,以及语音、视频业务而言,是能够满足其安全需求的。但是,对于OAM、MAC帧和认证信令业务,它们对安全性要求非常高,现有的加密措施都不能保证其安全,故需要设计一种新的加密方法来保证它们的安全性。本发明为了保证密钥的安全性和唯一性,让AES算法与时间标签相结合形成密钥,而时间标签是在OLT对每个ONU测距的时候提取的,每个ONU测距的时间标签都是不同的,且随着时间变化,因此,每个ONU的密钥也是随着时间在变化,这样既达到了密钥的唯一性,也提高了密钥的安全性。
发明内容
本发明的目的在于提供一种基于时间标签的EPON加密方法,该方法实现密钥的动态更新,达到密钥的唯一性,以确保密钥的绝对安全。。
本发明的技术方案为:一种基于时间标签的EPON加密方法,其步骤包括:a 首先在EPON测距的控制帧中提取4个字节的时间标签;b 将AES算法与时间标签相结合,形成时间函数,将这个时间函数作为密钥;c 将输入数据与密钥一起进入加/解密模块;d 在OLT局端,若是发送下行数据,则OLT端完成加密功能,输出密文发送出去给用户端ONU;若是上行发来的数据,则OLT端完成解密功能,输出明文;e在ONU用户端,若是接受下行发来的数据,则ONU端完成解密功能;若是发送上行数据,则ONU端完成加密功能,并把密文发给OLT。
时间标签是在EPON系统测距的时候提取,在测距的GATE和REPORT帧结构中,有专门的4个字节是用于放置时间标签的,每个ONU对应一个时间标签,测距的同时可完成OLT和ONU两端时间标签的同步。每个ONU在测距过程中时间标签是不断变化的,因此密钥也随着时间标签动态更新,发送端需要给出相应的指示,接收端才能判断接收到的数据是否经过了加密处理,以及密钥是否经过了更新。在EPON的帧结构中的前导码八个字节里,有三个字节是保留字节,没有填充任何信息。本发明设计在前导码的第五个字节的头两个比特中引入指示信息,这两个比特包括加密指示比特EIB和密钥更新指示比特UIB,指示比特在0和1之间来回变换,用于密钥的动态更新和同步。
本发明的优点在于:在加密算法上引入了时间函数,让密钥保持与时间的同步,实现密钥的动态更新,保证密钥的绝对安全;本发明在不改动现有芯片结构和不增加硬件成本的基础上,对加密方法做了创新性设计;本发明克服了传统加密方法中存在的缺陷,充分保障了EPON系统中的安全性。
具体实施方式
一种基于时间标签的EPON加密方法,具体实施方式如下:
A、列混合变换与时间标签的结合
AES是一个对称密码,它是由字节代换、行移位、列混合和加轮密钥这四种代换进行循环变换所形成的。分组长度为128bits,而密钥的大小可以为128bits,192bits,256bits,根据所选密钥大小的不同,可以分别进行10轮,12轮和14轮的变换,本发明选用最简单的AES-128算法,如图2所示。
在AES算法的四种变换中,由于字节代换、行移位和加轮密钥这三种变换都是对数据本身的变换操作,不引入额外的参数,故选择在列混合变换中引入时间标签。AES-128算法的密钥是一个4×4 bytes的状态矩阵,每一行和每一列都是由4个字节组成。列混合变换是把状态矩阵中的每一列都与一个常数矩阵相乘,得到一个新的列,然后把变换后的新列重新组合成一个新的状态矩阵。
AES算法的常数矩阵是一个有逆元的多项式:
设要进行列混合变换的状态矩阵多项式为:
(2)
故列混合变换可表述为:
是AES算法中定义的两个多项式的乘法,即模
m(x)乘法,因为AES算法是按4 bytes的字进行的,故
m(x)是一个4次多项式,即
。
列混合变换写成矩阵形式为:
(4)
式(4)可简写为:
引入时间标签t后,列混合变换矩阵如下:
鉴于每次提取的时间标签也是一个常数t,故可以把时间标签放在列变换的常数矩阵里面(如式(6)所示),即将常数矩阵乘以时间t,形成一个新的常数矩阵,再将这个新的常数矩阵与状态矩阵的每一列相乘,得到的是一个与时间有关的新矩阵。这样,经过列混合变换形成的将是与时间有关的新状态矩阵。当完成了10轮变换之后,最后输出的结果将是与时间有关的密钥,即本方案中所说的时间函数f (AES, t)。由于每次提取的时间标签t都不一样,故经过列混合变换之后,最终形成的密钥是也是不一样的,这样,密钥就随着时间在变化。同样,解密的过程与加密类似,即解密是在逆列混合的常数矩阵中引入时间t,且逆变换的常数矩阵与正变换的常数矩阵互为逆矩阵。
、时间标签的提取与同步
本发明基于时间标签的加密方案中,对于时间标签的位置和提取,以及密钥怎样随着时间变化,这些问题都是本发明的又一个关键。
本发明借用时间标签法测距的思想,让时间标签在MAC子层的不同控制帧中传递,然后在测距的时候提取时间标签。根据EPON标准IEEE 802.3ah技术规范,收发数据由5个特定MAC帧来承载,帧的字节符合以太网规范,是64到1518可变长度字节帧。图3是EPON规定的MAC层最小帧结构,除去8个字节的前导码,正好为64个字节。其中,包含时间标签的是4个字节。测距时,下行的时间标签放在OLT发给ONU的Gate控制帧中,上行的时间标签放在ONU发给OLT的Report控制帧中。
EPON系统采用时间标签法进行测距来保证收发同步,即每次发送数据之前要进行精测来为ONU分配带宽。如图4所示,OLT、ONU两端有同频系统时钟,OLT以一定的时间间隔给每个ONU发送当前OLT的时间标签值,ONU收到该时间标签后,用该时间标签值来刷新ONU当前时间标签,这样保证ONU以落后于OLT一定的时间同OLT在时间上同步,这时ONU也可以获得并提取这个时间标签。由于EPON中要求对所有ONU进行实时测距,因此,可以在每次测距的时候都提取时间标签,并将时间标签作为AES加密算法的参数形成时间加密函数,把这个时间加密函数作为每个ONU特定的密钥,而这个密钥是不需要通过信道传输的,这种唯一性和实时性提高了密钥的安全。
、加密指示比特位置的设计及密钥同步
传输的数据中既有加密的数据,也有没加密的数据,接收端如何判断数据是否经过了加密处理以及密钥是否经过了更新,这都需要在发送端给出指示。鉴于前导码在EPON系统中不进行加密处理,有关加密的指示信息可以选择在前导码中携带。目前前导码中只有第四、五字节被保留,尚未携带具体信息。因此,本发明利用第5字节的前两个比特来传送加密信息,分别定义为加密指示比特和更新指示比特,它们在前导码中位置如图5所示,其中加密指示比特用于指示数据是否经过加密处理,更新指示比特用于指示当前加密所使用的密钥有没有更新。
(1)在系统初始时刻,OLT和ONU没有建立逻辑链接之前,没有数据发送,也不存在加密的问题,故加密指示比特和更新指示比特都为0,表示链路尚未进行加密。
(2)当ONU向OLT发送注册响应帧表示注册完成时,OLT开始向ONU发送数据,在发送数据之前OLT完成了对ONU的测距。在OLT端,首先提取当前时刻的时间标签,形成时间函数对要发送的数据进行加密,并将加密指示比特设为1,更新指示比特设为0,表明数据经过了加密处理,但是密钥为初始密钥,尚未更新。当ONU收到OLT发送的数据后,先检测指示比特的变化,然后用ONU相对应的时间标签密钥对数据进行解密。
(3)第2次要发送数据时,同样在OLT端提取当前时刻的时间标签,这时生成的是一个新的密钥,用新密钥加密数据后,加密指示比特和更新指示比特都设为1,表明数据经过了加密处理,且密钥经过了更新,因为更新指示比特由0跳变到1。当ONU收到数据后,需用第2次测距的时间标签生成的新密钥才能解密数据包。
(4)第3次要发送数据时,同样在OLT端产生这一时刻的新密钥,这时,加密指示比特仍然为1,而更新指示比特变为0,表明数据经过了加密处理,且加密密钥是更新密钥,因为更新指示比特由1跳变到0。当ONU收到后,需用第3次测距产生的时间标签生成的新密钥才能解密数据包。
综上所述,可以总结为:只要加密指示比特为1,就表示数据经过了加密处理,ONU就要对数据进行解密;而更新指示比特不管是从0跳变到1还是从1跳变到0,只要发生了跳变,就表示密钥进行了更新,ONU就要用更新后的密钥对数据进行解密。