Je me suis toujours demandé la même chose : comment empêcher OS X de stocker la phrase de passe WPA (ou PSK) dans la NVRAM.
En utilisant 'nvram', je n'ai jamais pu trouver la variable qui devait contenir ces informations d'identification. Aujourd'hui, j'ai essayé de démarrer sur une image live USB de Linux et de lancer Chipsec . Sa commande pour lister les variables EFI donne beaucoup plus de résultats que ce que j'obtenais en exécutant nvram dans OS X. Parmi les variables de mon MacBook Pro (mi-2010) se trouvaient les suivantes :
- réseau actuel
- réseaux préférés
- mot de passe de sécurité
Le site réseau actuel Les données de la variable incluent le SSID de mon routeur domestique, en clair. Elles sont ensuite complétées par des octets 0 jusqu'à la fin, qui fait 32 octets et représente les 64 chiffres hexadécimaux de l'identifiant SSID. Clé pré-partagée (PSK) .
Le site réseaux préférés La variable ressemble au même contenu que réseau actuel .
Le site mot de passe de sécurité contient exactement le même nombre d'octets que le mot de passe EFI que j'ai défini, je suppose donc qu'il s'agit du mot de passe de verrouillage du microprogramme. Je soupçonne qu'il utilise une sorte de masquage/encodage. Une théorie que j'ai eue est que ces mots de passe sont stockés comme des codes de balayage du clavier ou autre, mais je n'ai pas encore assez d'informations.
Peut-être qu'en utilisant Chipsec ou un autre outil EFI, vous pouvez remettre à zéro ces variables EFI et définir un contrôle d'accès / drapeau de permissions sur elles afin qu'elles ne puissent pas être réécrites. Peut-être même que le fait de les mettre à zéro sera une solution de contournement pour vous (si vous avez juste besoin de revendre l'ordinateur portable ou autre). Je ne sais pas si OS X les réécrit régulièrement ou seulement lorsque vous changez vos informations d'identification WPA.
EDIT : Je viens d'apprendre l'existence d'une commande permettant de récupérer les mots de passe wifi dans la NVRAM : /usr/libexec/airportd readNVRAM
De plus, en joignant le GUID, nvram peut réellement lire ces valeurs :
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-networks
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-count
Donc, peut-être que tu peux faire sauter ces variables et voir comment ça se passe.
EDIT 2 Comme mentionné par un commentaire précédent, la méthode pour supprimer une variable EFI est la suivante (sudo requis pour supprimer) : sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
On ne sait pas encore si la variable reviendra.