Je me demande si le trafic BLE (v4.0) est chiffré par défaut ou par conception, ou est-il simplement facultatif? Dans le premier cas, le trafic est-il chiffré à l'aide d'une clé dérivée uniquement de la broche de couplage ou existe-t-il également une sorte de clé de session - comme avec WPA2? Dans le premier cas, la clé de chiffrement serait-elle une clé à long terme qui ne semble pas si sûre?
MODIFIER:
J'ai lu sur Wikipedia que l'AES-128 est pris en charge, et des puces comme le CC2540 fournissent une accélération matérielle, mais il n'est pas clair si le cryptage AES est une option ou obligatoire par conception. IIRC, Bluetooth 2.1 propose un mode non sécurisé, le cryptage n'est donc que facultatif, mais je me demande si la même chose s'applique au BLE.
J'ai lu un peu maintenant dans le spécification - Volume 3, Partie H, Section 3.5.1 Demande de couplage et 3.5.2 Réponse de couplage.
Le cryptage à mon humble avis est obligatoire après que les appareils ont été appariés, car l'initiateur doit envoyer une taille de clé maximale à utiliser:
Taille maximale de la clé de chiffrement (1 octet)
Cette valeur définit la taille de clé de chiffrement maximale en octets que le périphérique peut prendre en charge. La taille de clé maximale doit être comprise entre 7 et 16 octets.
Cela garantit mon commentaire aussi que depuis le cryptage 2.1 est obligatoire.
Vous ne pouvez donc pas choisir une taille de clé de disons 0 longueur, afin d'être apparié. Je ne sais cependant pas s’il existe un mode ad-hoc qui permettrait un échange de données non apparié (mais je ne le crois pas).
Notez que cela signifie uniquement un flux de données crypté. L'authentification est une chose différente. Par exemple, vous ne pouvez pas vérifier que vous vous connectez au bon casque Bluetooth car il n'a ni écran ni clavier (vous pouvez toujours lire son adresse MAC avant de confirmer, par exemple). Donc, avec certains modes de couplage, je suppose que l'authentification est à un niveau de confiance faible (par conception).
À mon humble avis, Bluetooth était un remplacement pour la communication série/infrarouge au début, il a toujours eu des problèmes de sécurité. Je considérerais cela comme une fonctionnalité intéressante pour certains gadgets, mais je n'échangerais pas d'informations sensibles (= ce n'est pas égal au WiFi ou au LAN).