串口透传WiFi模块S2W-M02密钥协商过程详解

                                          串口透传WiFi密钥协商过程详解

         目前,在嵌入式领域,智能家居、智能工业、智能公交等等控制中,WiFi已经成为了一种普遍被采用的技术。      

         笔者常年在嵌入式WiFi行业做一线技术开发。我们前面有文档曾详细描述了串口WiFi模块加电到联网过程,本文将接着上面文档描述成功联网后,WiFi模块与无线路由器之间的秘钥协商过程。

         我们都知道为了信息的安全考虑,WiFi的物理层采用了多种加密方式对数据进行加密。通常我们所见到的加密方式有,WEP64WEP128WPAWPA2WAPI等。严格意义上来说,WPA只是秘钥协商的协议,加密方式的话是TKIP或者CCMP

         本文以SimpleWiFiS2W-M02为例,描述串口WiFi的秘钥协商过程:

         首先,我们先介绍一下,串口WiFi的秘钥协商EAPOL的全部协议流程。

         我们简单描述一下WPA/WPA24次握手中的一些关键词:

         WPA/WPA2使用4次握手的方式来产生所需要的密钥。四次握手通过一系列的交互,从PMKPairwise Master Key)生成PTKPairwise Transient Key)。

        PMK来自MSKMaster Session Key),是MSK的前256位,32字节。

        PTK包含3个部分,KCKKey Confirmation Key),KEKKey Encryption Key),TKTemporal Key)。PTK的总长度根据加密方式不同而不同。当加密方式是TKIP时,PTK512位,按顺序分别为KCK128位,KEK128位,TK128,MIC key128位。当加密方式是CCMP时,PTK384位,按顺序分别为KCK128位,KEK128位,TK128位。

        上面说的,PTK就是数据传输时,收发单播数据时候用的加解密密码。PMK是固定的,在设置了PSK(无线路由器密码)后,PMK是根据无线路由器的SSID(无线路由器名称)和密码导出的一串数字。

        我们可以看下4步握手的流程如下:

  4次握手的交互过程,其中Authenticator就是我们的无线路由器,Supplicant就是我们的SimpleWiFi模块S2W-M02

     1/4Authenticator(无线路由器) -> SupplicantS2W-M02):

               Authenticator(无线路由器)把ANonce送给SupplicantS2W-M02)。SupplicantS2W-M02)收                   到1/4后,就有了生成PTK的所有元素。因为1/4里同时也包含了Authenticator(无线路由器)的MAC地址。

    2/4SupplicantS2W-M02-> Authenticator(无线路由器):

               SupplicantS2W-M02)计算出PTK,把SNonce和自己的MAC地址送给Authenticator(无线路由                        器)。同时,从2/4报文开始,后面的每个报文都会有MIC1/4没有。

    3/4Authenticator(无线路由器) -> SupplicantS2W-M02):

               Authenticator(无线路由器)向SupplicantS2W-M02)证明自己有有效的,同样有MIC加入其中。

    4/4SupplicantS2W-M02 -> Authenticator(无线路由器)

                            仅是对3/4的一个ACK。说明PTK已经装好,后面的数据可以加密了。

 

          WPAWPA24次握手上的区别,WPAGTK会在4次握手完成以后进行安装,而WPA2GTK则是在4次握手的过程中就进行了安装;如下图:

一、WPA加密方式的4步握手:

       WPA:4-way handshake (PTK)——单播密钥协商阶段

      

      WPA:2-way handshake (GTK)——组播密钥通告阶段

 

 

二、WPA2加密方式的4步握手:

      WPA2GTK则是在4次握手的过程中就进行了,因此WPA2EAPOL过程只有4步。

 

         SimpleWiFi串口转WiFi模块S2W-M02作为一个通用的WiFi的终端,符合标准的802.11协议,因此对于所有的WiFi设备,密钥协商的步骤与上面一样。

       我们在查找WiFi模块联网通讯过程中的问题时,可以通过一些辅助的手段进行抓包操作。然后,根据模块与无线路由器之间的通讯流程来判断问题所在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值