Одразу ж до головного і по-простому:
- Автентифікація – це підтвердження того, ким є користувач на вході. Це проходження перевірки автентичності.
- Авторизація – це те, що користувачу дозволяється робити після входу. Це надання і перевірка прав на вчинення будь-яких дій в системі.
Часто ці два поняття плутають чи взаємозамінюють.
Процедура входу у власні соцмережі, онлайн-гру, пошту чи на певний сайт супроводжується введенням логіну і паролю. Після цього ми отримуємо доступ до сторінки. Саме це часто і називають авторизацією, що з технічного боку – неправильно:
натискання Enter в формі введення запускає два абсолютно різні процеси – аутентифікацію і авторизацію. Для чого їх розрізняти? Коли виникає помилка, необхідно чітко розуміти, на якому етапі відбувся збій.
Ці два процеси використовують не тільки в процесі отримання доступу до мережевих акаунтів. Автоматизовані системи, EDI, передача даних, пластикові банківські картки – ми ж проходимо ці процедури на автоматі.
Різниця між аутентифікацією і авторизацією
Як проходить процедура аутентифікації?
Наприклад, користувач хоче прочитати свої свіжі листи, що прийшли на email. Зайшовши на сайт пошти, він поки що бачить лише рекламу і новини. Але свої листи він зможе прочитати лише після введення та відправки свого логіну та паролю. До цього моменту – ні-ні. Система ж не знає, хто він. Ось це і є процес аутентифікації.
Що може перевіряти система:
- чи існує користувач з таким ім’ям,
- чи збігається введений пароль з його обліковим записом.
- може запитувати ще наявність сертифіката, IP-адресу або додатковий код верифікації.
Якщо користувач пройшов аутентифікацію – він дійсно той, ким здається.
Після цього починається процес авторизації. І тут з поштою все просто: всі можуть переглядати листи і документи, редагувати їх і створювати нові.
А ось в соцмережах, сайтах або на форумах, часто відвідувачі належать до певної групи.
Тут авторизація допомагає системі визначити, що дозволено тим чи іншим користувачам:
- право писати повідомлення користувачу,
- право додавати в повідомлення певні матеріали.
- право переглядати фотографії інших користувачів.
- право на редагування або копіювання документів.
Авторизація перевіряє наявність прав на конкретні дії. Це відбувається не тільки під час входу в систему, але і при будь-якій спробі вчинити будь-які маніпуляції з даними.
✓ У цьому полягає відмінність аутентифікації від авторизації: перша – процедура одноразова для поточної сесії, другу користувач проходить постійно перед запуском будь-якого процесу.
"Процес аутентифікації запускається користувачем при вході в систему: він надає ідентифікаційні дані: логін / пароль, відбиток пальця, встановлений сертифікат, карта і її PIN-код. При цьому можливі помилки з боку клієнта. Авторизація запускається сервером автоматично, якщо аутентифікація завершена успішно, і дії користувача на даний процес не впливають"
Лайфхак
Щоб запам’ятати краще, в чому різниця між аутентифікацією і авторизацією – уявіть закриту тематичну вечірку, де вхід лише за запрошенням. При вході гість пред’являє запрошення (в якому його ПІБ та інші дані), а охорона перевіряє, чи можна цю людину впустити. Якщо запрошення справжнє і прізвище є в списку – вхід дозволений, він пройшов аутентифікацію, вечір розпочався.
Та щоб вечірка вдалася, слід пройти авторизацію: це певні дозволи, дрескоди чи заборони і табу, встановлені організаторами вечірки, яких чітко треба дотримуватись.
Попрацюй з цими поняттями на мінікурсі Security Testing by static and dynamic analysis methods