2017-09-11 2 views
0

J'ai conçu un périphérique BLE dans un produit. Il y aura une application développée (Android, Windows) mais pour l'instant j'écris un firmware pour soutenir l'application dans les aveugles.BLE Restricted Access

Nous ne pouvons pas autoriser quelqu'un à accéder au périphérique qui n'est pas autorisé. Pour gérer cela, j'ai un mot de passe stocké dans le firmware.

Il existe sept caractéristiques personnalisées, toutes sauf trois étant désactivées lors de la première connexion. La caractéristique du mot de passe est bien sûr en écriture, une fois le mot de passe correct envoyé, les autres caractéristiques sont activées.

Je n'ai aucune expérience avec BLE jusqu'à présent, donc je n'ai aucune idée si ce régime est raisonnable ou non.

Y a-t-il un moyen de limiter l'accès?

Merci

Rich

+0

Qui est qui autorisé à accéder au périphérique? Voulez-vous stocker ce mot de passe n'importe où en dehors du périphérique (dans l'application par exemple)? Si vous voulez dire "Je veux seulement que mon application accède au périphérique", cela est impossible si vous envoyez votre application et votre périphérique à des utilisateurs aléatoires. Si vous voulez dire "Je ne veux que des personnes spécifiques pour accéder au périphérique", ou si vous avez des contrôles très précis sur qui a accès à l'application, cela peut avoir des solutions. –

+0

Avoir le mot de passe sur le firmware peut être problématique. Le même mot de passe pour chaque périphérique ne fonctionnera que jusqu'à ce que quelqu'un vider le firmware. Un mot de passe pour chaque appareil sera un cauchemar logistique. – ThoriumBR

+0

Chaque périphérique aura un mot de passe par défaut et un mot de passe utilisateur. La valeur par défaut est permanente, attribuée au testeur final et imprimée sur l'étiquette du produit. Les utilisateurs utiliseront l'application pour accéder à l'appareil, mais ils auront besoin du mot de passe spécifique à cet appareil ou du leur, s'il a été préalablement défini. – rich

Répondre

0

La norme Bluetooth définit le concept appariement/liaison avec son cryptage correspondant. Selon vos spécifications, il ne semble pas que cela corresponde à vos besoins.

Vous devez donc trouver quelque chose par vous-même. Votre sécurité est entièrement à vous. Votre proposition est la façon la plus simple et la moins sûre de le faire. La chose la plus sûre que vous pouvez faire est d'utiliser un protocole créé à ces fins (https://en.wikipedia.org/wiki/Password-authenticated_key_agreement) pour créer une clé cryptographique que vous utiliserez ensuite pour le cryptage authentifié lorsque vous communiquerez plus tard avec votre appareil. Vous décidez de la façon dont vous voulez aller en fonction du niveau de sécurité que vous voulez.

+0

Merci Emil, c'est utile. Nous avons juste besoin d'empêcher la falsification, pensez à la couverture verrouillée sur le thermostat dans une école secondaire. Je pense que notre système fonctionnera mais je voulais m'assurer qu'il n'y avait pas de solution plus évidente intégrée à la norme. – rich