Deanonymisation of Clients in Bitcoin P2P Network

Total Page:16

File Type:pdf, Size:1020Kb

Deanonymisation of Clients in Bitcoin P2P Network Deanonymisation of clients in Bitcoin P2P network Alex Biryukov Dmitry Khovratovich Ivan Pustogarov University of Luxembourg University of Luxembourg University of Luxembourg [email protected] [email protected] [email protected] Abstract about 100,000 nowadays. The vast majority of these peers Bitcoin is a digital currency which relies on a distributed (we call them clients), about 90%, are located behind NAT set of miners to mint coins and on a peer-to-peer network and do not allow any incoming connections, whereas they to broadcast transactions. The identities of Bitcoin users choose 8 outgoing connections to servers (Bitcoin peers with are hidden behind pseudonyms (public keys) which are rec- public IP). ommended to be changed frequently in order to increase In a Bitcoin transaction, the address of money sender(s) transaction unlinkability. or receiver(s) is a hash of his public key. We call such We present an efficient method to deanonymize Bitcoin address a pseudonym to avoid confusion with the IP ad- users, which allows to link user pseudonyms to the IP ad- dress of the host where transactions are generated, and the dresses where the transactions are generated. Our tech- latter will be called just address throughout the text. In niques work for the most common and the most challenging the current Bitcoin protocol the entire transaction history scenario when users are behind NATs or firewalls of their is publicly available so anyone can see how Bitcoins travel ISPs. They allow to link transactions of a user behind a from one pseudonym to another and potentially link differ- NAT and to distinguish connections and transactions of dif- ent pseudonyms of the same user together. A theoretical ferent users behind the same NAT. We also show that a natu- possibility of such attack was already mentioned in the orig- ral countermeasure of using Tor or other anonymity services inal Bitcoin paper [14]. Since then several papers [13, 16] can be cut-off by abusing anti-DoS countermeasures of the showed that it is indeed possible by analysing the transaction Bitcoin network. Our attacks require only a few machines graph to cluster pseudonyms to different users. Combined and have been experimentally verified. We propose several with some other sources (e.g. forum posts), the clusters countermeasures to mitigate these new attacks1. (and thus the users) can sometimes be mapped to real iden- tities [15, 13]. Even so, these methods are not generic, and the problem of how to tie a Bitcoin address to an actual 1. INTRODUCTION identity remained unsolved. Digital currency based on cryptography is not a new idea [8] Evidently, studying the entire IP traffic of the Bitcoin but till recently it did not attract much attention. It changed peers would reveal the origins of each transaction and dis- rapidly with introduction of Bitcoin [14]. Bitcoin is a decen- close the identities of many users, but how much can be tralized digital currency which does not rely on a trusted is- achieved by an ordinary attacker with a few machines and suing entity but rather on a peer-to-peer network with peers no access to clients behind NAT has been unclear. minting Bitcoins by brute-forcing double SHA-256 hash func- Lerner [12] and Koshy et al. [11] were the first who at- tion. To make the money generation process computation- tempted an attack in this direction. A vulnerability which ally hard, the Bitcoin protocol requires the minters to present allowed to link IP addresses of clients to their bitciond wal- the hash value of a data block with new portion of Bitcoins lets' addresses was reported by Lerner [12]. The vulnera- arXiv:1405.7418v3 [cs.CR] 5 Jul 2014 and new transactions to have a certain number of zeros (an bility exploited a protection against \penny-flooding" which instance of the Proof-of-Work concept). prevents a transaction with very low fees and big size to be Bitcoin is now accepted as a currency by many companies forwarded or even stored by a Bitcoin peer. The protection from online retailer Overstock to exotic Virgin Galactic [4]. tested if a transaction was from a wallet owned by the user, One of its main advantages over bank transfers is it's de- and if it was the case, then the protection was skipped. This centralized architecture and absence of intermediaries. This allowed an attacker to test if a peer possessed a Bitcoin ad- prevents shutting it down or seizing by a government. Bit- dress by sending him specifically crafted transactions. The coin money transfers are non-refundable, reasonably fast2 vulnerability required that the attacker had a connection to and allow to send money to any part of the world. The Bit- a peer (thus targeting either Bitcoin servers or clients which coin peer network consists of homogeneous nodes and pro- established connections to the attacker). This vulnerability vides peer discovery and reputation mechanisms to achieve was fixed since version 0.7.2. stability. The number of Bitcoin peers is estimated to be Koshy et al. [11] managed to deanonymize 1162 addresses over the period of 5 months. Their approach, however, is 1A simplified description of the attack can be found here. limited to the transactions that expose anomalous behaviour 2The network sees a transaction immediately, but the re- like transactions relayed only once or transaction that were ceiver has to wait for 1-2 hours to be sure that there is no relayed multiple times by the same IP. Secondly, the pro- double-spending. posed method only allows to get IP addresses of servers, to prohibit Bitcoin clients from using the Tor anonymity which constitute only 10% of the network, and not of the network by exploiting Bitcoin anti-DoS protection mech- clients. Finally, their paper does not discuss the case when anism (Section 3). a Bitcoin peer protects himself by proxying his transactions through the Tor anonymity network. • We show how to learn the connections of the Bitcoin clients in Section 4. Our contributions. • We finally show how to identify the sender of a trans- In this paper we describe a generic method to deanonymize action (i.e. deanonymize him) in Section 5. We recover a significant fraction of Bitcoin users and correlate their the public IP address of the sender and further differ- pseudonyms with public IP addresses. The method explic- entiate clients sharing the same public IP. itly targets the clients (i.e. peers behind NAT or firewalls) and can differentiate the nodes with the same public IP. Fur- • We discuss how to choose parameters of the attack thermore, our method also handles the case when the clients and its success rate and explain our experiments on use anonymity services like Tor. If a client uses two different the test network. We also propose countermeasures to pseudonyms during a single session, and even if they are un- mitigate the attack. related in the transaction graph so that the linkage would be • As an extra result, we outline a strategy to lower the totally unachievable via the transaction graph analysis [13], difficulty of the system by adding a properly selected our method is likely to catch it and glue the pseudonyms value to the list of checkpoints nodes hard-coded in the together. The method is generic and might be used in other client code. It can be used by the entire community P2P networks. if the mining becomes unbearable and non-profitable, The crucial idea is that each client can be uniquely iden- or by malicious administrators who want to ruin the tified by a set of nodes he connects to (entry nodes). We system (Section 8). show that this set can be learned at the time of connection and then used to identify the origin of a transaction. Ethical considerations. All vulnerabilities described in this Our attack requires only a few machines that establish a paper were reported to Bitcoin core developers. When pos- certain number of connections by Bitcoin protocol and log sible we carried out experiments in the Bitcoin test network. the incoming traffic. In a concrete example, an attacker with To protect user privacy, we restricted from performing a full- a few GB of storage and no more than 50 connections to each scale deanonymization in the real network. However, gath- 3 Bitcoin server can disclose the sender's IP address in 11% ering some statistics required us conducting experiments on of all transactions generated in the Bitcoin network. If the the main network, which did not cause disruption or expo- attacker allows a slight DoS of the network, he may achieve sure of the main network. deanonymization rates up to 60%, which has been confirmed by the experiments in the Bitcoin test network. We estimate 2. BACKGROUND the cost of the attack on the full Bitcoin network to be under 1500 EUR per month. In this section we provide a basic overview of the Bitcoin The computational power needed to disclose the sender system. Originating from a proof-of-concept source code of a single transaction is negligible and is far smaller than and an accompanying it white paper [14], the Bitcoin pro- the amount of work needed to process the transaction graph tocol never had been fully documented, and is de-facto the in [15, 13]. For the best of our knowledge this is the first functionality of the primary Bitcoin client, bitcoind [2]. In attack which targets Bitcoin peers behind NAT. Our attack the following text we provide only the details of the protocol does not assume any anomaly in the behaviour of peers or in that are crucial to our research.
Recommended publications
  • Argon and Argon2
    Argon and Argon2 Designers: Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich University of Luxembourg, Luxembourg [email protected], [email protected], [email protected] https://www.cryptolux.org/index.php/Password https://github.com/khovratovich/Argon https://github.com/khovratovich/Argon2 Version 1.1 of Argon Version 1.0 of Argon2 31th January, 2015 Contents 1 Introduction 3 2 Argon 5 2.1 Specification . 5 2.1.1 Input . 5 2.1.2 SubGroups . 6 2.1.3 ShuffleSlices . 7 2.2 Recommended parameters . 8 2.3 Security claims . 8 2.4 Features . 9 2.4.1 Main features . 9 2.4.2 Server relief . 10 2.4.3 Client-independent update . 10 2.4.4 Possible future extensions . 10 2.5 Security analysis . 10 2.5.1 Avalanche properties . 10 2.5.2 Invariants . 11 2.5.3 Collision and preimage attacks . 11 2.5.4 Tradeoff attacks . 11 2.6 Design rationale . 14 2.6.1 SubGroups . 14 2.6.2 ShuffleSlices . 16 2.6.3 Permutation ...................................... 16 2.6.4 No weakness,F no patents . 16 2.7 Tweaks . 17 2.8 Efficiency analysis . 17 2.8.1 Modern x86/x64 architecture . 17 2.8.2 Older CPU . 17 2.8.3 Other architectures . 17 3 Argon2 19 3.1 Specification . 19 3.1.1 Inputs . 19 3.1.2 Operation . 20 3.1.3 Indexing . 20 3.1.4 Compression function G ................................. 21 3.2 Features . 22 3.2.1 Available features . 22 3.2.2 Server relief . 23 3.2.3 Client-independent update .
    [Show full text]
  • Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 Family
    Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family Dmitry Khovratovich1 and Christian Rechberger2 and Alexandra Savelieva3 1Microsoft Research Redmond, USA 2DTU MAT, Denmark 3National Research University Higher School of Economics, Russia Abstract. We present the new concept of biclique as a tool for preimage attacks, which employs many powerful techniques from differential cryptanalysis of block ciphers and hash functions. The new tool has proved to be widely applicable by inspiring many authors to publish new re- sults of the full versions of AES, KASUMI, IDEA, and Square. In this paper, we demonstrate how our concept results in the first cryptanalysis of the Skein hash function, and describe an attack on the SHA-2 hash function with more rounds than before. Keywords: SHA-2, SHA-256, SHA-512, Skein, SHA-3, hash function, meet-in-the-middle attack, splice-and-cut, preimage attack, initial structure, biclique. 1 Introduction The last years saw an exciting progress in preimage attacks on hash functions. In contrast to collision search [29, 26], where differential cryptanalysis has been in use since 90s, there had been no similarly powerful tool for preimages. The situation changed dramatically in 2008, when the so-called splice-and-cut framework has been applied to MD4 and MD5 [2, 24], and later to SHA-0/1/2 [1, 3], Tiger [10], and other primitives. Despite amazing results on MD5, the applications to SHA-x primitives seemed to be limited by the internal properties of the message schedule procedures. The only promising element, the so-called initial structure tool, remained very informal and complicated.
    [Show full text]
  • Harden Zero Knowledge Password Proofs Against Offline Dictionary
    Harden Zero Knowledge Password Proofs Against Offline Dictionary Attacks Gijs Van Laer Rono Dasgupta Aditya Patil [email protected] [email protected] [email protected] Matthew Green [email protected] December 12, 2016 Abstract Traditional authentication systems offer ease of use but the security they provide often proves to be inadequate. Hackers use means to gain access to company servers and steal entire databases of password hashes. These hashes are then subject to offline dictionary attacks resulting in the disclosure of millions of passwords. Such password breaches have become commonplace and have caused several major companies to face major losses. Password reuse is a common practice among users and a password breach disclosing a single password on a particular service could result in a user also losing access to their other accounts. Solutions such as multi-factor authentication add some level of security but do not completely solve the problem. There is a need to move towards stronger authentication schemes that do not compromise on ease of use, both for the user and the service provider. In this paper, we propose a novel authentication protocol that is proven hard against offline dictionary attacks. Our protocol implements a combination of a Zero Knowledge Password Proof and a sequentially memory hard hash function. In a concrete instan- tiation of the protocol, we use Schnorr's Zero Knowledge Password Proof combined with the Fiat-Shamir Heuristic for the Zero Knowledge Password Proof and scrypt for the sequentially memory hard hash function. We also describe a library implementing our protocol that we have developed along with an example web application that uses the library.
    [Show full text]
  • Biclique Cryptanalysis of Full Round AES with Reduced Data Complexity
    Biclique Cryptanalysis of Full Round AES with Reduced Data Complexity Donghoon Chang, Mohona Ghosh, Somitra Sanadhya Indraprastha Institute of Information Technology donghoon, mohonag,[email protected] Abstract. Biclique cryptanalysis was proposed by Bogdanov et al. in Asiacrypt 2011 as a new tool for cryptanalysis of block ciphers. A major hurdle in carrying out biclique cryptanalysis is that it has a very high query complexity (of the order of 288 for AES-128, 280 for AES-192 and 240 for AES-256). This naturally puts a big question mark over the practical feasibility of implementing biclique attack in real world. In this work, we re-evaluate the security of full round AES against biclique cryptanalysis. We describe an alternate biclique construction with signicantly reduced query complexity (of the order of 224 for AES-128, 232 for AES-192 and 28 for AES-256) at the expense of a slightly increased computational cost. In our approach, we use independent biclique technique to launch a chosen ciphertext attack against AES. Keywords: AES, block ciphers, cryptanalysis, biclique, meet-in-the middle, key recovery. 1 Introduction AES (Advanced Encryption Standard), standardized by the US NIST in October 2000, has been accepted and adopted worldwide thereafter. It remains the most favored cryptographic scheme in both software and hardware applications. Despite the design having been subjected to tremendous scrutiny in the past 12 years, it has remained remarkably immune to all cryptanalytic attacks of practical signicance. Single key recovery attacks such as multiset attack [1], square attack [1], boomerang attack [2, 3], impossible dierentials [4, 5], algebraic attack [6, 7] etc.
    [Show full text]
  • Performance Analysis of Cryptographic Hash Functions Suitable for Use in Blockchain
    I. J. Computer Network and Information Security, 2021, 2, 1-15 Published Online April 2021 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijcnis.2021.02.01 Performance Analysis of Cryptographic Hash Functions Suitable for Use in Blockchain Alexandr Kuznetsov1 , Inna Oleshko2, Vladyslav Tymchenko3, Konstantin Lisitsky4, Mariia Rodinko5 and Andrii Kolhatin6 1,3,4,5,6 V. N. Karazin Kharkiv National University, Svobody sq., 4, Kharkiv, 61022, Ukraine E-mail: [email protected], [email protected], [email protected], [email protected], [email protected] 2 Kharkiv National University of Radio Electronics, Nauky Ave. 14, Kharkiv, 61166, Ukraine E-mail: [email protected] Received: 30 June 2020; Accepted: 21 October 2020; Published: 08 April 2021 Abstract: A blockchain, or in other words a chain of transaction blocks, is a distributed database that maintains an ordered chain of blocks that reliably connect the information contained in them. Copies of chain blocks are usually stored on multiple computers and synchronized in accordance with the rules of building a chain of blocks, which provides secure and change-resistant storage of information. To build linked lists of blocks hashing is used. Hashing is a special cryptographic primitive that provides one-way, resistance to collisions and search for prototypes computation of hash value (hash or message digest). In this paper a comparative analysis of the performance of hashing algorithms that can be used in modern decentralized blockchain networks are conducted. Specifically, the hash performance on different desktop systems, the number of cycles per byte (Cycles/byte), the amount of hashed message per second (MB/s) and the hash rate (KHash/s) are investigated.
    [Show full text]
  • Speeding up Collision Search for Byte-Oriented Hash Functions
    Speeding up Collision Search for Byte-Oriented Hash Functions View metadata, citation and similar papers at core.ac.uk brought to you by CORE Dmitry Khovratovich, Alex Biryukov,provided and by Ivica Open Repository Nikolic and Bibliography - Luxembourg University of Luxembourg {dmitry.khovratovich,alex.biryukov,ivica.nikolic}@uni.lu Abstract. We describe a new tool for the search of collisions for hash functions. The tool is applicable when an attack is based on a differential trail, whose probability determines the complexity of the attack. Using the linear algebra methods we show how to organize the search so that many (in some cases — all) trail conditions are always satisfied thus significantly reducing the number of trials and the overall complexity. The method is illustrated with the collision and second preimage at- tacks on the compression functions based on Rijndael. We show that slow diffusion in the Rijndael (and AES) key schedule allows to run an attack on a version with a 13-round compression function, and the S-boxes do not prevent the attack. We finally propose how to modify the key sched- ule to resist the attack and provide lower bounds on the complexity of the generic differential attacks for our modification. 1 Introduction Bit-oriented hash functions like MD5 [17] and SHA [10] have drawn much at- tention since the early 1990s being the de-facto standard in the industry. Re- cent cryptanalytic efforts and the appearance of real collisions for underlying compression functions [19,18,4,13] motivated researchers to develop new fast primitives. Several designs were presented last years (LASH [2], Grindahl [12], RadioGatun [3], LAKE [1]) but many have already been broken [14,15,6].
    [Show full text]
  • Argon2: the Memory-Hard Function for Password Hashing and Other Applications
    Argon2: the memory-hard function for password hashing and other applications Designers: Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich University of Luxembourg, Luxembourg [email protected], [email protected], [email protected] https://www.cryptolux.org/index.php/Argon2 https://github.com/P-H-C/phc-winner-argon2 https://github.com/khovratovich/Argon2 Version 1.2.1 of Argon2: PHC release December 26, 2015 Contents 1 Introduction 2 2 Definitions 3 2.1 Motivation . 3 2.2 Model for memory-hard functions . 4 3 Specification of Argon2 4 3.1 Inputs . 4 3.2 Operation . 5 3.3 Indexing . 6 3.4 Compression function G ......................................... 7 4 Features 7 4.1 Available features . 8 4.2 Possible future extensions . 8 5 Security analysis 8 5.1 Ranking tradeoff attack . 8 5.2 Attack on iterative compression function . 9 5.3 Security of Argon2 to generic attacks . 10 5.4 Security of Argon2 to tradeoff attacks . 11 6 Design rationale 11 6.1 Indexing function . 11 6.2 Implementing parallelism . 12 6.3 Compression function design . 13 6.3.1 Overview . 13 6.3.2 Design criteria . 13 6.4 User-controlled parameters . 14 7 Performance 14 7.1 x86 architecture . 14 8 Applications 15 9 Recommended parameters 15 10 Conclusion 16 1 A Permutation 17 P B Additional functionality 17 C Change log 18 C.1 v1.2.1 { December 26th, 2015 . 18 C.2 v1.2 { 21th June, 2015 . 18 C.3 v1.1 { 6th February, 2015 . 18 1 Introduction Passwords, despite all their drawbacks, remain the primary form of authentication on various web-services.
    [Show full text]
  • Biclique Cryptanalysis of the Full AES
    Biclique Cryptanalysis of the Full AES Andrey Bogdanov⋆, Dmitry Khovratovich, and Christian Rechberger⋆ K.U. Leuven, Belgium; Microsoft Research Redmond, USA; ENS Paris and Chaire France Telecom, France August 31, 2011 Abstract. Since Rijndael was chosen as the Advanced Encryption Standard (AES), improving upon 7-round attacks on the 128-bit key variant (out of 10 rounds) or upon 8-round attacks on the 192/256-bit key variants (out of 12/14 rounds) has been one of the most difficult challenges in the cryptanalysis of block ciphers for more than a decade. In this paper, we present the novel technique of block cipher cryptanalysis with bicliques, which leads to the following results: – The first key recovery method for the full AES-128 with computational complexity 2126.1. – The first key recovery method for the full AES-192 with computational complexity 2189.7. – The first key recovery method for the full AES-256 with computational complexity 2254.4. – Key recovery methods with lower complexity for the reduced-round versions of AES not considered before, including cryptanalysis of 8-round AES-128 with complexity 2124.9 . – Preimage search for compression functions based on the full AES versions faster than brute force. In contrast to most shortcut attacks on AES variants, we do not need to assume related-keys. Most of our techniques only need a very small part of the codebook and have low memory requirements, and are practically verified to a large extent. As our cryptanalysis is of high computational complexity, it does not threaten the practical use of AES in any way.
    [Show full text]
  • Tools in Cryptanalysis of Hash Functions Application to SHA-256
    Tools in Cryptanalysis of Hash Functions Application to SHA-256 Florian Mendel Institute for Applied Information Processing and Communications (IAIK) Graz University of Technology Inffeldgasse 16a, A-8010 Graz, Austria Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work Attacks on the MD4-family 7MD4 7MD5 SHA-07 HAVAL7 RIPEMD7 SHA-17 RIPEMD-128 RIPEMD-160 SHA-224 SHA-256 SHA-384 SHA-512 Consequences of the Attacks Transition from SHA-1 to SHA-2 NIST proposed the transition from SHA-1 to the SHA-2 family Companies and organization are expected to migrate to SHA-2 SHA-3 initiative Researchers were evaluating alternative hash functions in the SHA-3 initiative organized by NIST NIST selected Keccak as SHA-3 Results for SHA-256 Preimage Attack Aoki et al. [AGM+09] 43 out of 64 steps (complexity: 2254:9) Khovratovich et al. [KRS12] 45 out of 64 steps (complexity: 2255:5) Collision Attack Nikolic´ and Biryukov [NB08] 21 out of 64 steps (example) Indesteege et al. [IMPR08]; Sanadhya and Sarkar [SS08] 24 out of 64 steps (example) Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work The SHA-2 Family Designed by NSA and issued by NIST in 2002. Defined in the Federal Information Processing Standard (FIPS-180-3) Part of several international standards Often recommended as an alternative to SHA-1 Consists of 4 hash functions, i.e.
    [Show full text]
  • Cryptographic Schemes Based on the ASASA Structure: Black-Box, White-Box, and Public-Key
    Cryptographic Schemes Based on the ASASA Structure: Black-box, White-box, and Public-key Alex Biryukov, Charles Bouillaguet, and Dmitry Khovratovich University of Luxembourg and University of Lille alex.biryukov,dmitry.khovratovich @uni.lu,[email protected] f g Abstract. In this paper we pick up an old challenge to design public key or white-box constructions from symmetric cipher components. We design several encryption schemes based on the ASASA structure ranging from fast and generic symmetric ciphers to compact public key and white-box constructions based on generic affine transformations combined with specially designed low degree non-linear layers. While explaining our design process we show several instructive attacks on the weaker variants of our schemes. Keywords: ASASA, multivariate cryptography, white-box cryptography, cryptanalysis, algebraic, sym- metric. 1 Introduction Since the development of public key cryptography in the late 1970's it has been an open challenge to diversify the set of problems on which such primitives were built as well as to find faster alternatives, since most public key schemes were several orders of magnitude slower than symmetric ones. One of the directions was to design public key schemes from symmetric components. As public key encryption requires trapdoors, they have been hidden in secret affine layers [59], field representations [67], biased S-boxes and round functions [71, 74, 83], structure of connection polynomials in stream ciphers [2]; however most of these schemes were broken [45, 52, 66, 80]. We recall that a typical symmetric cipher is built from layers of affine transformations (A) and S-boxes (S), a design principle dating back to Shannon [77].
    [Show full text]
  • SOK: Cryptocurrency Networking Context, State-Of-The-Art, Challenges
    SOK: Cryptocurrency Networking Context, State-of-the-Art, Challenges Maya Dotan1 Yvonne-Anne Pignolet2 Stefan Schmid3 Saar Tochner1 Aviv Zohar1 1 Hebrew University, Israel 2 DFINITY, Switzerland 3 Faculty of Computer Science, University of Vienna, Austria ABSTRACT transmission of data, and error correction, as well as mea- Cryptocurrencies such as Bitcoin are realized using distributed surements of the network performance. systems and hence critically rely on the performance and Interestingly, cryptocurrency networks and their usage, security of the interconnecting network. The requirements can differ significantly from traditional communication net- on these networks and their usage, however can differ sig- works. For example, cryptocurrency networks may come with nificantly from traditional communication networks, with different requirements (e.g., related to anonymity), may need implications on all layers of the protocol stack. This paper to serve different traffic mixes (e.g., more frequent broad- is motivated by these differences, and in particular by the cast of transactions and states of the blockchain), may need observation that many fundamental design aspects of these different routing mechanisms (e.g., source routing), ormay networks are not well-understood today. In order to support be more dynamic (e.g., channels and fees in PCNs). Obvi- the networking community to contribute to this emerging ously, the fact that no protocol participant can be trusted application domain, we present a structured overview of (not only users issuing transactions but also miners and thus the field, from topology and neighbor discovery to block information providers may act maliciously), often requires a and transaction propagation. In particular, we provide the different design, and the incentives of all participants must context, highlighting differences and commonalities with tra- be considered.
    [Show full text]
  • Argon2 for Password Hashing and Cryptocurrencies
    Argon2 for password hashing and cryptocurrencies Alex Biryukov, Daniel Dinu, Dmitry Khovratovich University of Luxembourg 2nd April 2016 Motivation Password-based authentication Keyless password authentication: • User registers with name l and password p; • Server selects hash function H, generates salt s, and stores (l; H(s; p)); • User sends (l; p0) during the login; • Server matches (l; H(s; p0)) with its password le. Problems: • Password les are often leaked unencrypted; • Passwords have low entropy ("123456"); • Regular cryptographic hash functions are cracked on GPU/FPGA/ASIC; • Many iterations of SHA-256 do little help as this slows down everyone. Understanding brute-force Brute-force attacks (such as key guessing) are most ecient on custom hardware: multiple computing cores on large ASICs. Practical example of SHA-2 hashing (Bitcoin): • 232 hashes/joule on ASIC; • 217 hashes/joule on laptop. Consequences • Keys lose 15 bits; • Passwords become 3 lowercase letters shorter; • PINs lose 5 digits. ASIC-equipped attackers are the threat from the near future. ASICs have high entry costs, but FPGA and GPU are employed too. Solution Since 2003, memory-intensive computations have been proposed. Computing with a lot of memory would require a very large and expensive chip. Memory Core With large memory on-chip, the ASIC advantage vanishes. Scrypt Scrypt [another IETF draft] designed by Percival in 2009. Memory-intensive but has problems: • Too many distinct primitives involved (PBKDF2, SHA-256, Salsa/ChaCha); • Time and memory tied; • Simple time-memory tradeo; • Timingattack-vulnerable. Password Hashing Competition (2013-2015) Requirements for a new scheme: • Maximum cracking cost per password on all platforms; • Tunable time, memory parameters.
    [Show full text]