Formalization and Verification of Kafka Messaging Mechanism Using CSP

Junya Xu, Jiaqi Yin, Huibiao Zhu, Lili Xiao

Research output: Contribution to journalArticlepeer-review

11 Scopus citations

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 Pro-cesses) 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 Ker-beros protocol has improved the security of Kafka messaging mechanism in some aspects, but there are still some security loopholes.

Original languageEnglish
Pages (from-to)277-306
Number of pages30
JournalComputer Science and Information Systems
Volume29
Issue number1
DOIs
StatePublished - Jan 2023

Keywords

  • CSP
  • Distributed Messaging System
  • Formalization
  • Kafka Messaging Mechanism
  • Verification

Fingerprint

Dive into the research topics of 'Formalization and Verification of Kafka Messaging Mechanism Using CSP'. Together they form a unique fingerprint.

Cite this