Cóż, niezupełnie do 5-latka, ale jeśli to możliwe, unikaj modnego hasła i słowa korporacyjnego.
Uwierzytelnianie oparte na oświadczeniach wydaje się teraz modne, ale nie mogłem znaleźć prostego i praktycznego wyjaśnienia tego, czym tak naprawdę jest, czym różni się od tego, co mamy teraz (zakładam „to, co mamy teraz” uwierzytelnianie oparte na rolach), jakie są zalety korzystania z niego itp.
terminology
claims-based-identity
Anton Gogolev
źródło
źródło
Odpowiedzi:
@Marnix ma całkiem dobrą odpowiedź, ale odejdź od technicznego aspektu:
Uwierzytelnianie na podstawie oświadczeń polega na określeniu, komu ufasz, aby uzyskać dokładne informacje o tożsamości, i tylko na podstawie tych informacji. Mój przykład idzie do baru. Wyobraź sobie przez chwilę, że chcesz dostać piwo w barze. Teoretycznie barman powinien poprosić cię o dowód wieku. Jak to udowodnić? Cóż, jedną z opcji jest to, aby barman przeciął cię na pół i policzył liczbę dzwonków, ale mogą być z tym pewne problemy. Inną opcją jest zapisanie swoich urodzin na kartce papieru, którą barman akceptuje lub odrzuca. Trzecią opcją jest udanie się do rządu, zdobycie dowodu osobistego, a następnie okazanie dowodu osobistego barmanowi.
Niektórzy mogą śmiać się z pomysłu zapisania swoich urodzin na kartce papieru, ale dzieje się tak, gdy uwierzytelniasz użytkowników w samej aplikacji, ponieważ barman (lub Twoja aplikacja) musi zaufać kartce papieru . Ufamy jednak rządowemu stwierdzeniu, że data urodzin w dowodzie osobistym jest ważna, a dokument tożsamości dotyczy osoby żądającej napoju. Dla wszystkich celów i barmanów (lub aplikacji) tak naprawdę nie obchodzi, w jaki sposób nastąpiło uwierzytelnienie z powodu zaufania. Barman nie wie o tobie nic oprócz twojej daty urodzenia, ponieważ to wszystko, co barman musi wiedzieć. Teraz barman może przechowywać informacje, które według nich są dla nich ważne, takie jak twój ulubiony napój, ale rząd nie dba o to (ponieważ nie jest to wiarygodne źródło),
Kluczem do CBA jest „kto jest wiarygodnym źródłem tożsamości?”
źródło
(To jest moje osobiste zdanie na ten temat, inni mogą się różnić. Napisz inne punkty widzenia jako osobne odpowiedzi.)
Tożsamość / uwierzytelnianie / autoryzacja oparta na oświadczeniach polega na oddzieleniu obsługi autoryzacji użytkownika i logowania użytkownika od aplikacji (internetowej) poprzez przekształcenie uwierzytelnienia / autoryzacji w oddzielną usługę (internetową).
Na przykład, kiedy po raz pierwszy przejdę do aplikacji internetowej obsługującej oświadczenia, przekieruje moją przeglądarkę do „usługi logowania”, której ufa. Uwierzytelnię się w tej usłudze (przy użyciu uwierzytelniania systemu Windows, karty inteligentnej itp.), A w odpowiedzi odeśle „token”, który przeglądarka odsyła do aplikacji internetowej. Teraz aplikacja internetowa sprawdza, czy token jest podpisany cyfrowo przez zaufaną usługę logowania, a następnie sprawdza „roszczenia” w tokenie. Na podstawie tych twierdzeń aplikacja decyduje o tym, jaką funkcjonalność oferuje użytkownik.
Roszczenia prawie zawsze będą zawierać tożsamość użytkownika, często są też roszczenia związane z autoryzacją („ten użytkownik może przeglądać dane sprzedaży, ale ich nie aktualizować”), a czasem także inne informacje („rozmiar buta = 42”).
Kluczową kwestią jest to, że aplikacja nie wie ani nie obchodzi, w jaki sposób użytkownik został uwierzytelniony, ani w jaki sposób administrowane są autoryzacje: wykorzystuje jedynie informacje z oświadczeń w podpisanym tokenie do ustalenia, kim jest użytkownik i / lub co użytkownik może zobaczyć lub zrobić i / lub wszelkie inne informacje o użytkowniku.
(Tak, zakładam, że dość inteligentny i dobrze poinformowany 5-latek tutaj :-)
źródło
Poniższy przykład ze świata rzeczywistego pochodzi z Przewodnika po tożsamości i kontroli dostępu opartej na oświadczeniach (wydanie drugie) .
źródło
W przypadku pięcioletniego chłopca poproś go, aby założył, że dołączył do nowej szkoły, podpisując wniosek przez rodziców. Po zatwierdzeniu wniosku przez kierownictwo szkoły otrzymuje kartę dostępu, która zawiera wszystkie poniższe informacje, które możemy nazwać ROSZCZENIAMI, aby wejść do szkoły.
Pierwszego dnia swojej szkoły, kiedy wchodzi do szkoły, przesunął kartę dostępu i otworzyły się bramy, co oznacza, że został ODPOWIEDZIALNY JAKO jedna ze osób ze szkoły. W ten sposób jest OSOBĄ UWZGLĘDNIONĄ, aby wejść do szkoły.
Po dotarciu do swojej klasy użył karty dostępu, aby wejść do każdej klasy, ale w 8. klasie drzwi standardowe otworzyły się, jak twierdził, że jest z 8. klasy.
W szkole jest UPOWAŻNIONY tylko do wejścia do swojej klasy, ponieważ studiuje teraz 8. standard. A jeśli spróbuje wejść w 6. Standard, nauczyciel NIE BĘDZIE go UPOWAŻNIAĆ.
źródło
Jak najbardziej nietechniczny:
Jeśli miałbyś opisać cokolwiek na temat tego, kim jesteś i co wolno ci zobaczyć lub robić, każda z tych rzeczy byłaby czymś, co „twierdziłeś”, że jest prawdą, a zatem każda „rzecz” na tej liście byłaby „ roszczenie".
Za każdym razem, gdy mówisz komuś coś o sobie lub „twierdzisz”, że możesz coś zobaczyć lub zrobić, przekazujesz mu swoją listę roszczeń. Sprawdzą z organem, że twoje roszczenia są prawdziwe, a jeśli tak, uwierzą we wszystko na tej liście roszczeń. Więc jeśli twierdzisz, że jesteś Bradem Pittem, twoja lista roszczeń mówi, że jesteś Bradem Pittem i zostało to potwierdzone autorytetem, że wszystkie twoje roszczenia są prawdziwe - wtedy będą wierzyć, że jesteś Bradem Pittem wraz z wszystko inne na tej liście.
Twierdzenie : co uważasz za prawdziwe. Może to być informacja lub opis pozwolenia, które rzekomo masz. System, w którym zgłaszasz swoje roszczenia, musi tylko zrozumieć, co to jest / oznacza roszczenie, a także być w stanie zweryfikować z odpowiednim organem.
Autorytet : system, który łączy twoją listę roszczeń razem i podpisuje ją, co w zasadzie mówi: „Według mojej władzy wszystko na tej liście jest prawdziwe”. Tak długo, jak system czytający oświadczenia może zweryfikować przez organ, że podpis jest poprawny, wszystko na liście oświadczeń będzie uważane za autentyczne i prawdziwe.
Nie nazywajmy tego również „uwierzytelnianiem opartym na oświadczeniach”, zamiast tego nazwijmy to „tożsamością opartą na oświadczeniach”.
Nieco bardziej techniczne:
Teraz w tym procesie uwierzytelniasz się za pomocą jakiegoś mechanizmu (nazwa użytkownika / hasło, klucz tajny klienta, certyfikat itp.), Który daje token potwierdzający, że jesteś tym, za kogo się podajesz. Następnie zamieniasz ten token dostępu na token ID. Proces ten wykorzysta twoją tożsamość do znalezienia i zbudowania listy roszczeń, podpisania jej, a następnie oddania tokena identyfikacyjnego zawierającego wszystkie twoje roszczenia.
Na etapie autoryzacji , w zależności od sposobu jego realizacji, zasób sprawdzi Twój token identyfikacyjny (oświadczenia), a następnie sprawdzi, czy masz niezbędne oświadczenia, aby uzyskać dostęp do tego zasobu.
Na przykład, jeśli zasób „CastleBlack / CommandersTower” mówi, że „musisz mieć dostęp do czarnego zamku i być lordem dowódcą, to spojrzy na twoją listę roszczeń, aby sprawdzić, czy obie te rzeczy są prawdziwe.
Jak widać, „roszczenia” mogą być dowolne. To może być rola, może być faktem, może być flagą. To tylko lista par klucz-wartość, a „wartość” jest opcjonalna. Czasami chodzi tylko o sprawdzenie, czy roszczenie istnieje:
Więc jeśli Jon zaloguje się i spróbuje uzyskać dostęp do zasobu opisanego powyżej, zostanie odmówiony, ponieważ chociaż jest tym, za kogo się podaje i ma dostęp do czarnego zamku, nie jest on już dowódcą ani nie ma wyraźnego dostępu do wieża dowódcy, a zatem nie może pośrednio wejść do wieży dowódcy władcy.
Mówiąc dokładniej, „CastleBlack” prawdopodobnie miałby [większy] zakres, a każdy obszar byłby konkretnym pozwoleniem, ale to inna dyskusja.
Sposób, w jaki każda aplikacja radzi sobie z dostępem, będzie inny, ale użyje do tego roszczeń.
źródło
Biorąc pod uwagę, że roszczenie jest atrybutem, który mówi ci coś o użytkowniku (imię i nazwisko, wiek, pochodzenie etniczne itp.), Pracujesz przeciwko usłudze tokenów zabezpieczających w celu potwierdzenia tych roszczeń, a także użyłeś ich do autoryzacji oprócz uwierzytelnienia.
Poniższy fragment pochodzi z Wikipedii ( http://en.wikipedia.org/wiki/Claims-based_identity ) i jest to najlepsza analogia, jaką do tej pory znalazłem
„Aby lepiej zrozumieć koncepcję usługi tokena zabezpieczającego, rozważ analogię klubu nocnego z portierem. Portier chce uniemożliwić wjazd osobom nieletnim. Aby to ułatwić, prosi patrona o okazanie prawa jazdy, karty ubezpieczenia zdrowotnego lub inną identyfikację (token) wydaną przez zaufaną stronę trzecią (usługę tokena bezpieczeństwa), taką jak prowincjonalny lub stanowy departament prawa jazdy, departament zdrowia lub firma ubezpieczeniowa. wiek. Musi jedynie zaufać organowi wydającemu (i oczywiście dokonać własnej oceny autentyczności przedstawionego tokena). Po wykonaniu tych dwóch kroków klub nocny pomyślnie uwierzytelnił patrona w odniesieniu do twierdzenia, że jest on wiek uprawniający do picia.
Kontynuując analogię, klub nocny może mieć system członkostwa, a niektórzy członkowie mogą być zwykli lub VIP. Portier może poprosić o kolejny token, kartę członkowską, która może złożyć kolejne roszczenie; że członek jest VIP. W takim przypadku zaufanym organem wydającym token byłby prawdopodobnie sam klub. Jeśli karta członkowska twierdzi, że patronem jest VIP, klub może odpowiednio zareagować, tłumacząc uwierzytelnione roszczenie członkowskie VIP na pozwolenie, takie jak zezwolenie patronowi na siedzenie w ekskluzywnym salonie i otrzymywanie bezpłatnych napojów ”.
źródło