This paper describes BlockPKI, a blockchain-based public-key infrastructure that enables an automated, resilient, and transparent issuance of digital certificates. Our goal is to address several shortcomings of the current TLS infrastructure and its proposed extensions. In particular, we aim at reducing the power of individual certification authorities and make their actions publicly visible and accountable, without introducing yet another trusted third party. To demonstrate the benefits and practicality of our system, we present evaluation results and describe our prototype implementation.
The monitoring of log systems is another important aspect investigated by previous work. @cite_44 and @cite_40 have proposed systems for TLS clients to gossip about certificate logs (using regular web traffic). Leveraging a blockchain to monitor public logs was proposed by Bonneau in EthIKS @cite_34 . The system's objective is to enhance auditability of the CONIKS system @cite_4 , which is a log-based end-user key verification service. In CONIKS, users are required to monitor the correctness of their own data in the repository or trust a third party to perform the audit on their behalf. EthIKS, by incorporating CONIKS data structures in a smart contract and relying on the Ethereum network to enforce honest handling of the repository, reduces the trust put on other users or third-party auditors. IKP @cite_31 introduces a blockchain-based system that provides financial incentives for detecting fraudulent certificates. The system leverages smart contracts, allows domain owners to specify their trusted CAs, and allows CAs to create an escrowed insurance fund to protect against CA misbehavior. Anyone who can find a certificate non-compliant with a domain policy can be compensated by the CA's insurance.
@cite_4 @cite_44 @cite_40 @cite_31 @cite_34
2116428199 2159801413 2476736490 2578391880 2513866749
We present CONIKS, an end-user key verification service capable of integration in end-to-end encrypted communication systems. CONIKS builds on transparency log proposals for web server certificates but solves several new challenges specific to key verification for end users. CONIKS obviates the need for global third-party monitors and enables users to efficiently monitor their own key bindings for consistency, downloading less than 20 kB per day to do so even for a provider with billions of users. CONIKS users and providers can collectively audit providers for non-equivocation, and this requires downloading a constant 2.5 kB per provider per day. Additionally, CONIKS preserves the level of privacy offered by today's major communication services, hiding the list of usernames present and even allowing providers to conceal the total number of users in the system. The level of trust accorded to certification authorities has been decreasing over the last few years as several cases of misbehavior and compromise have been observed. Log-based approaches, such as Certificate Transparency, ensure that fraudulent TLS certificates become publicly visible. However, a key element that log-based approaches still lack is a way for clients to verify that the log behaves in a consistent and honest manner. This task is challenging due to privacy, efficiency, and deployability reasons. In this paper, we propose the first (to the best of our knowledge) gossip protocols that enable the detection of log inconsistencies. We analyze these protocols and present the results of a simulation based on real Internet traffic traces. We also give a deployment plan, discuss technical issues, and present an implementation. The logs in Certificate Transparency are untrusted in the sense that the users of the system don't have to trust that they behave correctly since the behavior of a log can be verified to be correct. This document tries to solve the problem with logs presenting a "split view" of their operations or failing to incorporate a submission within MMD. It describes three gossiping mechanisms for Certificate Transparency: SCT Feedback, STH Pollination and Trusted Auditor Relationship. CONIKS is a proposed key transparency system which enables a centralized service provider to maintain an auditable yet privacy-preserving directory of users’ public keys. In the original CONIKS design, users must monitor that their data is correctly included in every published snapshot of the directory, necessitating either slow updates or trust in an unspecified third-party to audit that the data structure has stayed consistent. We demonstrate that the data structures for CONIKS are very similar to those used in Ethereum, a consensus computation platform with a Turing-complete programming environment. We can take advantage of this to embed the core CONIKS data structures into an Ethereum contract with only minor modifications. Users may then trust the Ethereum network to audit the data structure for consistency and non-equivocation. Users who do not trust (or are unaware of) Ethereum can self-audit the CONIKS data structure as before. We have implemented a prototype contract for our hybrid EthIKS scheme, demonstrating that it adds only modest bandwidth overhead to CONIKS proofs and costs hundredths of pennies per key update in fees at today’s rates.