Formalization and Verification of Kafka Messaging Mechanism Using CSP

被引:6
作者
Xu, Junya [1 ]
Yin, Jiaqi [2 ]
Zhu, Huibiao [1 ]
Xiao, Lili [1 ]
机构
[1] East China Normal Univ, Shanghai Key Lab Trustworthy Comp, Shanghai, Peoples R China
[2] Northwestern Polytech Univ, Xian, Peoples R China
关键词
Distributed Messaging System; Kafka Messaging Mechanism; CSP; Formalization; Verification;
D O I
10.2298/CSIS210707057X
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 relia-bility 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 com-munication 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 mecha-nism 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.
引用
收藏
页码:277 / 306
页数:30
相关论文
共 30 条
[1]   A THEORY OF COMMUNICATING SEQUENTIAL PROCESSES [J].
BROOKES, SD ;
HOARE, CAR ;
ROSCOE, AW .
JOURNAL OF THE ACM, 1984, 31 (03) :560-599
[2]  
Clarke E.M., 2018, Handbook of Model Checking, DOI [10.1007/978-3-319-10575-8_1, DOI 10.1007/978-3-319-10575-8_1]
[3]  
Dobbelaere P., 2017, ACM, DOI [10.1145/3093742. 3093908, DOI 10.1145/3093742.3093908, 10.1145/3093742.3093908]
[4]   The many faces of publish/subscribe [J].
Eugster, PT ;
Felber, PA ;
Guerraoui, R ;
Kermarrec, AM .
ACM COMPUTING SURVEYS, 2003, 35 (02) :114-131
[5]   Modeling and Verifying NDN Access Control Using CSP [J].
Fei, Yuan ;
Zhu, Huibiao .
FORMAL METHODS AND SOFTWARE ENGINEERING, ICFEM 2018, 2018, 11232 :143-159
[6]   How Fast Can We Insert? An Empirical Performance Evaluation of Apache Kafka [J].
Hesse, Guenter ;
Matthies, Christoph ;
Uflacker, Matthias .
2020 IEEE 26TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2020, :641-648
[7]   COMMUNICATING SEQUENTIAL PROCESSES [J].
HOARE, CAR .
COMMUNICATIONS OF THE ACM, 1978, 21 (08) :666-677
[8]   Formal analysis and verification of the PSTM architecture using CSP [J].
Liu, Ailun ;
Zhu, Huibiao ;
Popovic, Miroslav ;
Xiang, Shuangqing ;
Zhang, Lei .
JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 165
[9]   Using CSP to detect errors in the TMN protocol [J].
Lowe, G ;
Roscoe, B .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (10) :659-669
[10]  
PAT, PROC AN TOOLK