140 likes | 254 Views
Signatures, etc. Network Security Gene Itkis. Signature scheme: Formal definition. Key Generation: Gen (1 k ) PK, SK Signing: Sign (SK, M) sig Verifying: Ver (PK, M,sig) “valid” or “invalid”. Example: RSA. Key Generation: Gen (1 k ) PK=(N, e ), SK=(N, d )
E N D
Signatures, etc. Network Security Gene Itkis
Signature scheme: Formal definition • Key Generation:Gen(1k) PK, SK • Signing:Sign(SK, M) sig • Verifying:Ver(PK, M,sig) “valid” or “invalid”
Example: RSA • Key Generation: • Gen(1k) PK=(N, e), SK=(N, d) • d = e-1 mod φ(N) (zd mod N)e mod N= z • Signing: • Sign(SK, M) s = hash(M) d mod N • Verifying: • Ver(PK, M, s): test “se mod N = hash(M)”
Example: Fiat-Shamir (modified) • First: Zero-Knowledge Identification Protocol • Players: Prover P & Verifier V • Public (both V & P know): N, I • Secret (only P knows): s, suchthats2 mod N = I • Production Center Secret: p & q, suchthatN = pq • Allows Production Center to support many Provers with the same N • Generate s for any I
Fiat-Shamir (cont.) N,I P (user) V (e.g., system) s rRZ*N; x r2modN x Repeat k times q= 0 1 check: z2x(modN) z2xI(modN) [z2xIq(modN)] z=r z=rsmodN zrsqmodN
Fiat-Shamir (cont.) • Proof (of P knowing s) • after k rounds the probability of mistake (i.e. P cheating without being caught) is (1/2)k • Zero-Knowledge • if query is known in advance: • for query=0, select r, and x=r2 mod N • for query=1, select z, and x=z2I mod N (z “pretends” to be rs mod N)
Security of Fiat-Shamir Relies on • hardness of factoring: • an algorithm “cracking” Fiat-Shamir yields an algorithm for factoring N • randomness: • of r for Zero-Knowledge • of query - to prevent P from cheating
ZKP Identification Signature • Idea: N,{Ii} P (user) V (e.g., system) {si} rRZ*N; x r2modN x Hash (M,I,x,…) {qi} zrΠisiqimodN check: z2x ΠiIiqi(modN)
Exercise • Write down the formal definition of the Fiat-Shamir signature scheme (as sketched above)
Signature scheme: Formal definition • Key Generation:Gen(1k) PK, SK • Signing:Sign(SK, M) sig • Verifying:Ver(PK, M,sig) “valid” or “invalid”
Signature scheme: Security definition (intuitive) • Correct: Gen(1k) {PK, SK} Sign(SK, M) sig • Secure: • Infeasible to compute validM, sig withoutSK • Even given signatures on messages of her choice,adversary cannot forge signatures on new messages • Goal: Non-Repudiation If Sam signed M he cannot later deny this fact Ver(PK, M,sig) “valid”
Repudiation 1 • Attack • Fake PK • Defense • Certification, PKI • Not 100%, but hopefully “good enough” • 100% impossible
Repudiation 2 • Stolen SK • Repudiation:fake stolen SK • Problem: keys do get lost or stolen • People lose laptops/PDAs/cell phones • Hackers break into computers • …
Defenses • Post-mortem: • PKI Certificate Revocation • Expensive, Slow, … • Prevention? • Group Signatures (key sharing) • Threshold signatures • Forward security, Intrusion-Resilience