Alles wat je gebruikt om te authenticeren in in weze een password.
Nee, absoluut niet. De kreet die je aanhaalt, passwordless, werkt juist al niet met een password. Passwordless is gebaseerd op de FIDO2 standaard en dat werkt juist helemaal niet met een wachtwoord, maar met public key cryptografie.
Als je op een website gebruik wilt maken van passwordless inloggen dan registreert deze Titan sleutel (of Yubikey, of een van de vele alternatieven) een
unieke private key die gekoppeld aan de domeinnaam van de website wordt opgeslagen op deze sleutel. Vervolgens wordt ook de bijbehorende public key gegenereerd en deze wordt naar de website gestuurd.
Op het moment dat je later wilt inloggen dan stuurt de website een willekeurig stukje tekst (zogenaamde nonce) die via de browser samen met de domeinnaam naar de sleutel wordt gestuurd. De sleutel zoekt vervolgens de private key op (en vindt die er geen dan mislukt het inloggen, phishen is dus direct onmogelijk) en met deze private key wordt de nonce versleuteld. Het versleutelde resultaat wordt vervolgens teruggestuurd naar de browser die het vervolgens naar de website stuurt. En de website heeft dan eerder de public key opgeslagen waarmee de versleutelde data ontsleuteld kan worden en de website dus kan controleren of die ontsleutelde data inderdaad de nonce is die die zelf verstuurd heeft.
Het gebruik van een wachtwoord is in principe dus symmetrisch en gelijk aan een "preshared key". Ik bedenk een wachtwoord en onthoud dat of sla dat op, en wissel dit de eerste keer uit met de website die dit ook op slaat. Waarmee we samen overeenkomen dat ik elke keer deze afgesproken sleutel (het wachtwoord) gebruik om mij te authenticeren.
Bij "passwordless" wordt echter geen gebruik gemaakt van iets dat symmetrisch is. Maar (letterlijk) asymmetrische cryptografie. Ik heb een cryptografische sleutel en ik ben de enige die deze heeft en deze zal (/kan!) ik nooit afstaan (deze staat in de hardware en het is onmogelijk om deze uit de hardware uit te lezen, daar bestaat simpelweg niks voor in het protocol tussen PC / telefoon / ... en de hardware sleutel). En vervolgens hoort er bij mijn prive sleutel een publiek deel dat ik wel kan (/moet) uitwisselen. En de website de mogelijkheid geeft om te verifiëren dat ik in het bezit van de prive sleutel ben.
Het grote verschil tussen een wachtwoord, en in principe ook OTP, en het gebruik van deze hardware keys is dat ik een wachtwoord ten alle tijden geheim moet houden, maar tegelijkertijd mijn geheime wachtwoord (elke keer!) moet afgeven aan de website, en er op moet vertrouwen dat die website mijn wachtwoord ook geheim houdt. (En bij OTP mag ik nooit de secret afgeven, moet ik er vanuit gaan dat de website de secret nooit afgeeft, en mag ik nooit een OTP afgeven behalve als ik zelf op de website wil inloggen).
Bij passwordless daarentegen is er dan wel nog een ding dat geheim moet zijn, namelijk de private key, maar dat ding is zo geheim dat zelfs ik als eigenaar van de hardware onmogelijk er aan kan komen. En de public key is zoals de naam al zegt publiekelijk. Als ik wil kan ik die opschrijven en op een postit op mijn scherm plakken, hier op Tweakers posten, of wat dan ook. Die public key is "waardeloos". En als de website waarmee ik deze uitwissel de public key uitlekt is er totaal niks aan de hand en is de boel nog steeds helemaal veilig. Het enige dat iemand met die public key kan is gegevens die met mijn private key versleuteld zijn ontsleutelen (/inzien). Maar dat heeft geen nut, want die versleutelde gegevens hebben geen betekenis (het is een willekeurige tekst die de website al "in plain tekst" naar de browser heeft gestuurd). En die public key kan dus ook niet gebruikt worden om iets te versleutelen, alsof het van mij afkomstig is. Want alleen mijn private key kan dat (IIRC kan los van passwordless inloggen een public key wel gebruikt worden om iets te versleutelen, maar dat kan dan alleen ontsleuteld worden door de private key (en dus niet diezelfde public key) maar daar maakt passwordless inloggen geen gebruik van).