无源光网络的加密 / 解密方法及系统 【技术领域】
本 发 明 涉 及 通 信 领 域, 具 体 而 言, 涉 及 一 种 无 源 光 网 络 (PassiveOptical Network, 简称为 PON) 的加密 / 解密方法及系统。背景技术
吉比特无源光网络 (Gigabit-Capable Passive Optical Network, 简称为 GPON) 技术是无源光网络 (Passive Optical Network, 简称为 PON) 家族中一个重要的技术分支, 和其它 PON 技术类似, GPON 也是一种采用点到多点拓扑结构的无源光接入技术。
GPON 由局侧的光线路终端 (Optical Line Terminal, 简称为 OLT)、 用户侧的光网 络单元以及光分配网络 (Optical DistributionNetwork, 简称为 ODN) 组成, 通常采用点到 多点的网络结构。 ODN 由单模光纤、 光分路器、 光连接器等无源光器件组成, 为 OLT 和 ONU 之 间的物理连接提供光传输媒质。 为 了 实 现 OLT 对 ONU 的 部 分 管 理 功 能,国 际 电 信 联 盟 - 电 信 标 准 部 (International Telecommunications Union-Telecommunicationsstandardizatio n sector, 简称为 ITU-T) 的 G.984.3 标准定义了物理层操作管理维护 (Physical layer Operations, Administration andMaintenance, 简称 PLOAM) 通道, GPON 利用 PLOAM 通道传 输 PLOAM 消息, 实现对传输汇聚层的管理, 包括 ONU 激活, ONU 管理控制通道的建立, 加密配 置, 密钥管理等。
在 GPON 系统中, PLOAM 消息是以明文的形式发送的。由于下行方向 ( 由 OLT 到 ONU) 为天然广播方式, 因此, 各个 ONU 都将收到所有的 PLOAM 消息, 并且根据 ONU-ID 来获 得属于自己的 PLOAM 消息, 抛弃发送给其他 ONU 的 PLOAM 消息。如果网络中存在被重新编 程的恶意 ONU, 恶意 ONU 就会监听 OLT 发给其他 ONU 的 PLOAM 消息。上行方向传输的 PLOAM 消息存在两种被非法监听的威胁 : 如果 GPON 中的光分路器使用的是 2:N 的分光器, 图1是 根据相关技术的 GPON 系统的拓扑结构的示意图, 如图 1 所示, 非法用户可以通过图 1 中的 的 B 端口监听所有 ONU 的上行 PLOAM 消息 ; 非法用户也可以通过如弯折光纤的方式探测上 行信号光, 从而监听上行 PLOAM 消息。如果恶意 ONU 监听到某一个合法 ONU 的序列号, 则它 可以在合法 ONU 掉电后, 利用合法 ONU 的序列号完成自身的注册激活过程, 导致非法 ONU 可 以接入到 PON 系统中。由于上述原因的存在, PON 系统的安全受到了威胁。
基于对上述安全因素的考虑, 应该对 GPON 系统中传输的 PLOAM 消息进行加密, 尤 其应该对关系系统安全的 PLOAM 消息进行加密, 例如, ONU 的序列号信息。但是, 当 ONU 刚 接入到系统中, ONU 需要一个注册激活过程, 在此过程中, OLT 通过 ONU 的序列号信息识别 ONU, 如果 ONU 的序列号信息加密, 存在 OLT 不知道如何解密序列号的问题。现有的 ITU-T 的 G.984.3 标准中没有提供关于 GPON 系统中对 ONU 的序列号信息加密和解密的方法。
发明内容
针对相关技术中没有提供对 ONU 序列号信息进行加密 / 解密的方法而导致 PON 系统存在安全隐患的问题而提出本发明, 为此, 本发明的主要目的在于提供一种基于 ONU 序 列号信息的无源光网络的加密 / 解密方案, 以解决上述问题。
为了实现上述目的, 根据本发明的一个方面, 提供了一种无源光网络的加密 / 解 密方法。
根据本发明的无源光网络的加密 / 解密方法包括 : 光线路终端 OLT 存储与每个光 网络单元 ONU 对应的第一加密信息, 其中, 第一加密信息用于对 ONU 的序列号信息进行加密 和 / 或解密 ; OLT 接收来自 ONU 的携带有 ONU 的第二加密信息的消息, 并根据第二加密信息 从本地获取 ONU 的序列号信息。
优选地, 第一加密信息包括加密算法、 密钥信息、 ONU 身份的注册标识 ; 第二加密 信息包括加密后的序列号信息和 ONU 身份的注册标识, 或者, 第二加密信息包括加密后的 序列号信息。
优选地, 在第二加密信息包括加密后的序列号信息和 ONU 身份的注册标识的情况 下, OLT 根据第二加密信息获取 ONU 的序列号信息包括 : OLT 从消息中获得 ONU 的注册标识, 并根据注册标识从本地获得 ONU 对应的第一加密信息 ; OLT 根据第一加密信息对加密后的 序列号信息进行解密以获取 ONU 的序列号信息。
优选地, 在 OLT 接收来自 ONU 的携带有 ONU 的第二加密信息的消息之前, 上述方法 还包括 : ONU 向 OLT 发送消息, 并保存加密后的序列号信息。
优选地, 在 OLT 从消息中获得 ONU 的注册标识之前, 上述方法还包括 : OLT 保存注 册标识与加密算法、 密钥信息之间的对应关系。
优选地, 上述方法还包括 : OLT 在获取 ONU 的序列号信息之后保存加密后的序列号 信息与 ONU 的序列号信息和 / 或第一加密信息的对应关系 ; 或者, OLT 在接收来自 ONU 的携 带有 ONU 的第二加密信息的消息之前预先保存加密后的序列号信息与 ONU 的序列号信息和 / 或第一加密信息的对应关系。
优选地, 第二加密信息包括加密后的序列号信息的情况下, OLT 根据第二加密信息 获取 ONU 的序列号信息包括 : OLT 从消息中获得 ONU 的加密后的序列号信息, 并根据加密后 的序列号信息从本地获得 ONU 的第一加密信息。
优选地, 在 OLT 接收来自 ONU 的携带有 ONU 的第二加密信息的消息之前, 上述方法 还包括 : OLT 和 ONU 使用相同的算法分别对本地保存的加密后的序列号信息进行更新。
优选地, 在 OLT 和 ONU 使用相同的算法分别对本地保存的加密后的序列号信息进 行更新之后, 上述方法还包括 : OLT 保存加密后的序列号信息与第一加密信息之间的对应 关系。
优选地, 在 OLT 接收来自 ONU 的携带有第二加密消息的消息之前, 上述方法包括 : ONU 采用加密算法对第一号密钥种子和注册标识进行计算得到密钥, ONU 根据密钥对 ONU 的 序列号信息进行加密, 并将加密后的序列号信息以及 ONU 的注册标识发送给 OLT。
优选地, 在 OLT 获取 ONU 的序列号信息之后, 上述方法还包括 : OLT 向 ONU 发送分 配标识消息, 其中, 分配标识信息中携带有为 ONU 分配的 ONU 标识 ; 分配标识消息中还携带 有 OLT 本地储存的 ONU 的加密后的序列号信息或对 ONU 的序列号信息进行重新加密后产生 的重新加密后的序列号信息。
优选地, 在 OLT 向 ONU 发送分配标识消息之后, 上述方法还包括 : ONU 接收并从分配标识信息中获取加密后的序列号信息或重新加密后的序列号信息 ; ONU 根据加密后的序 列号信息或重新加密后的序列号信息判断分配标识消息的目的 ONU 是否为本地, 并在判断 结果为是的情况下, 从分配标识消息中获取 ONU 标识。
优选地, ONU 根据加密后的序列号信息判断分配标识消息的目的 ONU 是否为本地 包括 : ONU 判断接收到的加密后的序列号信息是否与本地的加密后的序列号信息一致, 如 果一致, 则分配标识消息的目的 ONU 是本地, 否则, 分配标识信息的目的 ONU 不是本地。
优选地, OLT 对 ONU 的序列号进行重新加密包括 : OLT 使用加密算法对第一号密钥 种子和第二号密钥种子进行计算产生第一密钥, 并根据第一密钥对 ONU 的序列号信息进行 加密, 其中, OLT 将第二号密钥种子和分配标识信息一起发送给 ONU, 或者, 在 OLT 和 ONU 上 预先设置相同的第二号相同的密钥种子, 或者, 通过 OLT 与 ONU 进行协商以产生相同的第二 号密钥种子。
为了实现上述目的, 根据本发明的另一方面, 还提供了一种无源光网络的加密 / 解密系统。
根据本发明的无源光网络的加密 / 解密系统, 包括 OLT 和一个或多个 ONU, OLT 用 于存储与每个 ONU 对应的第一加密信息, 其中, 第一加密信息用于对 ONU 的序列号信息进行 加密和 / 或解密 ; ONU 用于根据第一加密信息对 ONU 的序列号信息进行加密, 并向 OLT 发送 携带有 ONU 的第二加密信息的消息 ; OLT 还用于接收来自 ONU 的携带有 ONU 的第二加密信 息的消息, 并根据第二加密信息从本地获取 ONU 的序列号信息。
本发明在 ONU 的序列号信息加密的情况下, OLT 识别 ONU 的身份并根据 ONU 的身 份找到并解密 ONU 的序列号, 解决了 PON 系统中上行帧和下行帧中的 ONU 序列号信息的加 密和解密问题, 从而降低了序列号信息被盗用的危险, 进而提高了 PON 系统的安全性。附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。在附图中 :
图 1 是根据相关技术的 GPON 系统的拓扑结构的示意图 ;
图 2 是根据本发明实施例的无源光网络的加密 / 解密方法 ;
图 3 是根据本发明实施例的第一种扩展的 PLOAM 消息格式的示意图 ;
图 4 是根据本发明实施例的 Serial_Number 消息的结构示意图 ;
图 5 是根据本发明实施例的 Assign_ONU-ID 消息格式示意图 ;
图 6 是根据本发明实施例的 ESN_ONU 消息的格式示意图 ;
图 7 是根据本发明实施例的 Secret_Seed 消息的格式示意图。
具体实施方式
功能概述
考虑到相关技术中没有提供对 ONU 序列号信息进行加密 / 解密的方法而导致 PON 系统存在安全隐患的问题, 本发明实施例提供了基于 ONU 序列号信息的加密 / 解密方案, 该方案处理原则如下 : OLT 存储加密信息, 其中, 加密信息与每个 ONU 上存储的用于加密的 加密信息相同, 加密信息包括 : 加密算法、 第一号密钥种子、 用于标识 ONU 身份的注册标识(Registration ID, 简称为 RegID), 每个 ONU 上存储的第一号密钥种子和注册标识均不相 同; OLT 向 ONU 发送用于获取 ONU 的序列号信息的序列号请求消息 ; 在 OLT 接收来自 ONU 的 注册标识以及根据加密信息加密后的序列号信息之后, OLT 根据 ONU 的注册标识获取对应 的加密信息, 并根据对应的加密信息对加密后的序列号信息进行解密, 以获取 ONU 的序列 号信息。
需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
在以下实施例中, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令 的计算机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可以以 不同于此处的顺序执行所示出或描述的步骤。
方法实施例
根据本发明的实施例, 提供了一种基于 ONU 序列号信息的加密 / 解密方法, 图2是 根据本发明实施例的无源光网络的加密 / 解密方法, 如图 2 所示, 该方法包括如下的步骤 S2 至步骤 S6 :
步骤 S2, OLT 存储与每个 ONU 对应的第一加密信息, 其中, 第一加密信息用于对 ONU 的序列号信息进行加密和 / 或解密 ; 步骤 S4, OLT 接收来自 ONU 的携带有该 ONU 的第二加密信息的消息, 并根据第二加 密信息从本地获取 ONU 的序列号。
其中, 第二加密信息包括加密后的序列号信息。OLT 可以从该消息中获得该 ONU 的加密后的序列号信息, 如果 OLT 本地保存有该 ONU 的加密后的序列号信息和序列号信息 的对应关系, 则 OLT 可以根据加密后的序列号信息获得该 ONU 的加密信息, 也可以直接获取 ONU 的序列号信息。
优选地, 第二加密信息还可以包括用于标识 ONU 身份的注册标识和加密后的序列 号信息, 第一加密信息可以包括加密算法、 密钥信息、 标识 ONU 身份的注册标识。该 OLT 从 该消息中获得所述 ONU 的注册标识, 如果 OLT 本地保存有注册标识和加密信息的对应关系, 在 OLT 根据注册标识从本地获得 ONU 对应的加密算法、 密钥信息。在获取到加密算法和密 钥信息之后, 根据加密算法和密钥信息对加密后的序列号信息进行解密以获取该 ONU 的序 列号信息。
优选地, OLT 保存注册标识与加密算法、 密钥信息之间的对应关系。
优选地, OLT 保存加密后的序列号信息和 ONU 的序列号信息的对应关系。
优选地, OLT 保存加密后的序列号信息与加密算法、 密钥信息之间的对应关系。
下面结合 OLT 与 ONU 之间的交互过程对加密解密过程进行详细的说明。该过程主 要包括如下步骤 :
步骤 S12, OLT 存储加密信息, 其中, 加密信息与每个 ONU 上存储的用于加密的加 密信息相同, 加密信息包括 : 加密算法、 第一号密钥种子、 用于标识 ONU 身份的注册标识 (Registration ID, 简称为 RegID), 每个 ONU 上存储的第一号密钥种子和注册标识均不相 同。
步骤 S14, OLT 向 ONU 发送用于获取 ONU 的序列号信息的序列号请求消息。
步骤 S16, 在 OLT 接收来自 ONU 的注册标识以及根据加密信息加密后的序列号信息
之后, OLT 根据 ONU 的注册标识获取对应的加密信息, 并根据对应的加密信息对加密后的序 列号信息进行解密, 以获取 ONU 的序列号信息。
下面结合上述步骤 S12 至步骤 S16 对 OLT 与 ONU 之间的加密解密过程进行详细的 说明, 该过程包括如下具体的步骤 :
步骤 S21, OLT 和 ONU 处存储了相同的用于计算密钥 (Key, 用于加密序列号 ) 的算 法, 即, 加密算法, OLT 和 ONU 处存储了相同的用于生成 Key 的第一号密钥种子, 每个 ONU 处 存储的第一号密钥种子不同, 在获取到 ONU 的序列号之后, OLT 存储 ONU 的序列号和对应的 第一号密钥种子的对应关系。
步骤 S22, OLT 命令 ONU 发送其自身的序列号信息, ONU 可以根据情况采用以下方 式对序列号信息进行加密, 并发送给 OLT, 然后 OLT 采用对应的方法解密 ONU 发送的加密序 列号。
方式一, ONU 采用加密算法对第一号密钥种子和注册标识进行计算得到密钥, ONU 根据密钥对 ONU 的序列号信息进行加密, 并将加密后的序列号信息以及 ONU 的注册标识发 送给 OLT。即, 方法一 : 当 OLT 和 ONU 处存储了一个用于标识 ONU 身份的注册标识 RegID, 且 OLT 存储了 RegID、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系, ONU 利用计 算 Key 的算法 ( 即, 密钥算法 ) 对自身存储的第一号密钥种子和 RegID 进行计算得到 Key, 并利用 Key 对自身的序列号信息进行加密, 然后 ONU 将加密的序列号和 RegID 一起发送给 OLT。OLT 接收到 ONU 发送的加密的序列号和 RegID 后, OLT 通过 ONU 的 RegID 得到对应的 ONU 的第一号密钥种子, OLT 利用计算 Key 的算法对上述第一号密钥种子和上述 RegID 进行 计算得到 Key, 并利用 Key 对加密序列号信息进行解密, 得到 ONU 的序列号信息。 步骤 S23, OLT 接收加密后的序列号信息以及 ONU 的注册标识, OLT 存储加密后的 序列号信息和 ONU 的序列号信息。
步骤 S24, 在 OLT 获取 ONU 的序列号信息, OLT 向 ONU 发送分配标识消息, 其中, 分 配标识信息中携带有为 ONU 分配的 ONU 标识 ; 分配标识消息中还携带有 OLT 本地储存的 ONU 的加密后的序列号信息或对 ONU 的序列号信息进行重新加密后产生的重新加密后的序列 号信息。
步骤 S25, ONU 接收并从分配标识信息中获取加密后的序列号信息或重新加密后 的序列号信息 ; ONU 根据加密后的序列号信息或重新加密后的序列号信息判断分配标识消 息的目的 ONU 是否为本地, 并在判断结果为是的情况下, 从分配标识消息中获取 ONU 标识。
其中, ONU 根据加密后的序列号信息判断分配标识消息的目的 ONU 是否为本地有 两种方式 : 方式一, ONU 判断接收到的加密后的序列号信息是否与本地的加密后的序列号 信息一致, 如果一致, 则分配标识消息的目的 ONU 是本地, 否则, 分配标识信息的目的 ONU 不 是本地。 方式二, ONU 判断接收到的加密后的序列号信息是否与本地的使用与 OLT 相同的重 新加密的方式对的序列号信息进行重新加密后产生的重新加密后的序列号信息是否一致, 如果一致, 则分配标识消息的目的 ONU 是本地, 否则, 分配标识信息的目的 ONU 不是本地。
如果 ONU 需要再次注册 ( 例如, ONU 掉电重启 ), ONU 可以通过以下方式发送加密 后的序列号信息。
方式一, 当 OLT 存储了加密的序列号、 对应的 ONU 的序列号和对应的第一号密钥 种子的对应关系时, OLT 发送要求 ONU 发送序列号的命令的同时, OLT 在本地采用了一定的
方法更新 ONU 的加密序列号, ONU 接收到 OLT 发送的要求其发送序列号的命令的同时, ONU 在本地采用了与 OLT 相同的方法更新自身的加密序列号, 并将更新后的加密序列号发送给 OLT, OLT 接收到 ONU 发送的更新加密序列号后, 根据更新加密序列号与对应的 ONU 的序列 号的关系获得 ONU 的序列号信息。
方式二, 当 OLT 处存储了加密的序列号、 对应的 ONU 的序列号和对应的第一号密钥 种子的对应关系, 且 OLT 处和 ONU 处都存储了相同的 ONU 加密序列号信息时, ONU 将自身存 储的上述加密序列号信息发送给 OLT, OLT 根据接收到的加密序列号信息得到 ONU 的序列号 信息。
方式三, 当 OLT 已经为该 ONU 分配 ONU-ID 时, ONU 利用一个数充当第二号密钥种 子, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 然后, ONU 利用 Key 对序列号信息进行加密, 得到加密的序列号。ONU 将上述加密的序列号发送给 OLT( 如果 OLT 没有第二号密钥种子, 则也将第二号密钥种子发送给 OLT)。OLT 通过 ONU 的 ONU-ID 得到对应的 ONU 的第一号密钥种子, OLT 利用计算 Key 的算法对上述第一号密钥种 子和上述充当第二号密钥种子的数进行计算得到 Key, 并利用 Key 对加密序列号信息进行 解密, 得到 ONU 的序列号信息。需要说明的是, 充当第二密钥种子的数可以是 ONU 在本地产 生, 然后和下述的加密的序列号信息一起发送给 OLT, 也可以是通过 OLT 和 ONU 按照预先约 定的方法产生, ONU 不需要将该数发送给 OLT。
在接收到 ONU 发送的加密的序列号信息之后, OLT 根据 ONU 发送的加密的序列号 信息后根据该信息从本地获取序列号信息。
下面将结合实例对本发明实施例的实现过程进行详细描述。
通过以下实例可以用于对 GPON 系统中携带 ONU 的序列号 (Serial Number) 信息 的 PLOAM 消息进行加密和解密。下面具体说明上述加密和解密的方法, 以及 ONU 的注册激 活过程。
实例一
OLT 和 ONU 处存储了一个预共享密钥种子, 预共享密钥种子也称为用于生成加密 密钥 (Key) 的第一号密钥种子 ; OLT 和 ONU 处存储了一个用于标识 ONU 身份的注册标识, OLT 存储了 RegID、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系 ; OLT 和 ONU 处存 储了相同的用于计算 Key 的算法 ; 图 3 是根据本发明实施例的第一种扩展的 PLOAM 消息格 式的示意图, 如图 3 所示, 用于生成加密密钥的第二号密钥种子, 位于 ONU-ID 和 Message ID 之间, 也可以位于 Message ID 和 Data 之间, 也可以位于 Data 和 CRC 之间。
ONU 的注册激活过程如下 :
步 骤 S101, ONU 侦 听 OLT 发 送 的 下 行 GPON 传 输 汇 聚 (GPONTransmission Convergence, 简称为 GTC) 帧并获取帧同步。
步骤 S102, ONU 侦听 OLT 周期性发送的 Upstream_Overhead( 和 Extended_Burst_ Length) 消息并获取消息中的参数配置。
步骤 S103, 未注册激活的 ONU 侦听 OLT 发送的序列号请求 (SN_Request), 在接收 到 SN_Request 后, ONU 将用于标识自身身份的 RegID 作为第二号密钥种子, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 然后, ONU 利用 Key 对序列 号信息进行加密, 得到加密后的序列号 (Encryption SerialNumber, 简称为 ESN), ONU 存储此 ESN。ONU 将加密后的序列号和自身的 RegID 通过本实施例的 Serial_Number 消息发送 给 OLT, 图 4 是根据本发明实施例的 Serial_Number 消息的结构示意图, 如图 4 所示, 该消息 的第一字节为 ONU-ID, 第二字节表示 PLOAM 消息的类型为 Serial_Number, 第三字节携带第 二号密钥种子, 第四到第十一字节携带加密后的序列号信息, 第十二字节和第十四字节的 内容如图 4 所示, 在此不再赘述。
步骤 S104, OLT 接收到某个 ONU 发送的 Serial_Number 消息后, 通过 ONU 发送的 RegID 可以在本地查询此 RegID 对应的 ONU 的第一号密钥种子, OLT 利用计算 Key 的算法对 第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号进行解 密, 得到 ONU 的序列号信息, OLT 存储接收到的 ESN, 并存储 ESN、 对应的 ONU 的序列号和对 应的第一号密钥种子的对应关系。OLT 向该 ONU 通过发送 Assign_ONU-ID( 分配 ONU 标识 ) 消息向该 ONU 分配 ONU-ID, 图 5 是根据本发明实施例的 Assign_ONU-ID 消息格式示意图, 如 图 5 所示, 该消息的第一字节为 ONU-ID, 第二字节表明消息类型为 “Assign_ONU-ID” , 第三 字节表示 OLT 给此 ONU 分配的 ONU-ID, 第四到第十一字节的内容为 ONU 在 Serial_Number 消息中发给 OLT 的 ESN, 其他字节的内容如图 5 所示, 在此不再赘述。Assign_ONU-ID 消息 的含义为 : ONU 响应 OLT 发送的 SN_Request 时, ONU 发送了加密的 Serial Number 信息, 即 ESN 给 OLT, 然后 OLT 给发送上述 ESN 的 ONU 分配 ONU-ID。ONU 收到上述 Assign_ONU-ID 消 息后, ONU 判断 Assign_ONU-ID 中的 ESN 与自身存储的 ESN 是否相同, 如果相同, ONU 存储上 述 Assign_ONU-ID 消息中的 ONU-ID。
步骤 S105, OLT 向该 ONU 发送测距请求 (Ranging_Request), 开始对该 ONU 进行测 距。
步骤 S106, 该 ONU 接收到 Ranging_Request 后, ONU 在本地产生一个用于充当第二 号密钥种子的随机数, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计 算得到 Key, 然后 ONU 利用 Key 对序列号信息进行加密, 得到新的 ESN。ONU 将上述新的 ESN 和上述用于充当第二号密钥种子的随机数通过图 3 所示的 Serial_Number 消息发送给 OLT。
步骤 S107, OLT 接收到该 ONU 发送的 Serial_Number 消息后, OLT 利用计算 Key 的 算法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号 进行解密, 得到 ONU 的序列号信息, OLT 计算测距结果均衡延迟 (Equalization Delay, 简称 为 EqD) 并将测距结果 EqD 通过测距时间 (Ranging_Time) 消息发送给该 ONU, 完成 ONU 注册 激活过程。OLT 存储 ONU-ID、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系。
在上述注册激活过程中, OLT 可以在收到 ONU 的序列号后的任何时刻对 ONU 的序 列号信息进行认证, 例如 OLT 可以在上述步骤 S104 接收到序列号信息后对其进行认证, 也 可以在上述步骤 S107 接收到序列号信息后对其进行认证。
当上述 ONU 掉电重启后, ONU 再次进入注册激活过程, ONU 的注册激活过程的步骤 如下 :
步骤 S201, ONU 侦听 OLT 发送的下行 GTC 帧并获取帧同步。
步骤 S202, ONU 侦听 OLT 周期性发送的 Upstream_Overhead( 和 Extended_Burst_ Length) 消息并获取消息中的参数配置。
未注册激活的 ONU 侦听 OLT 发送的 SN_Request( 序列号请求 ), 在接收到 SN_ Request 之后, ONU 将存储的 ESN 通过本发明的 ESN_ONU(ONU 的加密序列号 ) 消息发送给OLT。图 6 是根据本发明实施例的 ESN_ONU 消息的格式示意图, 如图 6 所示, 该消息的第一 字节为 ONU-ID, 第二字节表示 PLOAM 消息的类型为 ESN_ONU, 第三字节到第十字节携带 ESN, 第十一到第十二字节为预留字节, 第十三字为 CRC。
步骤 S203, OLT 接收到某个 ONU 发送的上述 ESN_ONU 消息后, 如果此 ESN 信息属于 OLT 本地存储的 ESN 列表, OLT 可以找到上述 ESN 与某个 ONU 的 Serial Number 以及第一号 密钥种子的对应关系, 则 OLT 判断此 ONU 已经完成过认证。OLT 向该 ONU 通过发送 Assign_ ONU-ID 消息向该 ONU 分配 ONU-ID, Assign_ONU-ID 消息的格式见图 5。 ONU 收到上述 Assign_ ONU-ID 消息后, ONU 判断 Assign_ONU-ID 中的 ESN 与自身存储的 ESN 是否相同, 如果相同, ONU 存储上述 Assign_ONU-ID 消息中的 ONU-ID。
步骤 S204, OLT 向该 ONU 发送测距请求 Ranging_Request, 开始对该 ONU 进行测距。
步骤 S205, 该 ONU 收到 Ranging_Request 后, ONU 在本地产生一个用于充当第二号 密钥种子的随机数, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计算 得到 Key, 然后 ONU 利用 Key 对序列号信息进行加密, 得到新的 ESN。ONU 将上述新的 ESN 和 上述用于充当第二号密钥种子的随机数通过图 4 所示的 Serial_Number 消息发送给 OLT。
步骤 S206, OLT 接收到该 ONU 发送的 Serial_Number 消息后, OLT 利用计算 Key 的 算法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号 进行解密, 得到 ONU 的序列号信息, OLT 计算测距结果 EqD 并将测距结果 EqD 通过 Ranging_ Time 消息发送给该 ONU, 完成 ONU 注册激活过程。OLT 存储 ONU-ID、 对应的 ONU 的序列号和 对应的第一号密钥种子的对应关系。
在上述注册激活过程中, OLT 可以在收到 ONU 的序列号后的任何时刻对 ONU 的序 列号信息进行认证, 例如, OLT 可以在上述步骤 S107 接收到序列号信息后对其进行认证。
在本实例中, 第二号密钥种子信息是通过在携带 ESN 的 PLOAM 消息中增加一个字 节传送, 也可以根据需要增加两个或多个字节传递第二号密钥种子。也可以新建一个名为 Secret_Seed 的 PLOAM 消息传递第二号密钥种子, 图 7 是根据本发明实施例的 Secret_Seed 消息的格式示意图, 如图 7 所示。在上述需要传递第二号密钥种子的 PLOAM 消息后紧跟 Secret_Seed 消息 ( 或在上述需要传递第二号密钥种子的 PLOAM 消息前传输 Secret_Seed 消息 )。第二号密钥种子也可以在传递 ESN 的上行帧或下行帧中定义一个域携带。
在本实例中, ONU 可以利用图 6 中的 ESN_ONU 消息给 OLT 发送自身的加密序列号 消息, ONU 也可以利用 GPON 系统中用于发送序列号的 Serial_Number_ONU 消息发送加密的 序列号, ONU 将加密的序列号代替明文的序列号放入 Serial_Number_ONU 消息中发送给 OLT 即可。
在本实例中, 可以不对第二号种子信息进行加密, 第二号种子信息以明文发送, 可 以对整个 PLOAM 消息进行加密, 也可以对 PLOAM 消息的部分字节进行加密。
实例二
OLT 和 ONU 处存储了一个预共享密钥种子, 预共享密钥种子也称为用于生成加密 密钥 (Key) 的第一号密钥种子 ; OLT 和 ONU 处存储了一个用于标识 ONU 身份的注册标识 RegID, OLT 存储了 RegID、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系 ; OLT 和 ONU 处存储了相同的用于计算 Key 的算法 ; 扩展的 PLOAM 消息的格式在实例一中已经进 行了说明, 在此不在赘述。ONU 的注册激活过程如下 :
步骤 S301, ONU 侦听 OLT 发送的下行 GTC 帧并获取帧同步。
步骤 S302, ONU 侦听 OLT 周期性发送的 Upstream_Overhead( 和 Extended_Burst_ Length) 消息并获取消息中的参数配置。
步骤 S303, 未注册激活的 ONU 侦听 OLT 发送的 SN_Request, 接收到 SN_Request 之 后, ONU 将用于标识自身身份的 RegID 作为第二号密钥种子, 并利用计算 Key 的算法对第一 号密钥种子和第二号密钥种子进行计算得到 Key, 然后, ONU 利用 Key 对序列号信息进行加 密, 得到 ESN 并存储 ESN。ONU 将 ESN 和自身的 RegID 通过 Serial_Number 消息发送给 OLT, Serial_Number 消息在实例一中已经进行了说明, 在此不再赘述。ONU 计算 ESN+C(C 为一个 常数 ) 的值为 ESNN, ONU 用 ESSN 值取代 RegID 的值, 即, 更新了 RegID 的值。
步骤 S304, OLT 接收到某个 ONU 发送的上述 Serial_Number 消息后, 通过 ONU 发送 的 RegID 可以在本地查询此 RegID 对应的 ONU 的第一号密钥种子, OLT 利用计算 Key 的算法 对第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号进行 解密, 得到 ONU 的序列号信息。OLT 计算 ESN+C 的值为 ESNN, OLT 用 ESSN 值取代 RegID 的 值, 即, 更新了 RegID 的值, OLT 存储所述更新的 RegID、 对应的 ONU 的序列号和对应的第一 号密钥种子的对应关系。 OLT 向该 ONU 通过发送 Assign_ONU-ID 消息向该 ONU 分配 ONU-ID, Assign_ONU-ID 消息的格式在实例一中已经进行了说明, 在此不再赘述。ONU 接收到上述 Assign_ONU-ID 消息之后, ONU 判断 Assign_ONU-ID 中的 ESN 与自身存储的 ESN 是否相同,如果相同, 则 ONU 存储上述 Assign_ONU-ID 消息中的 ONU-ID。
步骤 S305, OLT 向该 ONU 发送 Ranging_Request, 开始对该 ONU 进行测距。
步骤 S306, 该 ONU 接收到 Ranging_Request 后, ONU 在本地产生一个用于充当第二 号密钥种子的随机数, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计 算得到 Key, 然后 ONU 利用 Key 对序列号信息进行加密, 得到新的 ESN。ONU 将上述新的 ESN 和上述用于充当第二号密钥种子的随机数通过 Serial_Number 消息发送给 OLT ;
步骤 S307, OLT 接收到该 ONU 发送的 Serial_Number 消息后, OLT 利用计算 Key 的 算法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号 进行解密, 得到 ONU 的序列号信息, OLT 计算测距结果 EqD 并将测距结果 EqD 通过 Ranging_ Time 消息发送给该 ONU, 完成 ONU 注册激活过程。OLT 存储 ONU-ID、 对应的 ONU 的序列号和 对应的第一号密钥种子的对应关系。
当上述 ONU 掉电重启后, ONU 再次进入注册激活过程, ONU 接收到 OLT 发送的 SN_ Request 后, ONU 将上述用于标识自身身份而且更新后的 RegID 作为第二号密钥种子, 其他 步骤与 ONU 第一次接入到 GPON 系统中进行注册激活的过程相同, 此处不再赘述。
在上述注册激活过程中, OLT 可以在收到 ONU 的序列号后的任何时刻对 ONU 的序 列号信息进行认证, 例如, OLT 可以在上述步骤 S307 接收到序列号信息后对其进行认证。
在本实例中, 第二号密钥种子信息是通过在携带 ESN 的 PLOAM 消息中增加一个字 节传送, 也可以根据需要增加两个或多个字节传递第二号密钥种子。也可以新建一个名为 Secret_Seed 的 PLOAM 消息传递第二号密钥种子, 图 7 是根据本发明实施例的 Secret_Seed 消息的格式示意图, 如图 7 所示。在上述需要传递第二号密钥种子的 PLOAM 消息后紧跟 Secret_Seed 消息 ( 或在上述需要传递第二号密钥种子的 PLOAM 消息前传输 Secret_Seed消息 )。第二号密钥种子也可以在传递 ESN 的上行帧或下行帧中定义一个域携带。
在本实例中, 可以不对第二号种子信息进行加密, 第二号种子信息以明文发送, 可 以对整个 PLOAM 消息进行加密, 也可以对 PLOAM 消息的部分字节进行加密。
实例三
OLT 和 ONU 处存储了一个预共享密钥种子, 预共享密钥种子也称为用于生成加密 密钥 (Key) 的第一号密钥种子 ; OLT 和 ONU 处存储了一个用于标识 ONU 身份的注册标识 RegID, OLT 存储了 RegID、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系 ; OLT 和 ONU 处存储了相同的用于计算 Key 的算法 ; 扩展的 PLOAM 消息的格式在实例一中已经进 行了说明, 在此不再赘述。
ONU 的注册激活过程如下 :
步骤 S401, ONU 侦听 OLT 发送的下行 GTC 帧并获取帧同步。
步骤 S402, ONU 侦听 OLT 周期性发送的 Upstream_Overhead( 和 Extended_Burst_ Length) 消息并获取消息中的参数配置。
步骤 S403, 未注册激活的 ONU 侦听 OLT 发送的 SN_Request, 接收到 SN_Request 后, ONU 将用于标识自身身份的 RegID 作为第二号密钥种子, 并利用计算 Key 的算法对第一号密 钥种子和第二号密钥种子进行计算得到 Key, 然后, ONU 利用 Key 对序列号信息进行加密, 得 到 ESN 并存储 ESN。ONU 将加密后的序列号和自身的 RegID 通过 Serial_Number 消息发送 给 OLT, 该消息在实例一中已经进行了说明, 在此不再赘述。
步骤 S404, OLT 收到某个 ONU 发送的上述 Serial_Number 消息后, 通过 ONU 发送的 RegID 可以在本地查询此 RegID 对应的 ONU 的第一号密钥种子, OLT 利用计算 Key 的算法对 第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号进行解 密, 得到 ONU 的序列号信息, OLT 存储接收到的 ESN, 并存储 ESN、 对应的 ONU 的序列号和对 应的第一号密钥种子的对应关系。OLT 向该 ONU 通过发送 Assign_ONU-ID 消息向该 ONU 分 配 ONU-ID, Assign_ONU-ID 消息的格式在实例一中已经进行了说明, 在此不再赘述。ONU 收 到上述 Assign_ONU-ID 消息后, ONU 判断 Assign_ONU-ID 中的 ESN 与自身存储的 ESN 是否 相同, 如果相同, ONU 存储上述 Assign_ONU-ID 消息中的 ONU-ID。
步骤 S405, OLT 向该 ONU 发送 Ranging_Request, 开始对该 ONU 进行测距。
步骤 S406, 该 ONU 接收到 Ranging_Request 后, ONU 在本地产生一个用于充当第二 号密钥种子的随机数, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计 算得到 Key, 然后 ONU 利用 Key 对序列号信息进行加密, 得到新的 ESN。ONU 将上述新的 ESN 和上述用于充当第二号密钥种子的随机数通过的 Serial_Number 消息发送给 OLT, 该消息 在实例一中已经进行了说明, 在此不再赘述。
步骤 S407, OLT 接收到该 ONU 发送的 Serial_Number 消息后, OLT 利用计算 Key 的 算法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号 进行解密, 得到 ONU 的序列号信息, OLT 计算测距结果 EqD 并将测距结果 EqD 通过 Ranging_ Time 消息发送给该 ONU, 完成 ONU 注册激活过程。OLT 存储 ONU-ID、 对应的 ONU 的序列号和 对应的第一号密钥种子的对应关系。
在上述注册激活过程中, OLT 可以在收到 ONU 的序列号后的任何时刻对 ONU 的序 列号信息进行认证, 例如, OLT 可以在上述步骤 S404 收到序列号信息后对其进行认证, 也可以在步骤 S407 接收到序列号信息后对其进行认证。
当上述 ONU 掉电重启后, ONU 再次进入注册激活过程, ONU 的注册激活过程的步骤 如下 :
步骤 S501, ONU 侦听 OLT 发送的下行 GTC 帧并获取帧同步。
步骤 S502, ONU 侦听 OLT 周期性发送的 Upstream_Overhead( 和 Extended_Burst_ Length) 消息并获取消息中的参数配置。
步骤 S503, OLT 发送 SN_Request 的同时采用下述方法更新本地存储的已注册过 的所有 ONU 的 ESN 值 : OLT 将发送 SN_Request 的下行帧中的超帧计数器 (Super Frame Counter) 中的超帧号作为第二号密钥种子, OLT 利用生成 Key 的算法对第一号密钥种子和 上述第二号密钥种子进行计算得到 Key, 然后, OLT 利用上述 Key 对 ONU 的 Serial Number 进行加密, 得到更新后的 ESN 的值, OLT 用更新后的 ESN 的值覆盖对应的前一个 ESN 的值, 完成已注册过的 ONU 的 ESN 值的更新。
步骤 S504, 完成过注册并掉电后重新进入注册激活过程的 ONU 侦听 OLT 发送的 SN_Request, 收到 SN_Request 后, 将发送 SN_Request 的下行帧中 Super Frame Counter 中 的超帧号作为第二号密钥种子, ONU 利用生成 Key 的算法对第一号密钥种子和上述第二号 密钥种子进行计算得到 Key, 然后 ONU 利用上述 Key 对自身的 Serial Number 进行加密, 得 到更新后的 ESN 并存储更新后的 ESN, ONU 将更新后的 ESN 通过本发明的 ESN_ONU(ONU 的加 密序列号 ) 消息发送给 OLT。ESN_ONU 消息的格式在实例一中已经进行了说明, 在此不再赘 述。
步骤 S505, OLT 接收到 ONU 发送的上述 ESN_ONU 消息后, 如果此 ESN 信息属于 OLT 本地存储的 ESN 列表, OLT 可以找到上述 ESN 与某个 ONU 的 Serial Number 以及第一号密钥 种子的对应关系, OLT 判断此 ONU 已经完成过认证。OLT 向该 ONU 通过发送 Assign_ONU-ID 消息向该 ONU 分配 ONU-ID, Assign_ONU-ID 消息的格式在实例一中已经进行了说明, 在此不 再赘述。ONU 收到上述 Assign_ONU-ID 消息后, ONU 判断 Assign_ONU-ID 中的 ESN 与自身存 储的 ESN 是否相同, 如果相同, ONU 存储上述 Assign_ONU-ID 消息中的 ONU-ID。
步骤 S506, OLT 向该 ONU 发送 Ranging_Request, 开始对该 ONU 进行测距。
步骤 S507, 该 ONU 接收到 Ranging_Request 后, ONU 在本地产生一个用于充当第二 号密钥种子的随机数, 并利用计算 Key 的算法对第一号密钥种子和第二号密钥种子进行计 算得到 Key, 然后 ONU 利用 Key 对序列号信息进行加密, 得到新的 ESN。ONU 将上述新的 ESN 和上述用于充当第二号密钥种子的随机数通过图 3 所示的 Serial_Number 消息发送给 OLT。
步骤 S508, OLT 收到该 ONU 发送的 Serial_Number 消息后, OLT 利用计算 Key 的算 法对第一号密钥种子和第二号密钥种子进行计算得到 Key, 并利用 Key 对接收的序列号进 行解密, 得到 ONU 的序列号信息, OLT 计算测距结果 EqD 并将测距结果 EqD 通过 Ranging_ Time 消息发送给该 ONU, 完成 ONU 注册激活过程。OLT 存储 ONU-ID、 对应的 ONU 的序列号和 对应的第一号密钥种子的对应关系。
在上述注册激活过程中, OLT 可以在收到 ONU 的序列号后的任何时刻对 ONU 的序 列号信息进行认证, 例如, OLT 可以在上述步骤 S507 接收到序列号信息后对其进行认证。
在本实例中, 第二号密钥种子信息是通过在携带 ESN 的 PLOAM 消息中增加一个字 节传送, 也可以根据需要增加两个或多个字节传递第二号密钥种子。也可以新建一个名为Secret_Seed 的 PLOAM 消息传递第二号密钥种子, 图 7 是根据本发明实施例的 Secret_Seed 消息的格式示意图, 如图 7 所示。在上述需要传递第二号密钥种子的 PLOAM 消息后紧跟 Secret_Seed 消息 ( 或在上述需要传递第二号密钥种子的 PLOAM 消息前传输 Secret_Seed 消息 )。第二号密钥种子也可以在传递 ESN 的上行帧或下行帧中定义一个域携带。
在本实例中, ONU 利用 ESN_ONU 消息给 OLT 发送自身的加密序列号消息, 该消息在 实例一中已经进行了说明, 在此不再赘述。ONU 也可以利用 GPON 系统中用于发送序列号的 Serial_Number_ONU 消息发送加密的序列号, ONU 将加密的序列号代替明文的序列号放入 Serial_Number_ONU 消息中发送给 OLT 即可。
在本实例中, 不对第二号种子信息进行加密, 第二号种子信息以明文发送, 可以对 整个 PLOAM 消息进行加密, 也可以对 PLOAM 消息的部分字节进行加密。
实例四
OLT 和 ONU 处存储了相同的用于计算 Key 的算法 ; OLT 和 ONU 处存储了一个预共享 密钥种子, 预共享密钥种子也称为用于生成加密密钥 (Key) 的第一号密钥种子 ; OLT 每次发 送 SN_Request、 Ranging_Request 带宽分配或者包含 ONU 序列号信息的 Disable_Serial_ Number 消息时, OLT 将携带上述 SN_Request、 Ranging_Request 或 Disable_Serial_Number 的下行帧中 Super FrameCounter 中的超帧号作为第二号密钥种子, OLT 利用生成密钥算 法对上述对应各个 ONU 的第一号密钥种子和上述第二号密钥种子进行计算, 得到对应各个 ONU 的 Key, OLT 利用上述不同的 Key 分别对对应的 ONU 的序列号进行加密, 得到各个 ONU 的 ESN, OLT 存储了 ESN、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系。每次 OLT 发送 SN_Request 和 Ranging_Request 的带宽分配或者 Disable_Serial_Number message 消息时, OLT 更新上述各个 ONU 的 ESN, 并更新各个 ONU 的 ESN、 对应的 ONU 的序列号和对应 的第一号密钥种子的对应关系。
ONU 的注册激活过程的步骤如下 :
步骤 S601, ONU 侦听 OLT 发送的下行 GTC 帧并获取帧同步。
步骤 S602, ONU 侦听 OLT 周期性发送的 Upstream_Overhead( 和 Extended_Burst_ Length) 消息并获取消息中的参数配置。
步骤 S603, OLT 发送 SN_Request 的同时更新上述各个 ONU 的 ESN, 并更新各个 ONU 的 ESN、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系。
步 骤 S604, ONU 侦 听 OLT 发 送 的 SN_Request, 收 到 SN_Request 后, 将 发 送 SN_ Request 的下行帧中 Super Frame Counter 中的超帧号作为第二号密钥种子, ONU 利用生成 Key 的算法对第一号密钥种子和上述第二号密钥种子进行计算得到 Key, 然后 ONU 利用上述 Key 对自身的 Serial Number 进行加密, 得到更新后的 ESN, ONU 将更新后的 ESN 通过本发 明的 ESN_ONU(ONU 的加密序列号 ) 消息发送给 OLT。ESN_ONU 消息的格式在实例一中已经 进行了说明, 在此不再赘述。
步骤 S605, OLT 接收到 ONU 发送的上述 ESN_ONU 消息后, 如果此 ESN 信息属于 OLT 本地存储的 ESN 列表, OLT 可以找到上述 ESN 与某个 ONU 的 Serial Number 以及第一号密钥 种子的对应关系, OLT 可以得到 ONU 的序列号信息。OLT 向该 ONU 发送 Assign_ONU-ID 消息 时, OLT 更新上述各个 ONU 的 ESN, 并更新各个 ONU 的 ESN、 对应的 ONU 的序列号和对应的第一 号密钥种子的对应关系。OLT 将更新的 ESN 放入到的 Assign_ONU-ID 消息中携带 ESN 的域,该消息在实例一中已经进行了说明, 在此不再赘述。OLT 通过 Assign_ONU-ID 消息向该 ONU 分配 ONU-ID。ONU 接收到包含上述加密序列号的 Assign_ONU-ID 消息后, 将发送 Ranging_ Request 的下行帧中 Super Frame Counter 中的超帧号作为第二号密钥种子, ONU 利用生成 Key 的算法对第一号密钥种子和上述第二号密钥种子进行计算得到 Key, 并利用 Key 对接收 到的加密序列号信息进行解密, 得到 ONU 的序列号信息。如果解密后序列号信息与自身的 序列号信息相同, ONU 可以判断 OLT 发送的上述包含加密序列号的 Assign_ONU-ID 消息是 发送给自己的, ONU 存储 OLT 发送的 ONU-ID 的信息, 否则, ONU 抛弃 OLT 发送的上述消息。
步骤 S606, OLT 向该 ONU 发送 Ranging_Request 的同时更新上述各个 ONU 的 ESN, 并更新各个 ONU 的 ESN、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系。OLT 开 始对该 ONU 进行测距。
步骤 S607, 该 ONU 接收到 Ranging_Request 后, 将发送 Ranging_Request 的下行帧 中 Super Frame Counter 中的超帧号作为第二号密钥种子, ONU 利用生成 Key 的算法对第 一号密钥种子和上述第二号密钥种子进行计算得到 Key, 然后 ONU 利用上述 Key 对自身的 Serial Number 进行加密, 得到更新后的 ESN, ONU 将更新后的 ESN 通过本发明的 ESN_ONU 消 息发送给 OLT。ESN_ONU 消息的格式在实例一中已经进行了说明, 在此不再赘述。 步骤 S608, OLT 接收到该 ONU 发送的 ESN_ONU 消息后, 如果此 ESN 信息属于 OLT 本 地存储的 ESN 列表, OLT 可以找到上述 ESN 与某个 ONU 的 Serial Number 以及第一号密钥种 子的对应关系, OLT 可以得到 ONU 的序列号信息。OLT 计算测距结果 EqD 并将测距结果 EqD 通过 Ranging_Time 消息发送给该 ONU, 完成 ONU 注册激活过程。OLT 存储 ONU-ID、 对应的 ONU 的序列号和对应的第一号密钥种子的对应关系。
在本施例中, ONU 利用 ESN_ONU 消息给 OLT 发送自身的加密序列号消息, 该消息在 实例一中已经进行了说明, 在此不再赘述。ONU 也可以利用 GPON 系统中用于发送序列号的 Serial_Number_ONU 消息发送加密的序列号, ONU 将加密的序列号代替明文的序列号放入 Serial_Number_ONU 消息中发送给 OLT 即可。
在本实例中, 将下行帧中 Super Frame Counter 中的超帧号作为第二号密钥种子, 也可以将上行帧或下行帧中其它域的内容作为第二号密钥种子。 第二号密钥种子可以在上 行帧或下行帧中定义一个域携带。
系统实施例
根据本发明的实施例, 还提供了一种无源光网络的加密 / 解密系统, 包括 OLT 和一 个或多个 ONU, 在该系统中 :
OLT 用于存储与每个 ONU 对应的第一加密信息, 其中, 第一加密信息用于对 ONU 的 序列号信息进行加密和 / 或解密 ; ONU 用于根据第一加密信息对 ONU 的序列号信息进行加 密, 并向 OLT 发送携带有 ONU 的第二加密信息的消息 ; OLT 还用于接收来自 ONU 的携带有 ONU 的第二加密信息的消息, 并根据第二加密信息从本地获取 ONU 的序列号信息。
需要说明的是, 该系统与上述的方法实施中的方法相对应, 该系统中的 OLT 和 ONU 的处理方式在上述实施例中已经详细描述, 在此不再赘述。
显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所组成 的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以将它们存储
在存储装置中由计算装置来执行, 或者将它们分别制作成各个集成电路模块, 或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样, 本发明不限制于任何特定的 硬件和软件结合。
以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何修 改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。