Vue normale

Reçu aujourd’hui — 2 janvier 2026

Protégez vos clés SSH avec Touch ID sur macOS

Par :Korben
2 janvier 2026 à 08:00

Vous utilisez probablement des clés SSH pour vous connecter à vos serveurs et vous savez aussi qu'elles sont stockées sur votre disque, bien au chaud dans ~/.ssh/, accessibles à n'importe quel malware qui passerait par là. Pas très rassurant quand on y pense...

Mais bonne nouvelle les amis ! Sur macOS, il existe une fonctionnalité méconnue qui permet de stocker des clés cryptographiques directement dans le Secure Enclave de votre Mac, et de les utiliser pour SSH. Du coup, la donnée de la clé privée est conçue pour ne pas être exportable, reste enfermée dans cette puce dédiée, et les opérations de signature peuvent être protégées par Touch ID selon la configuration choisie. Arian van Putten , un chercheur indépendant, a documenté cette fonction qui est pourtant native dans macOS.

Le principe c'est que macOS expose une bibliothèque (/usr/lib/ssh-keychain.dylib) qui permet à OpenSSH d'interfacer avec le Secure Enclave via l'API CryptoTokenKit d'Apple. C'est un peu comme avoir une YubiKey intégrée dans votre Mac, sauf que vous n'avez rien à acheter.

Pour créer une identité protégée par le Secure Enclave, y'a une commande un peu obscure :

sc_auth create-ctk-identity -l ssh -k p-256-ne -t bio

Ensuite pour générer les fichiers de référence compatibles SSH :

ssh-keygen -w /usr/lib/ssh-keychain.dylib -K -N ""

Et pour injecter tout ça dans l'agent SSH :

ssh-add -K -S /usr/lib/ssh-keychain.dylib

À chaque connexion SSH, Touch ID vous demandera de poser votre doigt pour autoriser la signature. Impossible d'exporter la clé, impossible de la voler, même si quelqu'un a accès à votre machine.

Maintenant si vous préférez une interface graphique plutôt que de taper des commandes cryptiques, y'a Secretive qui fait exactement ça mais avec une jolie app native. Elle crée des clés dans le Secure Enclave, vous notifie quand elles sont utilisées, et depuis la version 3.0 , elle supporte même les clés post-quantiques ML-DSA (FIPS 204) sur macOS Tahoe pour ceux qui veulent anticiper l'ère post-quantique. Pour les vieux Mac sans Secure Enclave, l'app peut aussi utiliser une YubiKey.

Et pour ceux qui ont plein de clés SSH existantes et qui veulent juste ajouter l'authentification Touch ID par-dessus, y'a aussi fssh . Ce petit outil chiffre vos clés avec AES-256-GCM (avec HKDF et salt unique par fichier) et stocke la clé maître dans le Keychain de macOS avec les flags d'accès appropriés pour exiger Touch ID. Du coup à chaque connexion, votre empreinte déverrouille tout ça temporairement et c'est hyper pratique pour naviguer entre plusieurs serveurs sans se retaper les passphrases.

Bref, que vous passiez par les commandes natives, Secretive, ou fssh, l'idée c'est de ne plus jamais laisser vos clés SSH en clair sur le disque. Votre empreinte digitale devient la seule façon de les utiliser, et ça c'est quand même bien plus secure que de faire confiance aux permissions de fichiers...

Merci à Lorenper pour le tuyau !

Source

Reçu avant avant-hier

Obsidenc - Du chiffrement parano en Rust pour vos dossiers sensibles

Par :Korben
17 décembre 2025 à 09:44

Vous avez des dossiers sensibles que vous aimeriez chiffrer avant de les balancer sur un cloud ou un disque externe ? Ça tombe bien, je vous ai trouvé un petit outil en Rust qui va vous plaire.

Obsidenc , c'est son nom, est un utilitaire de chiffrement que son créateur qualifie de "paranoid-grade". Et après avoir jeté un œil au code source, je peux vous dire que c'est pas du marketing puisque ce truc archive votre répertoire en TAR et le chiffre avec XChaCha20-Poly1305, un algorithme AEAD moderne qui assure à la fois la confidentialité et l'intégrité de vos données.

Côté dérivation de clé, ça utilise Argon2id conforme à la RFC 9106. Pour les non-initiés, Argon2id c'est l'algo qui a gagné le Password Hashing Competition et qui est spécifiquement conçu pour résister aux attaques par GPU et circuits spécialisés (ASIC). L'outil adapte automatiquement les paramètres à votre machine en utilisant 85% de votre RAM disponible (entre 512 Mo minimum et 2 Go maximum) afin de rendre le brute-force astronomiquement coûteux. Et si vous avez moins de RAM dispo, il compense en augmentant le nombre d'itérations.

C'est du code Rust bien propre qui utilise les bibliothèques cryptographiques RustCrypto (bien auditées par la communauté) et le code implémente des bonnes pratiques de sécurité comme le memory locking (mlock sur Unix, VirtualLock sur Windows) pour éviter que vos clés se retrouvent dans le swap, et le zeroize pour effacer la mémoire sensible après utilisation.

Vous compilez ça avec cargo build --release, puis pour chiffrer un dossier :

obsidenc encrypt ~/mon-dossier ~/mon-dossier.oen

Pour déchiffrer :

obsidenc decrypt ~/mon-dossier.oen ~/mon-dossier-dechiffre

Le mot de passe doit faire minimum 20 caractères (pas de négociation possible, déso pas déso) et vous devez le confirmer deux fois. Vous pouvez aussi ajouter un fichier de clé en plus du mot de passe pour du 2FA old-school.

L'outil a aussi quelques protections défensives sympas. Par exemple, il refuse les symlinks (vecteur d'attaque classique), limite le nombre de fichiers à 1 million et la longueur des chemins à 4096 caractères pour éviter les zip bombs. Sur les systèmes Unix, il vérifie même que votre fichier de clé n'est pas lisible par tout le monde (chmod 600 obligatoire).

Cet outil part du principe qu'un attaquant peut avoir accès à votre fichier chiffré et dispose de temps illimité pour tenter de le casser, du coup, tout est conçu pour rendre l'attaque offline la plus douloureuse possible.

Bref, si vous cherchez un moyen de sauvegarder vos dossiers sensibles de manière vraiment sécurisée avant de les balancer sur un cloud ou un disque externe, obsidenc fait le taf et en plus c'est open source (MIT/Apache 2.0) !

❌