Vad är OAuth (Open Authorization) och Varför är det Viktigt? - TechRobot

Vad är OAuth (Open Authorization) och Varför är det Viktigt?

Dataintrång är ett av de största hoten i en snabbt växande och teknologiskt framåtskridande generation. Ett dataintrång kan föröda företag, rykten och till och med regeringar. Dessutom krävs det bara att ett enda sårbart, privilegierat konto komprometteras av obehöriga enheter för att kritisk data ska kunna ”stjälas”. Den digitaliserade världen genererar, delar, lagrar mer data, och digitala konton är vanliga.

Många tjänster på internet är integrerade och utformade för att interagera med varandra. Att använda tjänstekonton för att få tillgång till applikationer och webbplatser innebär dock den osäkra praxisen att lagra privilegierade inloggningsuppgifter, främst utan flerfaktorsautentisering (MFA), och utsätter privat information för risk att komprometteras.

Vikten av integritet och datasäkerhet är otrolig. Följaktligen säkrar öppna säkerhetsstandarder som OAuth personlig och privat information under dataöverföring mellan tredje parter. OAuth-standarden, som sammanställts av Internet Engineering Task Force (IETF), skyddar resursägare på webben vid användning av tjänster från tredje part. Fortsätt läsa för att lära dig mer om OAuth.

## Vad är OAuth?

OAuth (Open Authorization) är ett öppet standardramverk som tillåter tredjepartsåtkomst till autentiserad användarrelaterad information eller tillgångar på servrar och tjänster (som webbplatser och applikationer) utan att dela deras inloggningsuppgifter. Det ger säker delegerad åtkomst till serverresurser på uppdrag av en resursägare med hjälp av token-baserad autentisering. Dock verifierar autentiseringsprotokollet användaridentitet med hjälp av lösenord, telefon eller biometrisk identitet och bör inte förväxlas med Open Authorization-protokollet.

Till skillnad från autentiseringsprotokoll som OpenID, ger OAuth begränsad åtkomst till resurser efter lyckad autentisering. Företag som Facebook, Google, Amazon, Twitter, Paypal, Netflix och Microsoft tillåter sina användare att dela kontoinformation med tredjepartswebbplatser och applikationer genom OAuth.

OAuth:s avkopplade autentiserings- och auktoriseringsstandard skyddar användarinformation genom att bevilja tillgång till resurser utan att avslöja användarens identitet eller inloggningsuppgifter. Därför kan tredjepartstjänster begära åtgärder på en användares vägnar utan att få tillgång till lösenord och annan känslig information.

OAuth-mekanismen följer ett auktoriseringsflöde med tre nyckelkomponenter: leverantören, ägaren/användaren och klienten/konsumenten. OAuth-leverantören är auktoriseringsservern och huvudmotorn i OAuth. Resursservrar (API:er som Facebook eller Google) använder OAuth för att ansluta till en tredjepartswebbplats eller applikation på en användares vägnar och med dennes godkännande. Leverantören ger klienttjänsten en åtkomstautentiseringstoken för auktorisering till information som är värd av resursservern. Användaren äger datan/informationen på en resursserver. Användarens inloggning bekräftar delning av information. Klienten är webbplatsen eller applikationen som kräver tillgång till användarens information eller resurser.

Den får tillgång till resursservern med en åtkomsttoken. Slutligen kräver klientprogrammet registrering med OAuth för att auktoriseringen ska kunna fortsätta. Den kompletta OAuth-processen kräver flera godkännanden och alla tre komponenter för auktoriserad transaktion/åtkomst.

## OAuth 1.0

Säkerheten för användarinformation är avgörande med ökningen av datadelning, lagring och användning. Därför är det viktigt att integrera säkra autentiseringsstandarder i applikationer och webbtjänster för att förhindra dataintrång. OAuth erkänns som den säkraste standarden för informationsdelning för webbplatser och API:er. OAuth-standarden stöder flera flöden för att hantera olika scenarier för klientappars autentisering och olika enheters kapacitet. Den stöder server-till-server-appar, webbappar, mobilappar, webbplatser, konsoler eller TV-apparater. 

OAuth 1.0-protokollet publicerades 2010 för att omkullkasta frånvaron av öppna standarder för delegering av API-åtkomst. Det släpptes dock först 2007 som en auktoriseringsmetod för Twitter-applikationsgränssnittet. IETF släppte OAuth 2.0 två år senare som ett förbättrat och helt nytt auktoriseringsprotokoll. Det skiljer sig från den första versionen med ökade OAuth-flöden, kortlivade tokens och bakåtinkompatibilitet med OAuth 1.0.

OAuth 1.0 hanterade delegering med ett ramverk baserat på digitala signaturer. Det var starkt och säkert så att stora aktörer som Google och Twitter stödde och antog det. Det krävde krypto-implementering och krypto-interoperabilitet, vilket gjorde det mycket säkert. Dock är det utmanande för utvecklare att implementera utan tillräcklig erfarenhet inom kryptografi och nyckelhanteringsförmåga.

OAuth är generellt sett ett delegeringsprotokoll som ger tillstånd och inte ett autentiseringsprotokoll som OpenID – ett identitetslager byggt ovanpå OAuth 2.0-protokollet. Även om många applikationer använder OAuth 2.0 för autentisering och auktorisering, är det endast specialiserat för delegerad auktorisering.

## OAuth 2.0-ramverket 

OAuth 2.0-ramverket är standardprotokollet för auktorisering inom industrin. En omskrivning av det ursprungliga Open Authorization-protokollet ger en mer omfattande lösning för moderna webb- och icke-webbklienter. Ramverket innehåller specifikationer som ytterligare säkrar användardata. Dessa inkluderar:

### Token Utgång

OAuth-tokens är generellt sett oåterkalleliga, och i 1.0 löper de inte ut. Som ett resultat är token inte helt säkra och är benägna för hot. Med tillgång till en token eller verifieringshemlighet kan en obehörig klient/användare, såsom hackare och skadliga webbplatser, göra obehöriga förfrågningar och få tillgång till användares inloggningsuppgifter och personlig information. OAuth 2.0-ramverket övervinner denna svaghet med utgångsbara tokens. När åtkomsttoken löper ut, så gör även tillgången till applikationen det, såvida inte en annan åtkomsttoken genereras via uppdateringscykeln. OAuth 2.0 genererar ”kortlivade” åtkomsttokens. De varar från längden av en session till ett par veckor men använder uppdateringstokens för att skaffa en ny åtkomsttoken istället för att låta användaren upprepa hela processen för att återauktoriera applikationen.

### Klient-sidans Utveckling 

OAuth 2.0 tar hänsyn till icke-webbklienter såväl som webbflöden. OAuth 2.0 erbjuder specifika auktoriseringsflöden för webbapplikationer, skrivbordsapplikationer, mobiltelefoner, TV/konsoler och icke-webbläsarbaserade applikationer såsom API-baserade tjänster. Det är också mycket enklare att implementera, arbeta med och tillhandahålla stark autentisering.

### Åtskillnad av Uppgifter

OAuth 2.0 separerar ansvarsområdena för leverans av resurser och hantering av användarautentisering. Fysiskt separata servrar, eller till och med olika domännamn, kan hantera båda rollerna. Således kan varje del av systemet skalas oberoende. Därför kräver auktoriseringsservern klient-ID och hemlighet, men API-servern kommer endast att acceptera åtkomsttoken. Följaktligen undviker databasen att dela data med API-servrarna. Dessa gör den nya standarden mer tillämplig för stora företag. Detta beror på att det möjliggör för dessa system att ske oberoende, av olika team, och på olika tidslinjer.

### Bearer Tokens och Eliminerade Kryptografiska Krav

OAuth skapar en balans mellan enkel användning av API:er och goda säkerhetsrutiner. Användningen av bärartoken förenklar implementeringen av OAuth genom att eliminera komplexiteten med kryptografiska signaturer i OAuth 1.0-standarder. OAuth 2.0 kräver endast själva token i förfrågan.

### Tvåfaktorsautentisering

OAuth använde den mindre säkra enkelfaktorautentiseringsmetoden för att avslöja konton. Enkelfaktorautentiseringen kunde lätt komprometteras eftersom hackare bara behöver få tag på en bit information för att få tillgång. OAuth 2.0 kräver dock fler nivåer av autentisering för att ge tillgång till en användare. Det använder tokenisering och en tvåfaktorsnatur för att säkra användarkonton.

## Varför är OAuth Viktigt?

Sofistikerade webbapplikationer, mobilappar och unika affärsmodeller har dykt upp. Utvecklingen av användningsfall till nya scenarier gör traditionella auktorisationsmekanismer otillräckliga. Många av dessa scenarier kräver att en server eller klient kommunicerar (kopplar upp sig mot) med flera servrar för att utföra en begäran eller åtgärd. Behovet av att tillhandahålla nya lösningar för att dela data och federera identitet mellan flera betrodda parter intensifieras som ett resultat. OAuth är ett kraftfullt säkerhetsramverk som strävar efter att lösa de utmaningar som är förknippade med auktorisering. Därför är det viktigt att integrera OAuth i applikationer och webbplatser. Här är varför:

### Den säkrar serverinformation även vid delning

OAuth-protokollet är beroende av SSL (Secure Sockets Layer) för att säkerställa att data mellan webbservern och webbläsaren förblir privat. Faktum är att det är en viktig del av varje organisations webbplatsautentisering eftersom det skyddar användarnas inloggningsuppgifter.

### Tokenisering tillåter endast begränsad åtkomst till användardata

Känslig information såsom kreditkortsinformation och medicinska journaler tilldelas varsin token-ID och lagras på distans. Handlare får token, inte de faktiska uppgifterna. Därför förblir den delade informationen privat. Tredje parter som ännu inte har tillgång till deras medicinska journaler, lösenord eller kreditkortsnummer kan verifiera token för transaktioner.

### OAuth möjliggör användning av enkel inloggning (SSO)

SSO säkerställer enkel åtkomst, kontrollerar risker och ger användarna kontroll över deras data. Det förbättrar användarnas moral och produktivitet genom att möjliggöra åtkomst till flera applikationer med endast en uppsättning inloggningsuppgifter. Det konsoliderar användaruppgifter och förenklar inloggningsprocessen för användare. Detta eliminerar besväret med att hantera många lösenord eller att upprepa samma information när man använder onlinetjänster.

### Det ger användarna kontroll över vad tredjepartstjänster kan göra med deras resurser

Traditionella processer kräver att man delar inloggningsuppgifter med tredjepartssajter för att dela information. OAuth begränsar dock tredje parter och förhindrar dem från att utföra vissa illasinnade handlingar såsom att ändra användarinställningar eller ändra användaruppgifter, och blockera användarens tillgång till kontot.

## Slutsats

OAuth (Open Authorization) skyddar användarinformation från dataintrång så mycket som möjligt. Det första protokollet för OAuth 1.0 skrevs om till OAuth 2.0. Cybersäkerhetsindustrin antar OAuth 2.0 i stor utsträckning som det säkraste alternativet för auktorisering. Även om det inte finns något felsäkert auktoriseringssystem, är OAuth ett av de bästa. Webbplatser som Facebook, Twitter, LinkedIn, Google, Amazon, Instagram och GitHub använder OAuth som sin primära teknologi för autentisering och auktorisering.