Loading...

Blogindlæg

Hjem / Blog / Goer din hjemmeside sikrere med 2 faktor autentificering

Gør din hjemmeside sikrere med to-faktor godkendelse

Guide til to-faktor godkendelse (2FA). Læs hvordan det virker og hvad for en løsning der er bedst for din hjemmeside. To-faktor godkendelse øger sikkerheden på bruger login enormt, da brugeren skal bruge sin kode plus et ekstra sikkerhedslag som brugeren har på sig, f.eks. en mobil.

Introduktion

Der findes to former for to-faktor godkendelse:

  • Authenticator app (TOTP algoritme)
  • SMS (HOTP algoritme)

Man kan bruge én eller begge metoder. Hvis man benytter begge metoder i sin applikation, skal brugeren blot vælge den ønskede metode ved to-faktor godkendelse konfigurationen.

Authenticator App

Denne metode fungerer ved at brugeren downloader en app som kan lave to-faktor godkendelse. Der er mange apps som tilbyder to-faktor godkendelse, den mest kendte er ”Google Authenticator”, Microsoft har også en og så findes andre open source versioner. En app som kan lave to-faktor godkendelse er derfor åbent for alle, teknologien er ikke bundet til en producent eller andet, de følger blot den nævnte algoritme (TOTP), som er en standard.

En to-faktor godkendelse app er meget simpel, det eneste den gør er at generere en tidsbestemt kode, dette gør den ved at bruge TOTP algoritmen. TOTP står for ”Time-based One Time Password” og den genererer en kode ved at bruge en delt nøgle og mobilens unixtime. Den delte nøgle er skabt af serveren og givet til mobilen ved konfigurationen via en QR kode eller blot noget tekst som brugeren manuelt taster ind. Når brugeren prøver at logge ind på hjemmesiden og ankommer til to-faktor godkendelse delen efter at have skrevet sin normale adgangskode, så spørger hjemmesiden om en kode, som man skal generere med sin 2FA app.

Use case: Brugeren aktiverer to-faktor godkendelse på app

  1. Brugeren logger ind på hjemmesiden som normalt
  2. Brugeren får at vide at to-faktor godkendelse bliver aktiveret
  3. Brugeren får vist diverse forslag til to-faktor godkendelse apps til diverse styresystemer f.eks. Android, iOS og Windows Phone
  4. Brugeren får besked om at downloade en to-faktor godkendelse app f.eks. Google Authenticator
  5. Brugeren klikker på to-faktor godkendelse app link og downloader appen til sin mobil
  6. Hjemmesiden genererer en QR kode som indeholder en nøgle der bliver delt mellem serveren og to-faktor godkendelse appen
  7. Brugeren ser nu en QR kode på hjemmesiden
  8. Brugeren bliver informeret om at skanne QR koden med den installerede to-faktor godkendelse app
  9. Brugeren scanner QR koden med to-faktor godkendelse appen
  10. QR koden indeholder en nøgle, dette er blot et stykke tekst, og denne nøgle bliver registreret af to-faktor godkendelse appen
  11. Serveren og to-faktor godkendelse deler nu samme nøgle som tilhører den pågældende bruger, alle brugere får hver deres nøgle

Use case: Brugeren logger ind med to-faktor godkendelse på app

  1. Brugeren logger ind på hjemmesiden som normalt
  2. Brugeren taster sin adgangskode og brugernavn
  3. Brugerens adgang bliver accepteret
  4. Brugeren ankommer til to-faktor godkendelse skærmen
  5. Brugeren ser et input felt hvor der skal indsættes en kode fra to-faktor godkendelse appen f.eks. Google Authenticator
  6. Brugeren åbner to-faktor godkendelse appen og under hjemmesidens navn står der automatisk en kode
  7. Koden ændrer sig automatisk hvert 30. sekund
  8. Brugeren har nu 30 sekunder til at indtaste koden
  9. Hvis brugeren ikke når det inden 30 sekunder, skal brugeren blot indtaste den næste kode
  10. Serveren sammenligner koden ved at bruge samme algoritme og unixtime, hvis den genererede kode fra to-faktor godkendelse appen matcher serverens så bliver den accepteret. Hvert 30 sekunder ændrer den tilladte periode sig, og da unixtime time er nogenlunde ens for alle så er serveren og to-faktor godkendelse appen synkroniseret. Der kan være  latency problemer over netværket eller softwaren kan være lidt ude af synk, derfor laver man et vindue på 30 sekunder.

SMS

Denne metode benytter sig af en tilfældig kode som bliver genereret på serveren ved at bruge HOTP algoritmen og sendt via en SMS gateway til brugerens SIM kort telefonnummer. Det er den mest simple form for to-faktor godkendelse for brugeren da det ikke kræver opsætning på mobilen, man modtager bare en SMS.

HOTP er ikke baseret på tid som i TOTP men på en tæller. Den genererer en kode og når den validerer koden sammenligner den koden med nuværende tæller. Når serveren validerer koden eller den genererer en ny kode stiger tælleren med 1.

For at sende SMS skal man bruge en SMS gateway, der findes mange udbydere og prisen pr. SMS ligger på under 30 øre pr. styk.

SMS gateways udpluk

Use case: Brugeren aktiverer to-faktor godkendelse på SMS

  1. Brugeren logger ind på hjemmesiden som normalt
  2. Brugeren får at vide at to-faktor godkendelse bliver aktiveret
  3. Brugeren registrere sit SIM kort telefonnummer

Use case: Brugeren logger ind med to-faktor godkendelse på SMS

  1. Brugeren logger ind på hjemmesiden som normalt
  2. Brugeren taster sin adgangskode og brugernavn
  3. Brugerens adgang bliver accepteret
  4. Brugeren ankommer til to-faktor godkendelse skærmen
  5. Brugeren ser et input felt hvor der skal indsættes en to-faktor godkendelse kode
  6. Serveren genererer en kode
  7. Serveren sender koden via en SMS gateway til brugerens mobil
  8. Brugeren modtager SMS koden og taster ind
  9. Serveren sammenligner koden

Værktøjer

Der findes diverse biblioteker til udvikle to-faktor godkendelse:

For og imod

For to-faktor godkendelse app

  • Sikrere da koden ikke bliver vist som preview på skærmen som ved SMS
  • Ingen omkostninger ved kode generering
  • Kan bruges uden mobilnet eller internetforbindelse på mobilen
  • Virker i hele verdenen
  • Ingen forsinkelse ved kode generering
  • Kan bruges på app, Windows, Linux og OS X software

Imod to-faktor godkendelse app

  • Opsætning kræves af brugeren
  • Kræver en smartphone
For to-faktor godkendelse SMS

  • Kræver ingen opsætning af brugeren
  • Kræver ikke en smartphone

Imod to-faktor godkendelse SMS

  • Kræver netværksforbindelse
  • Omkostninger ved afsendelse af hver SMS til brugeren
  • SMS afsendelse kan være upålidelig og langsom ved høj trafik, f.eks. jul og nytår
  • SMS kan være upålidelig i udlandet og steder med dårlig forbindelse
  • SMS er ikke krypteret

Konklusion

To-faktor godkendelse på app er helt klart den bedste løsning, der er ingen omkostninger for dig ved hver kode generering. Den har 100% tilgængelighed, så længe mobilen er opladt. Den kræver ikke internet eller mobilnet og så er den sikrere.

Der er kun et meget lille minus og det er at brugeren skal downloade en to-faktor godkendelse app og oprette login til hjemmesiden, men det er blot at scanne en QR kode, det burde tage under 2 minutter.

Kommentarer (0)

Skriv en kommentar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Allerede bruger? login