Comment macOS Sierra s'associe-t-il en toute sécurité avec les claviers Bluetooth sans code?

8

J'ai un Mac Mini fin 2014 exécutant macOS Sierra 10.12.5. Lorsque je l'ai associé à mon clavier Bluetooth, je n'ai pas été invité à saisir une séquence de chiffres.

Comment macOS valide-t-il et sécurise-t-il les connexions entre les claviers Bluetooth sans demander de code? Utilise-t-il simplement la confiance au premier usage? Est-il possible de forcer macOS à utiliser un code d'appairage?

Eric Pruitt
la source
Votre clavier Bluetooth est-il un clavier Apple?
Jahhein
@Jahhein, non ce n'est pas.
Eric Pruitt
C'est donc une très bonne question. Je suis curieux de connaître moi-même une réponse. J'ai lu sur Bluetooth et aucun raisonnement évident ne me vient à l'esprit s'il ne s'agit pas d'un appareil Bluetooth certifié Apple.
Jahhein

Réponses:

6

TL; DR réponses aux questions

Comment macOS valide-t-il et sécurise-t-il les connexions entre les claviers Bluetooth sans demander de code?

Ce n'est pas seulement macOS - votre clavier est connecté et crypté au niveau du firmware - sinon, vous ne pourriez pas effectuer une réinitialisation NVRAM avant le chargement du système d'exploitation.

Cependant, vous n'avez pas besoin d'un code car les claviers Bluetooth modernes utilisent un algorithme d'authentification pour se coupler et une clé d'authentification générée basée sur des clés publiques pour sécuriser les transmissions de données.

Utilise-t-il simplement la confiance au premier usage?

Non. Il vérifie son identité à l'aide d'un algorithme et de clés générées sur 128 bits.

Est-il possible de forcer macOS à utiliser un code d'appairage?

Pourquoi? Cela reviendrait aux méthodologies d'appariement antérieures à 2009. Ce serait l'équivalent d'activer les clés partagées WEP sur les réseaux WiFi modernes.


Couplage Bluetooth

Le processus que vous avez décrit pour coupler un périphérique Bluetooth (un clavier dans votre exemple) utilise une ancienne méthode (Bluetooth 2.1) d'authentification appelée Simple Secure Pairing (SSP).

Fondamentalement, SSP a 4 modèles d'association (appariement):

  • Comparaison numérique . Les deux appareils ont une entrée et un affichage pour que l'utilisateur puisse simplement sélectionner "Oui" ou "Non" pour coupler l'appareil
  • Clé de passe Un appareil a une capacité d'entrée (comme un clavier) et l'autre a une capacité d'affichage (comme un ordinateur). L'appareil avec capacité d'affichage affiche un nombre de 4 à 6 chiffres et l'appareil avec capacité d'entrée le saisit.
  • Just Works C'est pour les appareils sans affichage ni capacité d'entrée (comme les casques) où vous ne pouvez pas voir ou entrer un mot de passe.
  • Hors bande (OoB) Il s'agit des appareils qui prennent en charge une technologie sans fil commune supplémentaire (NFC) où les appareils doivent être très proches les uns des autres. Un appareil doit «taper» sur l'autre appareil avant que l'appairage ne se produise.

La chose la plus importante à noter est que SSP n'est PAS la clé de cryptage; c'est simplement le mécanisme d'appariement pour s'identifier . Le chiffrement est géré via une clé publique. Le code que vous entrez est pour vous assurer que c'est l'appareil auquel vous souhaitez vous connecter; ce n'est pas la sécurité.

Depuis Bluetooth 3.0 (avril 2009), les appareils Bluetooth utilisent une clé AMP pour l'authentification qui automatise le processus ci-dessus.

Dérivation de la clé AMP La clé de liaison AMP est dérivée de la clé de liaison Bluetooth. Une clé de lien AMP générique (GAMP_LK) est générée par le gestionnaire AMP dans la pile hôte chaque fois qu'une clé de lien Bluetooth est créée ou modifiée

Authentification

La procédure d'authentification du périphérique Bluetooth se présente sous la forme d'un schéma défi-réponse. Chaque appareil interagit dans une procédure d'authentification en tant que demandeur ou vérificateur. Le demandeur est l'appareil qui tente de prouver son identité, et le vérificateur est l'appareil qui valide l'identité du demandeur. Le protocole défi-réponse valide les appareils en vérifiant la connaissance d'une clé secrète - la clé de liaison Bluetooth.

entrez la description de l'image ici

Chiffrement

Il existe 4 modes de cryptage

  • Mode 1 - Pas de cryptage
  • Mode 2 - Le trafic adressé individuellement est chiffré sur la base de clés basées sur les clés de liaison
  • Mode 3 - Tout le trafic est crypté à l'aide de clés basées sur la clé principale
  • Mode 4 - (Bluetooth 2.1 + EDR) exige que tout le trafic soit crypté sauf pour la découverte de service

Claviers Bluetooth utilisant Bluetooth 2.1 (claviers de 2009 et au-delà) et jusqu'à crypter tout leur trafic.


SOURCE: SP 800-121 Rév.2, Guide de la sécurité Bluetooth (mai 2017)

Allan
la source
Il semble que Bluetooth en général soit vulnérable aux attaques MITM pendant la procédure de couplage, mais tant que le couplage a été effectué en toute sécurité, les communications ultérieures devraient être vulnérables à l'interception. Ma compréhension est-elle correcte?
Eric Pruitt
Ce n'est que si l'appareil utilise des pratiques de sécurité médiocres telles que des clés faibles et / ou statiques, un cryptage faible, une sécurité "mode 1" (aucune), etc. Dans le cas d'un clavier, il reste couplé en permanence (sinon vous ne pourriez pas réveiller votre machine ou l'utiliser dans un environnement de pré-démarrage). Il serait très difficile de devenir MITM dans ce cas, car au moment où l'attaque commence, le couplage et la communication sécurisée sont déjà établis et fonctionnent.
Allan