Secure Multiparty Computations on Bitcoin

Slides:



Advertisements
Similar presentations
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
Advertisements

1 Chapter 7-2 Signature Schemes. 2 Outline [1] Introduction [2] Security Requirements for Signature Schemes [3] The ElGamal Signature Scheme [4] Variants.
Polling With Physical Envelopes A Rigorous Analysis of a Human–Centric Protocol Tal Moran Joint work with Moni Naor.
ITIS 6200/ Secure multiparty computation – Alice has x, Bob has y, we want to calculate f(x, y) without disclosing the values – We can only do.
Rational Oblivious Transfer KARTIK NAYAK, XIONG FAN.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Recoverable and Untraceable E-Cash Dr. Joseph K. Liu The Chinese University of HongKong.
From: Cryptographers’ Track of the RSA Conference 2008 Date: Reporter: Yi-Chun Shih 1.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Eran Omri, Bar-Ilan University Joint work with Amos Beimel and Ilan Orlov, BGU Ilan Orlov…!??!!
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Slide 1 Vitaly Shmatikov CS 378 Digital Cash. slide 2 Digital Cash: Properties uDigital “payment message” with properties of cash uUnforgeable Users cannot.
Short course on quantum computing Andris Ambainis University of Latvia.
Bitcoin. What is Bitcoin? A P2P network for electronic payments Benefits: – Low fees – No middlemen – No central authority – Can be anonymous – Each payment.
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
Introduction to Modern Cryptography, Lecture 13 Money Related Issues ($$$) and Odds and Ends.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Secure Multi-party Computations (MPC) A useful tool to cryptographic applications Vassilis Zikas.
A Secure Fault-Tolerant Conference- Key Agreement Protocol Wen-Guey Tzeng Source : IEEE Transactions on computers Speaker : LIN, KENG-CHU.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Unlinkable Secret Handshakes and Key-Private Group Key Management Schemes Author: Stanislaw Jarecki and Xiaomin Liu University of California, Irvine From:
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
1 Cross-Domain Secure Computation Chongwon Cho (HRL Laboratories) Sanjam Garg (IBM T.J. Watson) Rafail Ostrovsky (UCLA)
Pretty Good Privacy by Philip Zimmerman presented by: Chris Ward.
Bob can sign a message using a digital signature generation algorithm
The world’s first decentralized digital currency Meni Rosenfeld Bitcoil 29/11/2012Written by Meni Rosenfeld1.
Digital Cash By Gaurav Shetty. Agenda Introduction. Introduction. Working. Working. Desired Properties. Desired Properties. Protocols for Digital Cash.
Cong Wang1, Qian Wang1, Kui Ren1 and Wenjing Lou2
SecureMR: A Service Integrity Assurance Framework for MapReduce Author: Wei Wei, Juan Du, Ting Yu, Xiaohui Gu Source: Annual Computer Security Applications.
How to Use Bitcoin to Enhance Secure Computation Ranjit Kumaresan (MIT) Based on joint works with Iddo Bentov (Technion), Tal Moran (IDC), Guy Zyskind.
Analysis of a Fair Exchange Protocol Vitaly Shmatikov John Mitchell Stanford University.
6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick.
Information Security Conference (ISC 2015) On the Efficiency of Multi-Party Contract Signing Protocols Gerard Draper-Gil, Josep-Lluis Ferrer Gomila, M.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Chapter 31 Cryptography And Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Software Security Seminar - 1 Chapter 5. Advanced Protocols 조미성 Applied Cryptography.
Chapter 6:Esoteric Protocols Dulal C Kar. Secure Elections Ideal voting protocol has at least following six properties 1.Only authorized voters can vote.
1 Bitcoin A Digital Currency. Functions of Money.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Linkability of Some Blind Signature Schemes Swee-Huay Heng 1, Wun-She Yap 1 Khoongming Khoo 2 1 Multimedia University, 2 DSO National Laboratories.
Chapter 4 Using Encryption in Cryptographic Protocols & Practices.
14.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 14 Entity Authentication.
Non-Interactive Verifiable Computing August 5, 2009 Bryan Parno Carnegie Mellon University Rosario Gennaro, Craig Gentry IBM Research.
Secure Communication between Set-top Box and Smart Card in DTV Broadcasting Authors: T. Jiang, Y. Hou and S. Zheng Source: IEEE Transactions on Consumer.
Identity based signature schemes by using pairings Parshuram Budhathoki Department of Mathematical Science FAU 02/21/2013 Cyber Security Seminar, FAU.
A new provably secure certificateless short signature scheme Authors: K.Y. Choi, J.H. Park, D.H. Lee Source: Comput. Math. Appl. (IF:1.472) Vol. 61, 2011,
Establishing authenticated channels and secure identifiers in ad-hoc networks Authors: B. Sieka and A. D. Kshemkalyani (University of Illinois at Chicago)
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
Private key
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
多媒體網路安全實驗室 Private Information Retrieval Scheme Combined with E- Payment in Querying Valuable Information Date: Reporter: Chien-Wen Huang 出處:
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
 Attacks and threats  Security challenge & Solution  Communication Infrastructure  The CA hierarchy  Vehicular Public Key  Certificates.
Block Chain 101 May 2017.
Motivation ✓ ✘ ? Bitcoin/Ideal Credit Card Works on Internet
CSE 4095 Lecture 22 – BlockChain Slides adapted from Claudio Orlandi.
Bitcoin - a distributed virtual currency system
Keys Campbell R. Harvey Duke University, NBER and
Campbell R. Harvey Duke University and NBER
Campbell R. Harvey Duke University and NBER
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Consensus Algorithms.
Teechain: Scalable Blockchain Payments using Trusted Execution Environments GIZEM AKDENIZ DECEMBER 13 , 2018.
Digital Signatures Network Security.
Presentation transcript:

Secure Multiparty Computations on Bitcoin Presenter: Cheng Li

MPC Secure Multiparty Computation Protocol: Group of mutually distrusting parties to compute a joint function f on their private inputs. During the execution of a protocol, the parties cannot learn more information about the inputs of the other participants than they would learn if f was computed by Tf (third trusted party). Misbehaved parties should not be able to influence the output of the honest parties more than they could by modifying their own inputs.

Example: Marriage Proposal Problem a & b a & b Alice Bob

Example: Marriage Proposal Problem a & b=0 a & b=0 Alice Bob I don’t know whether Bob want to marry me. I know Alice don’t want to marry me. Bob’s privacy is preserved when Alice is not willing to marry.

MPC Fairness The protocol always terminates if the minority of the parties is malicious, and the output is known to each honest participants. Two-player protocols do not provide complete fairness.

Gambling clients Trusted Third Party clients Gambling Website clients

Gambling Can we use MPC to real life gambling? No MPCs do not provide fairness when no honest majority among the participants. MPCs do not provide security beyond the trusted-party emulation. The majority malicious parties prevent honest parties from learning the correct result. In marriage proposal problem, MPC may not guarantee that Alice and Bob will eventually take action according to the result.

Gambling Two naive approaches to deal with them: Reputation system It will not prevent us from malicious activities. Incorporate final transaction into the protocol The transaction will be executed automatically. However, there are many banks…

MPCs on Bitcoin Adapts MPCs into the bitcoin system Distributed nature without a central authority. Infeasible for anyone take control over the system. Money is transferred directly between two parties (no need for another trusted party).

Outline Introduction Bitcoin & Security Model Bitcoin-based Timed Commitment Scheme Lottery Protocol Two-party Lottery Conclusion

Bitcoin Bitcoin blocks Users maintain a chain of blocks. New block Bi = Ti || H(Bi-1)||R If a transaction t is contained in a block Bi and several new blocks on top of it, then the adversary cannot revert t unless it has more commutating power than half of the Bitcoin network. random salt new transaction list hash of previous block

Bitcoin One user pays in bitcoins One node obtain a new block It creates a transaction and broadcast it to other nodes in the network. Other nodes validate it and broadcast further and add it to the block they are mining (newest block). One node obtain a new block It broadcasts its block to the network. Other nodes validate transactions in it and its hash and accept it by mining on top of it.

Bitcoin Ledger Bitcoin Transaction We can imagine that there is a trusted third-party called Ledger to record the distributed transaction information. Bitcoin Transaction Node address: public key pk, used for verifying the signatures. Corresponding private key sk is used for signing.

Bitcoin Transaction Tx=(y, B.pk, v, sigA(y, B.pk, v)) Tx is valid only if A.pk was the recipient of Ty The value of Ty was at least v The transaction Ty has not been redeemed earlier The signature of A is correct a transaction from address A.pk to address B.pk input (redeemed) transaction index signature of A amount transferred

Bitcoin Transaction More than one transaction can be redeemed in one transaction. Tx=(y1, y2, …, yl, B.pk, v, sigA1(y1, B.pk, v), …, sigAl(yl, B.pk, v)) Add lock-time t into transaction Tx=(y1, y2, …, yl, B.pk, v, t, sigA1(y1, B.pk, v, t), …, sigAl(yl, B.pk, v, t)) Tx becomes valid only if time t is reached. Transaction can be identified by hash H(Tx)

Bitcoin Transaction Output-script function Witness The transaction Tx redeeming Ty is valid if πy evaluates to true on input Tx. Witness Used to make the script πy evaluate to true on Tx Tx=(y1, …, yl, πx, v, t, σ1, …, σl) time t is reached every πi([TX], σi) is true, i in [1,l] None of the transaction has been redeemed before script for Tx body[Tx] witness

Input transactions

Transaction’s signature Any transaction Tx redeems Ty1 should guarantee that πy1([Tx], σ1) is true.

πx is true if σ1 and σ2 pass the verification Verify signature πx is true if σ1 and σ2 pass the verification

Security Model Secure connections between parties are not guaranteed. The only “trusted component” in the system is the Bitcoin chain, which is contained in Ledger. Each node in bitcoin network has one copy of Ledger. Transaction Malleability Each party access pattern to Ledger can be publicly known.

Outline Introduction Bitcoin & Security Model Bitcoin-based Timed Commitment Scheme Lottery Protocol Two-party Lottery Conclusion

Commitment Scheme Two phase commitment phase: CS.Commit(C, d, t, s) opening phase: CS.PayDeposit(C, d, t, s) C: Committer d: value of transaction t: tolerated latency of commit s: the secret

The CS protocol C sends n transactions Commiti to Ledger. If some of Commiti does not appear on Ledger in maxledger or they look incorrect, the parties abort.

The CS protocol C sends PayDepositi transaction to Pi. If it does not arrive, Pi halt

The CS protocol C sends to the Ledger n transaction Openi and reveal the secret s. The Openi transaction’s in_script can make the out-script function of Commiti to be true.

The CS protocol If within time t the Openi transaction does not appear on Ledger, Pi signs and sends PayDepositi to the Ledger. The PayDepositi transaction’s in_script can make the out-script function of Commiti to be true.

The CS protocol If C is honest and sends Openi to the Ledger within time t, then all the bitcoins belong to C again, or they will belong to recipients.

Outline Introduction Bitcoin & Security Model Bitcoin-based Timed Commitment Scheme Lottery Protocol Two-party Lottery Conclusion

Lottery Protocol Lottery protocol executed among a group of parties P1, …, Pn. All the group member put their money to one place and one parties will got all the money if it wins. An application of MPCs on Bitcoin.

Lottery Protocol Winner choosing function f(s1, …, sn) si is the secret input of Pi The output of f(s1, …, sn) should be uniformly random when given uniformly random input.

Lottery Protocol Transactions PutMoney A sends 1 bitcoin transaction to the Ledger Compute If A finds that other parties is cheating, it can redeem PutMoney back. Compute can redeem PutMoney

Lottery Protocol Transaction ClaimMoney If sA is the answer then A get the money, or B get the money

Lottery Protocol Is this protocol secure? No. One party could refuse to send out its secret s and terminate the protocol with a result that no one could redeem the Compute transaction.

Secure Lottery Protocol How to force the adversary to give out the result? Upgrade Lottery Protocol with CS protocol we mentioned before. Adversary should pay the deposit if he refuse to send out the result.

Secure Lottery Protocol Initialization Phase: Each player generates key pair, and distributes its public key. Each player generate its secret from Deposits Phase: For each player Pi, commits CS.Commit(Pi, d, t+4maxLedger, si) If any two commitments of different players are equal, then the players abort the protocol. Commit, PayDeposit, PutMoney, Compute

Secure Lottery Protocol Execution Phase: Each player puts PutMoney transaction to Ledger. The player halts if any of those transaction did not appear on Ledger before t+2maxLedger. For each i≥2, Pi computes its signature on transaction Compute and sends it to P1 P1 puts all received signatures into inputs of transaction Compute and put it to the Ledger. If Compute did not appear in t+3maxLedger, the players halt. Each player puts its Open transaction to the Ledger to reveal its secret. If one player did not reveal its secret in time t+4maxLedger, other players send the PayDeposit transaction to the Ledger to redeem the deposit of that player. The winner gets the money by sending transaction ClaimMoney to the Ledger. show it on whiteboard.

Each player puts PutMoney transaction to Ledger Each player puts PutMoney transaction to Ledger. The player halts if any of those transaction did not appear on Ledger before t+2maxLedger.

For each i≥2, Pi computes its signature on transaction Compute and sends it to P1

P1 puts all received signatures into inputs of transaction Compute and put it to the Ledger. If Compute did not appear in t+3maxLedger, the players halt.

The winner gets the money by sending transaction ClaimMoney to the Ledger.

Each player puts its Open transaction to the Ledger to reveal its secret. If one player did not reveal its secret in time t+4maxLedger, other players send the PayDeposit transaction to the Ledger to redeem the deposit of that player.

Outline Introduction Bitcoin & Security Model Bitcoin-based Timed Commitment Scheme Lottery Protocol Two-party Lottery Conclusion

Two-party Lottery Without using deposits Only works for two-party situation except we can assume the channel between parties and Ledger is private.

Force Bob to reveal its secret whenever it wants to redeem PutMoney Two-party Lottery Deal with “Nasty Bob” Force Bob to reveal its secret whenever it wants to redeem PutMoney

Two-party Lottery Compute2 Alice computes her input script and sends it to Bob Bob add his input script and posts Compute2 on the Ledger.

Two-party Lottery The ClaimMoney2 remain unchanged Sending have no risk It is the signature of the entire body which cannot leak any information of PutMoneyA transaction. If Bob put it to Compute2, it will reveal its secret sB. Alice may not reveal her secret when she learns she lose.

Two-party Lottery More secure version If Alice does not show her secret within certain time, Bob could redeem Compute transaction. Modify Compute transaction. Introduce new transaction Fuse.

After 2maxLedger time, Fuse will be redeemed by Bob

If hA and hB are equal, then the protocol abort Alice Bob If hA and hB are equal, then the protocol abort

Both of them continue when both of the PutMoney are on the Ledger. Alice Bob Ledger Both of them continue when both of the PutMoney are on the Ledger.

Both of them compute the Compute transaction. Alice Bob Both of them compute the Compute transaction. Alice sends the signature to Bob and Bob verify it. Bob adds its signature and secret to Compute.

Bob verify the signature and halts if it is incorrect. Alice Bob Bob verify the signature and halts if it is incorrect.

Alice Bob Ledger If Compute did not appear on the Ledger within maxLedger, than Alice halts.

Alice Bob Ledger If Bob does not receive sA within 2maxLedger, it will send Fuse to the Ledger to redeem Compute

Alice Bob Ledger Either Alice or Bob wins the game according to the result of f(sA, sB) by using ClaimMoney Transaction

Outline Introduction Bitcoin & Security Model Bitcoin-based Timed Commitment Scheme Lottery Protocol Two-party Lottery Conclusion

Conclusion MPC MPC on Bitcoin Do not provide fairness Do not guarantee the execution of one action. MPC on Bitcoin Timed Commitment Scheme (CS) Multiparty Lottery Protocol (with deposit) Two-party Lottery Protocol (without deposit)

Thank you! Questions?