J'utilise une carte NodeMCU avec des capacités WiFi pour construire un simple tracker d'actifs. J'ai réussi à trouver quelques croquis Arduino qui permettent la connectivité à Azure IoT Hub et à publier des messages.
L'une des clés que je dois «charger» sur la carte est la chaîne Azure Device Connection et bien sûr un SSID WiFi et un mot de passe.
Ma crainte est que quelqu'un puisse simplement prendre le tableau et "télécharger" les fichiers pour accéder aux informations d'identification de sécurité.
Ma crainte est-elle injustifiée ou la perte de justificatifs d'identité est-elle une menace réelle que je dois atténuer?
Réponses:
[Avertissement: Je suis un professionnel de la sécurité / crypto et je traite quotidiennement des questions d'architecture de sécurité comme celle-ci.]
Vous êtes tombé sur le problème du stockage des informations d'identification de telle manière qu'un processus sans assistance puisse y accéder, mais pas un attaquant. Il s'agit d'un problème bien connu et très difficile à résoudre.
Si votre appareil IoT dispose d'un magasin de clés matériel intégré à la carte mère, comme certains TPM, ou l'équivalent du magasin de clés Android ou Apple Secure Enclave, alors vous pouvez l'utiliser.
Avec les serveurs traditionnels, vous pouvez utiliser des HSM ou des cartes à puce, mais la seule solution logicielle complète à ma connaissance consiste à dériver une clé AES à partir d'une sorte d '"empreinte digitale matérielle" construite en combinant les numéros de série de tous les périphériques matériels. Utilisez ensuite cette clé AES pour crypter les informations d'identification. Un processus exécuté sur le même serveur peut reconstruire la clé AES et déchiffrer les informations d'identification, mais une fois que vous extrayez le fichier du serveur, il est essentiellement non déchiffrable.
L'IoT y jette une clé pour deux raisons:
L'hypothèse selon laquelle les numéros de série matériels sont uniques ne tient probablement pas, et
Contrairement aux serveurs, les attaquants ont un accès physique à l'appareil, ils peuvent donc probablement obtenir un shell sur l'appareil pour exécuter le programme de déchiffrement.
Le chiffrement matériel (TPM) et le chiffrement «d'empreintes digitales matérielles» sont au mieux de l'obscurcissement car, fondamentalement, si un processus local peut déchiffrer les données, un attaquant capable d'exécuter ce processus local peut également le déchiffrer.
Donc, l'astuce standard semble ne pas fonctionner ici. La première question que vous devez vous poser est:
Secure <--> Convenient
échelle?En fin de compte, je pense que vous devez soit décider cela
security > convenience
et demander à un humain d'entrer les informations d'identification après chaque démarrage (en utilisant quelque chose comme la réponse de @ BenceKaulics ), soit vous décidez celasecurity < convenience
et vous mettez simplement les informations d'identification sur l'appareil, peut-être en utilisant un peu d'obscurcissement si vous sentir que cela fait une différence.Il s'agit d'un problème difficile rendu plus difficile par la nature des appareils IoT.
Pour être complet, la solution industrielle complète à ce problème est:
De cette façon, et l'attaquant qui compromet un appareil peut ouvrir une session, mais n'a jamais accès directement aux informations d'identification.
la source
La menace est réelle mais heureusement, ce n'est pas vous le premier ou le seul à avoir ce genre de problèmes de sécurité.
Ce dont vous avez besoin, c'est que ESP WiFi Manager est ce dont vous avez besoin ici.
Avec cette bibliothèque, l'ESP qui n'a pas de session enregistrée passera en mode AP et hébergera un portail Web. Si vous vous connectez à cet AP avec un PC ou un téléphone intelligent, vous pourrez configurer les informations d'identification WiFi via une page Web.
Vous n'avez pas à coder en dur les informations critiques et vous pouvez utiliser votre appareil sur n'importe quel réseau WiFi que vous souhaitez sans avoir besoin de le reflasher.
(Documentation ESP WiFi Manager)
la source
Oui, ils peuvent accéder à votre mot de passe si vous le laissez en texte brut.
Le bon point est que de nombreuses interfaces de connexion wifi acceptent les mots de passe hachés. Bien que ceux que j'ai utilisés acceptent les hachages md5 et que md5 ne soit pas super sécurisé, c'est toujours un défi très difficile pour un joe moyen. En fonction de votre fichier de configuration, vous indiquez le nom de votre algorithme de hachage puis écrivez votre mot de passe ou vous utilisez la valeur par défaut utilisée par votre interface wifi.
la source
Réponse simple - OUI. Ça peut être fait. Vous devez, au moins, effectuer une sorte d' obscurcissement pour fournir une protection minimale.
la source