JWT (JSON Web Token): En särskild sorts autentiserings-token
Eftersom så många användare numer ansluter via mobiltelefoner (appar) och webb-appar behöver utvecklare ett säkert sätt att autentisera som är lämpligt för dessa plattformar.
För att lösa den utmaningen använder många utvecklare JWT (JSON Web Token) när de arbetar med token för sina appar.
JWT är en öppen standard. Slutprodukten är en säker och skyddad kommunikation mellan två parter. Data verifieras med en digital signatur och om den skickas via HTTP skyddas data med kryptering.
JWT består av tre viktiga komponenter.
- Header: Definierar typ av token och använd signatur-algoritm.
- Innehåll: Definierar utfärdare av token, dess giltighetstid med mera.
- Signatur: Verifierar att meddelandet inte har ändrats under överföringen med en säker signatur.
Kodning knyter samman dessa delar.Slutprodukten kan se ut så här.
Låt dig inte skrämmas av JSON-kod. Denna typ av notation är vanlig när olika instanser vill skicka data fram och tillbaka då referenser finns. Om du är intresserad av att använda JWT men aldrig tidigare stött på språket så kan en resurs som denna hjälpa dig.
Fördelar och nackdelar med JWT
JWT har många fördelar.
- Storlek: Token skrivna med detta programspråk är kompakta och de kan utväxlas mellan två instanser ganska snabbt.
- Enkelhet: Token kan genereras från nästan var som helst och de behöver inte verifieras i din server.
- Kontroll: Du kan specificera vad åtkomsten gäller, hur länge godkännandet gäller och vad som får göras medan användaren är inloggad.
Det finns också potentiella nackdelar,
- En nyckel: JWT förlitar sig på en nyckel. Om den nyckeln läcker ut så blir hela systemet sårbart.
- Komplexitet: Dessa token är inte enkla att förstå. Om en utvecklare inte har goda kunskaper om kryptografiska signatur-algoritmer så kan de av misstag utsätta systemet för risk.
- Begränsningar: Du kan inte trycka ut meddelanden till alla klienter och du kan inte hantera klienter från serversidan.
Varför prova autentiserings-token?
Du har utvärderat din nuvarande strategi och tror att allt är under kontroll. Varför skulle autentiserings-token bli en del av dina system? Mycket påtagliga fördelar visar sig för utvecklare som tar det språnget.
Autentiserings-token är bra för systemadministratörer som:
- Ofta beviljar tillfällig åtkomst. Din användarbas fluktuerar med datum, tid och särskilda händelser. Att bevilja och återkalla åtkomst är arbetsamt. Token kan hjälpa dig.
Administratörer på exempelvis universitetsbibliotek skulle uppskatta införandet av token.
- Krav på finmaskig åtkomst. Din server beviljar åtkomst baserat på särskilda dokumentegenskaper, inte användaregenskaper. Lösenord ger inte möjlighet för sådan detaljrikedom.
Tänk dig att du t.ex. driver en online-tidskrift. Du vill att alla ska läsa och kommentera bara ett dokument, inte andra. Token kan göra det möjligt.
- Primära mål för hackare. Din server innehåller känsliga dokument som skulle kunna allvarligt skada ditt företag om de kom ut. Ett enkelt lösenord ger inte tillräckligt skydd.Lite maskinvara hjälper dig en bra bit.
Det finns många fler exempel på användning av autentiserings-token. Men denna enkla lista kan ge dig idéer och ju mer du tänker på fördelarna, desto mer sannolikt är det att du kommer med på tåget.
Håll dig till bästa praxis för autentiserings-token
Autentiserings-token är tänkta att förstärka dina säkerhetsprotokoll och skydda din server. Men de fungerar bara effektivt om du har byggt dina processer på säkerhet.
Ditt autentiserings-token ska vara:
- Privat. Användare kan inte dela enheter för token-autentisering eller skicka dem mellan olika avdelningar. Precis som med lösenord får de inte delas med andra delar av ditt säkerhetssystem.
- Säkert. Kommunikation mellan token och server måste ske säkert via HHTPS-anslutningar. Kryptering är central för att hålla token skyddade.
- Testat. Gör regelbundna tester av token för att kontrollera att ditt system är säkert och fungerar som det ska. Om du stöter på problem så åtgärda det omedelbart.
- Lämpligt. Välj rätt sorts token för dina enskilda användarfall. JWT är exempelvis inte lämpliga som sessions-token. De kan vara kostsamma och de säkerhetsrisker som uppkommer är går inte att eliminera. Se till att alltid välja rätt verktyg för jobbet.
Var noggrann innan du fattar beslut om autentiserings-token. Gör läxan, fråga kollegor och se till att du gör ditt bästa för ditt företag.
Låt oss hjälpa dig
När vi funderar på hur vi ska kunna få säker åtkomst både hemma och på kontoret så är det lika viktigt att implementera mekanismer såsom token-baserad autentisering för att garantera att bara rätt att personer har tillgång till våra digitala resurser.
Se hur Okta kan förbättra din säkerhet.
Referenser
The World's First Computer Password? It Was Useless Too, (januari 2012).Wired.
Microsoft Says This Magic Ring Could Make Passwords Obsolete, (juni 2020). Small Business Trends.
JSON Web Token, (maj 2015). Internet Engineering Task Force.
Working With JSON. Mozilla.
Security Token. Citi.
Security Token Definition, (juni 2020). Investopedia.
Two-Factor Authentication, (februari 2020). Explain That Stuff.
When Are Tokens Securities? Some Questions from the Perplexed, (december 2018). Harvard Law School Forum on Corporate Governance.