SBLWT: A Secure Blockchain Lightweight Wallet Based on Trustzone Source : IEEE Access, Vol. 6, pp. 40638-40648, July 2018 Authors : Weiqi Dai, Jun Deng, Qinyuan Wang, Changze Cui, Deqing Zou, and Hai Jin Speaker : Fengyu Chiu Date : 2019/1/3 中國武漢(華中科技大學 )
Outline Introduction Preliminaries Proposed scheme Security analysis Performance analysis Conclusions
Introduction(1/2) Hardware-based wallet Software-based wallet Digital currency Software-based wallet simplied payment verication (SPV)
Introduction(2/2) SPV Getheaders Transaction’s hash value Block Merkle tree needs hash value Calculates merkle root hash 0.從網絡上獲取並保存最長鏈的所有block header至本地; 1.計算該交易的hash值tx_hash; 2.定位到包含該tx_hash所在的區塊,驗證block header是否包含在已知的最長鏈中; 3.從區塊中獲取構建merkle tree所需的hash值; 4.根據這些hash值計算merkle_root_hash; 5 .若計算結果與block header中的merkle_root_hash相等,則交易真實存在。 6.根據該block header所處的位置,確定該交易已經得到多少個確認。 Compare with block header’s merkle root hash
Preliminaries –Blockchain and merkle tree(1/2) Block header Block header Block header Timestamp Prev hash Nonce Merkle root Timestamp Prev hash Nonce Merkle root Prev hash Nonce Merkle root Timestamp Hash 01 Hash 23 Hash 0 Hash 1 Hash 2 Hash 3 Tx0 Tx1 Tx2 Tx3
Preliminaries –Blockchain(2/2) $10 Book Amanda Bob Decentralization Immutability 6
Proposed scheme – framework of SBLWT
Proposed scheme – secure booting Normal Execution Environment Secure Execution Environment Normal bootloader Secure OS boot integrity Normal OS boot Flash Device bootloader SBLWT System running ROM SOC bootloader Device power on
Proposed scheme – reliable switching Transaction occurs Rich OS suspended Restores secure OS and SBLWT Non-Maskable Interrupt(NMI) Private key, address, block header Footprints in SEE will clean up
Proposed scheme – secure keys and reliable addresses Private key Secp256k1 Public key Attackers Double hash Address The hash of Public key Base58Check 0, O, I, l, +, /
Proposed scheme – secure sync and verification
Proposed scheme – secure sync and verification
Security analysis Secure booting Information leakage DOS attack
Performance analysis(1/3) Operations Times 1 Environment switching 1.7 us 2 read(1KB) 2 ms 3 write(1KB) 12 ms 4 SBLWB check 1.54 ms 5 Information cleanup 0.521 ms Module lines 1 prikey generate 543 2 Address generate 309 3 sync 1037 4 verification 559 The detail TCB of SBLWT Some overheads of SBLWT
Performance analysis(2/3) SHA-256 speed comparision
Performance analysis(3/3) Normal SPV wallet SBLWT start 1.387 s 1.443 s verification 2.283 ms 3.137 ms SBLWT’s start and verify overhead comparision
Conclusions Trustzone Confidentiality and integrity