Public Ledger of Cryptographic Host IDs

Andrei Gurtov, Linköping University

Background

While we rely more and more on the Internet for industry automation, smart grids and smart homes, the Internet becomes increasingly fragile. Distributed Denial of Service attacks, such as Dyn attack in October 2016 reach unprecedented strength of 1.2 Tbps using a botnet of compromised devices known as Mirai [7]. That kind of attack speed would be sufficient to take a small country like Sweden out of the Internet for hours or days, with potentially catastrophic consequences. Interestingly, the attack did not originate from powerful computers, but from small Internet-of-Things devices such as web cameras. While not extremely capable, such devices can produce a devastating effect on the Internet when abused in large numbers (over 100.000 for Mirai). Such devices can only cost tens of dollars, are not patched for known security vulnerabilities, contain default passwords and present a major threat to Internet stability. The key problem of Internet security is lack of reliable, cryptographic host identities.

Blockchains are famously known due to cryptocurrencies such as Bitcoin[1], are now making their way to various applications, such a property or business public registries. Distributed consensus is built using Nakamoto proof-of-work or Practical Byzantine Fault Tolerance (PBFT). More generally, a public ledger should achieve immutability and global consistency of data, in a distributed or partly centralized way, such as with Certificate Transparency lists for web security [2]. The main goal for secure networking is to provide host authentication without the presence of Trusted Third Party (TTP), thus avoiding Man-in-the-middle attacks during session key establishment with Diffie-Hellman protocol. Namecoin is the first attempt to solve Zooko’s triangle, by providing a naming system which is usable, secure and decentralized [3]. It is a first fork of the Bitcoin blockchain, and thus possess similar drawbacks such as slow transaction rates and high cost. To our knowledge, there is no such system for cryptographic host identities yet. CONIKS is a proposal for verifying end-user keys for end-to-end encryption similar for proposal for Web certificate transparency [4]. It is based on downloading small amount of data central repository. CONIKS is focusing on verifying key consistency (that it does not change over time) rather than binding a key to a real-world person, which requires out-of-band authentication.

Identity/locator split is a concept of separating the role of host identity (name) from its topological location in the Internet (IPv4 or v6 address). Several solutions were proposed, including Location Identifier Split Protocol (LISP) and Host Identity Protocol (HIP) [6, 5]. HIP proposes to identify host with self-generated public/private key pairs with Host Identity Tag (HIT) being the hash of public keys. HITs can be used in place of IPv6 addresses to provide end-to-end secure channel binding. HIP is based on two-party Diffie-Hellman key exchange.

Problem Description

Authentication of Diffie-Hellman key exchange requires some trust anchor. Traditionally, it is a Public Key Infrastructure (PKI), certificates signed by a Certificate Authority (CA), or a peer-to-peer web of trust. However, such schemes are still vulnerable due to potential compromise of CAs keys, as has been happening in recent years. In case of P2P approach, Byzantine consensus allows for maximum of one third of malicious peers. In addition, Certificate Revocation Lists need to be maintained and checked for possibly compromised keys. We would like to explore the use of public ledger in form of blockchains to authenticate host IDs.

Planned Approach

To access a cryptographic host ID requires name resolution from a host DNS name. This can be accomplished with a Distributed Hash Tables (DHTs) or with DNSSec, which requires update of network infrastructure servers. We propose to utilize blockchain to create a public mapping between cryptographic host ID (HIT) and its DNS name. Then host can register their HIT-DNS mapping in a blockchain which gets accepted by peers after a distributed consensus. This public blockchain ledger is used to authenticate HIT.

We will design the overall blockchain architecture, look for proper consensus building mechanism, evaluate the need for a second parallel blockchain for key revocation. Since malicious users can try to cooperate to break the system, we will construct game-theoretic models to understand their optimal strategies. Finally, we will build a prototype to measure performance in terms of new mapping per second registrations and computational costs. These are known bottlenecks in current Nakamoto-consensus blockchains.

REFERENCES

[1] S. Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008.
[2] Bui T., Aura T. (2017) Key Exchange with the Help of a Public Ledger. In: Stajano F., Anderson J., Christianson B., Matyáš V. (eds) Security Protocols XXV. Security Protocols 2017. Lecture Notes in Computer Science, vol 10476. Springer, Cham
[3] Kalodner, H., Carlsten, M., Ellenbogen, P., Bonneau, J., Narayanan, A.: An empirical study of Namecoin and lessons for decentralized namespace design. In: Proceedings of the Workshop on the Economics of Information Security (WEIS) (2015)
[4] Melara, M.S., Blankstein, A., Bonneau, J., Felten, E.W., Freedman, M.J.: CONIKS: Bringing key transparency to end users. In: Proceedings of the USENIX Security Symposium. pp. 383{398 (2015)
[5] W. Ramirez, X. Masip-Bruin, M. Yannuzzi, R. Serral-Gracia, A. Martinez, M.S. Siddiqui, A survey and taxonomy of ID/Locator Split Architectures, Computer Networks, Volume 60, 2014
[6] J. Pan, S. Paul, R. Jain and M. Bowman, "MILSA: A Mobility and Multihoming Supporting Identifier Locator Split Architecture for Naming in the Next Generation Internet," IEEE GLOBECOM 2008 - 2008 IEEE Global Telecommunications Conference, New Orleans, LO, 2008, pp. 1-6.
[7] M. Antonakakis et al. Understanding the Mirai Botnet, USENIX’17 Security Symposium, 2017