Improving Security of Crypto Wallets in Blockchain Technologies

Improving Security of Crypto Wallets in Blockchain Technologies

IMPROVING SECURITY OF CRYPTO WALLETS IN BLOCKCHAIN TECHNOLOGIES by HOSSEIN REZAEIGHALEH M.S. University of Central Florida, 2018 A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Electrical Engineering and Computer Science in the College of Engineering and Computer Science at the University of Central Florida Orlando, Florida Fall Term 2020 Major Professor: Cliff C. Zou © 2020 Hossein Rezaeighaleh ii ABSTRACT A big challenge in blockchain and cryptocurrency is securing the private key from potential hackers. Nobody can rollback a transaction made with a stolen key once the network confirms it. The technical solution to protect private keys is the cryptocurrency wallet, software, hardware, or a combination to manage the keys. In this dissertation, we try to investigate the significant challenges in existing cryptocurrency wallets and propose innovative solutions. Firstly, almost all cryptocurrency wallets suffer from the lack of a secure and convenient backup and recovery process. We offer a new cryptographic scheme to securely back up a hardware wallet relying on the side-channel human visual verification on the hardware wallet. Another practical mechanism to protect the funds is splitting the money between two wallets with small and large amounts. We propose a new scheme to create hierarchical wallets that we call deterministic sub-wallet to achieve this goal. The user can send funds from the wallet with a large amount to a smaller one in a secure way. We propose a multilayered architecture for cryptocurrency wallets based on a Defense-in-Depth strategy to protect private keys with a balance between convenience and security. The user protects the private keys in three restricted layers with different protection mechanisms. Finally, we try to solve another challenge in cryptocurrencies, which is losing access to private keys by its user, resulting in inaccessible coins. We propose a new mechanism called lean recovery transaction to tackle this problem. We make a change in wallet key management to generate a recovery transaction when needed. We implement a proof-of-concept for all of our proposals on a resource-constraint hardware wallet with a secure element, an embedded display, and one physical button. Furthermore, we evaluate the performance of our implementation and analyze the security of our proposed mechanisms. iii ACKNOWLEDGMENTS I want to extend special thanks to my advisor Dr. Cliff Zou who supports me from the early stage of my Ph.D. degree and helps me with consulting in my study program, guide me to publish high-quality papers and provides the required equipment and devices. iv TABLE OF CONTENTS LIST OF FIGURES .................................................................................................................. xi LIST OF TABLES ................................................................................................................. xiii CHAPTER 1: INTRODUCTION .............................................................................................. 1 1.1 Problem and Motivation ............................................................................................ 1 1.2 Crypto Wallet Security .............................................................................................. 2 1.3 Crypto Wallet Backup Problem ................................................................................. 2 1.4 Super-Wallet/Sub-Wallet Model ............................................................................... 3 1.5 Defense-in-Depth Architecture .................................................................................. 4 1.6 Avoiding Inaccessible Wallet .................................................................................... 5 1.7 Document Structure ................................................................................................... 6 CHAPTER 2: TECHNICAL BACKGROUND ........................................................................ 7 2.1 Cryptography Primitives ............................................................................................ 7 2.1.1 Hash Function ........................................................................................................ 7 2.1.2 Hash-based Message Authentication Code ............................................................ 7 2.1.3 Symmetric Cryptography ....................................................................................... 8 2.1.4 Asymmetric Cryptography..................................................................................... 8 2.1.5 Digital Signature .................................................................................................... 9 2.1.6 Elliptic-Curve Cryptography ................................................................................. 9 2.1.6.1 Elliptic-Curve Domain Parameters for secp256k1 ...................................... 10 v 2.1.6.2 Elliptic-Curve Adding .................................................................................. 11 2.1.6.3 Elliptic-Curve Doubling............................................................................... 12 2.1.6.4 Elliptic-Curve Multiplying........................................................................... 13 2.1.6.5 Elliptic-Curve Key Generation .................................................................... 14 2.1.6.6 Elliptic-Curve Digital Signature Generation ............................................... 14 2.1.6.7 Elliptic-Curve Digital Signature Verification .............................................. 15 2.2 Blockchain Technology ........................................................................................... 16 2.2.1 History.................................................................................................................. 16 2.2.2 Blockchain Mechanics ......................................................................................... 16 2.2.3 UTXO-based versus Account-based Blockchain................................................. 19 2.2.4 Smart Contract ..................................................................................................... 19 2.2.5 Consensus Mechanisms ....................................................................................... 20 2.2.5.1 Proof-of-Work.............................................................................................. 20 2.2.5.2 Proof-of-Stake .............................................................................................. 21 2.2.5.3 Delegated Proof-of-Stake............................................................................. 22 2.2.6 Blockchain Networks ........................................................................................... 22 2.2.6.1 Public Blockchain ........................................................................................ 22 2.2.6.2 Private Blockchain ....................................................................................... 23 2.3 Crypto Wallet ........................................................................................................... 24 2.3.1 Wallet Types ........................................................................................................ 24 2.3.1.1 Brain Wallet ................................................................................................. 24 vi 2.3.1.2 Paper Wallet ................................................................................................. 24 2.3.1.3 Hot Wallet .................................................................................................... 25 2.3.1.4 Cold Wallet .................................................................................................. 25 2.3.1.5 Desktop Wallet............................................................................................. 26 2.3.1.6 Mobile Wallet .............................................................................................. 26 2.3.1.7 Hardware Wallet .......................................................................................... 27 2.3.2 Hierarchical Deterministic Wallet ....................................................................... 28 2.3.2.1 BIP-32: Hierarchical Deterministic Wallets ................................................ 29 2.3.2.2 BIP-39: Mnemonic code for generating deterministic keys ........................ 31 2.3.2.3 BIP-44: Multi-Account Hierarchy for Deterministic Wallets ..................... 32 2.4 Smart Card ............................................................................................................... 34 2.4.1 IC Card Components............................................................................................ 34 2.4.2 Java Card Technology.......................................................................................... 36 2.4.3 Global Platform .................................................................................................... 37 2.4.4 Smart Card Programming .................................................................................... 37 2.4.5 Smart Card Simulation ......................................................................................... 39 CHAPTER 3: FINDINGS........................................................................................................ 40 3.1 Smart Card Security ................................................................................................. 40 3.1.1 Threat

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    117 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us