背景技术
FTTH(Fiber To The Home,光纤到户)是光纤接入的终极目标,是国际发达运营商当前GPON规模商用的主流模式,GPON的网络结构如图1所示,主要由OLT(光线路终端),ODN(光分配网络)和ONU/ONT(光用户单元/光用户终端)组成,其中,AF为适配功能块,可以集成在ONU里;NE是网络设备,WDM是光波分复用模块,UNI是用户网络接口,SNI是业务网络接口,S、R均为节点,S在下行方向指OLT和光器件的连接点,在上行方向指ONU和光器件的连接点;R在下行方向指光器件和ONU的连接点,上行方向指OLT和光器件的连接点。OLT为局端设备,向上提供多种业务接口,是GPON系统的核心部分,具有成帧、媒质接入控制、OAM(运行管理维护)、DBA(动态带宽分配)、为交叉连接功能提供PDU(协议数据单元)定界和ONU管理等功能。ONU/ONT为用户侧设备,向用户提供10、100BASE-T接口,E1接口,POTS接口等;AF(适配功能块)可以集成在ONU里;ODN为连接在OLT和ONU的无源光网络,由光分路器,耦合器等无源器件组成,理论上可以提供1:128的分路比,系统的最大逻辑距离规定为60km;GPON系统上下行可采用单纤双向或者双纤双向传输方式,采用单线双线传输方式时,上下行采用不同的波长;采用双纤双向传输方式时,上下行采用相同的波长,分别在2根独立的光纤上传输;下行数据采用广播的方式发送,上行数据采用基于统计复用的时分多址(TDMA)方式接入;上行支持1.25G,下行支持2.5G的传输比特率;
从上面的介绍中可以看出,在PON(Passive Optical Network,无源光纤网络)网络结构中,下行数据要广播给PON上的所有ONU。目前,上行数据以明文的方式发送到OLT,窃听者可以通过某些技术手段获取未经加密的密钥,轻松解密下行信息,例如:
(1)恶意用户在物理上接入到ONU,并在光纤上接入一个光分路器就可以“听”到上行信元。由于上行信元是未经加密的,恶意用户就可以获取数据以及密钥。而且ONU在断开或重新连接后可以自动恢复到以前的正常状态,所以“正常”使用者不会发觉这个用户的存在;
(2)在(1)的基础上,在光纤上再接入一个光分路器,恶意用户就可以既“听”上行信息也“听”下行信息;这种情况下,恶意用户也同样不会被“正常”的使用者觉察,因为已经知道了密钥,可以轻松解密下行信元;
(3)恶意用户利用2个CWDM(Coarse Wavelength DivisionMultiplexing,粗波分复用器)复用/解复用器就可以实现上行(和、或下行)的发送,这种情况下恶意用户既可以“听”也可以“发”,尽管非常复杂,技术上确是可行的。
发明内容
本发明的目的是,提供一种GPON上行AES加密的密钥更新方法及系统,以改善现有的AES加密方法安全性不高的问题。
本发明提供了一种GPON上行AES加密的密钥更新方法,上述方法为:
OLT将上行AES加密的密钥值及更新时间发送给ONU;
上述更新时间到时后,上述OLT及上述ONU更新本地密钥值。
本发明进一步提供了一种GPON上行AES加密的密钥更新系统,上述系统包括OLT及ONU,其中:
上述OLT,用于将上行AES加密的密钥值及更新时间发送给上述ONU,并在上述更新时间到时后,更新本地密钥值;
上述ONU,用于接收上述OLT发送的密钥值及更新时间,并在上述更新时间到时后,更新本地密钥值。
本发明更新过程简单,更新速度快,保证了密钥值和更新时间的安全性;实现了无缝的切换。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图2所示,是本发明GPON上行AES加密的密钥更新方法中OLT侧的优选实施例的流程图,本实施例包括以下步骤:
步骤S01:将上行AES加密的密钥值及更新时间发送给ONU;
本步骤中,OLT可以通过GEM(Generic Encapsulation Method,通用封装方法)帧或者PLOAM(Physical Layer Operations,Administration and Maintenance,物理层操作管理和维护)消息将上述密钥值及更新时间发送给ONU,若选择GEM帧发送密钥值及更新时间,则通过OMCI(ONU Management and Control Interface,管理和控制接口)通道发送上述GEM帧。
步骤S02:保存上述密钥值及更新时间;
步骤S03:判断上述ONU是否在预设时间内返回应答消息,若是,则执行步骤S04;否则,执行步骤S01;
在密钥交互的过程中,ONU没有收到或者接收到错误的信息时,则不会返回任何消息,预设时间超时后,OLT再次自动发起更新过程;新发起的更新过程使用的密钥值和更新时间是最新的密钥值和更新时间;也就是说,当出现更新错误时,上一次的更新状态不影响下一次的更新的正确性。
步骤S04:返回确认消息给上述ONU,并将本地密钥更新状态寄存器置1;
步骤S05:判断上述定时时间是否到时,若是,则执行步骤S06;否则,继续执行本步骤;
步骤S06:更新本地密钥值,具体为:将本地ACTIVE密钥表中上述ONU的密钥值更新为保存的密钥值,并将本地密钥更新状态寄存器置0;
步骤S07:收到ONU发送的GEM帧;
步骤S08:判断上述GEM帧的PTI[1]比特是否为1,若是,则执行步骤S09;否则,执行步骤S10;
步骤S09:根据上述GEM帧的PORTID对应的ONU,从本地ACTIVE密钥表中读取上述ONU的密钥值,对上述GEM帧进行AES解密;
步骤S10:上述GEM帧不需要AES解密。
如图3所示,是本发明GPON上行AES加密的密钥更新方法中ONU侧的优选实施例的流程图,本实施例包括以下步骤:
步骤S11:收到密钥值及更新时间;
OLT将密钥值和更新时间,通过OMCI通道,以下行AES加密的GEM帧发送到ONU;或者直接以PLOAM消息将密钥值及更新时间发送给ONU,由于下行AES加密是基于PORTID加密的,故可通过CPU为每个ONU配置传递上行密钥值和更新时间的PORTID。
步骤S12:保存上述密钥值及更新时间;
步骤S13:返回应答消息给上述OLT,并将本地密钥更新状态寄存器置1;
步骤S14:判断上述定时时间是否到时,若是,则执行步骤S15;否则,继续执行本步骤;
步骤S15:更新本地密钥值,具体为:将保存的密钥值写入本地ACTIVE密钥表,并将本地密钥更新状态寄存器置0;
步骤S16:在上行成帧时,判断当前GEM帧对应的PORTID是否需要进行AES加密,若是,则执行步骤S17;否则,执行步骤S18;
由于AES加密过程是基于PORTID的加密,相应的,解密也是基于PORTID的解密,AES加密通过GEM帧来传递,而GEM帧的帧头格式如图4所示,依次包括:12bits的PLI域、12bits的Port ID域、3bits的PTI域、13bits的HEC域以及L Bytes的Fragment Payload域,其中,PTI域如表1所示。
表1
PTI CODE |
MEANING |
000 |
User data fragment,Not the end of a frame |
001 |
User data fragment,End of a frame |
010 |
Reserved |
011 |
Reserved |
100 |
GEM OAM,Not the end of a frame |
101 |
GEM OAM,End of a frame |
110 |
Reserved |
111 |
Reserved |
PTI域只使用了4个编码,其中PTI[0]表示数据帧的结束标志;PIT[2]表示数据帧的类型;PTI[1]目前没有被使用,故本发明使用PTI[1]比特作为AES加密使能,也就是说,如果GEM帧对应的PORTID需要加密,则将PTI[1]置1,否则置0;当然,在其他实施例中,也可根据具体情况,使用GEM帧帧头中的其他域的未用比特作为GEM帧的AES加密指示;
步骤S17:对当前GEM帧进行AES加密,并将其PTI[1]比特置1,发送给OLT;
步骤S18:将当前GEM帧的PTI[1]比特置0,发送给OLT。
OLT上行解帧时,根据PTI[1]完成AES解密,实现实时的密钥同步。
本实施例密钥更新过程简单,更新速度快;通过GEM帧或者PLOAM消息传递密钥值和更新时间,而不是以明文的形式发送,保证了密钥值和更新时间的安全性;当出现更新错误时,只需要重新发起一次更新过程即可,上一次的更新状态不影响下一次的更新的正确性;另外,由于GEM帧本身还要进行HEC(信头差错控制)加密,所以抗干扰能力强;在GEM帧的加密使能变化的时候,OLT不会出现解帧的错误,从而实现了无缝的切换。
如图5所示,是本发明GPON上行AES加密的密钥更新系统优选实施例的原理框图,本实施例包括OLT及ONU,其中:
OLT,用于将上行AES加密的密钥值及更新时间发送给ONU,并保存上述密钥值及更新时间;判断上述ONU是否在预设时间内返回应答消息,并在上述ONU在预设时间内返回应答消息后,返回确认消息给上述ONU,并将本地密钥更新状态寄存器置1;在上述ONU超时未返回应答消息时,重新发送上述密钥值及更新时间给上述ONU;在上述更新时间到时后,进行密钥更新,具体为:将本地ACTIVE密钥表中上述ONU的密钥值更新为保存的密钥值,将本地密钥更新状态寄存器置0;判断收到的GEM帧的PTI[1]比特是否为1,并在上述GEM帧的PTI[1]比特为1时,从本地ACTIVE密钥表中读取上述GEM帧的PORTID对应的ONU的密钥值,对上述GEM帧进行AES解密;
ONU,用于接收OLT发送的密钥值及更新时间并保存,以及在收到OLT发送是密钥值及更新时间时,返回应答消息给上述OLT,并将本地密钥更新状态寄存器置1;或者在上述更新时间到时后,进行密钥更新,具体为:将保存的密钥值写入本地ACTIVE密钥表,将本地密钥更新状态寄存器置0;或者在上行成帧时,判断当前GEM帧对应的PORTID是否需要进行AES加密,并在上述PORTID需要进行AES加密时,对当前GEM帧进行AES加密并将当前GEM帧的PTI[1]比特置1;在上述PORTID不需要进行AES加密时,将当前GEM帧的PTI[1]比特置0。
上述说明示出并描述了本发明的优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。