Аналіз використання ймовірнісних фільтрів для інвалідації токенів автентифікації у розподілених системах
DOI:
https://doi.org/10.31649/1681-7893-2024-47-1-34-41Ключові слова:
автентифікація, авторизація, інформаційні системи, розподілені системи, OpenID, OAuth2, JWT, ймовірнісні фільтри.Анотація
У статті розглянуто проблему централізованої автентифікації користувачів у складних розподілених системах з використанням криптографічних токенів на основі JWT (JSON Web Token). Такі системи дозволяють зменшити час обробки запитів, порівняно зі звичайними централізованими системами автентифікації за рахунок можливості оффлайн перевірки токенів доступу. Однак це ж і створює проблеми з їх інвалідацією у разі коли токен скомпроментовано чи заблоковано. Традиційних підхід, що застосовується в таких протоколах, як OAuth2, перекладає цю проблему на сторону клієнтських додатків, що робить API складнішим для використання. У статті розглянуто використання підходу, що дозволяє виконувати всі необхідні перевірки токенів на стороні сервера без внесення значних змін у саму систему з використанням списків блокування. Запропоновано використання ймовірнісних фільтрів для передачі оновлень про заблоковані токени. Такі фільтри дозволяють з певною точністю перевірити входження елементу в наборі, використовуючи значно менше памʼяті ніж було б необхідно для зберігання всього набору елементів. Їх зазвичай використовують для уникнення повільних операцій, таких як доступ до диску чи мережі. В результаті це значно зменшує використання памʼяті на кінцевих сервісах та обсяги трафіку між компонентами системи. Обрано критерії оцінювання роботи ймовірнісних фільтрів відповідно до задачі періодичного оновлення списків заблокованих ідентифікаторів токенів доступу та проведено аналіз методів різних реалізацій ймовірнісних фільтрів. Відповідно до критеріїв надано рекомендації з застосування конкретних реалізацій ймовірнісних фільтрів та їх параметрів для розподілених систем різного розміру.
Посилання
Hinrichs T.. Centralized vs. Distributed Authorization: the CAP theorem URL: https://www.styra.com/blog/centralized-vs-distributed-authorization-the-cap-theorem/
Neray G.. Best Practices for Authorization in Microservices. URL: https://www.osohq.com/post/microservices-authorization-patterns
Eknert A.. 4 Best Practices for Microservices Authorization. URL: https://thenewstack.io/microservices/4-best-practices-for-microservices-authorization/
RFC-7519: JSON Web token. URL: https://datatracker.ietf.org/doc/html/rfc7519
RFC-6749: The OAuth 2.0 Authorization Framework. URL: https://www.rfc-editor.org/rfc/rfc6749
KrakenD: Token Revocation. URL: https://www.krakend.io/docs/authorization/revoking-tokens/
Peter C. Dillinger and Panagiotis Manolios. 2004. Bloom Filters in Probabilistic Verification. In Formal Methods in Computer-Aided Design, 5th International Conference, FMCAD 2004, Austin, Texas, USA, November 15-17, 2004, Proceedings (Lecture Notes in Computer Science), Alan J. Hu and Andrew K. Martin (Eds.), Vol. 3312. Springer, 367-381. https://doi.org/10.1007/978-3-540-30494-4_26
Bonomi F., Mitzenmacher M., etc. An improved construction for counting bloom filters. In 14th Annual European Symposium on Algorithms, LNCS 4168, pages 684–695, 2006.
Paghand R., Rodler F.. Cuckoo hashing. Journal of Algorithms, 51(2): 122–144, May 2004.
Fan B., Andersen D. G., etc. Cuckoo Filter: Practically Better Than Bloom. Carnegie Mellon University, Intel Labs, Harvard University. URL:https://www.cs.cmu.edu/~binfan/papers/conext14_cuckoofilter.pdf
Graf T. M., Lemire D.. Xor Filters: Faster and Smaller Than Bloom and Cuckoo Filters. Journal of Experimental Algorithmics 25 (1), 2020. URL: https://arxiv.org/abs/1912.08258v3. DOI: https://doi.org/10.48550/arXiv.1912.08258.
##submission.downloads##
-
PDF
Завантажень: 18
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:- Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
- Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
- Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).