串口透传WiFi密钥协商过程详解
目前,在嵌入式领域,智能家居、智能工业、智能公交等等控制中,WiFi已经成为了一种普遍被采用的技术。
笔者常年在嵌入式WiFi行业做一线技术开发。我们前面有文档曾详细描述了串口WiFi模块加电到联网过程,本文将接着上面文档描述成功联网后,WiFi模块与无线路由器之间的秘钥协商过程。
我们都知道为了信息的安全考虑,WiFi的物理层采用了多种加密方式对数据进行加密。通常我们所见到的加密方式有,WEP64、WEP128、WPA、WPA2、WAPI等。严格意义上来说,WPA只是秘钥协商的协议,加密方式的话是TKIP或者CCMP。
本文以SimpleWiFi的S2W-M02为例,描述串口WiFi的秘钥协商过程:
首先,我们先介绍一下,串口WiFi的秘钥协商EAPOL的全部协议流程。
我们简单描述一下WPA/WPA2的4次握手中的一些关键词:
WPA/WPA2使用4次握手的方式来产生所需要的密钥。四次握手通过一系列的交互,从PMK(Pairwise Master Key)生成PTK(Pairwise Transient Key)