Open ID Connect Flashcards
Na czym polega problem lokalnej bazy użytkowników vs zewnętrzny serwis?
Np. nasza własna baza danych vs Google/FB/Twitter i ich serwisy do autentykacji.
Ponadto jeden IdP (Identity Provider) może obsługiwać wiele aplikacji. Czy to oznacza Single Point of Failuer - nie jeśli aplikacja jest redundantna.
Kiedy został ustaniowiony Open ID Connect?
Został ustanowiony w 2014 roku.
Czy był to pierwszy system do autentykacji/autoryzacji?
Nie, np. wcześnieł był Open ID 1, Open ID 2, SAML
Z jakich głównych elementów składa się Open ID Connect?
- Łatwe do obsługi tokeny - klient otrzymuje token zawierający informacji identyfikujące w formie JWT (Java Web Token). Jest to tzw. ID Token.
JWT Token może używać róznego rodzaju algorymtów szyfrujących, hashujących i kompresji. - Bazowany na protokole oAuth 2.0 - wsparcie dla aplikacji mobilnych, desktopowych i webowych. Oznacza to również posiadanie jednego protokołu do uwierzytelnienie i autoryzacji.
- Prostota - Open ID Connect występują w prostszych i bardziej zaawansowanych postaciach - lepszych dla Enterprise
Czym różni się oAuth 2.0 vs Open ID Connect?
oAuth 2.0 służy do delegowania autoryzacji, a Open ID Connect do “federated authentication”.
Czym jest Identity Token?
Przypomina dowód osobisty, który jest w formacie JWT i jest podpisany przez Identity Provider. Żeby go uzyskąc klient musi wysłać żądania do IP
Jak nazywa się tożsamoś użytkownika w JTW?
sub (subject)
Jak nazywa się organ wydający token?
iss (issuing authority)
Jak nazywa się grupa użytkowników dla której wygenerowany jest token?
aud (audience)
Czym jest parametr nonce tokenu JWT?
Służy do walidacji tokenu. Pozwala powiązać sesję użytkonwika z ID tokenem. Przeciwdziała atakom replay.
Jak wykorzystać parametr nonce?
Jeśli jest obecny w tokenie:
- Klient powinien zweryfikować czy wartość nonce jest taka sama jak ta przesłana razem a AuthReq.
- Jeśli nonce był cześcią AuthReq to serwer musi go zwrócić razem z tokenem. Serwer nie modyfikuje w żaden sposób wartości nonce. Jest ona case-sensitive.
Jak nazywają się parametry określające kiedy i jak (pod kątem siły) użytkownik został uwierzytelniony?
auth_time i acr
Jak nazywa się parametr mówiący o tym kiedy użytkownik dokonał uwierzytelnienia?
iat
Jak nazywa się parametr mówiący o tym kiedy token wygasa?
exp
Czy token JWT może zawierać dodatkowe dane?
Tak, dowolny pary wartości - nazywanych “claims”