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
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?
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