Аналіз використання ймовірнісних фільтрів для інвалідації токенів автентифікації у розподілених системах
Автор
Хрущак, С. В.
Ткаченко, О. М.
Бойко, О. Р.
Кошмелюк, О. О.
Дата
2024Metadata
Показати повну інформаціюCollections
- JetIQ [84]
Анотації
The article investigates the problem of centralized user authentication in complex
distributed systems using cryptographic tokens based on JWT (JSON Web Token). Such systems
allow decreasing request processing times comparable with conventional centralized
authentication systems by allowing offline token verification. However, this creates problems
with revoking of compromised or blocked tokens. The traditional approach used in such
protocols as OAuth2, shifts this problem to the client side, complicating the client side and
making the API more difficult to use. The article discusses the use of an approach that allows
developers to keep all costs on the validation token validation on the server side without making
significant changes to the system by blocklists. It is suggested to use probabilistic filters to
transmit updates about blocked tokens. Such filters at the cost of losing some precision in
checking if the entry belongs to the set of elements, using significantly less memory than would
be necessary to store all the elements of the set. They are usually used to avoid slow operations
such as disk or network access. As a result, it significantly reduces the memory usage on the
services end and decreases the traffic volumes between the system components. The criteria for
evaluating the performance of probabilistic filters were discussed for the task of periodically
updating the lists of blocked identifiers of access tokens. Also various implementations of
probabilistic filters were analyzed according to criteria. At the end recommendations for the
application of specific probabilistic filters implementations and their parameters for distributed
systems of various sizes are provided . У статті розглянуто проблему централізованої автентифікації користувачів у
складних розподілених системах з використанням криптографічних токенів на основі JWT
(JSON Web Token). Такі системи дозволяють зменшити час обробки запитів, порівняно зі
звичайними централізованими системами автентифікації за рахунок можливості оффлайн
перевірки токенів доступу. Однак це ж і створює проблеми з їх інвалідацією у разі коли
токен скомпроментовано чи заблоковано. Традиційних підхід, що застосовується в таких
протоколах, як OAuth2, перекладає цю проблему на сторону клієнтських додатків, що
робить API складнішим для використання. У статті розглянуто використання підходу, що
дозволяє виконувати всі необхідні перевірки токенів на стороні сервера без внесення
значних змін у саму систему з використанням списків блокування. Запропоновано
використання ймовірнісних фільтрів для передачі оновлень про заблоковані токени. Такі
фільтри дозволяють з певною точністю перевірити входження елементу в наборі,
використовуючи значно менше памʼяті ніж було б необхідно для зберігання всього набору
елементів. Їх зазвичай використовують для уникнення повільних операцій, таких як
доступ до диску чи мережі. В результаті це значно зменшує використання памʼяті на
кінцевих сервісах та обсяги трафіку між компонентами системи. Обрано критерії
оцінювання роботи ймовірнісних фільтрів відповідно до задачі періодичного оновлення
списків заблокованих ідентифікаторів токенів доступу та проведено аналіз методів різних
реалізацій ймовірнісних фільтрів. Відповідно до критеріїв надано рекомендації з
застосування конкретних реалізацій ймовірнісних фільтрів та їх параметрів для
розподілених систем різного розміру
URI:
https://ir.lib.vntu.edu.ua//handle/123456789/43805