Connexion à un ordinateur par code
Là où un QR code ne s'affiche pas (écran de verrouillage, SSH, sudo), un ordinateur
peut demander à l'utilisateur de saisir un code de 8 chiffres dans son wallet
VaultysID. C'est le mécanisme qu'utilise VaultysHub pour la connexion Linux (PAM).
Le code ne quitte jamais le téléphone. Le wallet prouve qu'il le connaît avec une clé que lui seul peut calculer :
key = HMAC-SHA256( DH(wallet, organisation), "vaultys-code|v1|" + code + "|" + origine )
DH(wallet, organisation)est le secret Diffie-Hellman entre la clé du wallet et celle de l'organisation, que chacun calcule avec sa clé privée et la clé publique de l'autre (performDiffieHellman). Les deux se connaissent depuis le premier scan de QR code.- L'ordinateur indique au hub pour quels memberships il demande un code (ceux associés à l'utilisateur local). Le hub ne cherche la clé reçue que parmi les wallets de ces memberships.
Conséquences : un code lu par-dessus l'épaule, intercepté ou deviné ne sert à rien sans la clé privée du bon wallet, et une preuve rejouée est refusée (usage unique).
Tout ce qui suit tourne dans la page : de vraies identités VaultysID, un vrai Diffie-Hellman, et le même échange de connexion qu'avec le QR code.
Ordinateur (Linux)
utilisateur local : jane
Hub Acme
acme.vaultys.example
Codes en cours : 0
Il ne reçoit jamais le code : il recalcule la clé attendue pour chaque code en cours, avec le wallet des memberships concernés.
Wallet de Jane
Acme › Saisir un code
Tentatives d'attaque
Échanges