Als je een heel oud iOS apparaat hebt, zoals een eerste iPad, dan heeft die geen ondersteuning voor 2fa: je kan alleen je wachtwoord invullen in bijv. de appstore, maar geen 2fa code.
Apple heeft daar wat op gevonden: na het invullen van je wachtwoord krijg je de 2fa code op een ander apparaat. Vervolgens vul je je wachtwoord nogmaals in op het oude apparaat, maar deze keer met de code er meteen achteraan.
Maar hoe werkt dat?
Wachtwoorden in plaintext opslaan is al jaren not-done. Vaak maken ze er bij het aanmaken van een wachtwoord een hash van die de database in gaat. Bij het inloggen maken ze weer een hash van wat je invult en vergelijken dat met de versie in de database.
Maar als je het wachtwoord invult en die 2fa code er aan plakt, dan krijg je toch een heel andere hash?
Het lijkt mij niet dat de oude iOS het wachtwoord en de 2fa code los verstuurt; daarvoor had de broncode aangepast moeten worden en dan hadden ze er net zo goed gewoon een 2fa veld bij kunnen bouwen lijkt mij.
Of zou je ingevulde wachtwoord in plaintext naar de server gaan, die vervolgens de laatste 6 tekens er af haalt om te vergelijken met de 2fa code? Lijkt mij ook niet heel netjes.
Iemand enig idee (of een goede gok) van hoe dit zou kunnen werken?
-> Tekstje hier over bij MacWorld
Apple heeft daar wat op gevonden: na het invullen van je wachtwoord krijg je de 2fa code op een ander apparaat. Vervolgens vul je je wachtwoord nogmaals in op het oude apparaat, maar deze keer met de code er meteen achteraan.
Maar hoe werkt dat?
Wachtwoorden in plaintext opslaan is al jaren not-done. Vaak maken ze er bij het aanmaken van een wachtwoord een hash van die de database in gaat. Bij het inloggen maken ze weer een hash van wat je invult en vergelijken dat met de versie in de database.
Maar als je het wachtwoord invult en die 2fa code er aan plakt, dan krijg je toch een heel andere hash?
Het lijkt mij niet dat de oude iOS het wachtwoord en de 2fa code los verstuurt; daarvoor had de broncode aangepast moeten worden en dan hadden ze er net zo goed gewoon een 2fa veld bij kunnen bouwen lijkt mij.
Of zou je ingevulde wachtwoord in plaintext naar de server gaan, die vervolgens de laatste 6 tekens er af haalt om te vergelijken met de 2fa code? Lijkt mij ook niet heel netjes.
Iemand enig idee (of een goede gok) van hoe dit zou kunnen werken?
-> Tekstje hier over bij MacWorld