Citat:
Ursprungligen postat av
Kausti
Har ingenting med BankID att göra. Protons inlägg stämmer, men vill ändå utveckla lite.
Du har ett certifikat på mobil/dator som är kopplat till ditt personnummer. Och det finns två sätt att använda det certifikatet: Samma enhet, eller annan enhet, man behöver inte alltid ange personnummer heller vilket komplicerar saker. Det finns alltid 3 delar i ett inlogg. BankIDs servrar, tjänsten man vill logga in på, och BankID klienten.
1) När man vill logga in begär klienten en token från BankIDs servrar., med den vet BankID
var man vill logga in. Tjänsten sparar den i minne för kommunikationen mellan de 3 delarna.
2) Om man valde annan enhet får man antingen fylla i sitt personnummer, eller skanna en QR kod från BankID klienten. Annars försöker tjänsten starta BankID klienten på samma enhet, hur man startar beror på enheten men man skickar med samma token som man fick från BankIDs servrar. Nu vet man
vem som vill logga in.
3) Nu när man kopplat ihop BankID klienten och tjänsten förväntar sig tjänsten ett godkännande från BankIDs servrar att personen lyckades med inlogget. Och börjar skicka frågor till servern, och då används samma token igen. Samtidigt väntar BankIDs servrar på rätt kod från BankID klienten. Detta pågår tills användaren skrivit sin kod på BankID klienten eller tills tiden går ut.
Hemligheten är certifikatet på enheten som bara kan verifieras med lösenordet. Och BankIDs servrar kan verifiera att det är ett äkta certifikat kryptografiskt (det sista är en gissning men det är så det brukar skötas).