Touch ID peut-il déverrouiller une clé SSH personnelle?


15

Est-il possible d'utiliser le lecteur d'empreintes digitales Touch ID pour déverrouiller ma clé SSH?

J'ai un MacBook Pro avec Touch Bar et j'ai une phrase de passe de texte traditionnelle pour ma clé SSH en ce moment.

J'ai remarqué que je n'obtenais pas de boîte de dialogue système demandant ma phrase secrète le 10.12, donc ce n'est probablement pas une chose, mais si je pouvais le faire, ce serait incroyable.

Réponses:


14

Mise à jour :

Une option consiste à ajouter votre clé SSH privée au trousseau macOS, puis à utiliser TouchID pour l'authentification par trousseau. Vous voudrez utiliser ssh-add -K ~/.ssh/[your-private-key]- cependant sur macOS 10.12 Sierra la fonctionnalité doit être activée en modifiant l'édition ~/.ssh/configet en ajoutant:

Host * (asterisk for all hosts or add specific host)
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile <key> (e.g. ~/.ssh/userKey)

Pour plus de détails, lisez:

  1. Ajoutez définitivement votre clé privée au trousseau afin qu'il soit automatiquement disponible pour SSH
  2. Enregistrement des clés SSH dans le trousseau macOS Sierra

Original :

À l'heure actuelle, le déverrouillage TouchID d'une clé SSH n'est pas disponible pour macOS.

  1. Le projet sudo-touchid Xcode montre comment créer une application de ligne de commande qui est activée TouchID et bascule vers une boîte de dialogue de mot de passe. Il fonctionne sur le MacBook Pro 2016 avec Touch Bar. Cependant, c'est pour sudo, pas ssh. Cela indique que l'idée est techniquement réalisable.
  2. Le client Prompt 2 SSH prend en charge TouchID - pour iOS, pas pour macOS. Cela indique que des applications comparables pourraient devenir disponibles auprès des développeurs commerciaux.
  3. Un développeur en ligne a démarré un projet ssh touchid wrapper il y a quelques mois - bien qu'il s'agisse d'un talon de projet vide. Cela indique que d'autres peuvent poser une question similaire à la vôtre.

3
Pouvez-vous élaborer sur "puis utiliser Touch ID pour l'authentification par trousseau"? Si je suis vos pas, on ne me demande pas du tout de m'authentifier.
mniess

2

Il est maintenant possible d'utiliser Sekey , qui est un agent SSH qui permet aux utilisateurs de s'authentifier auprès des serveurs SSH UNIX / Linux à l'aide de Secure Enclave.


0

C'est quelque peu tangentiel à ma question d'origine, mais j'ai récemment utilisé et ressemble beaucoup à Krypton , ce qui me donne quelque chose comme le déverrouillage TouchID. Cette solution stocke la clé SSH sur l'enclave sécurisée de mon téléphone, et mon ordinateur et mon téléphone négocient via Bluetooth lorsque j'utilise la clé. Je reçois une fenêtre de confirmation sur le téléphone et je réponds après l'avoir déverrouillé .

Donc! Je peux faire quelque chose qui fonctionne de la même manière, mais qui est (je pense) un peu plus sûr que de stocker la clé sur mon ordinateur portable (même avec une phrase secrète), bien mieux que de la laisser déchiffrée dans mon trousseau, et très utilisable pour démarrer.

Il fonctionne également comme un deuxième facteur U2F pour les services Web, à l'aide d'un plug-in de navigateur.


-2

Vous pouvez facilement écrire un wrapper pour traduire les appels touchid en ssh et vice versa. Traduire encore plus une correspondance possible en une séquence de plages (pensez à une peinture proche mais incomplète) - pas de magie là-bas. J'ai utilisé l'appareil photo pour ça avant quand touchid semblait être une fonction tricordeur de star trek :-)

Essayez de créer une telle application vous-même, une bonne motivation pour apprendre Swift! Apple a de bons doc autour de tous ses SDK, donc après la douleur initiale de Xcode, vous pouvez le faire en quelques jours.

Semble être une bonne idée d'utiliser l'exploit. même quand tout le monde vous parlera de milliards de risques de sécurité possibles, eh bien, possibles (comme beaucoup d'autres choses). Cependant, vous aurez besoin d'un compte de développeur (99 $ / an ...), car les applications auto-signées ne peuvent pas accéder à toutes les fonctionnalités des SDK macOS, touchID n'est (éventuellement) pas accessible sans signature.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.