AccAAD: An Efficient Append-Only Authenticated Dictionary for Transparency Logs Vivek Bhupatiraju, PRIMES 2018.

Slides:



Advertisements
Similar presentations
Key Management Nick Feamster CS 6262 Spring 2009.
Advertisements

Multi-Dimensional Range Query over Encrypted Data Authors: Elaine Shi, Joint work with John Bethencourt, Hubert Chan, Dawn Song, Adrian Perrig Slides originated.
Group Protocols for Secure Wireless Ad hoc Networks Srikanth Nannapaneni Sreechandu Kamisetty Swethana pagadala Aparna kasturi.
Distribution and Revocation of Cryptographic Keys in Sensor Networks Amrinder Singh Dept. of Computer Science Virginia Tech.
Cryptography and Network Security
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Digital Signatures and Hash Functions. Digital Signatures.
SIA: Secure Information Aggregation in Sensor Networks Bartosz Przydatek, Dawn Song, Adrian Perrig Carnegie Mellon University Carl Hartung CSCI 7143: Secure.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
Announcements: 1. HW6 due now 2. HW7 posted Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Theory I Algorithm Design and Analysis (9 – Randomized algorithms) Prof. Dr. Th. Ottmann.
Cryptography1 CPSC 3730 Cryptography Chapter 11, 12 Message Authentication and Hash Functions.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
Overview of Digital Signatures Introduction To Networks and Communications (CS 555) Presented by Bharath Kongara.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Bob can sign a message using a digital signature generation algorithm
1 Fingerprinting techniques. 2 Is X equal to Y? = ? = ?
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
11-Basic Cryptography Dr. John P. Abraham Professor UTPA.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Prepared by Dr. Lamiaa Elshenawy
CS Modular Division and RSA1 RSA Public Key Encryption To do RSA we need fast Modular Exponentiation and Primality generation which we have shown.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Hardware Implementations of Finite Field Primitives
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 13.Message Authentication.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Public-Key Cryptography ElGamal Public-Key Crypto-System
Improving Authenticated Dynamic Dictionaries
Unit 3 Section 6.4: Internet Security
DTTF/NB479: Dszquphsbqiz Day 26
Public-Key Cryptography RSA Rivest-Shamir-Adelmann Public-Key System
Cryptographic hash functions
Cryptographic Hash Function
Chapter 6 Transform-and-Conquer
Josep Domingo-Ferrer Universitat Rovira i Virgili
NET 311 Information Security
ICS 454 Principles of Cryptography
Chapter 6 Transform and Conquer.
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Part-D1 Priority Queues
(2,4) Trees /26/2018 3:48 PM (2,4) Trees (2,4) Trees
Cryptography for Quantum Computers
Introduction to Symmetric-key and Public-key Cryptography
Data Integrity: Applications of Cryptographic Hash Functions
ICS 454 Principles of Cryptography
Key Management Network Systems Security
(2,4) Trees /24/2019 7:30 PM (2,4) Trees (2,4) Trees
CS 394B Introduction Marco Canini.
Where Complexity Finally Comes In Handy…
DISSERTATION ON CRYPTOGRAPHY.
Digital Signatures Reference: Pfleeger , Charles P., Security in Computing, 2nd Edition, Prentice Hall, /7/2019 Ref: Pfleeger96, Ch.4.
Cryptology Design Fundamentals
One Way Functions Motivation Complexity Theory Review, Motivation
Where Complexity Finally Comes In Handy…
Cryptography Lecture 15.
Cryptography Lecture 18.
Diffie-Hellman Key Exchange
Cryptography Lecture 23.
Where Complexity Finally Comes In Handy…
CS210- Lecture 20 July 19, 2005 Agenda Multiway Search Trees 2-4 Trees
Blockchains Lecture 4.
Presentation transcript:

accAAD: An Efficient Append-Only Authenticated Dictionary for Transparency Logs Vivek Bhupatiraju, PRIMES 2018

Public-key Cryptography PK M e(M , PK) SK

Directory Robert John MSR PKJ + SKJ 3 1 Directory sends Robert PKJ John publishes his public key, PKJ 2 Directory stores PKJ under John’s name Robert John MSR PKJ + SKJ e(MSR , PKJ) 4 5 Robert encrypts MSR with PKJ John decrypts with SKJ => MSR

Directory Robert John Mark MSR PKJ + SKJ 3 1 Directory sends Robert PKM John publishes his public key, PKJ 2 Directory stores PKM under John’s name, sends PKJ to Mark Robert John Mark MSR PKJ + SKJ e(MSR , PKM) e(MSR , PKJ) 4 5 6 Robert encrypts MSR with PKM Mark now knows MSR - no secrecy John decrypts with SKJ => MSR

AAD Definition Append-Only Authenticated Dictionary

Detecting Impersonation! (NON-MEMBERSHIP) Directory 1 Needs to check that directory is not yet storing any PK under his name John = “” Alin = PKA . John PKJ + SKJ 2 Sends cryptographic proof that this IS the case

Detecting Impersonation! (APPEND-ONLY) Directory John = Alin = PKA . 1 Needs to check that directory is not hiding a PKM under his name John = Alin = PKA . PKM PKJ John PKJ + SKJ 2 Sends cryptographic proof that this IS the case

Detecting Impersonation! (COMPLETE MEM.) Directory 1 Sends Robert PKM when he asks for John’s PK John = PKJ Alin = PKA . Robert MSR 2 Asks for proof that PKM is in the directory under John’s name

Append-Only Dictionaries (Key-value pairs) NON-MEMBERSHIP Proof that no values exist for key k in the dictionary APPEND-ONLY Proof that all data in version i of the dictionary is also in version j of the dictionary, where i ≤ j COMPLETE MEMBERSHIP Proof that a set V of values are the only values under key k

Attempts at a Full AAD N = number of key-value pairs in AAD O(log N) Append (Time) C-M (Time/Space) N-M Cons. History Tree O(log N) O(N) Prefix Tree Bilinear Accumulator O(1)

Preliminaries Cryptography Background

“86730f0dd6381286d3b5 f0dfb897ce4895480ce97 564c6be4f1543b8” Hashing SHA224 Secure Hash Function “86730f0dd6381286d3b5 f0dfb897ce4895480ce97 564c6be4f1543b8” (output) “13” (input) Hashes are very fast to compute Nearly impossible to find input given the output Only known method is guess and check

Polynomial Commitments (PC) Securely commit an arbitrary-sized polynomial to a constant-sized digest Given the commitments for polynomials a(x), b(x), and c(x), can securely verify c(x) = a(x) + b(x) c(x) = a(x) - b(x) c(x) = a(x) * b(x) c(x) = a(x) / b(x)

p(x) = (x - e1)(x - e2)(x - e3).... PC Operations Given a set S = {e1, e2, e3...} If we commit the polynomial: p(x) = (x - e1)(x - e2)(x - e3).... As we can verify multiplication, if we can show (x - e1) is a factor => securely show e1 is in set S

PC Operations Note that if an element m1 is not in the set, can write: p(x) = (x - m1)q(x) + r1 Can use polynomial commitment to securely show that m1 is not in set as well

accAAD A High-Level Overview of the Scheme

AT ε a, va c, vc b, vb b, vb' 1 encodes key e.g., H(c) = 01 1 1 1 00 1 encodes key e.g., H(c) = 01 1 1 1 00 01 11 1 000 010 111 encodes value(s) e.g., H(vc) = 01 1 1 1 0001 0101 1110 1111 a, va c, vc b, vb b, vb'

p(x) = (x - H(ε))(x - H(“0”)).... AT Representation Take each binary prefix in the tree and hash it {H(ε), H(“0”), H(“1”) ...} Commit a polynomial with these hashes as roots! p(x) = (x - H(ε))(x - H(“0”)).... Called the representative polynomial

AT Proofs Membership Append-Only Show that the hash of each prefix is in the polynomial For (c, vc), H(c) = 01, H(vc) = 01 —> “0101” Show that H(ε), H(“0”), H(“01”), H(“010”), and H(“0101”) are in polynomial Append-Only Show that earlier polynomial divides later polynomial!

AT ε a, va c, vc b, vb b, vb' 1 encodes key e.g., H(c) = 01 1 1 1 00 1 encodes key e.g., H(c) = 01 1 1 1 00 01 10 11 1 000 001 010 011 110 111 encodes value(s) e.g., H(vc) = 01 1 1 1 0000 0001 0100 0101 1110 1111 a, va c, vc b, vb b, vb'

AT Representation Take each binary prefix in the frontier nodes and hash it {H(“10”), H(“011”), H(“110”) ...} Commit a polynomial with these hashes as roots, just as before Called the frontier polynomial

AT Proofs Non-Membership Show that the hash of at least one prefix is in the frontier polynomial For (d, vd), H(d) = 10, H(vd) = 01 —> “1001” Show that H(“10”) is not in polynomial

accAAD Construction AT in its raw form cannot be updated efficiently (must be recomputed entirely) accAAD speeds updates by making a logarithmic number of ATs and merging them This leads to O(log3 N) complexity for any new updates, where the size of the AAD is N

accAAD Complexities O(log N) O(N) O(1) O(log3 N) Append (Time) C-M (Time/Space) N-M Cons. History Tree O(log N) O(N) Prefix Tree Bilinear Accumulator O(1) accAAD O(log3 N)

Future Work Fully implementing the scheme and benchmarking it Useful for comparing to existing schemes Using lattice cryptography rather than polynomial commitments Another set of cryptographic primitives

Acknowledgements I would like to thank: Alin Tomescu, my mentor Srini Devadas, coordinator of CS-PRIMES My parents and family MIT-PRIMES program

Thank you! Questions?