Я автор бібліотеки вузлів, яка обробляє автентифікацію досить глибоко, експрес-штурмом , тому я задзвонюся тут деякою інформацією.
По-перше, JWT зазвичай не шифруються. Хоча існує спосіб шифрування JWT (див.: JWE ), це не дуже часто на практиці з багатьох причин.
Далі будь-яка форма автентифікації (з використанням JWTs чи ні) піддається атакам MitM (атаки людини в середині). Ці напади трапляються, коли зловмисник може ДІЯТЬ СВОЙ МЕРЕЖІЙ трафік під час здійснення запитів через Інтернет. Це те, що може бачити ваш Інтернет-провайдер, АНБ тощо.
Це те, що SSL допомагає запобігти: шифруючи трафік мережі з комп'ютера -> деякий сервер під час автентифікації, третя сторона, яка контролює ваш мережевий трафік, НЕ може бачити ваші маркери, паролі чи щось подібне, якщо вони якось не в змозі отримати копію приватного ключа SSL сервера (навряд чи). З цієї причини SSL ОБОВ'ЯЗКОВО для всіх форм аутентифікації.
Припустимо, однак, що хто - то зможе використовувати свій SSL і можуть переглядати ваш маркер: відповідь на ваше запитання в тому , що ТАК , зловмисник буде мати можливість використовувати цей маркер , щоб видавати себе за вас і прошу зробити на свій сервер.
Ось тут і надходять протоколи.
JWT - це лише один стандарт для маркера аутентифікації. Їх можна використовувати майже все. Причина JWT є якоюсь класною в тому, що ви можете вбудовувати в них додаткову інформацію, і ви можете перевірити, що ніхто з цим не заплутався (підписання).
ЗАРАЗ, самі JWT не мають нічого спільного з "безпекою". Для всіх намірів і цілей JWT - це майже те ж саме, що і ключі API: просто випадкові рядки, які ви використовуєте для десь аутентифікації на якомусь сервері.
Що робить ваше питання цікавішим, це те, що використовується протокол (швидше за все, OAuth2).
Як працює OAuth2, це те, що він був розроблений для надання клієнтам ТЕМПОРАРІЙНИХ жетонів (як JWT!) Для аутентифікації ТОЛЬКО КОРОТКОГО ПЕРІОДУ ЧАСУ!
Ідея полягає в тому, що якщо ваш маркер буде викрадений, зловмисник може використовувати його лише короткий проміжок часу.
За допомогою OAuth2 вам доведеться повторно аутентифікувати себе на сервері так часто, надаючи своє ім’я користувача / пароль АБО API даних і потім отримуючи токен в обмін.
Оскільки цей процес трапляється раз у раз, ваші жетони будуть часто змінюватися, що ускладнює зловмисникам постійно себе представляти, не зазнаючи великих проблем.
Сподіваємось, це допомагає ^^