Title: ForwardSecure Signatures with Untrusted Update
 1Forward-Secure Signatures with Untrusted Update
Xavier Boyen Voltage
Hovav Shacham Weizmann
Emily Shen MIT
Brent Waters SRI International 
 2Worm List Distribution
Users
Time
Verification Key 
 3Compromise Ruins Everything
Users
All prior updates are suspect
Time
Verification Key 
 4Forward Secure Signatures A97
- Sign message and Timestamp 
 - Evolve Key Forward in Time 
 - Cant backdate signatures 
 - Verifier checks time
 
1
2
3
4 
 5Past Messages not Revoked
1
2
3
4
Users
Time
Verification Key 
 6Andersons Solution
- T -Time periods 
 - Create T SK key pairs w/certifcates from master 
key  - Update Erase old Keys
 
3 years  hourly 25,000 periods 3MB
Verification Key 
 7Bellare-Miner Tree method
- Leaves with Time Peroids 
 - Sign with current leaf 
 - lg(T) storage  signature size
 
Time
1
2
3
4 
 8FS Signature Schemes
- Evaluate on Sig Size, Key Size, and Time 
 - Bellare and Miner 99 
 - Itkis and Reyzin 01 
 - MMM 03
 
Lets bring into practice 
 9In practice
- Private keys are encrypted by passwords 
 - FS Signature update needs unencrypted keys!
 
  10Our Choices
- No Forward Secure Signatures 
 - No Password Encryption (No Adoption) 
 - Bug User per update 
 - Invent something new 
 
  11Forward Secure Signatures w/ Untrusted Update
- KeyGen(T,PW) Outputs FSS keypair (EncSK, VK) 
 -  
 - Update(EncSK) Evovles key forward (PW not 
needed)  - Sign(EncSK, PW, M ) Signs M under current key 
 - Update( VK,M,S ) Verifies signature S 
 
  12Security  2 Games
- Forward Security 
 - Corrupt at time t (PW and storage) 
 - Attacker tries to forge at time tlt t 
 - Update Security 
 - Corrupts storage, but not PW 
 
  13Our Scheme (Outline)
- Tree-based with Bilinear Groups 
 - PW is Blinding Factor B 
 - Update operation is homomorphic to factor 
 - Sketch key update 
 
  14Bilinear Maps
- G , GT  finite cyclic groups of prime order p. 
 - Def An admissible bilinear map e G?G ? GT 
 is  - Bilinear e(ga, gb)  e(g,g)ab ?a,b?Z, 
g?G  - Efficiently computable.
 
  15Basic tree method (simplified)
- PK e(g,g)a, h1, h2,  hlg(T) 
 - Multiply in when derive to right
 
ga(h1)r
ga(h2)r
ga(h2)r (h3)r
Can sign using leaf keys 
 16Adding untrusted update
User Decryption key  B 2 G Divide out B from 
leaf key to sign 
Bga(h1)r
Bga(h2)r
Bga(h2)r (h3)r
Can sign using leaf keys 
 17Results Summary
- Untrusted Update 
 - Constant size sigs 
 - Lg(T)2 storage (can tradeoff with sig size) 
 - Fast setup, update, and verification 
 - No Random Oracles
 
  18Untrusted Update elsewhere?
E.g. Bellare-Miner (2)
Update  x2 mod N
Untrusted Update  (Bx)2 mod N
After t time periods must compute B2t mod N Hurts 
performance! (True elsewhere e.g. IR01) 
 19Conclusion
- IntroducedUntrusted Update 
 - Created scheme 
 - Implementation 
 - Open Add untrusted Update to other FSSS
 
  20THE END