Analysis of the probabalistic filters usage for authentication tokens invalidation in distributed systems
DOI:
https://doi.org/10.31649/1681-7893-2024-47-1-34-41Keywords:
authentication, authorization, information systems, distributed systems, OpenID, OAuth2, JWT, probability filters.Abstract
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.
References
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.
Downloads
-
PDF (Українська)
Downloads: 18
Published
How to Cite
Issue
Section
License
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:- Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
- Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
- Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).