Поясніть «автентифікацію на основі претензій» 5-річному віку


189

Ну, не точно 5-річному віку, але, будь-ласка, уникайте словців та підприємств, якщо це можливо.

Аутентифікація, заснована на претензіях, здається, зараз дуже люта, але я не зміг знайти просте і суттєве пояснення того, що це насправді, чим воно відрізняється від того, що ми маємо зараз (я припускаю, "що ми маємо зараз" бути рольовою автентифікацією), які переваги від її використання тощо.


1
Я згоден з @Marnix. Тепер, коли ви маєте основне розуміння, ви можете легше відновитись до визначення / пояснення Microsoft .
FrankO

Я також зрозумів, що ця газета прямо зрозуміла, якщо ви хочете приділити трохи більше уваги та часу. Вступ дає відповідь на запитання, і діаграми говорять тисячу слів: download.microsoft.com/download/7/D/0/…
Paweł Bulwan

У Кентіко також є досить легке пояснення щодо такої термінології docs.kentico.com/k9/managing-users/…
Hoan Dang

Відповіді:


215

@Marnix має досить гарну відповідь, але відійти від технічного аспекту:

Аутентифікація на основі претензій - це визначення того, кому ви довіряєте, щоб надати точну інформацію про особу та використовувати лише надану інформацію. Мій (the) приклад для перегляду - у барі. Уявіть на мить, що ви хочете випити пива в барі. Теоретично бармен повинен просити у вас підтвердження віку. Як ти це доводиш? Ну, один варіант - змусити бармена розрізати вас навпіл і порахувати кількість кілець, але з цим можуть виникнути проблеми. Інший варіант - вам записати день народження на аркуші паперу, який бармен схвалює або не схвалює. Третій варіант - сходити до уряду, отримати посвідчення особи, а потім пред'явити посвідчення бармена.

Деякі можуть сміятися над думкою просто написати день народження на аркуші паперу, але це відбувається, коли ви автентифікуєте користувачів у самій програмі, оскільки бармен (або ваша заява) повинен довіряти папері. . Однак ми довіряємо твердженню уряду про те, що день народження посвідчення особи є дійсним, а посвідчення особи - особі, яка просить випити. Для всіх намірів і цілей, бармен (або додаток) насправді не хвилює, як відбулась автентифікація через довіру. Бармен нічого про вас не знає, окрім дати народження, тому що це все, що повинен робити бармен. Тепер бармен може зберігати інформацію, яку вони вважають важливою для них, як ваш улюблений напій, але уряду це все одно (адже це не авторитетне джерело),

Ключовим фактором CBA є "хто є авторитетним джерелом ідентичності?"


20
Відмінна аналогія! Я б хотів, щоб я міг дати додаткові бали за метод "розрізати вас навпіл і порахувати кільця" за визначенням віку людини. Мені доведеться це спробувати. :-)
Кіт Робертсон

8
Я бачу "для всіх інтенсивних цілей" так часто, що я дуже-дуже вдячний, коли люди правильно говорять "для всіх намірів і цілей"
JoeBrockhaus,

3
Легко: поясніть їм, що аналогії складних тем не можна легко відвести до простих понять незалежно від того, наскільки добре їх розумієш. І ... чому б на 5-річному віці взагалі піклувалися про претензії, засновані на авторі?
Стів

2
Я прочитав це записування, і здається, що аутентифікація на основі претензій - це система аутентифікації третьої сторони, наприклад відкрита реєстрація або соціальні входи, такі як обліковий запис Microsoft, Facebook, Twitter, Google хтось може сказати мені, чим аутентифікація на основі претензій відрізняється від відкритої аутентифікації? тому що відкритий auth - це занадто стороння система аутентифікації.
Томас

1
@Thomas OAuth насправді стосується авторизації, а не автентифікації, і це перетворюється на зовсім іншу розмову. Вони надають ідентифікаційну інформацію, але мета полягає в тому, щоб використовувати маркер для доступу до їх послуг, а не ідентифікувати користувача. Розширення на це OpenID, яке призначене для ідентифікації. У будь-якому випадку простий спосіб подумати про це (якщо не на 100% точний) полягає в тому, що вони є лише реалізацією CBA.
Стів

131

(Це моя особиста думка щодо цього, інші можуть відрізнятись. Будь ласка, публікуйте інші точки зору як окремі відповіді.)

Ідентифікація / аутентифікація / авторизація на основі претензій - це відокремлення обслуговування авторизацій користувача та входу користувача з (веб-) програми шляхом перетворення автентифікації / авторизації в окрему (веб-службу).

Так, наприклад, коли я переглядаю веб-додаток, що підтримує претензії, вперше, він перенаправить мій браузер на "послугу входу", якій він довіряє. Я зареєструю автентифікацію в цій службі (використовуючи автентифікацію Windows, смарт-карту чи інше), і у відповідь він надсилає назад "маркер", який браузер повертає назад у веб-додаток. Тепер веб-додаток перевіряє, що маркер цифровим чином підписується довіреною службою входу, а потім переглядає "претензії" в маркері. Виходячи виключно з цих тверджень, програма вирішує, яку функціональність пропонує користувачеві.

Претензії майже завжди включатимуть особу користувача, часто є також і пов’язані з авторизацією претензії ("цей користувач може переглядати дані про продаж, але не оновлювати їх"), а іноді й іншу інформацію ("розмір взуття = 42").

Ключовим моментом є те, що додаток не знає і не цікавить, як було підтверджено автентифікацію користувача, а також про те, як здійснюються адміністративні права: він використовує лише інформацію з претензій у підписаному маркері, щоб визначити, хто це користувач та / або що може користувач. переглядати або робити та / або будь-яку іншу інформацію про користувача.

(Так, я припускаю, що тут досить розумна та добре обізнана 5-річна. :-)


5
Чи є такі речі, як "Увійти за допомогою Facebook / Google / ..." на прикладі автентичності на основі претензій?
Уес

1
Я впевнений, що мій 5 років зрозумів би все це.
Сінестетик

@ якщо ваше запитання трохи неясне. Простий акт входу через facebook або google - це не приклад автентифікації на основі претензій, ні. Я також стверджую, що аутентифікація на основі претензій - це не річ. Це було б дозволом, якщо що. Там, де CBA прийде в дію, це під час етапу авторизації входу з цими постачальниками. Коли він запитає дозволів, і ви приймаєте, він додасть область вашому маркеру доступу. Це семантично відрізняється від претензії, але часто використовується дуже подібним чином.
Сінестетик

40

Наступний приклад із реального світу взято з Посібника по ідентифікації та контролю доступу на основі претензій (2-е видання) .

Дуже знайомою аналогією є протокол автентифікації, який ви дотримуєтесь кожного разу, коли відвідуєте аеропорт . Ви не можете просто підійти до воріт і пред'явити паспорт або посвідчення водія. Натомість спочатку потрібно зареєструватися у касі. Тут ви представляєте будь-які дані, які мають сенс. Якщо ви їдете за кордон, ви показуєте свій паспорт. Для внутрішніх рейсів ви пред'являєте посвідчення водія. Перевіривши, що ваш ідентифікатор зображення відповідає вашому обличчю ( автентифікація ), агент шукає ваш рейс і перевіряє, що ви заплатили за квиток ( авторизацію ). Якщо припустити, що все в порядку, ви отримаєте посадочний талон, який ви їдете до воріт.

Посадковий талон дуже інформативний. Агенти з воріт знають ваше ім’я та частий номер флаєра (автентифікація та персоналізація), номер вашого рейсу та пріоритет місця (авторизація) та, можливо, навіть більше. Агенти ворота мають все необхідне для ефективної роботи.

Також є спеціальна інформація про посадковий талон. Він закодований у штрих-коді та / або магнітній смузі на звороті. Ця інформація (наприклад, серійний номер посадки) підтверджує, що пропуск видав авіакомпанія і не є підробкою.

По суті, посадочний талон - це підписаний набір претензій, які висуває авіакомпанія щодо вас . У ньому зазначено, що вам дозволяється сісти в той чи інший рейс в певний час і сісти в певне місце. Звичайно, агентам не потрібно дуже глибоко думати про це. Вони просто підтверджують ваш посадковий талон, читають претензії на ньому та дозволяють вам сісти в літак.

Також важливо зазначити, що може бути кілька способів отримання підписаного набору претензій, що є вашим посадковим пропуском. Ви можете зайти до лічильника квитків в аеропорту або скористатися веб-сайтом авіакомпанії та надрукувати вдома свій посадковий талон. Агентів воріт, які сідають на рейс, не байдуже, як створений посадковий талон; їм все одно, якого емітента ви використовували, якщо йому довіряє авіакомпанія. Їх хвилює лише те, що це автентичний набір претензій, який дає вам дозвіл сісти на літак.

У програмному забезпеченні цей пакет претензій називається маркером безпеки . Кожен маркер безпеки підписується емітентом, який його створив. Додаток на основі претензій вважає користувачів аутентифікованими, якщо вони представляють дійсний підписаний маркер безпеки від надійного емітента .


18

Для хлопчика 5 років попросіть його припустити, що він приєднався до нової школи, підписавши заяву батьками. Після схвалення керівництвом школи його заявки він отримує карту доступу, яка містить усю інформацію нижче, яку ми можемо назвати ЗАЯВЛЕНОЮ для вступу до школи.

  1. НАЗВАННЯ ХОЛОДА - BOB.
  2. НАЗВАННЯ ШКОЛИ - МОНТИССОРІ ВНЗ
  3. КЛАС - 8-а ГР

У перший день своєї школи, коли він заходив до школи, він провев свою картку доступу і ворота відкрилися, значить, його заявили як одну з осіб школи. Таким чином він є АВТОМЕНТИРОВАНОЮ ОСОБА, яка вступає до школи.

Добравшись до свого класу, він використовував карту доступу, щоб увійти до кожного класу, але в 8-му стандартному класі відкрилися двері, як він заявив, що з 8-го стандарту.

У школі йому лише дозволено вступити до свого класу, оскільки він зараз вивчає 8-й стандарт. І якщо він спробує вступити до 6-го стандарту, вчитель школи НЕ БУДЕ АВТОРИЗАЦІЮвати його.


3
Це якраз і описує загальне поняття аутентифікації та авторизації. Спеціально на підставі вимог чи іншим чином
Sheepy

Шепі, напевно, претензії пояснюються тим, що він є 8-м класом і йому заборонено вступити до 6-го класу?
Ян

1
Я прочитав це записування, і здається, що аутентифікація на основі претензій - це система аутентифікації третьої сторони, наприклад відкрита реєстрація або соціальні входи, такі як обліковий запис Microsoft, Facebook, Twitter, Google хтось може сказати мені, чим аутентифікація на основі претензій відрізняється від відкритої аутентифікації? тому що відкритий auth - це занадто стороння система аутентифікації.
Томас

9

Якнайбільше нетехнічних:

Якби ви описували що-небудь про те, хто ви є, і що вам дозволялося бачити чи робити, кожна з цих речей була б чимось, на що ви «стверджуєте», що є правдою, і, таким чином, кожна «річ» у цьому списку була б « претензія ".

Щоразу, коли ви скажете комусь щось про себе або «заявите», що вам дозволяється бачити чи робити щось, ви передаєте їм свій список претензій. Вони з владою перевірять, що ваші претензії є правдивими, і якщо вони є, вони вірять будь-чому в цьому списку претензій. Отже, якщо ви стверджуєте, що ви Брэд Пітт, у вашому списку претензій йдеться про те, що ви Брэд Пітт, і це було підтверджено авторитетом, що всі ваші вимоги справджуються - тоді вони повірять, що ви Бред Пітт разом з все інше в цьому списку.

Претензія : те, що ви стверджуєте, що є правдою. Це може бути інформація або опис дозволу, на який ви претендуєте. Системі, до якої ви пред'являєте свої претензії, потрібно лише зрозуміти, що таке / означає претензію, а також мати змогу перевірити їх у владі.

Повноваження : Система, яка поєднує ваш список претензій разом і підписує його, в основному каже: "У моїх повноваженнях все в цьому списку відповідає дійсності". Поки система, яка читає претензії, зможе перевірити повноваження, що підпис правильний, тоді все в списку претензій буде вважатися справжнім і правдивим.

Крім того, давайте не називатимемо це "автентифікацією на основі претензій", а назвемо її "ідентифікація на основі претензій".

Трохи технічніше:

Тож тепер у цьому процесі ви автентифікуєтесь за допомогою якогось механізму (ім’я користувача / пароль, секрет клієнта, сертифікат тощо), і це дає вам знак, який підтверджує, що ви є тим, ким ви говорите. Потім ви торгуєте цим маркером доступу на маркер ідентифікатора. Цей процес використовуватиме вашу особу для пошуку та складання списку претензій, підписує його, а потім передасть вам маркер ідентифікатора, який містить усі ваші претензії.

На етапі авторизації , залежно від того, як він реалізований, ресурс розгляне ваш маркер ідентифікатора (претензії), а потім перевірить, чи є у вас необхідні претензії для доступу до цього ресурсу.

Так, наприклад, якщо ресурс "CastleBlack / CommandersTower" каже, що "вам доведеться мати доступ до замкового чорного і бути лордом, тоді він перегляне ваш список претензій, щоб побачити, чи обоє ці речі справжні.

Як бачите, "претензії" можуть бути будь-якими. Це може бути роль, це може бути факт, це може бути прапор. Це лише перелік пар ключ-значення, а "значення" необов'язково. Іноді мова йде лише про те, чи існує претензія:

claims : [
    {"type": "name", "value": "Jon Snow"},
    {"type": "home", "value": "Winterfell, The North, Westeros"},   
    {"type": "email", "value": "jon@nightswatch-veterans.org"},
    {"type": "role", "value": "veteran;deserter;"},
    {"type": "department", "value": "none"},    
    {"type": "allowEntry", "value": "true"},
    {"type": "access", "value": "castleblack;eastwatch;"}
]

Тож якщо Джон увійшов і спробує отримати доступ до описаного вище ресурсу, йому буде відмовлено, оскільки, хоча він є тим, за кого він говорить, і у нього є доступ до замку чорних, він більше не є командиром лорда і не має явного доступу до командирська вежа, і тому не може неявно увійти до вежі командира.

Більш конкретно, "CastleBlack", ймовірно, буде [більшим] обсягом, і кожна область буде конкретним дозволом, але це інша дискусія.

Як кожна програма працює з доступом, буде різною, але вона буде використовувати претензії для цього.


5

Враховуючи, що претензія - це атрибут, який щось повідомляє про користувача (ім'я, вік, етнічну приналежність тощо), ви працюєте проти служби маркера безпеки для перевірки цих заявок, а також використовували їх для авторизації окрім автентифікації.

Наступний уривок взято з Вікіпедії ( http://en.wikipedia.org/wiki/Claims-based_identity ) та найкращої аналогії, яку я знайшов досі

"Для кращого розуміння поняття служби службових жетонів безпеки, розгляньте аналогію нічного клубу з швейцаром. Швардер хоче запобігти в'їзду неповнолітніх покровителів. Щоб полегшити це, він вимагає від патрона пред'явити водійське посвідчення та карту медичного страхування. або інша ідентифікація (жетон), видана довіреною третьою стороною (служба жетону безпеки), наприклад, провінційним або державним відділом посвідчення транспортних засобів, відділом охорони здоров’я або страховою компанією. Нічний клуб таким чином звільняється від відповідальності за визначення покровителя вік. Він повинен лише довіряти органу, що видав (і, звичайно, зробити власне судження про справжність представленого жетону). За допомогою цих двох етапів нічний клуб успішно засвідчив патронанта щодо заяви, що він або вона є законний п’яний вік.

Продовжуючи аналогію, нічний клуб може мати систему членства, а певні члени можуть бути регулярними або VIP. Швейцар може попросити ще один жетон, членський квиток, який може подати ще одну претензію; що учасник VIP. У цьому випадку довіреним органом видачі токена, ймовірно, буде сам клуб. Якщо членська картка заявляє, що меценат є VIP, клуб може реагувати відповідним чином, перекладаючи засвідчену заяву про членство в VIP на дозвіл, такий як патрону дозволяється сидіти в ексклюзивній зоні відпочинку та подавати безкоштовні напої ".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.