Strong Accumulators from Collision-Resistant Hashing



Similar documents
Protocols for Secure Cloud Computing

Lecture 15 - Digital Signatures

Certificate Based Signature Schemes without Pairings or Random Oracles


New Online/Offline Signature Schemes Without Random Oracles

Introduction. Digital Signature

Merkle Hash Trees for Distributed Audit Logs

A New and Efficient Signature on Commitment Values

Hash Functions. Integrity checks

Comments on "public integrity auditing for dynamic data sharing with multi-user modification"

Bitmessage: A Peer to Peer Message Authentication and Delivery System

Distillation Codes and Applications to DoS Resistant Multicast Authentication

Verifiable Delegation of Computation over Large Datasets

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Energy Efficiency in Secure and Dynamic Cloud Storage

Twin Signatures: an Alternative to the Hash-and-Sign Paradigm

Digital Identity Management

Public Key Cryptography. c Eli Biham - March 30, Public Key Cryptography

Cryptanalysis of a Partially Blind Signature Scheme or How to make $100 bills with $1 and $2 ones

Certificate Authorities and Public Keys. How they work and 10+ ways to hack them.

Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs

A Secure RFID Ticket System For Public Transport

Efficient Implementation of Keyless Signatures with Hash Sequence Authentication

Privacy-Providing Signatures and Their Applications. PhD Thesis. Author: Somayeh Heidarvand. Advisor: Jorge L. Villar

FlexList: Optimized Skip List for Secure Cloud Storage

Enhancing Data Security in Cloud Storage Auditing With Key Abstraction

Secure Authentication and Session. State Management for Web Services

CS 361S - Network Security and Privacy Spring Homework #1

Paillier Threshold Encryption Toolbox

Secure Computation Martin Beck

Data Privacy in Remote Data Integrity Checking for Secure Cloud Storage

Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Improved Online/Offline Signature Schemes

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

Electronic Payments. EITN40 - Advanced Web Security

Analysis of Algorithms I: Binary Search Trees

ISSN Index Terms Cloud computing, outsourcing data, cloud storage security, public auditability

Publicly Verifiable Conjunctive Keyword Search in Outsourced Databases

Lecture 2: Complexity Theory Review and Interactive Proofs

Lecture 5 - CPA security, Pseudorandom functions

Application of Automatic Variable Password Technique in Das s Remote System Authentication Scheme Using Smart Card

Secure Group Oriented Data Access Model with Keyword Search Property in Cloud Computing Environment

Two Factor Zero Knowledge Proof Authentication System

A Practical Authentication Scheme for In-Network Programming in Wireless Sensor Networks

Topology-based network security

A SECURE DATA TRANSMISSION FOR CLUSTER- BASED WIRELESS SENSOR NETWORKS IS INTRODUCED

Identity-Based Encryption from the Weil Pairing

Lecture 2 February 12, 2003

An Internet Based Anonymous Electronic Cash System

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

Universal hashing. In other words, the probability of a collision for two different keys x and y given a hash function randomly chosen from H is 1/m.

An Anonymous and Secure Continuous Double Auction Scheme

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

Electronic Contract Signing without Using Trusted Third Party

Digital Signatures. What are Signature Schemes?

VoteID 2011 Internet Voting System with Cast as Intended Verification

Cryptography: Authentication, Blind Signatures, and Digital Cash

DATA STRUCTURES USING C

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Notarized Federated Identity Management for Web Services

Using etoken for SSL Web Authentication. SSL V3.0 Overview

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

A Novel Approach for Signing Multiple Messages: Hash- Based Signature

1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.

Distributed Public Key Infrastructure via the Blockchain. Sean Pearl April 28, 2015

One-Way Encryption and Message Authentication

Authentication Applications

Plaxton Routing. - From a peer - to - peer network point of view. Lars P. Wederhake

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Implementation and Comparison of Various Digital Signature Algorithms. -Nazia Sarang Boise State University

Transcription:

Strong Accumulators from Collision-Resistant Hashing ISC 2008 Taipei - Taiwan Philippe Camacho (University of Chile Alejandro Hevia (University of Chile Marcos Kiwi (University of Chile Roberto Opazo (CEO Acepta.com

Outline Notion of accumulator Motivation e-invoice Factoring Our construction Conclusion

Notion of accumulator Problem A set X. Given an element x we wish to prove that this element belongs or not to X. Let X={x 1,x 2,,x n }: X will be represented by a short value Acc. Belongs(Acc,x,w = True x belongs to X. Witness

Notion of accumulator Accumulator Manager Computes setup values. Computes the accumulated value Acc. Computes the witness w x for a given x. Accumulator Users Check that an element belongs or not to the set, using Acc, w x and x.

Applications Time-stamping [BeMa94] Certificate Revocation List [LLX07] Anonymous credentials [CamLys02] E-Cash [AWSM07] Broadcast Encryption [GeRa04]

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity Provider (Milk seller Client (Supermarket

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity Provider (Milk seller 1 I want (a lot of milk now *. Client (Supermarket (* but I do not want to pay yet.

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity Provider (Milk seller 1 I want (a lot of milk now *. 2 Here is your milk. Client (Supermarket (* but I do not want to pay yet.

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity 3 Please pay the invoice. Provider (Milk seller 1 I want (a lot of milk now *. 2 Here is your milk. Client (Supermarket (* but I do not want to pay yet.

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity 3 Please pay the invoice. 4 Here is your money (**. Provider (Milk seller 1 I want (a lot of milk now *. 2 Here is your milk. Client (Supermarket (* but I do not want to pay yet. (** minus a fee.

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity 3 Please pay the invoice. 4 Here is your money (**. 5 It s time to pay. Provider (Milk seller 1 I want (a lot of milk now *. 2 Here is your milk. Client (Supermarket (* but I do not want to pay yet. (** minus a fee.

Nothing to see with Number Theory! Factoring Industry in Chile Factoring Entity 3 Please pay the invoice. 4 Here is your money (**. 5 It s time to pay. 6 Here is the money. Provider (Milk seller 1 I want (a lot of milk now *. 2 Here is your milk. Client (Supermarket (* but I do not want to pay yet. (** minus a fee.

The Problem A malicious provider could send the same invoice to various Factoring Entities. Then he leaves to a far away country with all the money. Later, several Factoring Entities will try to charge the invoice to the same client. Losts must be shared

Solution with Factoring Authority Factoring Authority (4 Is there the invoice? (5 YES / NO FE 1 FE 2 FE i FE n (3 Invoice, Ack Provider (1 Invoice (2 Ack Client

Caveat This solution is quite simple. However Trusted Factoring Authority is needed. Can we remove this requirement?

Properties Dynamic Allows insertion/deletion of elements. Universal Allows proofs of membership and nonmembership. Strong No need to trust in the Accumulator Manager.

Prior work Dynamic Strong Universal Security Efficiency (witness size Note [BeMa94] RSA + RO O(1 First definition [BarPfi97] Strong RSA O(1 - [CamLys02] Strong RSA O(1 First dynamic accumulator [LLX07] Strong RSA O(1 First universal accumultor [AWSM07] Pairings O(1 E-cash [WWP08] estrong RSA Paillier O(1 Batch Update

Prior work Dynamic Strong Universal Security Efficiency (witness size Note [BeMa94] RSA + RO O(1 First definition [BarPfi97] Strong RSA O(1 - [CamLys02] Strong RSA O(1 First dynamic accumulator [LLX07] Strong RSA O(1 First universal accumultor [AWSM07] Pairings O(1 E-cash [WWP08] estrong RSA Paillier O(1 Batch Update [CHKO08] Collision-Resistant Hashing O(ln(n Our work

Notation H: {0,1}* {0,1} k randomly chosen function from a family of collision-resistant hash functions. x 1,x 2,x 3, є {0,1} k x 1 < x 2 < x 3 < where < is the lexicographic order on binary strings. -, Special values such that For all x є {0,1} k : - < x < denotes the concatenation operator.

Ideas Merkle-trees P=H(Z 1 Z 2 Root value: Z 1 =H(Y 1 Y 2 Z 2 =H(Y 3 Y 4 Represents the set {x 1,,x 8 } Y 1 =H(x 4 x 1 Y 2 =H(x 5 x 6 Y 3 =H(x 2 x 8 Y 4 =H(x 7 x 3 x 4 x 1 x 5 x 6 x 2 x 8 x 7 x 3

Ideas Merkle-trees P=H(Z 1 Z 2 Root value: Represents the set {x 1,,x 8 } Z 1 =H(Y 1 Y 2 Z 2 =H(Y 3 Y 4 Y 1 =H(x 4 x 1 Y 2 =H(x 5 x 6 Y 3 =H(x 2 x 8 Y 4 =H(x 7 x 3 O(ln(n x 4 x 1 x 5 x 6 x 2 x 8 x 7 x 3

Ideas How to prove non-membership? Kocher s trick [Koch98]: store pair of consecutive values X={1,3,5,6,11} X ={(-,1,(1,3,(3,5,(5,6,(6,11,(11, } y=3 belongs to X (1,3 or (-,1 belongs to X. y=2 does not belong to X (1,3 belongs to X.

Public Data Structure Called Memory. Compute efficiently the accumulated value and the witnesses. In our construction the Memory will be a binary tree.

How to insert elements? (-, X=Ø, next: x 1

How to insert elements? (-,x 1 (x 1, X={x 1 }, next: x 2

How to insert elements? (-,x 1 (x 1, x 2 (x 2, X={x 1,x 2 }, next: x 5

How to insert elements? (-,x 1 (x 1, x 2 (x 2, x 5 (x 5, X={x 1,x 2,x 5 }, next: x 3

How to insert elements? (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, (x 3, x 5 X={x 1,x 2,x 3,x 5 }, next: x 4

How to insert elements? (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, (x 3, x 4 (x 4, x 5 X={x 1,x 2,x 3,x 4,x 5 }, next: x 6

How to insert elements? (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, X={x 1,x 2,x 3,x 4,x 5,x 6 }

value? (-,x 1 How to compute the accumulated (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 9, (x 7, x 9 Proof N =H(Proof left Proof right value Proof Nil = Acc = Proof Root A pair (x i,x j

How to update the accumulated value? (Insertion (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 9, (x 7, x 9 Next element to be inserted: x 8 We will need to recompute proof node values.

How to update the accumulated value? (Insertion (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 9, (x 7, x 8 (x 8, x 9 New element: x 8. Proof N stored in each node. Dark nodes do not require recomputing Proof N. Only a logarithmic number of values needs recomputation.

Security Consistency Difficult to find witnesses that allow to prove inconsistent statements. X={1,2} Update Hard to compute a membership witness for 3. Hard to compute a nonmembership witness for 2. Guarantees that the accumulated value represents the set after insertion/deletion of x.

Security Lemma: Given a tree T with accumulated value Acc T, finding a tree T, T T such that Acc T = Acc T is difficult. Proof (Sketch: Proof N = H(Proof left Proof right value (-,x 1 (x 1, x 2 (x 2, x 3 (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 5, x 6 (x 3, x 4 (x 4, x 7 (x 6, x 7

Security Lemma: Given a tree T with accumulated value Acc T, finding a tree T, T T such that Acc T = Acc T is difficult. Proof (Sketch: Proof N = H(Proof left Proof right value Collision for H (-,x 1 (x 1, x 2 (x 2, x 3 (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 5, x 6 (x 3, x 4 (x 4, x 7 (x 6, x 7

Security Lemma: Given a tree T with accumulated value Acc T, finding a tree T, T T such that Acc T = Acc T is difficult. Proof (Sketch: Proof N = H(Proof left Proof right value Collision for H (-,x 1 (x 1, x 2 (x 2, x 3 (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 5, x 6 (x 3, x 4 (x 4, x 7 (x 6, x 7

Security Lemma: Given a tree T with accumulated value Acc T, finding a tree T, T T such that Acc T = Acc T is difficult. Proof (Sketch: Proof N = H(Proof left Proof right value Collision for H (-,x 1 (x 1, x 2 (x 2, x 3 (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 5, x 6 (x 3, x 4 (x 4, x 7 (x 6, x 7

Security (Consistency (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 9, (x 7, x 9 Witness: blue nodes and the (x 3,x 4 pair, size in O(ln(n Checking that x belongs (or not to X: 1 compute recursively the proof P and verify that P=Acc 2 check that: x=x 3 or x=x 4 (membership x 3 < x < x 4 (nonmembership

Security (Update Before After (-,x 1 (-,x 1 Acc before Acc after (x 1, x 2 (x 2, x 3 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, x 7 (x 9, (x 7, x 9 (x 9, (x 7, x 8 (x 8, x 9 Insertion of x 8

Conclusion & Open Problem First dynamic, universal, strong accumulator. Simple. Security Existence of collision-resistant hash functions. Solves the e-invoice Factoring Problem. Less efficient than other constructions Size of witness in O(ln(n. Open Problem Is it possible to build a strong,dynamic and universal accumulator with witness size lower than O(ln(n?

Thank you!

Invoice Factoring using accumulator We need a secure broadcast channel If a message m is published, every participant sees the same m. Depending on the security level required Trusted http of ftp server Bulletin Board [CGS97]

Invoice Factoring using accumulator Factoring Authority (4 Is there the invoice? (5 YES / NO We need to see in detail this step FE 1 FE 2 FE i FE n (3 Invoice, Ack Provider (1 Invoice (2 Ack Client

Invoice Factoring using accumulator Step 5 (Details FE Factoring Authority Have you got invoice x? YES/NO, w x w x = Witness(m before,x Check(Acc before,w x,x If NO, insert x Acc new,w up,id FE Acc new,w up = Update Add (m before,x CheckUpdate(Acc before,acc after,w x All tests pass => I can buy x.

Distributed solutions? Complex to implement Hard to make them robust High bandwith communication Need to be online synchronization problems That s why we focus on a centralized solution.

Checking for (non-membership User Accumulator Manager Does x belong to X? Memory w x = Witness(m,x w x Belongs(Acc,w x = True x є X If w x is not valid Belongs returns.

Update of the accumulated value User Accumulator Manager Insert or Delete x m after, Acc after, w up = Update Add/Del (m before,x Acc after, w up CheckUpdate(Acc before,acc after,w up

How to delete elements? (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6, X={x 1,x 2,x 3,x 4,x 5,x 6 } element to be deleted: x 2

How to delete elements? (x 1,x 3 (-,x 1 (x 1, x 2 (x 2, x 3 (x 5, x 6 (x 3, x 4 (x 4, x 5 (x 6,

How to delete elements? (-,x 1 (x 1, x 3 (x 6, (x 5, x 6 (x 3, x 4 (x 4, x 5

Bibliography [BeMa92] Efficient Broadcast Time-Stamping Josh Benaloh and Michael de Mare 1992 [BeMa94] One-way Accumulators: A decentralized Alternative to Digital Signatures Josh Benaloh and Michael de Mare, 1994 [BarPfi97] Collision-Free Accumulators and Fail-Stop Signature Schemes Without Trees Niko Barić and Birgit Pfitzmann 1997 [CGS97] A secure and optimally efficient multi-authority election scheme R. Cramer, R. Gennaro, and B. Schoenmakers 1997 [Koch98] On certificate revocation and validation P.C. Kocher 1998 [CGH98] The random oracle methodoly revisited R. Canetti, O. Goldreich and S. Halevi 1998 [Sand99] Efficient Accumulators Without Trapdoor Tomas Sanders 1999 [GoTa01] An efficient and Distributed Cryptographic Accumulator Michael T. Goodrich and Roberto Tamassia 2001 [CamLys02] Dynamic Accumulators And Application to Efficient Revocation of Anonymous Credentials Jan Camenisch Anna Lysyanskaya 2002 [GeRa04] RSA Accumulator Based Broadcast Encryption Craig Gentry and Zulfikar Ramzan 2004 [LLX07] Universal Accumulators with Efficient Nonmembership Proofs Jiangtao Li, Ninghui Li and Rui Xue 2007 [AWSM07] Compact E-Cash from Bounded Accumulator Man Ho Au, Qianhong Wu, Willy Susilo and Yi Mu 2007 [WWP08] A new Dynamic Accumulator for Batch Updates Peishun Wang, Huaxiong Wang and Josef Pieprzyk 2008 [CKHO08] Strong Accumulators from Collision-Resistant Hashing Philippe Camacho, Alejandro Hevia, Marcos Kiwi, and Roberto Opazo 2008