Formalization and Verification of Kafka Messaging Mechanism Using CSP
- Shanghai Key Laboratory of Trustworthy Computing, East China Normal University
Shanghai, China
hbzhu@sei.ecnu.edu.cn - Northwestern Polytechnical University
Xi’an, China
jqyin@nwpu.edu.cn
Abstract
Apache Kafka is an open source distributed messaging system based on the publish-subscribe model, which achieves low latency, high throughput and good load balancing. As a popular messaging system, the transmission of messages between applications is one of the core functions of Kafka. Therefore, the reliability and security of data in the process of message transmission in Kafka have become the focus of attention. The formal methods can analyze whether a model is highly credible. Therefore, it is significant to analyze Kafka messaging mechanism which describes the communication process and rules between each module entity in Kafka from the perspective of formal methods. In this paper, we apply the process algebra CSP (Communicating Sequential Processes) and the model checking tool PAT (Process Analysis Toolkit) to analyze Kafka messaging mechanism. The results of verification show that the model caters for its specification and guarantees the reliability of messages in the normal communication process. Moreover, in order to further analyze the security of Kafka messaging mechanism, we add the intruder model and the authentication protocol Kerberos model and compare the verification results of Kafka messaging mechanism with or without the secure protocol Kerberos. The results show that the Kerberos protocol has improved the security of Kafka messaging mechanism in some aspects, but there are still some security loopholes.
Key words
Distributed Messaging System, Kafka Messaging Mechanism, CSP, Formalization, Verification
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS210707057X
Publication information
Volume 20, Issue 1 (January 2023)
Year of Publication: 2023
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Xu, J., Yin, J., Zhu, H., Xiao, L.: Formalization and Verification of Kafka Messaging Mechanism Using CSP. Computer Science and Information Systems, Vol. 20, No. 1, 277–306. (2023), https://doi.org/10.2298/CSIS210707057X