GPON(Gigabit-Capable PON) 技术是基于ITU-TG.984.x标准的最新一代宽带无源光综合接入标准,具有高带宽,高效率,大覆盖范围,用户接口丰富等众多优点,被大多数运营商视为实现接入网业务宽带化,综合化改造的理想技术。

在PON系统中,下行数据广播给所有ONU。如果有恶意用户存在,那么他就能够听到所有用户的所有下行数据。这是PON安全系统会遇到的“偷听”威胁。其他更多的外来威胁实际上并不重要,因为如果要实施这些攻击,用户要消耗更多的资源,而这些多消耗的资源与他的所得并不相称。GPON系统可采用多种加密算法,具体算法应符合国家相关规定。在开启加密算法前,OLT和ONU应通过OMCI通道来协商算法。目前GPON仅规定支持AES加密算法。

AES加密算法是是一种分组加密算法,处理的最小单元是一个分组,即把明文或密文分成固定长度的分组,进而进行加密或解密处理。AES的分组大小为128比特,可以支持的密钥长度有128、192、256三种,分别称为AES-128、AES-192、AES-256,其中又以AES-128应用最广,GPON中使用的就是AES-128。

AES加密在GPON中的应用

GPON中的AES加密使用的是计数器(CTR)模式。密码算法产生一个16字节的伪随机码块流,伪随机码块与输入的明文进行异或运算后产生密文输出。密文与同样的伪随机码进行异或运算后可以重产生明文。密钥长度是固定的为128比特。更多比特的密钥也支持,不过这种情况视为可选。CTR模式使用OLT和所有ONU都相同的同步crypto-counter 。crypto-counter 的结构如下:计数器宽度为46比特,低16比特为帧内计数器,高30比特是帧间计数器。帧内计数器在下行帧开始时置为0( 第一字节是PCBd),每4字节递增。帧间计数器与在PCBd的Ident域中传递的复帧计数器保持一致。ONU实现一个同步的本地计数器,因此对这个域的错误有恢复能力。随机密码块排列在数据包净荷的起始位置。对于GEM分片的情况,只加密净荷, 不加密Port_ID帧头。由于碎片不一定是一个编码块的整数,尾数据块(长度为1到16字节)与尾AES密码块(长度为16字节)的高位部分进行异或运算。密码块结尾的多余部分将会被丢弃。

AES加密在GPON中的应用

crypto-counter 与GTC 下行帧对齐,但是AES密码块与数据净荷对齐。当数据包在OLT上发送或者在ONU上接收时,帧头第一个字节的位置被标注。该字节位置的crypto-counter 值用作数据包的密码块计数器的开始值。对于数据包中接下来的密码块,计数器对每个块递增1。这种方法可以保证计数器的同一值不会被重复使用。

在GPON中采取了AES加密后,能有效的保护下行数据的安全性,防止恶意用户的偷听威胁,使得GPON成为一个真正安全的接入方式。