发明名称 一种三步握手协议方法
摘要 本发明涉及一种适合超宽带网络的三步握手协议方法。该方法包括以下步骤:1)发起者向响应者发送消息1;2)响应者收到消息1后,向发起者发送消息2;3)发起者收到消息2后向发起者发送消息3;4)响应者收到消息3后向发起者发送消息4;5)发起者收到消息4后,各自获得相应的成对临时密钥PTK和密钥确认密钥KCK。本发明用于成对临时密钥PTK更新时,发送者直接利用上一次成对临时密钥PTK协商过程产生并保存的I-Nonce构造消息1发送给响应者,同时三步握手协议所交互的消息无需进行加密处理,因此相比ECMA386的三步握手协议不仅具有防重放的功能,而且在资源受限的应用中更具有优势。
申请公布号 CN101431519A 申请公布日期 2009.05.13
申请号 CN200810184137.1 申请日期 2008.12.09
申请人 西安西电捷通无线网络通信有限公司 发明人 铁满霞;曹军;胡亚楠;肖跃雷;黄振海
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 西安智邦专利商标代理有限公司 代理人 商宇科
主权项 1、一种三步握手协议方法,其特征在于:该方法包括以下步骤:1)发起者向响应者发送消息1,消息1中包括PTKID、MKID、UD、I-Nonce,其中成对临时密钥标识PTKID是发起者随机选取的值,该成对临时密钥标识PTKID不与本地存储的或正在进行的三步握手协议或成组临时密钥GTK分发协议中使用的临时密钥标识TKID相同,主密钥标识MKID是成对主密钥PMK的标志,更新标识UD表示是否为成对临时密钥PTK的更新过程,I-Nonce是发起者生成的随机数;2)响应者收到消息1后,进行如下处理:2. 1)验证主密钥标识MKID是否为发起者和响应者预共享的成对主密钥PMK的标识;若不是,则丢弃该消息,若是则执行步骤2.2);2. 2)验证是否存在使用该主密钥标识MKID正在执行的三步握手协议;若存在,则丢弃该消息,若不存在,则执行步骤2.3);2. 3)验证成对临时密钥标识PTKID;若成对临时密钥标识PTKID与本地存储的或正在进行的三步握手协议或成组临时密钥GTK分发协议中使用的临时密钥标识TKID相同,则丢弃该消息,若不相同,则执行步骤2.4);2. 4)验证更新标识UD是否为成对临时密钥PTK更新过程;若不是,则执行步骤2.5),若是,则检查I-Nonce是否与本地保存的上一次成对临时密钥PTK协商过程成功后发起者和响应者所协商的I-Nonce值相同,若不相同,则丢弃该消息,若相同,则执行步骤2.5);2. 5)利用随机数产生函数计算生成随机数R-Nonce,并利用扩展函数对成对主密钥PMK、I-Nonce、R-Nonce、发起者的MAC地址I-MAC和响应者的MAC地址R-MAC进行计算得到成对临时密钥PTK、密钥确认密钥KCK和下一次成对临时密钥PTK协商过程的I-Nonce的种子,然后对该种子使用扩展函数计算得到下一次成对临时密钥PTK协商过程的I-Nonce并保存,并向发起者发送消息2,消息2中包括PTKID、MKID、UD、R-Nonce、PTK-MIC,其中成对临时密钥标识PTKID、主密钥标识MKID和更新标识UD与消息1中的对应值相同,成对临时密钥消息完整性码PTK-MIC是利用本地密钥确认密钥KCK对消息2中除成对临时密钥消息完整性码PTK-MIC外的其他参数、消息1中的随机数I-Nonce、发起者的MAC地址I-MAC和响应者的MAC地址R-MAC计算的消息完整性码MIC;3)发起者收到消息2后,进行如下处理:3. 1)若成对临时密钥标识PTKID、主密钥标识MKID、更新标识UD和随机数I-Nonce与消息1中的对应值不成立,则丢弃该消息,若成立,则执行步骤3.2);3. 2)利用扩展函数对成对主密钥PMK、I-Nonce、R-Nonce、发起者的MAC地址I-MAC和响应者的MAC地址R-MAC进行计算得到成对临时密钥PTK、密钥确认密钥KCK和下一次成对临时密钥PTK协商过程的I-Nonce的种子,然后对该种子使用扩展函数计算得到下一次成对临时密钥PTK协商过程的I-Nonce并保存,利用本地密钥确认密钥KCK重新计算消息2中除成对临时密钥消息完整性码PTK-MIC外的其他参数、消息1中的随机数I-Nonce、发起者的MAC地址I-MAC和响应者的MAC地址R-MAC的消息完整性码MIC并与消息2中的成对临时密钥消息完整性码PTK-MIC进行比较;若两者不相同,则丢弃该消息,否则向发起者发送消息3,消息3中包括PTKID、MKID、UD、R-Nonce、PTK-MIC,其中成对临时密钥标识PTKID、主密钥标识MKID、更新标识UD和随机数R-Nonce与消息2中的对应值相同,成对临时密钥消息完整性码PTK-MIC是利用本地密钥确认密钥KCK对消息3中除成对临时密钥消息完整性码PTK-MIC外的其他参数、发起者的MAC地址I-MAC和响应者的MAC地址R-MAC计算的消息完整性码MIC;4)响应者收到消息3后,进行如下处理:4. 1)若成对临时密钥标识PTKID、主密钥标识MKID、更新标识UD和随机数R-Nonce与消息2中的对应值不成立,则丢弃该消息,若成立,则执行4.2)操作;4. 2)利用本地密钥确认密钥KCK重新计算消息3中除成对临时密钥消息完整性码PTK-MIC外的其他参数、发起者的MAC地址I-MAC和响应者的MAC地址R-MAC的消息完整性码MIC并与消息3中的成对临时密钥消息完整性码PTK-MIC进行比较;若两者不相同,则丢弃该消息,若相同,则发起者和响应者成功完成了三步握手协议,各自获得了相应的成对临时密钥PTK密钥、确认密钥KCK和下一次双方用于成对临时密钥PTK更新时的I-Nonce。
地址 710075陕西省西安市高新区科技二路68号西安软件园秦风阁A201