Hace ya tiempo hablamos de los códigos QR pero sinceramente habíamos olvidado darle un uso práctico al software. Ahora con los ataques a la encriptación WPA2 basados en la esperanza que usemos contraseñas cortas (y usando tablas rainbow) ha tomado auge una nueva solución, veamos cómo.
Tabla de contenido:
Pues también escribimos un artículo sobre introducción de contraseñas a las cuales al final podíamos agregar todos los caracteres que queramos para así alargarlas y cifrarlas antes de enviarlas, lo que dificulta mucho su descifrado si en el camino le sacan copia (ataque de hombre en el medio). El chiste del asunto es que nuestro servidor sabrá de antemano cuántos primeros caracteres tomar y descartar los demás y luego crear hash y comparar contraseñas.
Sí, han adivinado: la solución para evitar que descifren las contraseñas de nuestras redes inalámbricas es… hacerlas lo más largas posibles. En el caso de la norma WPA2 son 63 caracteres. ¿El problema es cómo metemos nosotros una contraseña tan larga?
Copiar y pegar
Como hacen todos los estudiantes de bachillerato ahora: copiar y pegar pero con estilo. Ahora los teléfonos con sistema operativo Android 10 cuentan con la norma y función de leer el SSID, el tipo de cifrado, la contraseña y si está oculta la red. Veamos cómo generar códigos QR para ello y como generar contraseñas aleatorias (no, no estamos en los años 1990 cuando tanto discutimos sobre cómo generar números verdaderamente aleatorios con nuestras computadoras).
Instalando pwgen
Poco tenemos que decir: instalamos con sudo apt install pwgen y luego usamos pwgen -s 63 para generar contraseñas de 63 letras y/o números de largo. Dos cosas curiosas:
- En realidad pwgen fue programado para generar contraseñas que nos sean relativamente fácil de recordar (en idioma inglés) pero con el parámetro -s eliminamos tal comportamiento.
- No da un solo resultado, sino varios. Si somos paranóicos nos viene de perlas: ¡pwgen no sabrá cuál de ellas utilizaremos!
Instalando qrencode
El cual está programado en lenguaje C, solo colocamos sudo apt install qrencode, sin mayor complicación.
Generando el código QR
Ahora debemos utilizar el siguiente formato para el comando:
qrencode -o nombre_imagen.png "WIFI:T:WPA;S:<SSID>;P:<PASSWORD>;;"
Como vemos arranca con una etiqueta identificadora «WIFI» luego dos puntos y luego cuatro pares de valores separados por punto y coma cada uno. Para la imagen de muestra escogimos los siguientes valores:
- T:WPA (tipo de cifrado).
- S:KS7000_BBC2 (identificador de la red inalámbrica).
- P:eWwLZKoA3eWoWb5cTYtHeczq6zOFAVTJ2zqdU8scW0VyK2qkKJ0WYlkXA50Do0D (contraseña).
- Y el último campo (no usado aquí, no mostrado) H:true si decidimos no anunciar el identificador de red o «red oculta».
qrencode -o wifi_bbc2.png "WIFI:T:WPA;S:KS7000_BBC2;P:eWwLZKoA3eWoWb5cTYtHeczq6zOFAVTJ2zqdU8scW0VyK2qkKJ0WYlkXA50Do0D;;"
Fuentes consultadas
En idioma castellano
- «».
- «».
- «».
En idioma italiano
En idioma inglés
- «Encoding your WiFi access point password into a QR code».
- «pure JS WiFi QR Code Generator».
- «Share Your Wi-Fi Password with a QR Code in Android 10».
<Eso es todo, por ahora>.