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.
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)