Tamper-Evident Digital Signatures: Protecting Certification Authorities Against Malware

advertisement
Tamper-Evident Digital Signatures:
Protecting Certification Authorities Against
Malware
Jong Youl Choi
Computer Science Dept.
Indiana University at
Bloomington
Philippe Golle
Palo Alto Research
Center
CA, USA
Markus Jakobsson
School of Informatics
Indiana University at
Bloomington
Page 1
Threats to Certificate Authorities
• Certificate repudiation
– A user chooses weak private key
– Intentionally let his private key be leaking
discretely for forgery
• Certificate private key leaking
– Malicious attack such as Trojan horse
– Leaking CA’s private via covert-channel
Page 2
What is a covert channel?
• Hidden communication channel
• Steganography – Information hiding
Original Image
Extracted Image
Page 3
Prisoners' problem
[Simmons,’93]
• Two prisoners want to exchange
messages, but must do so through the
warden
Plan A
• Subliminal channel in DSA
What
Plan?
Page 4
Leaking attack on RSA-PSS
• Random salt is used
for padding string
in encryption
• In verification process,
salt is extracted
from EM
• Hidden information
can be embedded in
salt value
RSA-PSS : PKCS #1 V2.1
Page 5
Approaches
• Detect leaking
• A warden observes outputs from CA
Something
hidden?
• Malicious attack
• Replacement of function
Pseudo Random
Number Generator
Certificate Authority
mk
Sigk
Page 6
Approaches (Cont’d)
• Observing is not so easy
because random number ...
– looks innocuous
– Or, doesn’t reveal any state
• A warden (observer) can be attacked
Something
hidden?
Pseudo Random
Number Generator
mk
Certificate Authority
Sigk
Page 7
Undercover observer
• Signer outputs non-interactive proof
as well as signature
• Ambushes until verification is invalid
Pseudo Random
Number Generator
mk
Sigk
Page 8
Tamper-evident Chain
• Predefined set of random values
in lieu of random number on the fly
• Hash chain verification
x1
Sig1
Hash()
x2
Hash()
x33
x’
Hash()
Sig2
Sig’3
?
X1=Hash(X2)
?
X2=Hash(X3)
….
….
Hash()
xn
Hash()
Sign
?
Xn-1=Hash(Xn)
Xn+1
Page 9
DSA Signature Scheme
• Gen : x  y = gx mod p
• Sign : m  (s, r)
where r = (gk mod p) mod q
and
s = k-1(h(m) + x r)
for random value k
• Verify : For given signature (s, r),
u1 = h(m) s-1
u2 = r s-1
and check r=gu1 yu2 mod p mod q
Page 10
Hash chain construction
k1
Hash()
k2
Hash()
k’
k33
Hash()
r=gk1
r=gk2
k3
r’=g
r=gk3
P1
P2
P3
Sig1
Sig2
Sig’3
?
X1=Hash(X2)
?
X2=Hash(X3)
….
….
….
….
Hash()
kn
Hash()
kn+1
r=gkn
Pn
Sign
?
Xn-1=Hash(Xn)
Pn+1
Page 11
Conclusion
• Any leakage from CAs is dangerous
• CAs are not strong enough
from malicious attacks
• We need observers which are under-cover
• A small additional cost for proofs
Or, Send me email :
jychoi@cs.indiana.edu
Download