Arduino & IoT Academy · Lección

Mantener los secretos fuera del código

Almacene las credenciales de forma segura, no en texto plano.

Lección 2 de 413 pasos

Mantener los secretos fuera del código es una lección gratuita de Arduino & IoT Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Arduino & IoT Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Arduino & IoT Academy incluye 4 lecciones en total.

Qué se considera un secreto

Las contraseñas de WiFi, los tokens de API y las claves privadas son secretos. Cualquier elemento que conceda acceso nunca debe quedar expuesto dentro de su sketch. 🔑

El peligro de las claves en texto plano

La memoria flash se puede leer a través de la conexión. Una clave en texto plano en su código está a solo un volcado del chip de que cualquiera la copie.

String apiKey = "AKIA12345SECRET"; // visible to anyone who reads the flash

Por qué Git lo empeora

Si confirma un secreto una sola vez, vivirá para siempre en el historial. Aunque lo elimine después, el commit antiguo seguirá conteniendo la clave expuesta.

Utilice un encabezado separado

Coloque las credenciales en un archivo pequeño como secrets.h y manténgalo fuera del control de versiones. Este encabezado de secretos mantiene las claves fuera de GitHub mientras su sketch sigue siendo fácil de compartir.

#include "secrets.h" // holds WIFI_SSID and WIFI_PASS, never committed

Ignórelo en Git

Añada el archivo de secretos a .gitignore para que nunca pueda confirmarse por accidente. Esta sola línea evita la mayoría de las filtraciones de claves en situaciones reales.

# .gitignore
secrets.h

Aprovisione durante la configuración

En lugar de integrar las claves en el código, introdúzcalas una vez cuando el dispositivo se inicie por primera vez. El aprovisionamiento mediante una página de configuración mantiene los secretos completamente fuera del código fuente.

Almacene los datos en NVS o EEPROM

El ESP32 ofrece NVS, un almacén de clave-valor en la memoria flash para secretos de ejecución. Escriba el token una vez y léalo en cada inicio.

preferences.begin("net", false);
preferences.putString("token", userToken);

Una clave por dispositivo

Asigne a cada unidad sus propias credenciales; nunca utilice una clave maestra compartida. Con las claves por dispositivo, puede revocar un dispositivo robado sin afectar a los demás.

Rote y revoque

Planifique cambiar las claves periódicamente y desactive rápidamente las que se hayan filtrado. La rotación limita el tiempo durante el que un secreto robado puede seguir siendo útil.

Principio de privilegio mínimo

Conceda a cada token únicamente el acceso que realmente necesita. El privilegio mínimo significa que una clave de dispositivo filtrada puede leer su propio tema, pero no toda su cuenta.

Analice antes de publicar

Las herramientas pueden detectar una clave antes de que llegue a un repositorio remoto. Un analizador de secretos integrado en su flujo de trabajo bloquea las filtraciones accidentales antes de que ocurran.

Comprobación rápida

Una de estas opciones mantiene una clave fuera de su repositorio público.

Resumen

Nunca integre secretos en el código. Utilice un encabezado incluido en gitignore, aprovisione durante la configuración, almacene los secretos en NVS y mantenga claves por dispositivo que pueda rotar. 🔐

Gratis para empezar

Aprende C++ con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Mantener los secretos fuera del código» es gratis?

Sí — el texto completo de «Mantener los secretos fuera del código» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Arduino & IoT Academy, actualiza a CoddyKit PRO. El curso de Arduino & IoT Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Mantener los secretos fuera del código»?

Almacene las credenciales de forma segura, no en texto plano. Practicas Arduino & IoT Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Arduino & IoT Academy?

No se requiere experiencia previa. Arduino & IoT Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Mantener los secretos fuera del código»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Arduino & IoT Academy?

Sí. Cada lección de Arduino & IoT Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Superficies de ataque comunes en IoT
  2. Mantener los secretos fuera del código
  3. Cifrar con TLS y verificar certificados
  4. Firmar y proteger el firmware
← Volver a Arduino & IoT Academy