串口透传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)——单播密钥协商阶段

      

串口透传WiFi模块S2W-M02密钥协商过程详解_第1张图片

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

 

串口透传WiFi模块S2W-M02密钥协商过程详解_第2张图片

 

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

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

串口透传WiFi模块S2W-M02密钥协商过程详解_第3张图片

 

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

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

你可能感兴趣的:(串口透传WiFi模块S2W-M02密钥协商过程详解)