Bluetooth à Faible Énergie de cryptage et de sécurité des données
J'ai besoin d'envoyer des données sensibles sur un Bluetooth Low Energy (BLE) connexion de données entre un smartphone (iOS & Android) et un dispositif intégré (CC2540 puce).
Depuis je ne considère pas l'application du code sur les téléphones à l'abri de piratage, j'ai besoin de compter sur BLE de sécurité pour obtenir mon chiffré colis livré à partir du serveur à l'appareil une fois et une seule fois (je dois supposer qu'une deuxième tentative de livrer le colis, doit être d'un attaquant).
J'ai été la navigation sur le net quelques jours maintenant, pour savoir si mes données sont en sécurité, et sous quelles conditions. Malheureusement, je n'ai pas été en mesure de venir avec une simple réponse à mes questions.
- Mes données sont en sécurité si je jumeler le téléphone à l'appareil? - Je suppose que oui, même si je comprends que le processus d'appariement est lui-même imparfait, de sorte qu'il est théoriquement possible pour certains man-in-the-middle (MITM) à renifler les clés de chiffrement pendant le processus d'appariement et donc de compromettre la connexion.
- J'ai besoin de chaque appareil pour être associé à plusieurs téléphones (mais seulement de communiquer à un à la fois). Quel est le nombre maximal de paires pr. dispositif? - malheureusement, j'ai besoin de le lier à un assez grand nombre de téléphones pour mon périphérique(s).
- Je peux peut-être obtenir le couplage de données (à Long terme des clés, etc.) de l'appareil et les stocker sur la mémoire externe, pour augmenter cette limite.
- Puis-je faire un coffre de connexion de données à l'appareil sans couplage, ou peut-être ré-appariement quand j'ai besoin de le faire? - Le degré de sécurité est cette procédure en ce qui concerne les attaques de type MITM?
Je n'arrive pas à trouver tous les documents que répondre à ces questions sans ambiguïté. Toutes les idées ou les pointeurs sera la bienvenue.
OriginalL'auteur Frank | 2013-07-31
Vous devez vous connecter pour publier un commentaire.
voici mes deux cents:
Autant que je sache, BLE de couplage/processus de chiffrement n'est pas défectueux. Il y a cependant trois niveaux de MITM protection disponible avec cryptage:
C'est la mise en œuvre de personne à charge. Votre appareil n'a pas de lien, c'est à dire établir une relation permanente avec l'hôte. Si les appareils ne sont pas des obligations, il n'y a pas d'état de dire plus tôt connexions (autres que les données échangées, mais c'est du domaine d'application, pas de BLE de la pile). Si les appareils ne sont pas collés, ils auraient paire de nouveau la prochaine fois qu'ils se connectent à l'échange de données protégées. Si les appareils sont collés, la connexion cryptée peut être poursuivi sans app/interaction de l'utilisateur avec le même niveau de sécurité que les précédentes. Pour un-temps-pour connecter des appareils, le cautionnement n'a pas de sens, de sorte que vous pouvez avoir un apatride mise en œuvre sans restriction sur le nombre d'appareils connectés. Pour de multiples fois connect, vous pouvez également avoir un apatride mise en œuvre, en fonction de comment vous distribuez/stockage de la clé(s) qui est alors indépendante de BLE. La disponibilité des options dépend du dispositif/BLE mise en œuvre de la pile que vous utilisez, cependant, mais la spécification permet tout cela.
Si vous avez des obligations et ainsi de change à long terme, des clés, etc, ceux-ci peuvent, en fonction du BLE mise en œuvre, vous êtes en train de construire sur, être stockées toutefois vous le souhaitez.
Comme je l'ai dit sous 2., vous pouvez établir une procédure sécurisée (cryptée) connexion sans collage. Les appareils alors nécessaire de le coupler à nouveau la prochaine fois qu'ils veulent établir une connexion sécurisée. Si vous ne voulez pas/ne sont pas en mesure de paire pour une raison quelconque, alors vous pouvez avoir seulement le texte clair de la communication.
Merci, c'est très instructif. Juste pour préciser: Dans le CHIER/Smart, il n'y a pas d'équivalent Bluetooth secure simple pairing, qui utilise un échange de clés de Diffie-Hellman pour éviter passive clé écoutes?
Pas actuellement, mais j'ai entendu des rumeurs selon lesquelles il sera dans l'4.2 spec.
J'ai un liés à la question fondamentale: est le chiffrement sur le BLÉ (4.0+) en fait obligatoire de par la conception? IIRC, Bluetooth 2.1 les offres de chiffrement comme une option, car il y a un mode non-sécurisé.
OriginalL'auteur
Je vais prendre un coup de couteau à celui-ci.
1) Ma compréhension du processus d'appariement est la même. Si les données ont été assez sensible, je voudrais ajouter une couche indépendante de cryptage de mon propre dans ma demande...
2) Pour les connexions, le BLE protocole est limité à un hôte par l'appareil dans le même temps, même lorsque la connexion n'est pas collé/apparié. La seule façon pour un seul appareil pour établir une connexion à plus d'un hôte dans le même temps est si l'appareil en quelque sorte "fait semblant" d'être plusieurs appareils. Si oui ou non ce qui peut être fait sera dépendant du matériel et ce n'est certainement pas l'une des manières les plus courantes pour l'utilisation d'un appareil. Même si vous pouvez tromper le matériel en faisant cela, vous risquez de rencontrer des problèmes concrets tels que l'occurrence de (presque) superposition de connexion intervalles, ce qui peut entraîner une perte de données et, finalement, même les connexions établies.
Une autre façon pour un appareil de communiquer avec plusieurs hôtes est régulièrement le déconnecter et de le laisser à un autre hôte établir la connexion. Autant que je sache, il n'existe pas de protocole spécial de soutien pour cette technique, donc au-delà peut-être réalisé à l'aide de la publicité, vous n'avez pas beaucoup de contrôle sur l'hôte qui se connecte à côté et quand il le fait.
Voir également la Section 4.1.2 dans le Volume 1, Partie A, de la " Core_V4.0' bluetooth spec (par exemple à partir d'ici https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737 )
3) sont les Plus susceptibles oui, les détails varient selon le fournisseur, mais avec les limitations mentionnées ci-dessus.
4) Vous pouvez établir une connexion sans collage/couplage. Cette connexion permettra de communication, mais il sera en clair sans aucune sécurité. AFAICS, la seule façon de faire de ce droit, est à l'utilisation que vous possédez à la protection des données au niveau de l'application.
OriginalL'auteur
Je suppose que le CC2450 appareil utilise la TI de la pile. Une bonne documentation sur le CC2540 pile comportement est dans la CC2540 Kit de Développement-Guide de l'Utilisateur. C'est probablement le meilleur de la documentation après la 4.0 spécifications de bluetooth.org
Les 6 chiffres du code pin utilisé dans les éplucher processus potects contre MITM - il y a 30 seconde de la fenêtre pour la saisie du code PIN.
La TI pile limite le nombre d'appareils reliés à 8 ou. C'est en raison de la CPU et de chiffrement de la performance/les ressources nécessaires pour rétablir les connexions.
Déplacement des clés de cryptage hors du BT appareil est un risque pour la sécurité. Dans l'ensemble, la gestion des clés est le talon d'achille de tout le chiffrement.
Vous n'aurez pas chiffré caractéristique de lecture/écriture sans collage. Reportez-vous à 4.6.1 de la TI-guide de l'utilisateur - il est compatible avec le Bluetooth 4.0 spécifications.
OriginalL'auteur