专利名称:密钥交换方法和装置的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种密钥交换方法和装置。
背景技术:
吉比特无源光网络(Gigabit Passive Optical Network,简称为GP0N)是一种基于ITU-T G. 984系列的宽带无源光接入技术,GPON系统一般包括光线路终端(Optical Line Terminal,简称为0LT)0LT、光网络单元(Optical Network Unit,简称为0NU)和光分布网 络(Optical Distribution Network,简称为0DN)。其中,ODN为点到多点结构,一个OLT 通过ODN连接多个0NU,在数据传输过程汇总,OLT向ONU发送的数据称为下行数据,ONU向 OLT发送的数据称为上行数据。在GPON系统中,下行数据具有天然广播特性,OLT发送的数据能够被所有与其 相连接的ONU接收到。出于安全性的考虑,ITU-TGP0N标准采用(Advanced Encryption Standard,简称为AES)加密技术对下行数据进行加密,OLT和ONU各自保存密钥共同完成 密钥管理,OLT利用本地保存的密钥对其发送的下行数据进行加密,ONU利用本地保存的密 钥对来自OLT的下行数据进行解密。图1是GPON系统中,OLT和ONU进行密钥切换的消息交互示意图,如图1所示, 在GPON系统中,OLT和ONU之间的密钥管理流程可分为三个阶段密钥交换、密钥切换帧交 换、密钥切换。其中,OLT和ONU之间通过物理层操作管理维护(Physical LayerOperation Administration & Maintenance,简称为PL0AM)消息完成密钥交换和密钥切换帧交换。在密钥交换阶段,OLT向ONU发送RequestJfey (请求密钥)消息,ONU接收到 RequestJfey消息之后,产生新的密钥及索引,并将该新的密钥及索引保存到shad0W_key_ register (备用密钥寄存器)。然后,将上述新的密钥及索引通过Encryptionjfey (加密密 钥)消息发送给0LT,其中,新的密钥及索引需要分为两段通过两个Encryptionjfey消息进 行发送,且每个Encryptionjfey消息中携带相同的密钥索引。OLT接收到上述Encryptionjfey消息之后,如果能解析出正确的密钥及索引,则 将解析出的密钥及索引保存到本地的shad0W_key_regiSter寄存器,此时,OLT和ONU完成 密钥交换过程。如果OLT没有接收到或者正确解析出ONU发送的密钥及索引,则表示密钥 交换失败,OLT会重新启动密钥交换,如果密钥交换的失败次数为三次,则OLT会声明一个 LOKi并去激活0NU,其中,LOK表示密钥丢失(Loss of Key),i表示ONU的编号。如果密钥交换成功,则进入密钥切换帧交换阶段。在密钥切换帧交换阶段,OLT选 择一个未来的复帧(可以称为密钥切换帧)作为OLT和ONU开始使用新密钥的第一帧,并将 密钥切换帧的复帧号通过Key_SWitChing_Time (密钥切换时间)消息发送给0NU。ONU正 确收到OLT发送的Key_Switching_Time消息则向OLT发送Acknowledge (确认)消息表示 已经获取密钥切换帧的复帧号。如果OLT正确收到ONU发送的Acknowledge消息则表示密 钥切换帧交换成功,否则声明一个LOAi (L0A,Loss of Acknowledge,确认丢失,i表示ONU 编号)并去激活该0NU。
如果密钥切换帧交换成功,则进入密钥切换阶段。在密钥切换阶段,OLT在开始发 送密钥切换帧时执行密钥切换,具体为复制本地shad0W_key_register寄存器中的密钥 及索引到本地的aCtive_key_regiSter寄存器),并用新密钥对下行帧(包括密钥切换帧) 进行加密;ONU在接收到密钥切换帧时执行密钥切换(复制本地的Shad0W_key_regiSter 寄存器中的密钥及索引到aCtive_key_regiSter (在用密钥寄存器))并用新密钥对下行帧 (包括密钥切换帧)进行解密。
GPON标准规定,如果ONU检测到短暂的信号丢失(Loss ofSignal,简称为LOS)/ 帧丢失(Loss ofFrame,简称为L0F),0LT可能会重新启动密钥管理过程(这种发送策略会 导致密钥请求消息的频繁发送,加大了网络负担,并且在发送之前缺少对发送条件的判断, 因此发送处理是盲目执行的),而密钥管理的重新启动可能会导致多个RequestJfey消息 先后到达0NU。在密钥交换阶段中,ONU收到Requestjfey消息就会产生新密钥及索引,如果多个 Requestjfey消息先后到达0NU,则会多次产生新密钥及索引。由于每次产生新密钥及索引 ONU都会通过Encryptionjfey消息发送给0LT,因此如果两次产生新密钥及索引之间的时 间间隔较短时,可能会引起OLT和ONU之间的密钥不一致。具体地,在OLT发送两次Requestjfey消息的情况下,例如,如图2所示,OLT先发 送Requestjfey 1消息,稍后由于ONU经历短暂的L0S/L0F,OLT重新启动密钥管理过程并 发送Request_Key2消息,从ONU侧观察,ONU在接收到Requestjfey 1消息之后,会向OLT返 回对应于 Request_Key 1 消息的 Encryption_Key 1 (parti)禾口 Encryption_Key 1 (part2) (假设其中携带的密钥为Keyl) ;ONU在接收到Requestjfey 2消息后,会向OLT返回对应于 Requestjfey 2 消息的 Encryption_Key 2 (parti)禾口 Encryption_Key 2 (part2) (fi设其中 携带的密钥为Key2),在ONU中等待切换的密钥是Key2。从OLT侧观察,OLT发出RequeSt_ Key 1消息之后,由于重新启动密钥管理过程并发出Requestjfey 2消息,Requestjfey 1 消息在OLT侧已经无效,OLT在发出Requestjfey 2消息后首先接收到Encryption_Key 1 (parti)和Encryption_Key 1 (part2),OLT会解析出Keyl作为本地等待切换的密钥,这 样,在 OLT 接收到 Encryption_Key 2 (parti)和 Encryption_Key 2 (part2)时,不会再解析 Key2,并认为该Key2是无效消息(因为OLT已经解析到正确的Keyl)。从上述分析可以看 出,ONU中等待切换的密钥是Key2,OLT中等待切换的密钥是Keyl,这样,OLT和ONU在执行 密钥切换后就出现了 OLT和ONU之间密钥不一致的问题。然而,目前尚未提出能够解决上述OLT和ONU之间密钥不一致的问题的技术方案。
发明内容
考虑到相关技术中存在的OLT和ONU之间密钥不一致的问题而提出本发明,为此, 本发明的主要目的在于提供一种密钥交换方法及装置,以解决上述问题。根据本发明的一个方面,提供了一种密钥交换方法。根据本发明的密钥交换方法包括响应于来自光线路终端的请求密钥消息,光网 络单元根据其上密钥参数的使用状态进行处理,其中,处理包括产生对应于请求密钥消息 的密钥参数、或禁止产生对应于请求密钥消息的密钥参数。其中,在光网络单元上密钥参数的使用状态为无可用的密钥参数、或者当前正在使用已产生的密钥参数情况下,光网络单元进行的处理为产生对应于请求密钥消息的密钥 参数。此外,在光网络单元上密钥参数的使用状态为当前未使用已产生的密钥参数情况下,光网络单元进行的处理为禁止其本身产生对应于请求密钥消息的密钥参数。优选地,在光网络单元进行处理之前,该方法可进一步包括光网络单元将其上的 指定存储器配置为用于存储已产生且当前未使用的密钥参数;光网络单元根据指定存储器 是否保存有密钥参数,确定密钥参数的使用状态。具体地,在光网络单元上密钥参数的使用状态为无可用的密钥参数、或者当前正 在使用已产生的密钥参数情况下,确定密钥参数的使用状态包括指定存储器中未存储有 密钥参数,则将指定存储器的状态置为空状态;另一方面,在光网络单元上密钥参数的使用 状态为当前未使用已产生的密钥参数情况下,确定密钥参数的使用状态包括指定存储器 中存储有密钥参数,则将指定存储器的状态置为非空状态。进一步地,在光网络单元产生对应于请求密钥消息的密钥参数之后,该方法还可 包括光网络单元将产生的密钥参数写入到指定存储器中,并将指定存储器的状态置为非 空状态。此外,在将指定存储器的状态置为非空状态之后,该方法还可包括如果光网络单 元使用写入的密钥参数完成密钥切换,则将指定存储器的状态置为空状态。优选地,上述指定存储器为备用密钥寄存器。并且,上述密钥参数包括以下至少之一密钥、密钥索引、预先设置的状态指示字 段。根据本发明的另一方面,提供了 一种密钥交换装置。根据本发明的密钥交换装置包括存储器,用于存储光网络单元产生的密钥参数; 状态设置模块,用于根据存储器是否存储有密钥参数设置存储器的状态;控制模块,用于根 据存储器的状态控制处理模块;处理模块,用于在控制模块的控制下进行处理,其中,处理 包括产生对应于来自光线路终端的请求密钥消息的密钥参数、或禁止产生对应于请求密 钥消息的密钥参数。其中,状态设置模块可用于在存储器中未存储有密钥参数的情况下将存储器的状 态置为空状态;且状态设置模块还用于在存储器中存储有密钥参数的情况下将存储器的状 态置为非空状态。控制模块还可用于在存储器的状态置为空状态的情况下,允许处理模块产生的新 的密钥参数;且用于在存储器的状态为非空状态的情况下,禁止处理模块产生新的密钥参 数。借助本发明的上述至少一个技术方案,通过使得光网络单元响应于来自光线路终 端的请求密钥消息,根据密钥参数的使用状态判断是否产生对应于所述请求密钥消息的密 钥参数,在密钥交换阶段增加了重复请求密钥消息的鉴别及保护手段,有效避免了由于请 求密钥消息重复出现导致密钥盲目生成以及由此带来的OLT与ONU之间密钥不一致的问 题,以简单的方式实现了 OLT与ONU之间的密钥统一。
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1是根据相关技术的GPON密钥管理过程的消息交互示意图;图2是根据相关技术的GPON密钥管理过程的出现异常情况时的消息交互示意图;图3是根据本发明方法实施例的密钥交换方法的流程图;图4是根据本发明方法实施例的密钥交换方法的消息交互示意图;图5是根据本发明装置实施例的密钥交换装置的结构框图。
具体实施例方式功能概述针对相关技术中的上述问题,S卩,在密钥管理过程刚开始就遇到了密钥管理过程 的重启,如图2所示,Encryption_Keyl消息将匹配到Request_Key2消息,即OLT中采用的 是Encryption_Keyl携带的密钥,而ONU中采用的是Encryption_Key2所携带的密钥,导致 密钥切换后OLT和ONU之间的密钥将不一致。本发明提出使得GPON系统中的ONU在收到 密钥请求消息后进行密钥使用状态的判断,进而确定是否响应于该请求消息生成对应的密 钥,能够有效避免重复产生新密钥和/或密钥索引,从而解决了 OLT和ONU之间的密钥不一 致的问题,实现了 OLT和ONU之间密钥的稳定可靠同步。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实 施例仅用于说明和解释本发明,并不用于限定本发明。方法实施例根据本发明实施例,提供了一种密钥交换方法。图3是根据本发明实施例的密钥交换方法的流程图,需要说明的是,为了便于描 述,在图3中以步骤的形式示出并描述了本发明的方法实施例的技术方案,在图3中所示出 的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。虽然在图3中示出了逻辑 顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图3所 示,该方法用于确定对待传输块进行分割所需的参数,主要包括以下步骤(步骤S302至步 骤 S304)。步骤S302,响应于来自光线路终端的请求密钥消息,光网络单元根据其上密钥参 数的使用状态进行处理,该密钥参数包括以下至少之一密钥、密钥索引、预先设置的状态 指示字段。步骤S304,上述处理包括产生对应于请求密钥消息的密钥参数、或禁止产生对 应于请求密钥消息的密钥参数。其中,在光网络单元上密钥参数的使用状态为无可用的密钥参数、或者当前正在 使用已产生的密钥参数情况下,光网络单元进行的处理为产生对应于请求密钥消息的密钥 参数;在光网络单元上密钥参数的使用状态为当前未使用已产生的密钥参数情况下,光网 络单元进行的处理为禁止其本身产生对应于请求密钥消息的密钥参数。在具体实施过程中,光网络单元可以将其上的指定存储器配置为用于存储已产生且当前未使用的密钥参数,利用该指定存储器的状态表示密钥参数的状态,这样,光网络单元可以根据指定存储器的状态确定光网络单元密钥参数的使用状态,具体地,光网络单元 可以根据指定存储器是否保存有密钥参数,来确定密钥参数的使用状态,例如,在光网络单 元上密钥参数的使用状态为无可用的密钥参数、或者当前正在使用已产生的密钥参数时, 表示指定存储器中未存储有密钥参数,此时,可以将指定存储器的状态置为空状态,在光网 络单元上密钥参数的使用状态为当前未使用已产生的密钥参数时,表示指定存储器中存储 有密钥参数,此时,可以将指定存储器的状态置为非空状态。并且,在光网络单元产生对应于请求密钥消息的密钥参数之后,光网络单元会将 产生的密钥参数写入到指定存储器中,并将指定存储器的状态置为非空状态,如果光网络 单元使用写入的密钥参数完成密钥切换,则将指定存储器的状态置为空状态。借助上述处理,能够在密钥交换阶段增加了重复请求密钥消息的鉴别及保护手 段,有效避免了由于请求密钥消息重复出现导致密钥盲目生成以及由此带来的OLT与ONU 之间密钥不一致的问题,以简单的方式实现了 OLT与ONU之间的密钥统一。下面以指定存储器为Shad0W_key_regiSter (备用密钥寄存器)对图3所示的方 法进行具体说明。首先,为Shad0W_key_regiSter设置状态,并且设置至少能够描述shad0W_key_ register的两个状态空状态、非空状态,其中,shadow_key_register的状态为空状态,表 示shadow_key_register中无有效的密钥和/或密钥索引, shadow_key_register 的状态 为非空,表示shad0W_key_register中存在有效的密钥和/或密钥索引。完成shad0W_key_regi ster的状态设置之后,设置下述规则在shad0W_key_ register为空状态时,响应于OLT的Request_Key消息,ONU才产生新的密钥和/或密钥 索引,才可以向shadow_key_register中写入该新的密钥和/或密钥索引;在shadow_key_ register为非空状态时,响应于OLT的Request_Key消息,ONU不产生新的密钥和/或密钥 索引,从而不向shadow_key_register中写入新的密钥和/或密钥索引。在初始条件下,shadow_key_register为空状态,当发生密钥切换时,ONU响应于 OLT的Request_Key消息,产生新的密钥和/或密钥索弓丨,并向shadow_key_register中 写入该新的密钥和/或密钥索引,发生密钥切换时,会将shad0W_key_register中的密钥 和/或密钥索引转移到active_key_register (在用密钥寄存器)中,同时将shadow_key_ register设置为空状态。通过Shad0W_key_regiSter的状态表示密钥参数状态的情况下,本发明对图1所 示的示意图进行改进,图4是改进后的密钥交换方法的消息交互图,如图4所示,包括以下处理。步骤1,OLT向ONU发送请求密钥消息(RequestJfey消息),请求密钥和/或密钥 索引。步骤2,ONU收到请求密钥消息后,会检查shad0W_key_register (为了便于描 述,将该 shadow_key_register 禾尔为 shadow_key_registerl)的状态,如果 shadow_key_ register 1的状态为非空状态(例如,shadow_key_register 1中已保存了密钥B和/或 密钥索引B),则ONU不产生新密钥和/或密钥索引,并取出Shad0W_key_regiSter 1中的密 钥B和/或密钥索引B,将密钥B和/或密钥索引B发送给OLT ;如果Shad0W_key_regiSter1的状态为空状态,ONU会产生新的密钥和/或密钥索引(例如,密钥A和/或密钥索引A), 并将该新的密钥A和/或密钥索引A保存到shadow_key_register 1中,同时将shadow_ key_register 1置为非空状态,之后,ONU取出shadow_key_register 1中的密钥A和/或 密钥索引A,将密钥A和/或密钥索引A发送给0LT。 步骤3,如果OLT正确接收到ONU发送的密钥和/或密钥索引,将该密钥和/或密钥 索引保存入OLT本地的shadow_key_register(为了便于描述,将该shadow_key_register 称为Shad0W_key_regiSter 2),并选择一个未来的复帧作为密钥切换帧,之后,将该密钥切 换帧的帧号发送给0NU。步骤4,OLT在开始发送密钥切换帧时,执行密钥切换(即,将本地shad0W_key_ register 2寄存器中的密钥和/或密钥索引复制到本地的active_key_register寄存 器),并利用aCtive_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行加密。步骤5,ONU在接收到密钥切换帧时执行密钥切换(将本地的shad0W_key_ register 1寄存器中的密钥和/或密钥索引复制到aCtiVe_key_regiSter寄存器),并利 用active_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行解密,并将 shadow_key_regi ster 1 设置为空状态。在具体实施过程中,可以通过ONU的shadow_key_register中的不同字段表示 shadow_key_register的状态,下面结合具体实例对本发明进行描述。实例1利用密钥索引表示shadow_key_register的状态在该实例中,ONU的shadow_key_register的状态设置方式为将shadow_key_ register保存的密钥索引置为0 (该取值仅仅为示例,本实施方式不排除使用其他取值) 时,表示shadow_key_register为空状态,将shadow_key_register保存的密钥索引置为 1-255时,表示shadow_key_register为非空状态,这里,1-255为实际可用的密钥索引。在本实例中,GPON系统的密钥管理过程为步骤1,OLT向ONU发送请求密钥消息(RequestJfey消息),请求密钥和/或密钥 索引。步骤2,ONU收到请求密钥消息后,会检查其本地的shad0W_key_register (为了便 于描述,将该shadow_key_register称为shadow_key_register 1)中保存的密钥索弓丨,如 果该密钥索引不为0,则认为Shad0W_key_regiSter 1为非空状态,已保存了密钥和/或密 钥索引(例如,shadow_key_register 1中已保存了密钥B和/或密钥索引B),此时,ONU 不产生新密钥和/或密钥索引,ONU会取出shadow_key_register 1中的密钥B和/或密 钥索引B,将密钥B和/或密钥索引B发送给OLT ;如果Shad0W_key_regiSter 1中保存的 密钥索引为0,则认为Shad0W_key_regiSter 1为空状态,此时,ONU会产生新的密钥和/或 密钥索引(密钥索引的取值范围为1-255,例如,密钥A和/或密钥索引A),并将该新的密 朗 A 禾口 / 或密朗索弓I A 保存至Ij shadow_key_register 1 中,同时)If shadow_key_register 1置为非空状态,之后,ONU会取出Shad0W_key_regiSter 1中的密钥A和/或密钥索引A, 将密钥A和/或密钥索引A发送给0LT。步骤3,如果OLT正确接收到ONU发送的密钥和/或密钥索引,将该密钥和/或密钥 索引保存入OLT本地的shadow_key_register(为了便于描述,将该shadow_key_register称为Shad0W_key_regiSter 2),并选择一个未来的复帧作为密钥切换帧,之后,将该密钥切 换帧的帧号发送给ONU ;如果OLT没有正确接收到ONU发送的密钥和/或密钥索引,OLT会 声明一个LOKi并激活ONU。步骤4,OLT在开始发送密钥切换帧时,执行密钥切换(即,将本地shad0W_key_ register 2寄存器中的密钥和/或密钥索引复制到本地的active_key_register寄存 器),并利用aCtive_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行加密。步骤5,ONU在接收到密钥切换帧时执行密钥切换(将本地的shad0W_key_ register 1寄存器中的密钥和/或密钥索引复制到aCtiVe_key_regiSter寄存器),并利 用active_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行解密,并将 shadow_key_register 1中的密钥索弓|设置为0,表示shadow_key_register 1设置为空 状态。实例2利用密钥表示shadow_key_register的状态在该实例中,ONU的shadow_key_register的状态设置方式为将shadow_key_ register保存的密钥置为0(16个字节全为0)(该取值仅仅为示例,本实施方式不排除使用 其他取值)时,表示shadow_key_register为空状态,将shadow_key_register保存的密钥 索引置为非0时,表示Shad0W_key_regiSter为非空状态。在本实例中,GPON系统的密钥管理过程为步骤1,OLT向ONU发送请求密钥消息(RequestJfey消息),请求密钥和/或密钥 索引。步骤2,ONU收到请求密钥消息后,会检查其本地的shad0W_key_register (为了 便于描述,将该shadow_key_register称为shadow_key_register 1)中保存的密钥,如果 该密钥不为0,则认为Shad0W_key_regiSter 1为非空状态,已保存了密钥和/或密钥索引 (例如,shad0W_key_register 1中已保存了密钥B和/或密钥索引B),此时,ONU不产生新 密钥和/或密钥索引,ONU会取出Shad0W_key_regiSter 1中的密钥B和/或密钥索引B, 将密钥B和/或密钥索引B发送给OLT ;如果Shad0W_key_regiSter 1中保存的密钥为0, 则认为shad0W_key_register 1为空状态,此时,ONU会产生新的密钥A和/或密钥索引A, 并将该新的密钥A和/或密钥索引A保存到shadow_key_register 1中,同时将shadow_ key_register 1置为非空状态,之后,ONU会取出shadow_key_register 1中的密钥A和/ 或密钥索引A,将密钥A和/或密钥索引A发送给0LT。步骤3,如果OLT正确接收到ONU发送的密钥和/或密钥索引,将该密钥和/或密钥 索引保存入OLT本地的shadow_key_register(为了便于描述,将该shadow_key_register 称为Shad0W_key_regiSter 2),并选择一个未来的复帧作为密钥切换帧,之后,将该密钥切 换帧的帧号发送给ONU ;如果OLT没有正确接收到ONU发送的密钥和/或密钥索引,OLT会 声明一个LOKi并激活ONU。步骤4,OLT在开始发送密钥切换帧时,执行密钥切换(即,将本地shad0W_key_ register 2寄存器中的密钥和/或密钥索引复制到本地的active_key_register寄存 器),并利用aCtive_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行加密。
步骤5,ONU在接收到密钥切换帧时执行密钥切换(将本地的shad0W_key_ register1寄存器中的密钥和/或密钥索引复制到aCtiVe_key_regiSter寄存器),并利 用active_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行解密,并将 shadow_key_register 1中的密钥设置为0,表示shadow_key_register 1设置为空状态。实例3利用预先设置的状态指示字段表示shad0W_key_regi ster的状态在该实例中,ONU的shadow_key_register的状态设置方式为为shadow_key_ register设置一个状态指示字段(例如,shadow_status),当shadow_status为0 (该取值 仅仅为示例,本实施方式不排除使用其他取值)时,表示Shad0W_key_regiSter为空状态, 当 shadow_status 为非 0 时,表不 shadow_key_register 为非空状态。在本实例中,GPON系统的密钥管理过程为步骤1,OLT向ONU发送请求密钥消息(RequestJfey消息),请求密钥和/或密钥 索引。步骤2,ONU收到请求密钥消息后,会检查其本地的shad0W_key_register (为了 便于描述,将该 shadow_key_register 禾尔为 shadow_key_register 1)中保存的 shadow_ status,如果该shadow_status不为0,则认为shadow_key_register 1为非空状态,已保存 了密钥和/或密钥索引(例如,shad0W_key_register 1中已保存了密钥B和/或密钥索引 B),此时,ONU不产生新密钥和/或密钥索引,ONU会取出shadow_key_register 1中的密 钥B和/或密钥索引B,将密钥B和/或密钥索引B发送给OLT ;如果该shadow—status为 0,则认为shad0W_key_register 1为空状态,此时,ONU会产生新的密钥A和/或密钥索引 A,并将该新的密钥A和/或密钥索引A保存到shadow_key_register 1中,同时将shadow_ key_register 1置为非空状态,之后,ONU会取出shadow_key_register 1中的密钥A和/ 或密钥索引A,将密钥A和/或密钥索引A发送给0LT。步骤3,如果OLT正确接收到ONU发送的密钥和/或密钥索引,将该密钥和/或密钥 索引保存入OLT本地的shadow_key_register(为了便于描述,将该shadow_key_register 称为Shad0W_key_regiSter 2),并选择一个未来的复帧作为密钥切换帧,之后,将该密钥切 换帧的帧号发送给ONU ;如果OLT没有正确接收到ONU发送的密钥和/或密钥索引,OLT会 声明一个LOKi并激活ONU。步骤4,OLT在开始发送密钥切换帧时,执行密钥切换(即,将本地shad0W_key_ register 2寄存器中的密钥和/或密钥索引复制到本地的active_key_register寄存 器),并利用aCtive_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行加密。步骤5,ONU在接收到密钥切换帧时执行密钥切换(将本地的shad0W_key_ register 1寄存器中的密钥和/或密钥索引复制到aCtiVe_key_regiSter寄存器),并利 用active_key_regiSter寄存器中的密钥对下行帧(包括密钥切换帧)进行解密,并将 shadow_status 置为 0,以表不 shadow_key_register 1 设置为空状态。装置实施例根据本发明实施例,提供一种密钥交换装置。图5示出了根据本发明实施例的密钥交换装置的结构框图,如图5所示,该装置包 括存储器10、状态设置模块20、控制模块30和处理模块40。
存储器10,用于存储光网络单元产生的密钥参数;状态设置模块20,连接至存储器10,用于根据存储器是否存储有密钥参数设置存储器的状态;控制模块30,连接至状态 设置模块20,用于根据存储器的状态控制处理模块;处理模块40,连接至控制模块30,用于 在控制模块的控制下进行处理,其中,上述处理包括产生对应于来自光线路终端的请求密 钥消息的密钥参数、或禁止产生对应于请求密钥消息的密钥参数,其中,密钥参数包括以下 至少之一密钥、密钥索引、预先设置的状态指示字段。在具体实施过程中,状态设置模块20具体用于在存储器10中未存储有密钥参数 的情况下将存储器10的状态置为空状态,并在存储器10中存储有密钥参数的情况下将存 储器10的状态置为非空状态,相应地,控制模块30用于在存储器10的状态置为空状态的 情况下,允许处理模块40产生的新的密钥参数,且用于在存储器10的状态为非空状态的情 况下,禁止处理模块产生新的密钥参数,并在处理模块40产生新的密钥参数时,将该新的 密钥参数写入到存储器10中。通过本发明实施例提供的密钥交换装置,能够在密钥交换阶段增加了重复请求密 钥消息的鉴别及保护手段,有效避免了由于请求密钥消息重复出现导致密钥盲目生成以及 由此带来的OLT与ONU之间密钥不一致的问题,以简单的方式实现了 OLT与ONU之间的密 钥统一。如上所述,借助于本发明提供的密钥交换方法和/或装置,通过使得光网络单元 响应于来自光线路终端的请求密钥消息,根据密钥参数的使用状态判断是否产生对应于 所述请求密钥消息的密钥参数,在密钥交换阶段增加了重复请求密钥消息的鉴别及保护手 段,有效避免了由于请求密钥消息重复出现导致密钥盲目生成以及由此带来的OLT与ONU 之间密钥不一致的问题,此外,实现本发明仅需要对密钥的当前使用情况(取决于备用密 钥寄存器的状态的置位)进行判断,能够以简单的方式实现了 OLT与ONU之间的密钥统一, 实现了 OLT和ONU之间密钥的可靠同步。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种密钥交换方法,其特征在于,包括响应于来自光线路终端的请求密钥消息,光网络单元根据其上密钥参数的使用状态进行处理,其中,所述处理包括产生对应于所述请求密钥消息的密钥参数、或禁止产生对应于所述请求密钥消息的密钥参数。
2.根据权利要求1所述的方法,其特征在于,在所述光网络单元上密钥参数的使用状 态为无可用的密钥参数、或者当前正在使用已产生的密钥参数情况下,所述光网络单元进 行的所述处理为产生对应于所述请求密钥消息的密钥参数。
3.根据权利要求1所述的方法,其特征在于,在所述光网络单元上密钥参数的使用状 态为当前未使用已产生的密钥参数情况下,所述光网络单元进行的所述处理为禁止其本身 产生对应于所述请求密钥消息的密钥参数。
4.根据权利要求2或3所述的方法,其特征在于,所述光网络单元进行所述处理之前, 进一步包括所述光网络单元将其上的指定存储器配置为用于存储已产生且当前未使用的密钥参数;所述光网络单元根据所述指定存储器是否保存有密钥参数,确定密钥参数的使用状态。
5.根据权利要求4所述的方法,其特征在于,在所述光网络单元上密钥参数的使用状态为无可用的密钥参数、或者当前正在使用已 产生的密钥参数情况下,确定密钥参数的使用状态包括所述指定存储器中未存储有密钥参数,则将所述指定 存储器的状态置为空状态;在所述光网络单元上密钥参数的使用状态为当前未使用已产生的密钥参数情况下, 确定密钥参数的使用状态包括所述指定存储器中存储有密钥参数,则将所述指定存 储器的状态置为非空状态。
6.根据权利要求5所述的方法,其特征在于,在光网络单元产生对应于所述请求密钥 消息的密钥参数之后,所述方法还包括所述光网络单元将产生的所述密钥参数写入到所述指定存储器中,并将所述指定存储 器的状态置为非空状态。
7.根据权利要求6所述的方法,其特征在于,在将所述指定存储器的状态置为非空状 态之后,所述方法还包括如果所述光网络单元使用所述写入的密钥参数完成密钥切换,则将所述指定存储器的 状态置为空状态。
8.根据权利要求4所述的方法,其特征在于,所述指定存储器为备用密钥寄存器。
9.根据权利要求1至3中任一项所述的方法,其特征在于,所述密钥参数包括以下至少 之一密钥、密钥索引、预先设置的状态指示字段。
10.一种密钥交换装置,其特征在于,包括 存储器,用于存储光网络单元产生的密钥参数;状态设置模块,用于根据所述存储器是否存储有密钥参数设置所述存储器的状态; 控制模块,用于根据所述存储器的状态控制处理模块;所述处理模块,用于在所述控制模块的控制下进行处理,其中,所述处理包括产生对 应于来自光线路终端的请求密钥消息的密钥参数、或禁止产生对应于所述请求密钥消息的 密钥参数。
11.根据权利要求10所述的装置,其特征在于,所述状态设置模块用于在所述存储器 中未存储有密钥参数的情况下将所述存储器的状态置为空状态;且所述状态设置模块还用 于在所述存储器中存储有密钥参数的情况下将所述存储器的状态置为非空状态。
12.根据权利要求11所述的装置,其特征在于,所述控制模块用于在所述存储器的状 态置为空状态的情况下,允许所述处理模块产生的新的密钥参数;且用于在所述存储器的 状态为非空状态的情况下,禁止所述处理模块产生新的密钥参数。
全文摘要
本发明公开了一种密钥交换方法和装置,该方法包括响应于来自光线路终端的请求密钥消息,光网络单元根据其上密钥参数的使用状态进行处理,其中,所述处理包括产生对应于所述请求密钥消息的密钥参数、或禁止产生对应于所述请求密钥消息的密钥参数。借助本发明,通过使得光网络单元响应于来自光线路终端的请求密钥消息,根据密钥参数的使用状态判断是否产生对应于所述请求密钥消息的密钥参数,在密钥交换阶段增加了重复请求密钥消息的鉴别及保护手段,有效避免了由于请求密钥消息重复出现导致密钥盲目生成以及由此带来的OLT与ONU之间密钥不一致的问题,以简单的方式实现了OLT与ONU之间的密钥统一。
文档编号H04L29/06GK101848401SQ20091011970
公开日2010年9月29日 申请日期2009年3月25日 优先权日2009年3月25日
发明者张伟良 申请人:中兴通讯股份有限公司