290 likes | 473 Views
Polynomially Homomorphic Signatures. Dan Boneh Stanford University Joint work with David Freeman. Recall: fully homomorphic e ncryption. s erver. PK, E pk [ x ]. E pk [x] E pk [ f(x) ]. E pk [ f(x) ]. For any function f [G’09, SV’10, vDGHV’10, …]
E N D
PolynomiallyHomomorphic Signatures Dan Boneh Stanford University Joint work with David Freeman
Recall: fully homomorphicencryption server PK, Epk[x] Epk[x] Epk[ f(x) ] Epk[f(x)] For any function f [G’09, SV’10, vDGHV’10, …] Lots of excitement around this concept (FHE)
Can we do the same for signatures? untrusted server u1, 91.0, σ1 “grades”, f:Xk→X (e.g. mean) u2, 73.0, σ2 signed grades 87.3, σf SK uk, 84.0, σk σf= sig on ‹ “grades”, 91.0, ui› σ= sig on ‹ “grades”, 87.3, “f” › σf authenticates x = f(x1,…,xk) and f Can further compute on σf: σgfsig on (t, g(f(m)), “gf” )
more generally:Predicate Signatures [ABCHSW’10] • Homomorphic signature for relation P ⊆ 2M × M’ • S can generate Alice’s sig on P-approved msgs. and nothing else • Derived sigs should be “short” , “private” , and composable m1, sign(sk,m1) mk, sign(sk,mk) (m , sig. on m) ⇔ P*( (m1, …, mk), m ) S SK
Unifies three lines of research • Quoting/Redaction [JMSW’02, …] : given (document, sig) anyone can derive a signature on substring or subset of document • Linearly homomorphic (network coding) [KFM’04,…] : given signatures on vectors v1, …, vkin Fn anyone can derive a sig on linear combination • Transitive signatures [MR’02,…] : given sigs on nodes and edges of graph G=(V,E) anyone can derive sig on (u,v) in V2 if there is a path from u to v in G
Back to Homomorphic Sigs: Syntax • setup( 1n, k ): n=(sec. param), k=(max data size) → signing key sk, public key pk function family f: Y ⟶ X ∈ F • sign(sk, m ): output ( σ, random tag t ) • eval(pk, t, f, sig σ on m ):⟶ sig σ’ on (t, f(m), “f”) • verify(pk, (t, m, “f”), σ): ⟶ 1 or 0 to verify fresh sig use “id” function: f(x) = x
Desirable properties: data m with tag t • Certified computation (existential unforgeability):given (σi, ti)⟵Sign( sk, {mi,1 ... mi,k} ) for many i, can’t compute σ’ on (ti, x, “f”) for x ≠ f(mi,1 … mi,k) • Private: Letσ’be derived sig on (t, x, “f”) for x = f(m). given x and f, sig. σ’ reveals “no other info” about m • Short: the length of σ’ is at most ( log |m| ) ×λO(1) • Composable
Privacy: two definitions Weak context hiding[BBD…’10] (a la witness indistinguishability): derived sig. does not help adv. distinguish compatible data sets f(m1) = f(m2) derived sig on f(m1) derived sig on f(m2) Strong context hiding[MR’02, ABCHSW’10] (a la zero knowledge): derived sigs look like fresh sigs (given sk and original sigs) m: (sk, sign(sk, m) , sign(sk, f(m)) (sk, sign(sk, m) , eval( pk, , f, sig σ on m ) ) Key difference: original sigs remain hidden in weak context hiding (in both defs adv. can be given the secret key)
Applications Authenticated statistics: average, variance, … Data mining: signed decision trees (ID3), signed SVM, … Least squares earth mars jupiter venus saturn log (orbit period) log (axis of orbit)
Signed least squares (ex: y = ax+b) Consider data set { (xi, yi) } i=1,…kof integers. Then: a = f(x , y) / h(x, y) and b = g(x, y) / h(x, y) where f, g, h are cubic integer polynomials Using a cubic homomorphic scheme: signed x1, …, xk, y1, …, yksigned f(x,y), g(x,y), h(x,y) ⇒
Linearly homomorphis sigs: options • Homomorphic over (p large) : bilinear maps or lattices [KFM’04, CJL’06, BFKW’09, BF’11] (with and w/o RO) • Homomorphic over : only lattices[BF’10, BF’11] (with and w/o RO) • Homomorphic over : RSA-like [GKKR’10] Motivation: authenticated averages, integrity for network coding.
Lattices in (e.g. m=512) … B = bm b1 (B) = { Bs for all s in }
Cosets of a lattice A hard problem (ISIS): given and u find short v +u Fact [GPV’08] : ISIS has a trapdoor “short” basis of can sample ISIS solution for all u
Lattice-based signatures [GPV’08] • pk = ; sk = (ISIS trapdoor for ) • sign( sk, ): (actually ) output = ( short vector in ) • verify( pk, , ):output 1 iff and “short” Unforgeability from SIS (in RO model)
A linear lattice signature system (the intersection method) • pk = 1, 2 ; sk = (trapdoor for ) • Let • sign( sk, ):output short s.t. (data) (function) • Message space is mi : mi
Homomorphic property For f(m1,…,mk) = cimidefine “f” = ciH(t,i) Let f(m1, m2) = c1m1 + c2m2 and ←c1sig(m1) + c2sig(m2) • Then: (c,c2) small short and (data) “f” (function) Weak privacy: sampled from distr. param. by pk and f(m1,m2) by itself, reveals nothing beyond f(m1,m2)
Unforgeabililty Existential forger (type II) : given sig. on (t,m) (and others) outputssig. * on (t, m*, “f”) where m*f(m) Thm: forger (type I or II) in RO short vectors in Proof idea: simulator is given as input. -- build with known trapdoor; used to answer queries. -- given forgery * on(t,m*,“f”) do: (i) build correct ’ on(t, f(m), “f”) (ii) then *’ in , is non-zero and short
Polynomially homomorphic sigs Let be the ring /() and ,ideals in for “short” :and are well defined and “short” • sign( sk, ):output short s.t. (data) (function) • Now: can add and multiply sigs increased norm bounded # of multiplications But no privacy !
Alternate approaches Computationally Sound (CS) Proofs [Micali’00] t, f: Y → X m, t σ m, t sign( sk, (t, m) ) x=f(m), proof π π: short proof of knowledge [V’07]that (t, f, x) ∈ { (t, f, x; m, σ) s.t.} Need PCP machinery. Harder to compose [V’07] Cannot build from falsifiable assumptions [GW’11] x = f(m), and verify(PK, (t,m), σ) = 1
Many open problems • Fully homomorphic sigs (a la Gentry’s bootstrapping) • Or more than low-degree polynomials • Polynomially homomorphic sigs: • with privacy • without random oracles (can do for linear sigs)
Restricted Homomorphic Encryption Back in 2008: best homomorphic systems -- linear or quadratic operations Prabhakaranand Rosulek[PR’08] : • Built systems that provably support only linear operations. More generally: can we build systems that support a restricted set of homomorphismsF ?
Applications [BSW’11] Network guards on encrypted traffic: With restricted FHE: guard can implement policy, but nothing else Goal: restricted FHE that keeps ciphertext size short Guard 1 Guard 2
A New Construction [BSW’11] • Properties: no ciphertext expansion under constant iteration • Tools: a recent short NIZK due to Groth[G’10] Fully Hom. Enc. Hom. Enc.for F func. family F