Blockchain-Based Certificate Transparency and Revocation Transparency
Traditional X.509 public key infrastructures (PKIs) depend on certification authorities (CAs) to sign certificates, used in SSL/TLS to authenticate web servers and establish secure channels. However, recent security incidents indicate that CAs may (be com
- PDF / 418,493 Bytes
- 19 Pages / 439.37 x 666.142 pts Page_size
- 100 Downloads / 287 Views
3
State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China {wangze,linjingqiang,caiquanwei,wangqiongxiao}@iie.ac.cn 2 Data Assurance and Communication Security Research Center, Chinese Academy of Sciences, Beijing 100093, China School of Cyber Security, University of Chinese Academy of Sciences, Beijing 100049, China
Abstract. Traditional X.509 public key infrastructures (PKIs) depend on certification authorities (CAs) to sign certificates, used in SSL/TLS to authenticate web servers and establish secure channels. However, recent security incidents indicate that CAs may (be compromised to) sign fraudulent certificates. In this paper, we propose blockchain-based certificate transparency and revocation transparency. Our scheme is compatible with X.509 PKIs but significantly reinforces the security guarantees of a certificate. The CA-signed certificates and their revocation status information of an SSL/TLS web server are published by the subject (i.e., the web server) as a transaction, and miners of the community append it to the global certificate blockchain after verifying the transaction and mining a block. The certificate blockchain acts as append-only public logs to monitor CAs’ certificate signing and revocation operations, and an SSL/TLS web server is granted with the cooperative control on its certificates to balance the absolute authority of CAs in traditional PKIs. We implement the prototype system with Firefox and Nginx, and the experimental results show that it introduces reasonable overheads. Keywords: PKI
1
· SSL · TLS · Blockchain · Transparency · Trust
Introduction
In X.509 public key infrastructures (PKIs), a certification authority (CA) signs certificates to bind the public key of a server to its identity (typically a DNS This work was partially supported by National Basic Research 973 Program of China (Award No. 2014CB340603), National Natural Science Foundation of China (Award No. 61772518), and Cyber Security Program (Award No. 2017YFB0802100) of National Key RD Plan of China. c International Financial Cryptography Association 2019 A. Zohar et al. (Eds.): FC 2018 Workshops, LNCS 10958, pp. 144–162, 2019. https://doi.org/10.1007/978-3-662-58820-8_11
Blockchain-Based Certificate Transparency and Revocation Transparency
145
name). Then, these certificates are used in SSL/TLS [14,21] to authenticate the web servers. Trusting the CAs, browsers obtain the servers’ public keys from CA-signed certificates in SSL/TLS negotiations, to establish secure channels. However, recent security incidents indicate that CAs are not so trustworthy as they are assumed to be. CAs may sign fraudulent certificates due to intrusions [11,24,46,58], reckless identity validations [44,54,55,61], misoperations [33,45,62], flawed cryptographic algorithms [53,60], or government compulsions [15,52]. Typical fraudulent certificates bind a DNS name to key pairs held by counterfeit web servers [5,11,15]. Then, the counterfeit servers will launch man-in-the-middle (
Data Loading...