发明内容
本申请提供了EPON中实现ONU的安全注册方法和设备,以实现ONU的安全注册。
本申请提供的技术方案包括:
一种以太网无源光网络EPON中实现光网络单元ONU的安全注册方法,该方法应用于光线路终端OLT,包括:
接收ONU广播的注册请求REGISTER_REQ消息;
在REGISTER_REQ消息中的安全标记字段Security Flag为用于表示携带加密密钥的第一标记值时,从REGISTER_REQ消息中的加密密钥字段Security Key中获取加密密钥;
利用所述加密密钥对待向ONU发送的注册Register消息、GATE授权消息分别进行加密并广播发送。
一种以太网无源光网络EPON中光网络单元ONU发现机制的安全实现方法,该方法应用于ONU,包括:
对待向光线路终端OLT发送的注册请求REGISTER_REQ消息进行以下修改并广播至OLT:增加安全标记字段Security Flag和加密密钥字段Security Key,设置Security Flag为用于表示携带加密密钥的第一标记值,将本地配置的加密密钥添加至所述SecurityKey;
接收来自OLT的加密的注册Register消息,利用本地配置的所述加密密钥对Register消息进行解密,如果解密成功,获取Register消息携带的第一数据参数;第一数据参数至少包括OLT为本ONU分配的LLID;
接收OLT来自OLT的加密的GATE授权消息,利用本地配置的所述加密密钥对GATE授权消息进行解密,如果解密成功,获取GATE授权消息携带的第二数据参数;第二数据参数至少包括OLT为本ONU分配的数据发送时隙。
一种以太网无源光网络EPON中实现光网络单元ONU的安全注册设备,该设备应用于光线路终端OLT,包括:
接收单元,用于接收ONU广播的注册请求REGISTER_REQ消息;
解析单元,用于在REGISTER_REQ消息中的安全标记字段Security Flag为用于表示携带加密密钥的第一标记值时,从REGISTER_REQ消息中的加密密钥字段Security Key中获取加密密钥;
加密单元,用于利用所述加密密钥对待向ONU发送的注册Register消息、GATE授权消息分别进行加密并广播发送。
一种以太网无源光网络EPON中光网络单元ONU发现机制的安全实现设备,该设备应用于ONU,包括:
发送单元,用于对待向光线路终端OLT发送的注册请求REGISTER_REQ消息进行以下修改并广播至OLT:增加安全标记字段Security Flag和加密密钥字段Security Key,设置Security Flag为用于表示携带加密密钥的第一标记值,将本地配置的加密密钥添加至Security Key;
接收单元,用于接收来自OLT的加密的注册Register消息,利用本地配置的所述加密密钥对Register消息进行解密,如果解密成功,获取Register消息携带的第一数据参数;第一数据参数至少包括OLT为本ONU分配的LLID;以及,
接收OLT来自OLT的加密的GATE授权消息,利用本地配置的所述加密密钥对GATE授权消息进行解密,如果解密成功,获取GATE授权消息携带的第二数据参数;第二数据参数至少包括OLT为本ONU分配的数据发送时隙。
由以上技术方案可以看出,本发明中,通过利用ONU发送的加密密钥对待向ONU发送的Register消息、GATE授权消息分别进行加密并广播发送,能够在ONU与OLT设备之间形成比较安全可靠的MPCP注册通道,其他ONU是无法感知并侦听到该ONU的MAC地址、LLID标识和数据发送时隙,避免了网络中的恶意注册攻击。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
由于OLT向ONU发送的Register消息和GATE授权消息会广播到所有ONU上,使得每个ONU都能获取到其他ONU的MAC地址、LLID以及发送时隙,为可能存在的蓄意攻击和窃听留下了风险。本发明为了避免该风险,对现有ONU注册进行了优化,具体见图2所示流程。
参见图2,图2为本发明提供的方法流程图。如图2所示,该流程可包括以下步骤:
步骤201,ONU对待向OLT发送的REGISTER_REQ消息进行以下修改并发送至OLT:增加安全标记字段(Security Flag)和加密密钥字段(Security Key),设置Security Flag为用于表示携带加密密钥的第一标记值,将本地配置的加密密钥添加至Security Key。
当ONU接收到OLT周期性广播地GATE发现消息时,ONU发现目前本ONU还未注册至OLT,则等待,直至到达GATE发现消息中携带的ONU发现窗口开始时间,当到达GATE发现消息中携带的ONU发现窗口开始时间时,向OLT发送REGISTER_REQ消息。
本步骤201中,ONU向OLT发送的REGISTER_REQ消息是在现有REGISTER_REQ消息的基础上对现有REGISTER_REQ消息进行了如步骤201中的修改。此时,该修改后的REGISTER_REQ消息不再等同于现有的REGISTER_REQ消息,因此,为和现有的REGISTER_REQ消息区分,这里可设置REGISTER_REQ消息中的标记字段(Flags)不再为现有数值,而是为不同于现有数值且用于表示扩展REGISTER_REQ消息的值比如为0x4。图3示出了修改后的REGISTER_REQ消息的结构。
需要说明的是,本发明中,可为每一ONU配置加密密钥,也可有针对性地为某些ONU配置加密密钥,不同ONU配置的加密密钥不同,基于此,当ONU未被配置加密密钥时,其仍按照现有ONU注册过程中ONU的处理方式执行。
步骤202,OLT接收ONU广播的REGISTER_REQ消息。
步骤203,OLT在REGISTER_REQ消息中的Security Flag为用于表示携带加密密钥的第一标记值时,从REGISTER_REQ消息中的Security Key中获取加密密钥。
步骤204,OLT利用加密密钥对待向ONU发送的Register消息、GATE授权消息分别进行加密并广播发送。
具体地,如背景技术描述的,当OLT接收到ONU发送的REGISTER_REQ消息后,认为发送该REGISTER_REQ消息的ONU为目的ONU,为目的ONU分配一个LLID,提取该REGISTER_REQ消息携带的MAC地址,将该目的ONU的MAC地址和目的ONU被分配的LLID绑定,分配完LLID后,OLT生成待向ONU发送的Register消息,Register消息至少携带分配的LLID。
优选地,作为本发明的一个实施例,步骤204中,OLT利用加密密钥对待向ONU发送的Register消息进行加密并广播发送具体实现时可包括:
利用加密密钥对Register消息中的介于MAC控制帧类型字段(OpCode)和帧校验序列字段(FCS)之间的所有字段进行加密,广播发送加密后的Register消息。
为便于理解,图4示出了Register消息的结构。基于图4所示的Register消息的结构,则Register消息中介于OpCode和FCS之间的所有字段具体可包括:时间戳字段(Timestamp)、指定端口字段(Assigned Port)、注册类型标识字段(Flags)、同步时间字段(Sync Time)、用于表示OLT已经知晓ONU的缓存空间的字段(Echo Pending Grants)、Pad。在图4中,Assigned Port用于携带LLID。
需要说明的是,在ONU注册过程中,Register消息的目的MAC地址为上述目的ONU的MAC地址,为了防止上述目的ONU的MAC地址被其他ONU侦听到,则可以将Register消息的目的MAC地址进行修改,修改为针对多点控制协议(MPCP)协议数据单元(PDU)统一设定的MAC地址比如01-80-C2-00-00-01,同时还在Register消息中介于OpCode和FCS之间的位置额外增加注册MAC地址字段(Register MAC),注册MAC地址字段携带上述目的ONU的MAC地址。结合图4所示的Register消息的结构,则通过本段的描述,最终Register消息的结构变化为图5所示的结构。通过图5所示的Register消息的结构,则当OLT广播图5所示的Register消息时,即使其他ONU收到该Register消息,因为其本地未配置目的ONU上的加密密钥,其是不能解析出Register消息中的加密字段,进而不能获取Register消息中加密字段携带的参数,比如目的ONU被分配的LLID、目的ONU的MAC地址等。只有当目的ONU收到Register消息后,解析出Register消息中的加密字段携带的参数,比如目的ONU被分配的LLID、目的ONU的MAC地址等,具体见步骤205
再如背景技术描述的:OLT为目的ONU分配数据发送时隙,将目的ONU被分配的LLID、数据发送时隙携带在GATE授权消息(也即标准的GATE消息)中广播发送给所有ONU。则作为一个优选实施例,本步骤204中利用加密密钥对GATE授权消息进行加密并广播发送可包括:
利用加密密钥对GATE授权消息中的介于OpCode和FCS之间的所有字段进行加密,广播发送加密后的GATE授权消息。
为便于理解,图6示出了GATE授权消息的结构。基于图6所示的GATE授权消息的结构,则GATE授权消息中介于OpCode和FCS之间的所有字段具体可包括:
Timestamp、授权个数字段(Number of grants/flags)、窗口授权开始时间(GrantStart Time)、窗口授权长度(Grant Length)、Pad。在图6中,Number of grants/flags多不超过4,其值从0变化至4,当为0时,表示不授权,当为1时,表示携带1个窗口授权参数,当为2时,表示携带2个窗口授权参数,当为3时,表示携带3个窗口授权参数,当为4时,表示携带4个窗口授权参数。
在ONU注册过程中,GATE授权消息的目的MAC地址为组播MAC地址,该GATE授权消息的目的MAC地址之前有一个前导符,该前导符不同于ONU注册过程中其他报文中的前导符(具体为广播LLID),其具体是目的ONU被分配的LLID。基于此,本发明中,当OLT广播GATE授权消息后,即使其他ONU收到该GATE授权消息,因为GATE授权消息的前导符有LLID,其能解析出LLID,但其只是解析出LLID,并不知道该LLID是哪一个ONU被分配的LLID,并且,由于其他ONU本地未配置目的ONU上的加密密钥,其是不能解析出GATE授权消息中的加密字段,进而不能获取GATE授权消息中加密字段携带的参数,比如目的ONU被分配的数据发送时隙等。只有当目的ONU收到GATE授权消息后,发现该GATE授权消息中目的MAC之前的前导符为OLT为本ONU分配的LLID,则向OLT返回REGISTER_ACK,并解析出GATE授权消息中加密字段携带的参数比如数据发送时隙,具体见步骤205。
步骤205,ONU接收来自OLT的加密的注册Register消息,利用本地配置的所述加密密钥对Register消息进行解密,如果解密成功,获取Register消息携带的第一数据参数;以及,接收OLT来自OLT的加密的GATE授权消息,利用本地配置的所述加密密钥对GATE授权消息进行解密,如果解密成功,获取GATE授权消息携带的第二数据参数;第二数据参数至少包括OLT为本ONU分配的数据发送时隙。
这里,第一数据参数至少包括OLT为本ONU分配的LLID。对于如上描述的Register消息,因为目的MAC地址修改为MPCP PDU统一设定的MAC地址,同时在Register消息的消息体中携带目的ONU的MAC地址且被加密,如此,当OLT广播Register消息后,虽然其他ONU也能接收到Register消息,但是由于Register消息的目的MAC地址是MPCP PDU统一设定的MAC地址、且Register消息的消息体经过加密处理,是无法得知目的ONU的任何信息比如LLID、MAC地址等。
这里,第二数据参数至少包括OLT为本ONU分配的数据发送时隙。如上描述的GATE授权消息,则当OLT广播GATE授权消息后,即使其他ONU收到该GATE授权消息,因为GATE授权消息的前导符有LLID,其能解析出LLID,但其只是解析出LLID,并不知道该LLID是哪一个ONU被分配的LLID,并且,OLT发送的GATE授权消息是从OpCode字段开始进行加密的,由于其他ONU本地未配置目的ONU上的加密密钥,其是不能解析出GATE授权消息中的加密字段,进而不能获取GATE授权消息中加密字段携带的参数,比如目的ONU被分配的数据发送时隙等。只有当目的ONU收到GATE授权消息后,发现该GATE授权消息中目的MAC之前的前导符为OLT为本ONU分配的LLID,则向OLT返回REGISTER_ACK,并解析出GATE授权消息中加密字段携带的参数比如数据发送时隙。
综上可以看出,本发明中,通过利用ONU发送的加密密钥对待向ONU发送的Register消息、GATE授权消息分别进行加密并广播发送,能够在ONU与OLT设备之间形成比较安全可靠的MPCP注册通道,其他ONU是无法感知并侦听到该ONU的MAC地址、LLID标识和数据发送时隙,避免了网络中的恶意注册攻击。
至此,完成图2所示的流程。
下面通过一个具体实施例对图2所示流程进行详细描述:
如图7所示的EPON,三个ONU分别接入到EPON,其中ONU3本地配置了加密密钥,这意味着ONU3采用图2所示流程进行注册和连接,其余ONU1和ONU2本地未配置加密密钥,这意味着ONU1和ONU2采用现有方式进行注册和连接。
以ONU1和ONU3为例进行比较说明。
OLT周期性地广播GATE发现消息,GATE发现消息中携带ONU发现窗口开始时间和长度。
ONU1接收到GATE发现消息后,发现本ONU1还未注册至OLT,则向OLT发送REGISTER_REQ消息请求注册。
OLT接收到ONU1发送的REGISTER_REQ消息后学习REGISTER_REQ消息携带的ONU1的MAC地址,计算RTT,并为ONU1分配LLID和数据发送时隙,向ONU1广播发送Register消息(记为消息11)和GATE授权消息(记为消息12),则消息11和消息12会广播到所有ONU。
ONU2、ONU3收到消息11和消息12后,会监听到ONU1的MAC地址、LLID和数据发送时隙。
ONU1收到消息11后,发现消息11的目的MAC地址为自身的MAC地址,则获取消息11中的LLID;ONU1收到消息12后,发现消息12中目的MAC地址之前的前导符为自身的LLID,则获取消息12中的数据发送时隙,向OLT发送REGISTER_ACK消息,至此完成注册。
当ONU3接收到GATE发现消息后,发现本ONU3还未注册至OLT,由于本ONU3已配置了加密密钥,则ONU3向OLT发送携带Security Flag和Security Key的REGISTER_REQ消息请求注册。REGISTER_REQ消息中的Security Flag为用于表示携带加密密钥的第一标记值,REGISTER_REQ消息中的Security Key为ONU3本地配置的加密密钥。
OLT接收到ONU3发送的REGISTER_REQ消息后从REGISTER_REQ消息获取REGISTER_REQ消息携带的ONU3的MAC地址、加密密钥,计算RTT,为ONU3分配LLID和数据发送时隙。
OLT生成待向ONU3发送的Register消息,这里,Register消息的目的MAC地址为MPCP PDU统一设定的MAC地址比如01-80-C2-00-00-01,Register消息中介于OpCode和FCS之间的位置额外增加Register MAC(携带ONU3的MAC地址)。
OLT利用获取的加密密钥对Register消息中介于OpCode和FCS之间的所有字段进行加密,广播发送加密后的Register消息(记为消息13);
OLT生成待向ONU3发送的GATE授权消息,利用获取的加密密钥对GATE授权消息中介于OpCode和FCS之间的所有字段进行加密,广播发送加密后的GATE授权消息(记为消息14)。
OLT发送的消息13和消息14会到达所有ONU,当ONU1和ONU2收到消息13和消息14后,但无法成功解密,其因为无法成功解密而监听不到消息13携带的ONU的MAC地址、LLID,也监听不到消息14携带的数据发送时隙;当ONU3收到消息13和消息14后,利用本地配置的加密密钥正确解析出自己的LLID和数据发送时隙,向OLT发送REGISTER_ACK消息,至此完成注册。
ONU2因为监听到ONU1的MAC地址、LLID、数据发送时隙,其可以伪装成ONU1撤销ONU1的注册,比如ONU2伪装成ONU1向OLT发送取消注册的请求消息,OLT就会错误的启动对ONU1的撤销注册,清除ONU1设备的注册信息;而对于ONU3,ONU2因为无法监听到ONU3的MAC地址、LLID、数据发送时隙,无法对ONU3进行破坏。这相比于ONU1,提升ONU3自身的安全性,对整个EPON网络的安全也有较大的保证。
至此,完成图7所示的实施例描述。
以上对本发明提供的方法进行了描述,下面对本发明提供的设备进行描述:
参见图8,图8为本发明提供的设备结构图。该设备应用于光线路终端OLT,如图8所示,该设备包括:
接收单元,用于接收ONU广播的注册请求REGISTER_REQ消息;
解析单元,用于在所述REGISTER_REQ消息中的安全标记字段Security Flag为用于表示携带加密密钥的第一标记值时,从所述REGISTER_REQ消息中的加密密钥字段Security Key中获取加密密钥;
加密单元,用于利用所述加密密钥对待向ONU发送的注册Register消息、GATE授权消息分别进行加密并广播发送。
优选地,加密单元利用加密密钥对待向ONU广播发送的注册Register消息、GATE授权消息分别进行加密并广播发送包括:
利用所述加密密钥对Register消息中的介于MAC控制帧类型字段OpCode和帧校验序列字段FCS之间的所有字段进行加密,广播发送加密后的Register消息;
利用所述加密密钥对GATE授权消息中的介于MAC控制帧类型字段OpCode和帧校验序列字段FCS之间的所有字段进行加密,广播发送加密后的GATE授权消息。
优选地,加密单元利用加密密钥对所述Register消息中的介于MAC控制帧类型字段OpCode和帧校验序列字段FCS之间的所有字段进行加密包括:
将Register消息中的目的MAC地址字段中的目的MAC地址修改为针对多点控制协议MPCP协议数据单元PDU统一设定的MAC地址;
在Register消息中介于OpCode和FCS之间的位置额外增加注册MAC地址字段,注册MAC地址字段携带ONU的MAC地址;
利用加密密钥对所述Register消息中介于OpCode和FCS之间的所有字段进行加密。
至此,完成图8所示的设备结构描述。
参见图9,图9为本发明提供的另一设备结构图。该设备应用于ONU,包括:
发送单元,用于对待向光线路终端OLT发送的注册请求REGISTER_REQ消息进行以下修改并广播至OLT:增加安全标记字段Security Flag和加密密钥字段Security Key,设置所述Security Flag为用于表示携带加密密钥的第一标记值,将本地配置的加密密钥添加至Security Key;
接收单元,用于接收来自OLT的加密的注册Register消息,利用本地配置的所述加密密钥对Register消息进行解密,如果解密成功,获取Register消息携带的第一数据参数;第一数据参数至少包括OLT为本ONU分配的LLID;以及,
接收OLT来自OLT的加密的GATE授权消息,利用本地配置的所述加密密钥对GATE授权消息进行解密,如果解密成功,获取GATE授权消息携带的第二数据参数;第二数据参数至少包括OLT为本ONU分配的数据发送时隙。
至此,完成图9所示的设备结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。