El chip wifi ti cc3000 tiene un modo de configuración inteligente especial, esto es para permitir la configuración inicial de los detalles de acceso wifi.
La página wiki cc3000 brinda algunos detalles sobre cómo funciona el proceso,
- El chip entra en un modo inteligente de "escucha" de configuración
- La aplicación en el teléfono inteligente envía un paquete "UDP" con la configuración del punto de acceso
- El chip captura estos datos y se configura a sí mismo.
Soy consciente de la captura de paquetes y el rastreo de wifi, pero ¿cómo "descifra" el chip el paquete sin procesar para obtener información? Yo uso wpa2-personal con AES en mi enrutador.
wifi
texas-instruments
srinathhs
fuente
fuente
Respuestas:
Como @Colin menciona que el esquema que TI usa ahora para comunicar un SSID de red y una frase clave desde una aplicación de configuración a un dispositivo habilitado para CC3000 se llama Configuración inteligente.
Smart Config tiene que comunicar información (el SSID de la red y la frase clave) desde una red wifi segura a un dispositivo habilitado para CC3000 que aún no puede descifrar el tráfico en esa red.
Inicialmente, el CC3000 no está conectado a la red (pero puede monitorear el tráfico), por lo que la aplicación Smart Config no puede enviar su información directamente al dispositivo. En su lugar, envía paquetes UDP a otra máquina existente en la red: el punto de acceso wifi (AP). Que el AP no esté interesado en recibirlos es irrelevante, solo es importante que los paquetes estén visibles en la red.
Si bien el CC3000 puede monitorear el tráfico, no puede descifrarlo, ni siquiera puede decir con certeza que un paquete cifrado dado contenga datos UDP. Entonces, ¿cómo puede elegir los paquetes UDP o hacer algo útil con ellos?
Básicamente, Smart Config codifica su información no en el contenido de los paquetes que envía sino en su longitud. El cifrado Wifi afecta la longitud de los paquetes, pero de manera consistente, es decir, agrega L bytes adicionales al tamaño de cada paquete, donde L es una constante.
La aplicación Smart Config codifica el SSID y la frase clave en las longitudes de paquetes de una secuencia de paquetes UDP. El CC3000 puede ver los paquetes cifrados y sus tamaños.
En muchos entornos, el CC3000 podrá ver el tráfico de múltiples redes cercanas, entonces, ¿cómo puede detectar el tráfico relevante? Incluso después del cifrado, todavía se pueden ver las direcciones MAC del origen y el destino de un paquete, de modo que se puede agrupar el tráfico de esta manera. Además de la información primaria que Smart Config está tratando de enviar, también envía patrones repetidos regularmente de longitudes de paquetes, por lo que el CC3000 agrupa el tráfico como se describe y luego busca dichos patrones, cuando los encuentra en el tráfico de un determinado fuente y destino se enfoca para recuperar la información primaria.
Obviamente, hay más que eso, por ejemplo, incluso una vez que el CC3000 ha encontrado el par de origen y destino, que corresponden al AP y la máquina que ejecuta la aplicación Smart Config, ¿cómo filtra los paquetes de Smart Config de otro tráfico no relacionado que va entre el AP y la máquina? He escrito todo esto en una serie de publicaciones de blog.
El más detallado técnicamente cubre el corazón de Smart Config: cómo codifica el SSID y la frase clave y los transmite de modo que un CC3000 pueda recogerlos:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-transmitting-ssid.html
Luego tengo una publicación que es menos técnica, más un artículo de opinión sobre por qué siempre debes usar una clave AES con Smart Config:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-aes.html
Hay un bit técnico en el medio que describe brevemente cómo configuraría un cifrado en Java con la transformación AES necesaria para funcionar como lo espera el CC3000.
Y finalmente, la prueba del budín: escribí una aplicación para emular el comportamiento relacionado con Smart Config del CC3000, es decir, puede recuperar el SSID y la frase clave transmitida por cualquier aplicación Smart Config sin necesidad de poder descifrar el tráfico de red relevante. Puede encontrar dónde descargar la fuente y todos los detalles aquí:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-keyphrase.html
Esto debería permitir probar el comportamiento de cualquier aplicación Smart Config que se escriba, es decir, se puede ver lo que un CC3000 podría reconstruir a partir de los datos transmitidos por la aplicación.
También tengo algunas publicaciones relacionadas con Smart Config / CC3000 más:
http://depletionregion.blogspot.ch/search/label/CC3000
Para obtener información general, también puede ser interesante leer estos hilos en el foro de TI relevante para el CC3000.
El primero cubre Smart Config en sí:
http://e2e.ti.com/support/low_power_rf/f/851/t/253463.aspx
Y uno en mDNS, el mecanismo por el cual una aplicación Smart Config detecta que un dispositivo habilitado para CC3000 se ha unido a la red:
http://e2e.ti.com/support/low_power_rf/f/851/p/290584/1020839.aspx
En ambos hilos, algunos mensajes iniciales pueden no parecer tan relevantes, pero también hay información interesante mezclada. Pero también hay mucha información inexacta, así que no asuma que toda es correcta, incluso la información de los empleados de TI o de mí (eventualmente aprendí mucho pero comencé con algunas suposiciones / creencias incorrectas).
Las patentes se han mencionado varias veces, sin embargo, no puedo encontrar ninguna evidencia de que haya patentes pendientes o otorgadas en esta tecnología.
fuente
NB Como se señaló en los comentarios a esta respuesta, y en las otras respuestas, la respuesta a continuación no refleja el procedimiento actual. Dejando esto para el registro histórico.
Parece que el CC3000 realmente está escuchando (en "modo promiscuo") en todos los canales wifi para una solicitud de sonda AP, el SSID del AP sondeado (y falso) que contiene la información que el CC3000 requiere para configurarse para conectarse al "verdadero" AP a través del cual se conectará a Internet.
Después de buscar un poco, encontré esta descripción de la configuración inicial del dispositivo que debería dejar en claro:
http://processors.wiki.ti.com/index.php/CC3000_First_Time_Configuration
Lo más interesante:
fuente
Mira esta página para más información.
El AP no está involucrado en este proceso. El CC3000 está escuchando los paquetes UDP desde el teléfono móvil u otro dispositivo. Esta comunicación está encriptada con AES, ambos dispositivos la tienen. El teléfono móvil envía información sobre la clave WPA2 del enrutador en estos paquetes. El CC3000 conoce la clave AES utilizada por el teléfono móvil, decodifica los datos y se conecta al enrutador thr.
fuente
La respuesta de @Greg Sadetsky (que describe "Configuración por primera vez") resume bien el proceso básico. Pero se reveló en la discusión en el foro de TI que el CC3000 ha cambiado el proceso mediante el cual se realiza esta configuración automática. El nuevo proceso se llama "smartconfig" en lugar de First Time Configuration, y TI aparentemente está preparando una solicitud de patente para la tecnología. Parece utilizar un esquema similar donde se envían solicitudes especiales de "sonda" de Wi-Fi, que codifican inteligentemente las credenciales de red para el CC3000.
Si elige no utilizar una clave de cifrado AES para la configuración automática, el algoritmo smartconfig utiliza un método no documentado para ofuscar el SSID del punto de acceso y la clave de seguridad. Esto no es inherentemente seguro, ya que si alguien aprende el algoritmo de ofuscación, a través de la ingeniería inversa u otros medios, la seguridad de la red inalámbrica está en peligro. Una vez que se presenta la solicitud de patente, es de dominio público y debe usar una clave de cifrado AES con el modo de configuración automática CC3000 para estar segura.
Hasta septiembre de 2013, la solicitud de patente no se había presentado, según la revisión de las solicitudes de patente 2012-2013 por parte de Texas Instruments ( Enlace de búsqueda de patentes de Google: Texas Instruments, ordenado por la fecha de presentación más reciente )
TI ha reconocido la inseguridad del modo de configuración no AES y ha dicho que recomendarán usar AES y convertirlo en el predeterminado en el futuro .
fuente