Guardado de claves ESP32

Hola, mi nombre es Adrian. Estoy intentando trabajar un poco en la seguridad de un proyecto que tengo de tiempos libres, el problema que tengo es el siguiente:
En mi sketch estoy almacenando de la siguiente forma estos valores

#define API_KEY // Aqui iria la key del serivdor firebase
#define FIREBASE_PROJECT_ID // Aqui iria el id del servidor firebase

y como es obvio, es totalmente inseguro que alguien pudiera acceder a estos dos valores, ya que mi base de datos estaría totalmente expuesta.
Intenté usar la herramienta de espressif para encriptar la flash, pero arruine un nodemcu. Luego leyendo la documentación, vi que esto que hice no es compatible con el IDE de Arduino.
Concluyendo, hay alguna forma de esconder estos valores, encriptarlos, subirlo como un archivo aparte no accesible, o algo parecido que no permita que (o que al menos lo dificulte) que sean recuperados de alguna forma? Desde ya muchas gracias

Si acaso ya no lo viste, tal vez te sirva algo como esto

http://www.cientificosaficionados.com/foros/viewtopic.php?t=19928

Saludos

Muchisimas gracias por tu respuesta!
Tiene toda la pinta de que puede funcionar, según lo que dicen los usuarios del foro, sin embargo todavia no logro entender muy bien que es lo que hace el algoritmo, encripta todo el código? o encripta strings que yo le pase a las dos funciones que se declaran al final del código?
Deberia agregarlo de forma directa a mi sketch o como si fuese una libreria?

Entiendo que encripta strings por el ejemplo de uso.

Por lo demás se tanto como vos, encontré el artículo, vi que te podía llegar a servir y te lo compartí. :wink:

Saludos

Para hacer cosas donde importa la seguridad conviene usar micros que tiene seguridad incorporada. ESP32 no es la panacea para ese objetivo. Busca las opciones de STM32 que tiene varios micros pensados para ello. Hay otras empresas tambien, los valores cambian pero lo primordial es el objetivo.
Si alguien quiere hackear algo, al final lo lograra, depende de sus habilidades. Ten por seguro que asi ocurre. El objetivo debe ser eliminar a la gran mayoria.

y si por ejemplo, pregrabo en la eeprom la api key de firebase, luego subo en el sketch final solo el apartado de lectura de ese lugar de la eeprom, y finalmente, si detecto que la carcaza ha sido abierta (mediante un boton o de alguna otra forma) reescribo esa posicion de la eeprom, podria funcionar?
jajajjaa hasta me da verguenza comentar esto, estoy fantaseando tal vez un poco

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.