TI CC3000 wifi智能配置如何工作?


25

ti cc3000 wifi芯片具有特殊的智能配置模式,此功能允许对wifi访问详细信息进行初始配置。

cc3000 Wiki页面提供了有关该过程如何工作的一些详细信息,

  1. 芯片进入智能配置“监听”模式
  2. 智能手机上的应用程序发送带有接入点设置的“ UDP”数据包
  3. 芯片捕获该数据并自行配置

我知道数据包捕获和wifi嗅探,但是芯片如何“解密”原始数据包以获取任何信息呢?我在路由器上将wpa2-personal与AES一起使用。


3
感谢您在TI论坛-e2e.ti.com/support/low_power_rf/f/851/p/253463/983616.aspx上开始进行有关此问题的对话-我在那询问了后续问题。并不太满意答案。如果不将CC3000 与AES密钥一起使用,则CC3000 似乎依赖于安全性。请注意,他们声称@GregSadetsky所指向的processors.wiki.ti.com/index.php/…页面已经过时,但没有介绍取代它的内容。
乔治·霍金斯

Answers:


33

正如@Colin提到的,TI 现在用于将网络SSID和密钥短语从设置应用程序传递到支持CC3000的设备的方案称为Smart Config。

Smart Config必须将信息(网络SSID和密钥短语)从安全的wifi网络传送到尚未启用解密功能的支持CC3000的设备。

最初,CC3000未连接到网络(但可以监视流量),因此Smart Config应用程序无法将其信息直接发送到设备。而是将UDP数据包发送到网络上的另一台现有计算机-wifi接入点(AP)。AP对接收它们不感兴趣无关紧要,重要的是数据包在网络上可见。

CC3000可以监视无法解密的流量,甚至无法确定给定的加密数据包是否包含UDP数据。那么,如何挑选UDP数据包或对其进行任何有用的处理呢?

基本上,Smart Config不会以其发送的数据包的内容而是以其长度来编码其信息。Wifi加密会影响数据包的长度,但会以一致的方式进行,即它会在每个数据包的大小上增加L个额外的字节,其中L是一个常数。

Smart Config应用程序将SSID和密钥短语编码为UDP数据包序列的数据包长度。CC3000可以查看加密的数据包及其大小。

在许多环境中,CC3000将能够看到来自多个附近网络的流量,因此如何发现相关流量?即使加密后,仍然可以看到数据包的源和目标的MAC地址,因此可以通过这种方式对流量进行分组。除了Smart Config尝试发送的主要信息外,它还会定期发送重复的数据包长度模式,因此CC3000按所述方式对流量进行分组,然后在给定流量中找到这些模式时,便会寻找此类模式然后重点关注源和目标对以恢复主要信息。

显然还有更多的东西,例如,即使CC3000找到了与AP和运行Smart Config应用程序的机器相对应的源对和目标对,它又如何过滤来自Smart Config数据包之间的其他不相关流量的Smart Config数据包。 AP和机器?我已经在一系列博客文章中写下了所有这些。

技术上最详细的内容涵盖了Smart Config的核心-它如何编码SSID和密钥短语并传输它们,以便CC3000可以接收它们:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-transmitting-ssid.html

然后,我发了一篇技术性较差的文章,更多地是关于为什么您应该始终在Smart Config中使用AES密钥的观点:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-aes.html

中间有一个技术性要点简要地描述了如何使用CC3000期望的必要的AES转换在Java中配置密码。

最后是布丁的证明-我编写了一个应用程序来模拟CC3000与Smart Config相关的行为,即,它可以恢复任何Smart Config应用程序传输的SSID和密钥短语,而无需能够解密相关的网络流量。您可以在此处找到下载源和所有详细信息的位置:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-keyphrase.html

这应该使人们能够测试一个人编写的任何Smart Config应用程序的行为,即,可以看到CC3000将能够从该应用程序传输的数据中重构出什么。

我也有一些其他有关Smart Config / CC3000的帖子:

http://depletionregion.blogspot.ch/search/label/CC3000

对于某些背景信息,在TI论坛上与CC3000有关的通读这些线程也可能很有趣。

第一个介绍Smart Config本身:

http://e2e.ti.com/support/low_power_rf/f/851/t/253463.aspx

在mDNS上,一种是Smart Config应用程序检测到启用CC3000的设备已加入网络的机制:

http://e2e.ti.com/support/low_power_rf/f/851/p/290584/1020839.aspx

在这两个线程中,一些初始消息似乎并不那么相关,但是也混入了一些有趣的信息。但是也有很多不准确的信息,所以不要假设所有信息都是正确的,即使是从TI员工或从我这里获得的信息(我最终学到了很多东西,但都是从一些错误的假设/信念开始的)。

专利已被提及过几次,但是我找不到任何证据表明该技术正在申请或授予专利。


1
请参阅此答案以及相关评论,以解决我在Cryto堆栈交换上所提出的问题-似乎在Smart Config的核心上显示了明确的数据包长度编码思想。这与过程的任何部分是否可以申请专利有关。
2013年

3

注意:如对此答案的注释以及其他答案中所述,以下答案并不反映当前的程序。将此留作历史记录。


似乎CC3000实际上正在所有wifi通道上侦听(“混杂模式”)AP探测请求,所探测(和伪造)的AP的SSID包含CC3000配置其自身以连接到“ true”所需的信息通过它将连接到Internet的AP。

经过一番搜索之后,我发现了该设备首次配置的描述,应该可以清楚地了解一下:

http://processors.wiki.ti.com/index.php/CC3000_First_Time_Configuration

最有趣的一点:

需要将用于执行首次配置的设备(例如手机或平板电脑)配置为使用特制SSID连接到AP。该SSID包括我们希望CC3000连接的SSID的名称,以及有关安全选项的信息,例如安全类型和密钥。


2
次要点-CC3000始终使用监视模式而不是混杂模式。此答案中以及链接到TI页面上描述的“首次配置”方法已被一个称为Smart Config的方法所取代,该方法已包含在我的答案中
乔治·霍金斯

2
该答案与SmartConfig方法无关,但与当前设备不再使用的旧过程有关。
Johannes Overmann '16

2

查看页面以获取信息。

AP不参与此过程。CC3000正在侦听来自手机或其他设备的UDP数据包。双方均使用AES加密此通信。手机会在这些数据包中发送有关路由器WPA2密钥的信息。CC3000知道手机使用的AES密钥,对数据进行解码并连接到路由器。


1
嗨,从页面“用于配置的设备(智能手机,平板电脑或PC)在配置过程中保持与用户家庭网络的连接(与其他需要断开连接的方法相反)”。由于我不断开现有连接,因此发送的任何数据包都将加密为wpa2,您能进一步解释一下吗?
srinathhs

@srinathhs:我无法解释差异。在E2E论坛上发帖,他们会回答。
古斯塔沃·利托夫斯基2013年

2

@Greg Sadetsky的答案(描述“首次配置”)很好地总结了基本过程。但是在TI论坛上的讨论中发现,CC3000更改了执行此自动配置的过程。新过程称为“ smartconfig”,而不是“首次配置”,并且TI显然正在准备该技术的专利申请。似乎使用了类似的方案,在该方案中发送了特殊的Wi-Fi“探针”请求,该请求巧妙地编码了CC3000的网络凭据。

如果选择不对自动配置使用AES加密密钥,则smartconfig算法将使用一种未公开的方法来混淆接入点SSID和安全密钥。这并不是天生的安全,因为如果有人通过逆向工程或其他方式学习混淆算法,则无线网络的安全性将受到损害。提交专利申请后,这是公共领域的知识,您必须在CC3000自动配置模式下使用AES加密密钥才能确保安全。

根据德州仪器(Texas Instruments)对2012-2013年专利申请的审查,截至2013年9月,该专利申请尚未提交(Google专利搜索链接:德州仪器(Texas Instruments),按最新提交日期排序)。

TI已承认非AES配置模式的不安全性,并表示他们将建议使用AES,并将其设置为将来的默认设置


嗨,科林,您提到截至2013年9月,该专利尚未申请。你能为此提供消息来源吗?谢谢。
亚历山德罗斯·马里诺斯

@Alexandros Marinos-我对德州仪器(TI)提交的专利申请进行了在线专利搜索,但没有找到与连接无线LAN有关的任何专利。我回顾了去年,没有发现任何相关信息。
科林·D·贝内特

1
感谢您的回复。不幸的是,在美国和英国,所提交的专利仍保密了18个月。您可以通过在Google上搜索过去18个月内提交的专利申请来进行查看。因此,TI可能已为此申请了专利,但是该申请的发布时间还不够长。无法看到该专利确实令人不快,因为我的公司也找到了实现相同目标的方法,但是我们不确定它是否侵犯了TI的专利申请。
亚历山德罗斯·马里诺斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.