发明名称 节点间会话密钥的建立系统及方法
摘要 节点间会话密钥的建立系统,该系统包括终端设备和连接设备,终端设备包括发起端终端设备以及接收端终端设备,连接设备包括核心连接设备、在发起端终端设备与核心连接设备之间链路上的发起端连接设备以及在接收端终端设备与核心连接设备之间链路上的接收端连接设备。本发明解决了局域网节点间分配和更新过程极为复杂的技术问题,本发明建立过程灵活,无需用户参与配置即可实现节点间会话密钥的建立,保证了后续节点间的通信的机密性。
申请公布号 CN101964803B 申请公布日期 2012.11.28
申请号 CN201010518563.1 申请日期 2010.10.25
申请人 西安西电捷通无线网络通信股份有限公司 发明人 铁满霞;李琴;黄振海;胡亚楠
分类号 H04L29/06(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 西安智邦专利商标代理有限公司 61211 代理人 王少文
主权项 节点间会话密钥的建立系统,其特征在于:该系统包括终端设备和连接设备,所述终端设备包括发起端终端设备以及接收端终端设备,所述连接设备包括核心连接设备、在发起端终端设备与核心连接设备之间链路上的发起端连接设备以及在接收端终端设备与核心连接设备之间链路上的接收端连接设备;所述发起端终端设备和接收端终端设备分别生成一随机数并秘密通告给对方,发起端终端设备和接收端终端设备分别利用自己生成的随机数以及收到的由对方生成的随机数计算得到一致的会话密钥,完成会话密钥的建立;所述发起端连接设备包括第一连接设备(SW1),所述接收端连接设备包括第二连接设备(SW2),所述发起端终端设备包括第一终端设备(STA‑A),所述接收端终端设备包括第二终端设备(STA‑B);所述第一连接设备(SW1)以及第二连接设备(SW2)分别与核心连接设备(SW‑Center)存在安全连接,所述第一连接设备(SW1)与第一终端设备(STA‑A)存在安全连接,所述第二连接设备(SW2)与第二终端设备(STA‑B)存在安全连接,具体包括:第一终端设备(STA‑A)与第一连接设备(SW1)之间建立具有第一共享密钥(KEYA‑1)的安全连接;所述第一连接设备(SW1)是指从第一终端设备(STA‑A)到第二终端设备(STA‑B)的数据包经过的第一个连接设备;第一连接设备(SW1)与核心连接设备(SW‑Center)之间建立具有第二共享密钥(KEY1‑Center)的安全连接;核心连接设备(SW‑Center)与第二连接设备(SW2)之间建立具有第三共享密钥(KEY2‑Center)的安全连接;所述第二连接设备(SW2)是指从第一终端设备(STA‑A)到第二终端设备(STA‑B)的数据包经过的最后一个连接设备;第二连接设备(SW2)与第二终端设备(STA‑B)之间建立具有第四共享密钥(KEYB‑2)的安全连接;所述第一终端设备(STA‑A)和第二终端设备(STA‑B)分别生成一随机数并秘密通告给对方,第一终端设备(STA‑A)和第二终端设备(STA‑B)利用自己生成的随机数以及收到的由对方生成的随机数计算得到并建立一致的会话密钥,具体包括:第一终端设备(STA‑A)发送第一密钥协商请求分组(M1)给第一连接设 备(SW1);第一终端设备(STA‑A)通过第一密钥协商请求分组(M1)将第一终端设备(STA‑A)生成的第一终端设备询问随机数秘密通告给第一连接设备(SW1),所述第一密钥协商请求分组包括IDSTA‑B字段、E1(NonceA)字段以及消息验证码MIC1字段;所述IDSTA‑B字段表示第二终端设备STA‑B的标识;所述E1(NonceA)字段是表示询问资料数据,是由第一终端设备STA‑A利用第一共享密钥KEYA‑1对第一终端设备询问随机数NonceA加密后的数据;其中NonceA是由第一终端设备(STA‑A)生成的第一终端设备询问随机数;所述MIC1字段表示消息完整性验证码,是由第一终端设备(STA‑A)利用第一共享密钥(KEYA‑1)对该第一密钥协商请求分组(M1)中本字段外的其他字段通过杂凑函数计算得到的杂凑值;第一连接设备(SW1)接收到第一密钥协商请求分组(M1)后发送第二密钥协商请求分组(M2)给核心连接设备(SW‑Center);第一连接设备(SW1)通过第二密钥协商请求分组(M2)将得到的第一终端设备询问随机数秘密通告给核心连接设备(SW‑Center):第一连接设备(SW1)利用第一共享密钥(KEYA‑1)验证MIC1是否正确,若不正确,则丢弃第一密钥协商请求分组;否则,第一连接设备(SW1)利用第一共享密钥(KEYA‑1)解密E1(NonceA)字段得到第一终端设备询问随机数NonceA;第一连接设备(SW1)构造第二密钥协商请求分组(M2)并发送给核心连接设备(SW‑Center):所述第二密钥协商请求分组(M2)包括IDSTA‑A字段、IDSTA‑B字段、E2(NonceA)字段以及消息验证码MIC2字段,所述IDSTA‑A字段表示第一终端设备(STA‑A)的标识;所述E2(NonceA)字段是表示询问资料数据,是由第一连接设备(SW1)利用第二共享密钥(KEY1‑Center)对第一终端设备询问随机数NonceA加密后的数据;所述MIC2字段表示消息完整性验证码,是由第一连接设备(SW1)利用第二共享密钥(KEY1‑Center)对第二密钥协商请求分组(M2)中MIC2字段之外的其他字段通过杂凑函数计算得到的杂凑值;核心连接设备(SW‑Center)接收到第二密钥协商请求分组(M2)后发送第三密钥协商请求分组(M3)给第二连接设备(SW2);核心连接设备(SW‑Center)通过第三密钥协商请求分组(M3)将得到的第一终端设备询问随机数秘密通告给第二连接设备(SW2):核心连接设备(SW‑Center)利用第二共享密钥(KEY1‑Center)验证MIC2字段是否正确,若不正确,则丢弃第二密钥协商请求分组(M2);否则,核心连接设备(SW‑Center)利用第二共享密钥(KEY1‑Center)解密E2(NonceA)字段得到第一终端设备询问随机数NonceA;核心连接设备(SW‑Center)发送第三密钥协商请求分组(M3)给第二连接设备(SW2);所述第三密钥协商请求分组(M3)包括IDSTA‑A字段、IDSTA‑B字段、E3(NonceA)字段以及消息验证码MIC3字段,所述E3(NonceA)字段是询问资料数据,是由核心连接设备(SW‑Center)利用第三共享密钥(KEY2‑Center)对第一终端设备询问随机数NonceA加密后的数据;所述MIC3字段表示消息完整性验证码,是由核心连接设备(SW‑Center)利用第三共享密钥(KEY2‑Center)对第三密钥协商请求分组(M3)中本字段外的其他字段通过杂凑函数计算得到的杂凑值第二连接设备(SW2)接收到第三密钥协商请求分组(M3)发送第四密钥协商请求分组(M4)给第二终端设备(STA‑B);第二连接设备(SW2)通过第四密钥协商请求分组(M4)将得到的第一终端设备询问随机数秘密通告给第二终端设备(STA‑B):第二连接设备(SW2)利用第三共享密钥(KEY2‑Center)验证MIC3字段是否正确,若不正确,则丢弃第三密钥协商请求分组(M3);否则,第二连接设备(SW2)利用第三共享密钥(KEY2‑Center)解密E3(NonceA)字段得到第一终端设备询问随机数NonceA;第二连接设备(SW2)发送第四密钥协商请求分组(M4)给第二终端设备(STA‑B):所述第四密钥协商请求分组(M4)包括IDSTA‑A字段、E4(NonceA) 字段以及MIC4字段,所述E4(NonceA)字段是询问资料数据,是由第二连接设备(SW2)利用第四共享密钥(KEYB‑2)对第一终端设备询问随机数NonceA加密后的数据;所述MIC4字段表示消息完整性验证码,是由第二连接设备(SW2)利用第四共享密钥(KEYB‑2)对第四密钥协商请求分组(M4)中MIC4字段外的其他字段通过杂凑函数计算得到的杂凑值;第二终端设备(STA‑B)接收到第四密钥协商请求分组(M4)发送第四密 钥协商响应分组(M5)给第二连接设备(SW2);第二终端设备(STA‑B)在利用得到的第一终端设备询问随机数及第二终端设备生成的第二终端设备询问随机数计算得到会话密钥后,通过第四密钥协商响应分组(M5)将第二终端设备生成的第二终端设备询问随机数秘密通告给第二连接设备(SW2):第二终端设备(STA‑B)利用第四共享密钥(KEYB‑2)验证MIC4字段是否正确,若不正确,则丢弃第四密钥协商请求分组(M4);否则,第二终端设备(STA‑B)利用第四共享密钥(KEYB‑2)解密E4(NonceA)字段得到第一终端设备询问随机数NonceA;第二终端设备(STA‑B)随即生成第二终端设备询问随机数NonceB,通过单向函数F(NonceA,NonceB)计算得到第一终端设备(STA‑A)和第二终端设备(STA‑B)之间的会话密钥KEYA‑B;第二终端设备(STA‑B)构造第四密钥协商响应分组(M5)并发送给第二连接设备(SW2);所述第四密钥协商响应分组(M5)包括IDSTA‑A字段、E5(NonceB)字段以及MIC5字段所述E5(NonceB)字段是询问资料数据,是由第二终端设备(STA‑B)利用第四共享密钥(KEYB‑2)对第二终端设备询问随机数NonceB加密后的数据,其中NonceB是由第二终端设备(STA‑B)生成的第二终端设备询问随机数;所述MIC5字段表示消息完整性验证码,是由第二终端设备(STA‑B)利用第四共享密钥(KEYB‑2)对第四密钥协商响应分组(M5)中MIC5字段之外的其他字段通过杂凑函数计算得到的杂凑值;第二连接设备(SW2)接收到第四密钥协商响应分组(M5)后发送第三密钥协商响应分组(M6)给核心连接设备(SW‑Center);第二连接设备(SW2)通过第三密钥协商响应分组(M6)将得到的第二终端设备询问随机数秘密通告给核心连接设备(SW‑Center):第二连接设备(SW2)验证第四密钥协商响应分组(M5)中的IDSTA‑A字段和第四密钥协商请求分组(M4)中IDSTA‑A字段值是否一致,若不一致,则丢弃第四密钥协商响应分组(M5);否则,第二连接设备(SW2)利用第四共享密钥(KEYB‑2)验证MIC5字段是否正确,若不正确,则丢弃第四密钥协商响应分组(M5);否则, 第二连接设备(SW2)利用第四共享密钥(KEYB‑2)解密E5(NonceB) 字段得到第二终端设备询问随机数NonceB;第二连接设备(SW2)构造第三密钥协商响应分组(M6)并发送给核心连接设备(SW‑Center);所述第三密钥协商响应分组(M6)包括IDSTA‑A字段、IDSTA‑B字段、E6(NonceB)字段以及MIC6字段,所述E6(NonceB)字段是询问资料数据,是由第二连接设备(SW2)利用第三共享密钥(KEY2‑Center)对第二终端设备询问随机数NonceB加密后的数据;所述MIC6字段表示消息完整性验证码,是由第二连接设备(SW2)利用第三共享密钥(KEY2‑Center)对第三密钥协商响应分组(M6)中MIC6字段之外的其他字段通过杂凑函数计算得到的杂凑值;核心连接设备(SW‑Center)接收到第三密钥协商响应分组(M6)后发送第二密钥协商响应分组(M7)给第一连接设备(SW1);核心连接设备(SW‑Center)通过第二密钥协商响应分组(M7)将得到的第二终端设备询问随机数秘密通告给第一连接设备(SW1):验证第三密钥协商响应分组(M6)的IDSTA‑A字段、IDSTA‑B字段和之前发送的第三密钥协商请求分组(M3)中对应IDSTA‑A字段、IDSTA‑B字段是否一致,若都不一致,则丢弃第三密钥协商响应分组(M6);若一致核心连接设备(SW‑Center)利用第三共享密钥(KEY2‑Center)验证MIC6字段是否正确,若不正确,则丢弃第三密钥协商响应分组(M6),否则,核心连接设备(SW‑Center)利用第三共享密钥(KEY2‑Center)解密E6(NonceB)字段得到第二终端设备询问随机数NonceB;核心连接设备(SW‑Center)构造第二密钥协商响应分组(M7)并发送给第一连接设备(SW1);所述第二密钥协商响应分组(M7)包括IDSTA‑A字段、IDSTA‑B字段、E7(NonceB)字段以及MIC7字段,所述E7(NonceB)字段是询问资料数据,是由核心连接设备(SW‑Center)利用第二共享密钥(KEY1‑Center)对第二终端设备询问随机数NonceB加密后的数据;所述MIC7字段是表示消息完整性验证码,是由核心连接设备(SW‑Center)利用第二共享密钥(KEY1‑Center)对第二密钥协商响应分组(M7)中MIC7字段之外的其他字段通过杂凑函数计算得到的杂凑值;第一连接设备(SW1)接收到第二密钥协商响应分组后(M7)发送第一密钥协商响应分组(M8)给第一终端设备(STA‑A);第一连接设备(SW1)通过第 一密钥协商响应分组(M8)将得到的第二终端设备询问随机数秘密通告给第一终端设备(STA‑A):验证第二密钥协商响应分组(M7)的IDSTA‑A字段、IDSTA‑B字段和之前发送的第二密钥协商请求分组(M2)中对应IDSTA‑A字段、IDSTA‑B字段是否一致,若不一致,则丢弃第二密钥协商响应分组(M7);否则,第一连接设备(SW1)利用第二共享密钥(KEY1‑Center)验证MIC7字段是否正确,若不正确,则丢弃第二密钥协商响应分组(M7),否则,执行步骤9.3];第一连接设备(SW1)利用第二共享密钥(KEY1‑Center)解密E7(NonceB)字段得到第二终端设备询问随机数NonceB;第一连接设备(SW1)构造第一密钥协商响应分组(M8)并发送给第一终端设备(STA‑A),所述第一密钥协商响应分组(M8)包括IDSTA‑B字段、E8(NonceB)字段以及MIC8字段;所述E8(NonceB)字段表示询问资料数据,是由第一连接设备(SW1)利用第一共享密钥(KEYA‑1)对第二终端设备询问随机数NonceB加密后的数据;所述MIC8字段是表示消息完整性验证码,是由第一连接设备(SW1)利用第一共享密钥(KEYA‑1)对第一密钥协商响应分组(M8)中MIC8字段之外的的其他字段通过杂凑函数计算得到的杂凑值;第一终端设备(STA‑A)接收第一密钥协商响应分组(M8),利用第一终端设备(STA‑A)生成的第一终端设备询问随机数及得到的第二终端设备询问随机数计算得到会话密钥,完成与第二终端设备(STA‑B)之间的会话密钥的建立;第一终端设备(STA‑A)和第二终端设备(STA‑B)之间采用会话密钥(KEYA‑B))进行秘密通信:验证第一密钥协商响应分组(M8)中的IDSTA‑B字段和之前发送的第一密钥协商请求分组(M1)中对应IDSTA‑B字段是否一致,若不一致,则丢弃第一密钥协商响应分组(M8);否则, 第一终端设备(STA‑A)利用第一共享密钥(KEYA‑1)验证MIC8是否正确,若不正确,则丢弃第一密钥协商响应分组(M8),否则第一终端设备(STA‑A)利用第一共享密钥(KEYA‑1)解密E8(NonceB)字段得到第二终端设备询问随机数NonceB;第一终端设备(STA‑A)通过单向函数F(NonceA,NonceB)计算得到第一终端设备(STA‑A)和第二终端设备(STA‑B)之间的会话密钥KEYA‑B  。
地址 710075 陕西省西安市高新区科技二路68号西安软件园秦风阁A201