Question:
Une clé SSH avec une phrase secrète est-elle un 2FA?
Antonin M.
2019-10-29 19:16:50 UTC
view on stackexchange narkive permalink

C'est une question vraiment théorique, mais si j'utilise une clé SSH avec une phrase de passe pour me connecter sur un serveur, cela pourrait-il être considéré comme une authentification à deux facteurs (2FA)?

En effet, je besoin de la clé SSH (privée), qui pourrait être considérée comme le premier facteur, et de la phrase de passe qui pourrait être le second.

Si nous comparons à un seul mot de passe pour la connexion, je vois deux 'éléments' avec une clé SSH avec phrase secrète.

Est-ce la clé qui est chiffrée avec une phrase de passe ou est-ce le serveur distant qui nécessite à la fois une clé et une phrase de passe?
Si vous mettez un pense-bête avec votre mot de passe dessus dans un coffre-fort verrouillé à combinaison, est-ce 2FA?
Excellente question pour susciter des commentaires perspicaces.Je m'attendais vraiment à ce que la réponse soit "Oui, c'est 2FA", mais je pense avoir été convaincu du contraire.
"utiliser une clé SSH avec une phrase de passe" n'est pas clair, et en tant que tel, les réponses sont partout.Le commentaire d'@ig-dev's doit être pris en compte, car il fait littéralement la différence entre oui ou non
-1
Sept réponses:
MechMK1
2019-10-29 19:23:25 UTC
view on stackexchange narkive permalink

Un deuxième facteur est défini comme indépendant du premier facteur. Cela signifie que votre système doit rester sécurisé, même si l'un des facteurs est compromis (et que vous êtes conscient du compromis).

Par exemple, un badge de porte et une empreinte digitale sont indépendants l'un de l'autre, et juste avoir le badge de porte ou l'empreinte digitale ne suffit pas pour y accéder. Ceci est souvent appelé "authentification multi-étapes" au lieu de "authentification multi-facteurs".


Maintenant, imaginez votre scénario: vous avez une clé privée, chiffrée avec une phrase de passe forte. Sont ces deux facteurs? Non, car la clé privée peut également exister sans mot de passe. Un attaquant qui compromet la clé privée peut ainsi se connecter à votre système, même sans connaître cette phrase de passe. En fait, le serveur ignore complètement si votre clé privée est protégée par une phrase de passe ou non.

Si vous voulez une véritable authentification multifacteur, il existe des modules SSH qui font exactement cette. Cela étant dit, une clé privée chiffrée avec un mot de passe fort suffit souvent.


Remarque: La question d'origine parle "d'une clé SSH avec une phrase de passe se connecter sur un serveur ", que j'ai interprété comme une clé privée, chiffrée avec une phrase de passe.

Les commentaires ne sont pas destinés à une discussion approfondie;cette conversation a été [déplacée vers le chat] (https://chat.stackexchange.com/rooms/100586/discussion-on-answer-by-mechmk1-is-an-ssh-key-with-a-passphrase-a-2fa).
"Cela signifie que votre système doit rester sécurisé, même si l'un des facteurs est compromis" Selon cette définition même, il s'agit du 2FA.Mot de passe compromis mais pas clé?Système sécurisé.Clé compromise mais pas mot de passe?Système sécurisé.(Si vous avez une clé non chiffrée, oui, le système est compromis, mais la seule façon d'obtenir cela est d'avoir les deux facteurs.)
@PaulDraper Non, vous confondez "la clé privée" avec "un fichier contenant la clé privée".Si j'obtiens la clé privée, je peux me connecter, quelle que soit la manière dont la clé privée est sécurisée.
@MechMK1 "Si j'obtiens la clé privée."Et l'obtention de la clé privée nécessite le compromis des deux facteurs.Sans aller trop loin dans les commentaires, je suggérerais de jeter un œil à d'autres systèmes, comme [une clé de cryptage de disque dur cryptée par mot de passe] (https://security.stackexchange.com/a/231547/44419).
@PaulDraper Non, ce n'est pas le cas, et le lien de discussion ci-dessus explique en détail horrible exactement pourquoi ce n'est pas le cas.
Paul Draper
2019-10-30 04:40:05 UTC
view on stackexchange narkive permalink

Oui

2FA nécessite deux facteurs ou catégories d'authentification différents. (Ils doivent être de catégories différentes; un mot de passe et un code PIN ne seraient pas considérés comme 2FA.)

Wikipédia fournit une excellente liste de facteurs:

  • Facteurs de connaissance: mot de passe, code PIN, questions secrètes
  • Facteurs de possession:
    • Jetons déconnectés (lisibles par l'homme): Google Authenticator
    • Jetons connectés (lisibles par machine) : YubiKey
    • Jetons logiciels: certificat X.509, clé privée SSH
  • Facteurs inhérents:
    • Biométrie: empreinte digitale, voix, iris
    • Comportement: frappes, signature
  • Localisation: réseaux physiquement sécurisés

Votre mot de passe est un facteur de connaissance ; votre clé SSH est un facteur de possession.

Notez que la facilité de duplication n'empêche pas qu'une clé SSH est un facteur de possession. Les clés physiques peuvent être copiées avec un appareil photo, une imprimante et une canette de soda; ils sont toujours un facteur de possession.


Le but de l'authentification multifacteur est de tirer parti des avantages de plusieurs types d'authentification, réduisant ainsi le risque de compromission.

Votre mot de passe est suffisamment court pour ne jamais être écrit et donc difficile à obtenir. Votre clé SSH est longue et donc difficile à deviner.

Ensemble, ils rendent une attaque réussie moins probable.


EDIT: Plusieurs personnes ont estimé que, parce que la clé pouvait être utilisée non chiffrée, ce n'était plus 2FA.

C'est tout simplement absurde.

Si vous pouvez créer une clé SSH non chiffrée sans compromettre deux facteurs, puis utiliser ces informations pour affirmer que c'est tout ce dont vous avez besoin, pourquoi ne pas vous épargner du travail et créer des copies des fichiers du serveur?

Déclarer

Tout ce dont vous avez besoin pour accéder aux fichiers du serveur est une clé SSH non chiffrée

n'est pas différent de déclarer

Tout ce dont vous avez besoin pour accéder aux fichiers du serveur est un ZIP des fichiers du serveur.

Mais comment avez-vous obtenu cette clé / code ZIP? Vous avez dû faire des compromis sur plusieurs facteurs. (Ou il y a une porte dérobée que vous ajoutez, comme l'accès à la salle des serveurs.)

Il est vrai que ce n'est pas une utilisation exécutable par le serveur de 2FA. Dans un contexte organisationnel, il est souvent nécessaire que le 2FA soit exécutoire de manière centralisée. Mais

  1. Ce n’est pas la question.

  2. La mise en application du serveur n’est jamais le dernier mot d’un système de sécurité de toute façon.

    1. Si une porte nécessite une clé physique et un code PIN de clavier, cette porte «applique» la 2FA autant que n'importe qui le peut. Mais lorsque vous imprimez le code PIN sur toutes les clés, vous avez un système 1FA.

    2. De même, vous pouvez augmenter les facteurs. Un ordinateur portable protégé par mot de passe derrière une porte avec une clé physique est 2FA, malgré le fait qu'il n'y ait pas un seul composant imposant les deux facteurs. Vous pouvez retirer l'ordinateur portable de la pièce et réduire la sécurité à 1FA, mais jusqu'à ce que vous fassiez cela, il existe un système 2FA.


EDIT2: Cette réponse explique également pourquoi la pratique courante d'une clé de chiffrement distincte protégée par mot de passe - qui est ce qu'est une clé SSH - est à deux facteurs: la clé (quelque chose que vous avez) et le mot de passe (quelque chose que vous savez). Quelqu'un doit obtenir les deux pour produire une clé de chiffrement nue nécessaire pour accéder aux données.

Si votre phrase de passe est courte, il est probable qu'elle puisse être forcée par une personne qui obtient votre fichier chiffré `.ssh / id_rsa`, et le forçage brutal est une ** opération hors ligne ** dans ce contexte.
@R .. oui le cryptage du mot de passe est une opération hors ligne.Mais je n'appellerais pas non plus le chiffrement complet du disque LUKS inutile.(Votre mot de passe de cryptage doit être complexe et secret, mais il doit également être mémorable; au cas où vous auriez fait une erreur, exiger la possession d'une clé SSH / d'un disque dur est une couche de protection supplémentaire.)
"Si vous le pouvez, une clé SSH non chiffrée entrera en vigueur" - Personne ne dit que nous pouvons créer par magie une clé valide simplement en le souhaitant.Les paires de clés SSH peuvent être créées sans aucun cryptage de phrase de passe, ou après avoir été générées, elles peuvent être décryptées et enregistrées dans cet état non crypté.
Vous pourriez peut-être ajouter que cette réponse est vraie si le serveur requiert à la fois une clé et un mot de passe, par opposition à la clé elle-même chiffrée avec un mot de passe.Cela semble être la source de beaucoup de confusion
@Ghedipunk peut également les archives ZIP de vos fichiers serveur.Les archives ZIP sont régulièrement enregistrées et transmises.La question est: enregistrez-vous / transmettez-vous des fichiers ZIP avec moins de protection?Enregistrez-vous / transmettez-vous des clés SSH avec moins de protection?Si la réponse est non aux deux, alors ils ne sont pas pertinents lorsque l'on considère les facteurs de sécurité.
@PaulDraper votre ajout d'une "défense" est complètement inutile.Une clé non chiffrée n'a pas de mot de passe et sort alors du champ de la question.
@schroeder IDK quelle «défense».Mais oui, une clé non chiffrée sort du cadre de la question.Il n'y a pas de clé non chiffrée.
@PaulDraper Fondamentalement, tout sous la ligne ...
À titre d'exemple, j'ai un authentificateur Google sur mon téléphone et un verrouillage d'écran par code PIN sur mon téléphone.Est-ce qu'un simple OTP compte désormais comme 2 facteurs, car je dois saisir un code PIN pour accéder au bureau du Procureur?
@Michelle Q: "Est-ce que juste un compte OTP?".Non, juste un OTP ne compte pas.** Mais si je comprends bien votre question, vous n'avez pas "juste un OTP". ** En plus de l'appareil avec le OTP (quelque chose que vous avez), vous avez également besoin d'un code PIN (quelque chose que vous savez).Ni la compromission de la possession de votre facteur de possession, ni la compromission de votre code PIN ne compromettent la sécurité du système.(Maintenant, si c'est dans le contexte de $ CORP, je doute que ce 2FA satisfasse aux exigences administratives s'il ne peut pas être vérifié de manière centralisée que votre périphérique OTP a un code PIN. Néanmoins, vous avez TFA.)
@PaulDraper mais si un attaquant scanne le code QR pour lire la graine OTP, mon OTP est compromis et mon compte est compromis car le code PIN de mon téléphone n'a rien à faire avec mon compte.Tout ce que le code PIN fait, c'est limiter les possibilités de compromettre mon seul facteur, ce qui est excellent, mais pas un deuxième facteur indépendant.
@PaulDraper, de même, mettre un verrou d'empreinte digitale sur mon gestionnaire de mots de passe ne rend pas soudainement tous mes comptes de mot de passe uniquement 2FA.Les mots de passe peuvent encore être compromis à un moment donné alors qu'ils existent en dehors du gestionnaire de mots de passe.
@Michelle pour être honnête, je ne sais pas comment votre configuration OTP se passe.Mon hypothèse était qu'il ne pouvait être lu / reçu que par votre téléphone.
Les codes @PaulDraper Google Authenticator TOTP (l'un de vos exemples) sont configurés en scannant un code QR avec l'appareil photo de votre téléphone.Le code QR contient une graine, qui est utilisée pour générer les OTP.Toute personne ayant une ligne de mire sur l'écran peut également prendre une image du code QR et le décoder pour obtenir la graine.
@Michelle cela dépend si vous considérez que c'est un vecteur d'attaque plausible.Comme je l'ai souligné plus tôt, une porte peut nécessiter une authentification vocale biométrique et une entrée au clavier mémorisée, mais toute personne en ligne de mire peut prendre une vidéo et la reproduire.Est-ce que c'est 2FA?Cela dépend de la plausibilité de cette attaque.
Matija Nalis
2019-10-30 16:14:03 UTC
view on stackexchange narkive permalink

Non . D'autres réponses sont assez proches, mais il manque un facteur important.

Je ne répéterai pas en détail ce que les autres disent, résumons simplement que pour que la clé SSH + le mot de passe soient multifactoriels dans votre cas, il faudrait être "quelque chose que vous savez" + "quelque chose que vous possédez".

Ce que je dirais, c'est que si vous n'avez besoin que de connaissances pour reproduire efficacement "quelque chose que vous avez" (pour que personne ne puisse le dire qui est original et qui est une copie), alors ce n'est pas "quelque chose que vous avez" mais "quelque chose que vous savez" à la place.

Par exemple, si je ne me souviens pas de mon mot de passe et que je l'ai écrit sur un morceau de papier, ça n'arrête pas d'être "quelque chose que je sais" et de devenir "quelque chose que j'ai". C'est toujours juste un mot de passe (même s'il est difficile à retenir), et une fois que quelqu'un l'apprend, il peut me faire passer pour n'importe quel moment sans que je le sache. C'est la même chose avec la clé privée SSH. Ce ne sont que des données, et les données sont par définition "quelque chose que vous (pourriez) savoir (et en faire une copie exacte et indiscernable sans effort)".

La caractéristique principale pour que quelque chose soit "quelque chose que j'ai" est à quel point il est difficile de copier par un tiers non autorisé, car la principale caractéristique de efficace "quelque chose que j'ai" est que la seule façon réaliste pour l'attaquant de l'avoir est de ne plus l'avoir ( car je ne manquerai pas de le remarquer).

Bien sûr, il y a beaucoup de nombreuses zones grises , comme mentionné dans certains articles. Les cartes bancaires à puce seraient «quelque chose que j'ai» aujourd'hui, car il n'est pas possible (sans beaucoup d'efforts, de personnel et d'argent) de créer un duplicata de travail authentique. Cependant, une carte bancaire autorisée uniquement par magstripe, dont tout caissier peut faire une copie avec un équipement de 25 $ et 1 $ de matériel n'est plus efficace "quelque chose que j'ai".

De plus, à mesure que la technologie progresse, les définitions changent. Il était une fois, MD4 était un cryptohash. De nos jours, ce n'est certainement PAS - c'est juste un hash, pas mieux pour être un cryptohash qu'un simple Checksum.

Donc, "clé privée SSH + phrase de passe" échoue en fait à être une méthode d'authentification à deux facteurs sur deux fronts:

  1. La clé privée SSH est juste une information et non un objet physique, donc c'est par définition "quelque chose que vous connaissez" et non "quelque chose que vous avez".
  2. si un facteur d'authentification est totalement inefficace pour rendre plus difficile pour l'attaquant de réussir l'authentification, peut-il encore être appelé facteur d'authentification? Si votre serveur applique une longueur de mot de passe maximale de 1 caractère et aucune limite sur le nombre d'essais, s'agit-il toujours d'un facteur d'authentification? En théorie stricte, c'est peut-être le cas, mais en pratique, il ne s'agit que d'un théâtre de sécurité.

Notez que cela ne signifie pas que la clé privée ssh + la phrase de passe est mauvaise: c'est bien mieux qu'un mot de passe simple ou une clé privée non protégée. Mais ce n'est pas à 2 facteurs.

Mais si vous voulez une sécurité supplémentaire fournie par l'authentification à deux facteurs dans ssh , vous pouvez configurer l'authentification à deux facteurs dans ssh, de préférence en plus d'avoir sa clé privée protégée par une phrase secrète.

Un yubikey est un objet physique qui "juste" contient des informations, alors pourquoi est-il considéré comme un 2FA et pas une clé privée?
@ConorMancone Je ne veux pas mettre de mots dans la bouche d'Op, mais les informations contenues dans le Yubikey ne peuvent pas être extraites.Je pense qu'OP suggère que les informations qui peuvent être dupliquées sont toujours «quelque chose que vous savez», de la même manière qu'une clé de porte physique est (pour vous) une chose que vous avez, mais est pratiquement une _information_ encodée dans des crêtes et des creux pourtout serrurier.
@ConorMancone comme le dit Michael, tout dépend de la disponibilité de ces informations pour l'attaquant.Vous (ni moi, ni Joe Random Hacker) ** ne pouvez pas ** accéder à ces informations de clé privée stockées dans yubikey afin de les dupliquer.D'un autre côté, la clé privée ssh stockée sur la carte mémoire USB est ** triviale ** pour quiconque puisse la lire et la dupliquer (il suffit de copier et coller!), Donc n'est pas différente d'un ancien mot de passe écrit dans un fichier texte sur votre carte mémoire USB (ousur une feuille de papier) - donc pas vraiment "quelque chose que vous avez".Mais si / quand quelqu'un trouve un bogue exploitable dans yubikey, il cessera également d'être utile 2e facteur.
Je suis d'accord avec les avantages du «quelque chose que vous avez» comme quelque chose qui ne peut pas être copié, mais est-ce une définition fondamentale du facteur?Est-ce ce qui en fait un facteur discret?
@schroeder Oui.La même chose que la biométrie ne peut être un facteur distinct que si vous ne pouvez être authentifié qu'en étant scanné physiquement.Si vous pouvez facilement tromper le scanner biométrique de la rétine en portant de fausses lentilles de contact imprimées sur votre imprimante 3D pour 1 $, cela cesse d'être "quelque chose que vous êtes".Les définitions changent avec le temps.
Cette réponse explique bien pourquoi la clé SSH + le mot de passe ne sont pas à 2 facteurs.Mais une lecture imprudente de celui-ci pourrait amener quelqu'un à penser qu'il est inutile de chiffrer votre clé SSH.L'utilisation de l'authentification multifacteur et le chiffrement de votre clé SSH permettent de traiter différents types d'attaques, et les deux sont donc précieux.
@kbolino bon point;J'ai mis à jour la réponse pour mentionner ce point (et un lien vers un moyen d'implémenter l'authentification à 2 facteurs dans ssh)
@MatijaNalis, la facilité de le dupliquer est pertinente pour sa force en tant que facteur, pas son existence en tant que facteur.Par exemple.bubble gum ou un téléphone appareil photo peuvent copier les informations d'une clé mécanique en quelques secondes.Cela affaiblit la sécurité des clés mécaniques en tant que facteurs, mais cela n'en fait pas «pas un facteur».
@PaulDraper Je suis poliment en désaccord.L'ordinateur attaquant ** ne peut pas ** prendre automatiquement une photo de votre clé physique, faire une autre copie physique de la clé, la téléporter dans son trou de serrure et la tourner.Mais un ordinateur attaquant ** peut ** copier et utiliser plus tard votre `~ / .ssh / id_rsa` aussi facilement qu'il peut copier et utiliser plus tard votre mot de passe.Ils sont tous les deux la même chose - juste un flux de bits.Par conséquent, ils sont "quelque chose que vous savez".Que ce flux de bits soit écrit dans un fichier disque (ou sur un morceau de papier) n'a pas d'importance - cela ne devient pas "quelque chose que vous avez" à cause de ce fait.
@MatijaNalis tout est information ("bits" si vous le mettez en base-2).Une clé physique est une information.Cela dépend simplement de savoir si cette information est possédée mentalement ou physiquement.C'est pourquoi [Wikipedia] (https://en.wikipedia.org/wiki/Multi-factor_authentication#Software_tokens) répertorie les jetons logiciels - cert x509, clé SSH - comme "quelque chose que vous avez".(En théorie, il serait possible pour une personne de connaître une clé physique ou une clé SSH ou un certificat x509, puis de la transcrire, mais cela élargit la définition.)
@PaulDraper toutes les informations utilisées dans la sécurité informatique peuvent être encodées en bits;en fait, il ** doit être ** avant d'être envoyé pour traitement.Que ce soit un mot de passe, un jeton matériel ou votre analyse de la rétine.Cela ne veut pas dire que tout peut être au plus 1FA.La différence est que le mot de passe et la clé ssh sont ** uniquement ** utilisés (et abusés) exactement de la même manière - directement en tant qu'informations pures.Comme vous le notez, on ** peut ** se souvenir de la clé ECDSA de 64 octets, et on peut créer un mot de passe compliqué de 100 octets et le stocker dans un fichier texte.Le compter attaquant utilisera ** exactement ** la même technique pour les abuser - donc ils sont IMHO juste 1FA.
@PaulDraper en réalité, la terminologie est sans objet (et wikipedia n'est souvent pas la meilleure source pour les problèmes de sécurité informatique).Je dirais que les gens ** devraient se concentrer sur le niveau de sécurité qu'une mesure leur donne **, et non sur les noms (souvent abusés à des fins lucratives).Par exemple, avoir un smartphone avec un logiciel obsolète depuis quelques années (et donc probablement un cheval de Troie) et utiliser 3FA (mot de passe, jeton logiciel protégé par code PIN et analyse d'empreintes digitales) - le tout sur ce même téléphone que l'attaquant contrôle, laissevous êtes très probablement * beaucoup moins * protégé que d'utiliser simplement 1FA HW OTP et un ordinateur portable GNU / Linux à jour.
@MatijaNalis Je suis tout à fait d'accord avec le fait que "2FA" = / = "grande sécurité"
Ghedipunk
2019-10-30 21:37:46 UTC
view on stackexchange narkive permalink

Du point de vue du service: Non, une clé privée SSH protégée par mot de passe n'est pas une authentification multifactorielle.

Le serveur SSH n'a aucun moyen de savoir si la clé privée est cryptée ou non, et n'a aucun moyen de savoir quelle peut être cette phrase secrète actuelle. Le plus proche que le serveur peut obtenir est, si la paire de clés est générée sur le serveur, il peut capturer la phrase de passe à ce moment. (Ce serait très inhabituel, et je mettrais en doute la sécurité de tout système qui le fait.) Une fois que la clé privée a quitté le serveur, la seule chose qu'elle puisse affirmer est qu'à un moment donné, quelqu'un a utilisé la phrase de passe pour décrypter la clé. Le serveur ne sait pas s'il a été déchiffré il y a quelques secondes dans le cadre de l'authentification ou si la clé privée est actuellement située sur le disque de la machine cliente complètement non chiffrée.

Donc, bien qu'il soit une bonne pratique de chiffrer le privé clé avec une phrase de passe, la poignée de main d'authentification entre le client et le serveur n'utilise pas cette phrase de passe, donc la phrase de passe ne fait pas partie de l'authentification.

Quant à savoir si la clé privée est quelque chose que vous avez ou quelque chose que vous savez, Je soutiens que c'est quelque chose que vous avez, parce que vous ne passez pas la clé privée directement au serveur, vous prouvez que vous avez la clé privée:

La prise de contact d'authentification se déroule comme suit:

  1. Le client sélectionne une clé à utiliser et envoie l'ID de la clé au serveur.
  2. Le serveur obtient le public key depuis ~ / .ssh / allowed_keys , génère un nonce et le chiffre avec cette clé publique.
  3. Le client décrypte le nonce avec sa clé privée, puis MD5 le hache avec la session partagée en tant que salt.
  4. Si le serveur récupère le hachage attendu, l'utilisateur est authentifié.

Il s'agit d'un processus différent de celui de passer un mot de passe; vous prouvez plus que des connaissances, vous prouvez que vous disposez d'un système capable d'effectuer le décryptage d'un message chiffré avec une clé publique spécifique.

En sécurité physique, quelque chose que vous savez serait mis en œuvre avec un défi-réponse: le gardien crie un mot et vous répondez. (Cela authentifie également le gardien. Ne donnez pas le mot de passe du jour à quelqu'un simplement parce qu'il porte un uniforme.)

De même pour la sécurité physique, quelque chose que vous avez est une clé. Oui, la clé contient des informations faciles à copier et qui pourraient même être mémorisées, mais à moins que ces données ne soient coupées dans un objet physique, les données ne servent à rien. Avec une clé, vous prouvez plus que des connaissances, vous prouvez que vous avez un objet capable de soulever les goupilles du culbuteur à la bonne hauteur. Et tout comme la phrase de passe sur une clé privée ne fait pas partie de l'authentification, que l'outil utilisé pour faire tourner le culbuteur soit la clé prévue, une copie ou un ensemble de crochets de verrouillage ne fait pas non plus partie de l'authentification.

Je ne pense pas que le fait que ssh prouve dans le défi-réponse qu'il a une clé privée au lieu de la passer directement le classe comme deuxième facteur.Vous pouvez également utiliser un mot de passe simple (comme par exemple [APOP] (http://www.rfc-editor.org/rfc/rfc1939.html#page-15) ou [CHAP] (http: // www.rfc-editor.org/rfc/rfc1994.html#section-2)) - c'est juste un détail d'implémentation.Sinon, on pourrait * prétendre avoir 2FA avec seulement un mot de passe *: en envoyant directement la moitié d'un mot de passe, et la moitié via le protocole APOP / CHAP-alike (implémenté en javascript par exemple).
Luis Casillas
2019-11-01 03:28:29 UTC
view on stackexchange narkive permalink

Eh bien, il y a quelques réponses qui sont correctes mais où les arguments suivants font rage dans les commentaires montrent qu'ils ne sont pas assez clairs, donc je pense qu'il y a encore de la place pour souligner le point clé suivant:

  • L'authentification multifacteur est une stratégie d'authentification dans laquelle le vérificateur exige plusieurs facteurs d'authentification (et idéalement indépendants) du demandeur.

Le paramètre ici est sorte de protocole d'authentification avec deux parties:

  1. Un demandeur qui revendique une identité spécifique et doit la prouver;
  2. Un vérificateur essayant de confirmer l'identité revendiquée et de rejeter les imposteurs.

En SSH, le demandeur est le client et le vérificateur est le serveur. Dans la configuration la plus courante, le serveur n'exige pas que la clé privée du client soit chiffrée avec le mot de passe, ce qui signifie que ce n'est pas MFA . C'est juste le choix discrétionnaire du client de crypter sa clé privée.

Ayush Ambastha
2019-10-30 00:46:07 UTC
view on stackexchange narkive permalink

En plus de la réponse de @ MechMK1, le «facteur» dans les mécanismes d'authentification se divise en 3 catégories -

  1. Quelque chose que vous savez - Mots de passe, PIN
  2. Quelque chose que vous have - Cartes de crédit, clés USB
  3. Quelque chose à propos de vous - Bio-métrique, reconnaissance faciale

Si vous voulez maintenant 2FA, vous devez en choisir un dans chaque catégorie. Par exemple. Empreinte digitale plus mot de passe, carte de crédit plus code PIN, etc. Avoir deux facteurs de la même catégorie est aussi bon que d'en avoir un seul. Par exemple. Deux mots de passe ne comptent pas pour 2FA.

Pour revenir à votre question, la clé SSH et la phrase de passe appartiennent également à "Quelque chose que vous savez" et, par conséquent, ne comptent pas comme 2FA.

À moins que vous n'ayez mémorisé votre clé SSH (ce qui semble très improbable), vous pourriez affirmer que la clé est "quelque chose que vous avez" et que le mot de passe est "quelque chose que vous savez".En conséquence, pourquoi ne compte-t-il pas comme 2FA compte tenu de votre plan?
Je suis d'accord avec Conor: la clé SSH est quelque chose que vous avez.Ce n'est que parce que la phrase de passe est directement liée à cette clé SSH que je dirais que ce ne sont pas des facteurs séparés.Si la phrase de passe et la clé n'étaient pas liées, alors ce serait des facteurs séparés.
Autrement dit, la phrase de passe protège la clé privée, pas l'authentification.Je peux déchiffrer la clé privée chaque fois que je veux, et le service avec lequel je m'authentifie ne serait pas plus sage.
@Ghedipunk: Pouvez-vous poster cela comme réponse?C'est le raisonnement clé qui justifie mon sens intuitif que ce n'est pas 2FA.J'avais du mal à le formuler (le serveur ne vérifie pas * indépendamment * les deux choses) avant de lire votre commentaire.
@PeterCordes C'est en fait exactement le contenu de ma réponse.
@MechMK1: Votre formulation ne l'a pas dit aussi succinctement ni même aussi clairement (du moins pour moi), malheureusement.C'est probablement pourquoi les commentateurs de votre réponse (en particulier @R.) Ont ressenti le besoin de reformuler et de souligner les points clés en d'autres termes.
@PeterCordes J'ai édité la réponse pour la clarifier davantage.C'était un bon point à soulever, cependant
@ConorMancone après cela pour conclure, on pourrait également soutenir que dans l'authentification classique par nom d'utilisateur / mot de passe uniquement (généralement appelée authentification à un facteur), votre nom d'utilisateur est "quelque chose que vous savez" et le mot de passe que vous avez écrit sur papier (car il est trop gênant poursouvenez-vous) est "quelque chose que vous avez", donc c'est en fait une authentification à deux facteurs.Je dirais plutôt que si vous pouvez utiliser un simple `cp (1)` pour faire une duplication exacte d'un facteur d'authentification, alors c'est "quelque chose que vous savez", pas "quelque chose que vous avez".
@ConorMancone Je pense que vous avez raison.J'ai raté ça.Merci de l'avoir signalé!
@MatijaNalis Non, car les noms d'utilisateur ou adresses e-mail ne sont pas des informations confidentielles.Ce ne sont donc pas des facteurs à prendre en compte lors de l'authentification.
@MechMK1, n'hésitez pas à remplacer cela par un demi-mot de passe (ou quelques lettres) mémorisé, et le reste du mot de passe écrit sur papier.S'agit-il alors d'une authentification à 2 facteurs?
@MatijaNalis Non, car le serveur ne se soucie pas de la façon dont vous stockez votre mot de passe.Le serveur voit un facteur: le mot de passe.
@MechMK1 Et si le serveur demande deux mots de passe (comme les mécanismes courants de "mot de passe" et de "question de sécurité" utilisés aujourd'hui), et que vous gardez le mot de passe écrit sur papier et que vous vous souvenez de votre question de sécurité, est-ce une authentification à 2 facteurs?Le serveur demande et obtient deux entrées distinctes.Mais deux entrées distinctes n'impliquent pas deux facteurs IMO.Des canaux différents ne signifient pas non plus un facteur différent - par exemple, si le serveur vous demandait d'envoyer un mot de passe via un formulaire Web et un autre par courrier électronique, cela ne compterait pas comme deux facteurs (même si cela pourrait améliorer quelque peu la sécurité)
@MatijaNalis Deux mots de passe seraient 2FA en théorie, mais étant donné qu'ils seraient probablement stockés de la même manière (par exemple, la même base de données keepass), il est également très probable qu'ils seraient compromis en même temps (profitant ainsi de 2FAdiscutable).Mais par exemple, un mot de passe et une clé à usage unique envoyés par e-mail seraient une approche viable.
Ángel
2019-10-30 04:23:31 UTC
view on stackexchange narkive permalink

Non. Ce ne sont pas des facteurs différents. Une clé ssh chiffrée n'est pas "quelque chose que vous avez", car ce n'est pas un objet que vous devez contrôler physiquement (c'est quand même bien meilleur qu'un simple mot de passe).

D'un autre côté, un La clé ssh qui a été stockée sur un périphérique d'authentification USB (un Yubikey, U2F ...) serait qualifiée de deuxième facteur.

Une clé privée n'est pas quelque chose que vous savez ou quelque chose que vous êtes, cependant.(Sur la population mondiale, peut-être un millier peut réciter plus de 30 chiffres de pi de mémoire.) Quant à moi, chaque clé privée que j'ai est physiquement stockée quelque part (électrons / champs magnétiques disposés dans une mémoire numérique ... graphite / encresur papier, etc.), ce n'est pas quelque chose que je sais.
Cela n'a pas besoin d'être quelque chose que vous connaissez par cœur, Ghedipunk.Il est parfois exprimé comme "une connaissance que vous avez".Peu importe si vous l'avez mémorisé ou stocké sur un disque dur ou un ordinateur portable.Voyez par exemple qu'un mot de passe sera une "connaissance que vous avez", même si c'est un mot de passe extrêmement long sur un fichier .txt, ce n'est pas un "quelque chose que vous avez".Notez que la clé est que vous devez avoir possession de l'objet pour pouvoir l'utiliser.Vous n'avez pas besoin d'un ordinateur portable ou d'une clé USB pour utiliser leur contenu.
@ Ángel CHAQUE facteur d'authentification peut être exprimé comme "quelque chose que vous savez" lors de l'authentification avec un service distant.Tout est converti en données pour le transit.(Par conséquent, je ne pense pas que votre argument soit très bon, car il produit ce résultat dégénéré "2FA ne peut pas exister en ligne".)
@ Ángel si vous avez des données sur une clé physique (une photographie), vous avez effectivement la clé.Mais une clé est "quelque chose que vous avez", pas "quelque chose que vous savez".
@Brilliand, votre entreprise / banque vous fournit un [SecurID] (https://en.wikipedia.org/wiki/RSA_SecurID).Les données en transit ne sont pas utilisables pour d'autres authentifications.Ainsi, en montrant quelque chose qui ne peut être qu'un "quelque chose que vous avez", je sonde que le 2FA peut exister.QED.
@ Ángel La clé secrète utilisée pour générer le code, et le code généré lui-même, sont tous deux des données qui annuleraient la sécurité si elles étaient connues d'un attaquant.La clé secrète est conservée dans une boîte physique difficile à déchiffrer, oui, mais c'est toujours une information - et la clé générée est un mot de passe pur si un attaquant peut réagir assez rapidement.
L'OTP n'est pas le deuxième facteur, mais seulement un moyen de vérifier que vous avez physiquement l'appareil.Copier votre code ne rompt pas cela.Un meilleur cas pour un "quelque chose que vous avez" qui a brièvement vécu comme "quelque chose que vous savez" serait la configuration d'un nouveau code dans une application TOTP vivant dans un smartphone.Il est généralement accepté comme "quelque chose que vous avez", mais ce ne serait pas complètement pur comme le serait un SecurID ou, mieux encore, un yubikey.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...