SuperDre schreef:
IMHO denk ik dat het net zo veilig/onveilig is. Kan me niet indenken waarom passkeys veiliger zijn dan ww/kg en mij lijkt de combinatie juist veiliger, immers heb je bij passkey alleen de passkey nodig en dan ben je er in, bij ww/kg heb je beide nodig.
Hoe zinvol en "
twee-factor" is 2FA (MFA, Multi Factor Authenticatie, met 2 "factoren")? D.w.z. indien je je realiseert dat:
- Eérste factor is vaak zeer zwak
Veel mensen gebruiken waardeloze (korte, niet unieke, raadbare/voorspelbare, eerder gelekte) wachtwoorden; hoe dicht bij nul zit die "factor" dan? (Gelukkig moet je de waarde daarvan optellen bij de andere factor, maar toch).
- Tweede factor óók zwak?
(Toegevoegd za 11:46); 2FA middels SMS is ook erg zwak; in de praktijk blijken "SIM-swap" aanvallen doodsimpel (een oplossing daarvoor, mét een opsomming van resterende risico's, beschreef ik 4 jaar geleden).
Maar ook TOTP-apps zijn niet zonder risico's (waaronder "time traveler"/"tijdreiziger" aanvallen). Verderop meer over problematische TOTP-apps;
- Volgorde fout?
(Toegevoegd za 11:46) Reden: het is, normaal gesproken, minder erg als een OTP (One Time Password, de code die de 2e factor vormt bij 2FA), dat slechts korte bruikbaar is, in verkeerde handen valt dan een wachtwoord.
Dus, indien 2FA inlogpagina's, na het laten invullen van het user-ID (meestal e-mailadres), éérst om de 2FA code zouden vragen, en uitsluitend als die juist is, om het wachtwoord, kan dat helpen voorkómen dat het wachtwoord in verkeerde handen valt - namelijk in de situatie dat een internetter onbedoeld op een klassieke AitM nep inlogpagina (geen "evil proxy", zie verderop) probeert in te loggen.
Nb. om te voorkómen dat de aanvaller te weten kan komen dat een account met een gegeven user-ID bestaat, zou de echte website, bij een onbekend user-ID, niet "onbekende gebruiker" moeten melden, maar in plaats daarvan altijd om een OTP moeten vragen (en de input negéren).
Belangrijk is dan wél dat de server (bij bestaande user-ID's) brute-force aanvallen bestrijdt door een aangevallen account voor enige (bij voorkeur met toenemende) tijd te blokkeren (vooral SMS OTP kan minuten geldig zijn, ongewenst is dat een aanvaller in dat tijdsbestek 0000..9999 kan proberen);
- Eén webbrowser op één apparaat
Je voert jouw user-ID, wachtwoord en OTP in via één webbrowser (met eventuele plugins/extensies, die daar meestal allemaal "bij kunnen") op één apparaat - spulleboel die dus allemaal betrouwbaar moet zijn;
- Eén webserver, één verbinding
Vóórdat je bovengenoemde inloggegevens invoert - op één website, via één verbinding, - je (vooral als je op linkje hebt geklikt in plaats van op een eerder zelf opgeslagen snelkoppeling), zelf moet controleren of de domeinnaam exact klopt (waarbij je je niet moet laten afleiden door de inhoud van de pagina, die -bij een nepsite-, identiek kan zijn aan de echte site);
- https?
Niet heel moeilijk, maar je moet zelf óók checken dat het om een https verbinding gaat (beter, als je een webbrowser gebruikt die dat ondersteunt, "https only" aanzetten);
- MFA leidt af
(Toegevoegd za 11:46) De kans bestaat dat mensen worden afgeleid van het checken op https en de domeinnaam als zij weten dat 2FA vereist is (zoals bij DigiD met SMS). Daar komt bij dat, vooral voor minder (digitaal- en/of taal-) vaardige mensen, MFA vaak abacadabra is;
- Smartphone gestolen
Wat kan een dief met jouw smartphone? Denk aan SMS-berichten die gewoon te lezen zijn als het scherm vergendeld is (dit kun je overigens uitzetten). Als de dief jouw ontgrendelcode heeft afgekeken zijn jouw risico's nog veel groter: een deel van de TOTP-apps is dan meteen bruikbaar (zonder aanvullende authenticatie), en als de TOTP-secrets bijv. in jouw Google account zijn gebackupped, kan de dief daar mogelijk ook bij;
- 1FA "visum"
(Toegevoegd vr 14:38) Na succesvol inloggen stuurt de server één session cookie, JWT of ander "token", een soort tijdelijk visum, naar jouw webbrowser - om te zorgen dat je niet, bij elke communicatie tussen jouw webbrowser en de webserver, opnieuw moet inloggen (jouw webbrowser stuurt dat "visum" mee met elk verzoek aan de webserver, die daarmee weet dat jij nog dezelfde jij bent die eerder succesvol inlogde).
Bijvoorbeeld op tweakers.net is dat "visum", standaard, eindeloos geldig - en hartstikke 1FA. Daarbij is dat cookie niet gekoppeld aan de verbinding, ook niet aan jouw huidige (externe, op internet) IP-adres, ook niet aan jouw browser en ook niet aan het apparaat met die browser. Oftewel, elke aanvaller die zo'n cookie kan kopiëren, krijgt daarmee (zonder jouw user-ID, wachtwoord en evt. 2FA code, of de private key van jouw passkey voor dat account, te kennen) toegang tot het account door de sessie te kapen (dus zonder echt in te loggen).
Nb. Google werkt aan DBSC (Device Bound Session Credentials) (bron: verwijderde draad op Mastodon) maar dat blijkt allesbehalve simpel (vooral zonder TPM-achtige hardware).
Daar komt bij dat er, met 2FA, wél
twéé "factoren" zijn die je "
kwijt kunt raken" of die
gekaapt kunnen worden.
Risico account lock-out: TOTP
Terwijl de meeste mensen van wachtwoorden snappen dat je een probleem hebt als je die vergeet, hebben de meesten er bij een TOTP-app totaal geen idee van dat de "magie" van TOTP gebaseerd is op, per account, een "shared secret" in zowel jouw app als daarnaast een (niet gehashte) kopie op de server. Daar komen zij meestal pas achter zodra hun smartphone onbruikbaar kapotvalt (of in de plee, of wordt gestolen) en blijkt dat er geen backups gemaakt zijn.
Risico account lock-out: SMS
En als van SMS gebruik wordt gemaakt, en mensen om de één of andere reden van telefoonnummer wisselen {1} en dat niet bijtijds aan elke 2FA-partij hebben gemeld, werkt die 2FA onverwacht ook niet meer. Dat naast het risico op
SIM-swap aanvallen, vooral als criminelen weten dat er bij jou "
wat te halen valt".
{1} Mijn moeder (van -toen nog- 91), heeft een 2G dumbphone met prepaid SIM. Nadat zij 3x een verkeerde pincode invoerde, bleek het briefje met de PUK-code onvindbaar. Een nieuwe prepaid SIM kost bijna niks, maar ik heb geen idee aan wie zij haar oude nummer allemaal heeft doorgegeven (2FA zal zij hooguit voor DigiD ivm belastingaangifte nodig hebben).
TOTP: privacy, risico datalekken
(Toegevoegd vr 15:50) Wetenschappelijk onderzoek in 2022 liet zien dat
veel TOTP-apps ernstige tekortkomingen hadden, zoals dat er geen backups van de "TOTP shared secrets" worden gemaakt, of wél maar slecht beveiligd. Bij veel ("gratis") TOTP-apps "
is de gebruiker het product" (
bijvoorbeeld bij Authy van Twilio): soms worden alleen de "TOTP shared secrets" versleuteld, maar de rest, zoals de domeinnamen van bijbehorende websites, niet.
2FA: lapmiddel voor zwakke ww
M.i. is 2FA vooral een brak lapmiddel tegen zwakke wachtwoorden. Voor SMS, met ál háár nadelen, kan ik nog begrip opbrengen, maar als je een TOTP-app kunt installeren, waarom dan niet meteen een fatsoenlijke wachtwoordmanager, of
passkeys gebruiken?
Passkeys
Nb.
passkeys hebben ook een soort wachtwoordmanager nodig. Onder iOS/iPadOS is dat de "iCloud Keychain", en onder Android de "Google Password Manager" (in beide kunnen ook "gewone" wachtwoorden worden opgeslagen). Maar dat soort "platform-gebonden" oplossingen betekenen bijna altijd vendor lock-in.
KeePassium en KeePassDX
Als je nog even geen passkeys wilt gebruiken: zelf heb ik ondertussen goede ervaringen met KeePassium op iOS/iPadOS en KeePassDX onder Android. Ik heb ze zó geconfigureerd dat als je de inlogpagina van een website met een specifieke domeinnaam opent, het OS + de wachtwoordmanager daar de juiste logingegevens bij zoeken (dus geen geplak via het, mogelijk cloud-based, klembord).
Vanzelfsprekend is het bij wachtwoordmanagers essentieel dat er voor backups gezorgd wordt, maar dat is het ook bij TOTP-apps.
Sterke ww-manager vs passkeys
De sterkte, van een wachtwoordmanager die je tegen de meeste vormen van phishing beschermt, en die je, per account, een uniek, lang, random wachtwoord laat genereren, komt in de buurt van passkeys - vooral als je een browser gebruikt die je op "https only" kunt instellen.
Maar zo'n wachtwoordmanager heeft niet (of hoeft niet te hebben, afhankelijk van welke je kiest) een aantal van de nadelen van passkeys:
stomme kinderziektes, zelf geen backups kunnen maken, vendor lock-in, privacy-issues t.g.v. attestation, en cross-platform ellende.
Potentieel voordeel van 2FA
(Toegevoegd vr 14:38) Een potentieel, m.i. in veel gevallen "theoretisch", voordeel van 2FA is dat als de gebruiker meerdere redelijk sterke wachtwoorden gebruikt (en zelf onthoudt, of op een briefje heeft staan), en het apparaat dat zij/hij gebruikt ernstig gecompromitteerd raakt, de aanvaller
hooguit toegang verkrijgt tot
dié accounts waar de gebruiker, via het gehackte apparaat, op inlogt. Bij het gebruik van een wachtwoordmanager en/of passkeys (beide op dat apparaat) is de kans zeer groot dat de aanvaller toegang tot
alle accounts van de gebruiker kan verkrijgen. Het allerbelangrijkste is dus sowieso om jouw eigen apparatuur zo betrouwbaar mogelijk te houden, maar bij zo'n incident (mits je dat bijtijds opmerkt)
zou 2FA de schade kunnen beperken.
2FA adviseren zonder bijsluiter?
Kortom,
2FA is veel minder zaligmakend dan velen suggereren - en Tweakers willen lezen. Als je alle Nederlanders adviseert om 2FA te gaan gebruiken, doch (onbewust of bewust?) nalaat erbij te vertellen wat de nieuwe risico's daarvan zijn en waar je beslist op moet letten, doe je m.i. veel meer kwaad dan goed. Niet in de laatste plaats omdat, hoe meer mensen 2FA gebruiken, hoe vaker criminelen "
evil proxies" zullen gaan inzetten.
• Edit vr 14:38: bullet met tekst en de sectie "Potentieel voordeel van 2FA" toegevoegd.
• Edit vr 14:55: kopjes achter de bullets gezet en daar lege regels tussengevoegd.
• Edit vr 15:50: sectie "TOTP: privacy, risico datalekken" + enkele URL's toegevoegd en verduidelijkingen aangebracht.
• Edit vr 16:47: meer URL's "onder" bestaande tekst geplakt.
• Edit vr 17:41: m.b.t. TOTP-secret: "per server" —> "per account".
• Edit za 11:46: div. secties toegevoegd (aangegeven in de tekst) en elders enkele verduidelijkingen.
[Reactie gewijzigd door Verwijderd op 22 juli 2024 20:39]