MS-Word 2007 File - TSYS School of Computer Science

advertisement
Forward Secure Updates Using Encrypted Keys:
An Analysis of Efficacency and Efficiency
Christopher Harrison
TSYS Computer Science Department
Columbus State University
Columbus, GA, USA
November 9, 2009
Abstract— Forward-secure signatures (FSS)
are a necessary construct of public key
cryptography to ensure repudiation that can occur
with forgeries. However, the standardization of
FSS has not occurred because of the difficulty of
integrating it with current cryptosystems. The use
of untrusted updates on encrypted keys resolves
much of the integration issues. This paper
proposes a hybrid system that encapsulates the
best part of three separate forward-secure
signature schemes. The proposed construction
results from a critique of the three systems based
on emphasizing the positives while mitigating the
negatives
whilst
attempting
to
stay
computationally efficient and minimizing the use
of unnecessary storage space for the utilization of
small devices.
Keywords- forward secure signatures,
untrusted updates, encrypted keys
I.
INTRODUCTION
A principle weakness of public key
cryptography is that an attacker that discovers the
secret key gains access to the entirety of
information protected by that key. In fact, so
significant was this problem, that many attackers
now ignore attempts at breaking the public key
cryptography altogether and instead attack the
users' private storage as it's both easier and the key
discovery has a larger impact.[2] Worse still, this
threat meant that once a private key is discovered,
signatures can be forged; thus, all authorized
signatures become repudiable, violating a key
component of the public key system.[3] To
mitigate this weakness, Ross Anderson proposed a
scheme [4] that established a time interval wherein
the current private key is deleted and a new one is
used so that exposure of the private key only
reveals information from that particular period of
time and no other (the public key remains
unchanged). The primary drawback of Anderson's
proposal was the private key grew in size linearly
with the number of intervals utilized.[1] This
proved inadequate for small storage devices (smart
cards, PDA, mobile phones). Further, it was
infeasible for users to personally register such a
large number of keys in existing systems (such as
a Certificate Authority).[3]
When Bellare and Miner [5] codified and
named the idea put forth by Anderson - forwardsecure signatures (FSS) - they began the process of
resolving these impracticalities. However, neither
of the two methodologies they suggested could be
easily integrated into current cryptosystems and
thus, remained regulated to the world of academia.
The primary difficulty in integration is how to
automate the process of updating the private key
(thus removing the user from the equation) whilst
attaining a small storage space and remaining
computational efficiency. The three systems this
paper studies all resolve the issue of integration
into current cryptosystems and attempt to resolve
the other two drawbacks as well. The purpose of
this paper is to critique each methodology and then
suggest a solution that improves upon them.
II.
RELATED WORK
The first attempt to resolve the integration and
update issue came in 2006. [1] The idea being that
many cryptosystems use an encryption system for
the private key itself known as the "second factor"
which allows for added security for when the
storage system is comprised. Pretty Good Privacy
(PGP) is an example of one such system that
utilizes this. Up to this point, update algorithms
that didn't rely on the user, could only update
unencrypted keys and thus, to utilize the algorithm
in systems that used a second factor, relied on the
user to decrypt the private key, update, then
encrypt, revoking the entire purpose of automation
to begin with. Further, it makes many update
schemes infeasible (such as updating the key every
hour) and since it relies on the user, it's possible it
will not be updated on schedule.[1] Thus was born
the idea of the "untrusted update". An untrusted
update would allow the update to the key to be
performed on the encrypted private key without
the need for decryption. If this could be
accomplished, all three issues would be resolved.
The methodology is a modified Bellare-Miner
scheme using a tree hierarchy. In this system, the
generic signature scheme builds a binary tree from
chains of certificates where each leaf corresponds
directly to a specific time period. The private key
storage, time and verification time are all
multiplicative factors of O(log(T)) where T is the
# of time periods. This is consistent with other
previous attempts; however, where others use a
Merkle tree, which is not computational or storage
efficient, this model uses a Hierarchical IdentityBased Encryption system instead, which has been
shown to have a constant size (independent of the
depth) when three group elements are used. [6] In
this system, the private key size is O(t) and the
ciphertext size is O(√š‘‡). In fact, in the Boneh,
Goh and Boyen compression system utilized,
private keys shrink as depth increases, a unique
factor that allows for frequent updates.[6] The
signature is then derived from this key and the
message using the Waters Hash.
To generate the untrusted update feature, at the
original key creation time, the initial private keys
generated are multiplied by the second factor.
Thus the attacker without knowing either the
initial number or the second factor cannot decipher
the scheme and updates can be easily achieved
automatically by having the decryption scheme
produce private keys using a divisor that's a single
factor away from the "real key", thus allowing for
the untrusted update.[1] The primary limitation of
this system relies in its current utilization. The
ideal setup relies on a cron job that operates on the
user behalf's. However, because cron jobs are
beyond the typical means of the average users and
because it's likely that the server will retain old
keys (which in the case of compromise, still leaves
all past information at risk), it still has
modifications necessary. Another issue with this
methodology was it was computationally
expensive, being roughly 2-4 times slower than
RSA. [2]
To resolve these flaws and add two more
significantly used environments (GNU-PG and
S/MIME), a second iteration was developed. [2]
In this system, a message was signed twice. Once
using the regular FSS scheme and the second time
signing with a key derived from the second factor.
This method is made efficient through the use of
MMM construction and sum-product composition
to utilize untrusted updates that like the first
method, are unbounded by the number of time
intervals. However, unlike the first method, this
instance has the same efficiency as RSA and
because the signing method is derived entirely
from the secondary factor, it works with virtually
any FSS scheme. Another advantage of the MMM
scheme is the number of time intervals does not
have to be predefined.[3] A critical flaw exists
within this protocol though. While the proposed
scheme itself does not rely on random oracles, all
instantiations of the "unbounded" systems utilizing
this model do rely upon the random oracle model.
Thus, as the truly random oracle does not exist, the
system is not provably secure as was the first
system.
The final methodology occurred in 2008 [3]
and is remarkably different from the other two.
Instead of relying on time intervals, as virtually all
FSS schemes do (starting from the original by
Anderson), this FSS system ties each iteration of
the private key to a single signature. In this
manner, it represents a one-time pad and resolves
a major flaw in the original FSS scheme. No
matter how short the interval, as long as more than
one communication can exist, a window of
repudiability exists.
To achieve this scheme, the FSS is based on the
discrete logarithm problem (DLP). As the keys
are tied to a single signature, the moment the key
is used, it's immediately updated. This resolves
another weakness of the time based scheme.
While the computer housing the time intervals was
not on, that particular interval was extended even
if it normally was very short. Because the
computer has to be on for the communication to be
sent, there is never a moment where additional
messages could be forged.[3] The final advantage
of the system is it's extremely efficient both in
terms of the key update - performed in O(l) time,
where l is the security input parameter - and
signature generation is performed in O(lš‘˜ 2+2š‘™ 2 ),
where k is the half the public key size. The
downside of this method is the increased need for
storage space; however, between 2006 and 2008,
storage space has grown significantly cheaper and
thus the negative impact of this drawback may be
negligible. Another disadvantage is the
computational period of waiting for a new key to
generate after the message is sent.
III.
SOLUTION
My solution to these issues then is to
amalgamate the greatest advantages of all three
approaches into a single flexible form. From the
initial method, the HIBE methodology is the most
efficient mechanism for both the private key size
and the resultant ciphertext size. Further, because
this method does not increase in size with the
number of key iterations, it largely bypasses the
advantage of the MMM approach of being
unbounded, since a single user is unlikely to send
more than a million messages in their lifetime.
The MMM scheme cannot be adopted from the
second methodology because it is not provably
secure (though it may actually be secure).
However, the multiple signing method can be
adopted and should be because of the increased
level of integration acquired from deriving the
encryption from the secondary factor. Finally, the
single key per signature feature is adopted from
the third model for two reasons. It allows for true
non-repudiation and second, it most resembles the
one-time pad.
Combined, it achieves the following goals.
First, it can be applied to GNU-PG, S/MIME,
PGP, and virtually any other FSS scheme that uses
a second factor. Second, it's extremely storage
efficient due to its constant-size key. Third, it's
non-repudiable. Fourth, it's provably secure.
Finally and perhaps most importantly, this
system can be integrated as a shell script that fires
upon the sending of the communication. Unlike a
cron job, it is not subject to failures during power
off and most importantly, the shell script is generic
and only the application trigger needs to be added,
making it far more accessible to the average user
(though still requiring some level of computer
literacy).
IV.
CONCLUSION
The proposed solution mitigates almost all of
the original drawbacks of the FSS methodology
proposed by Anderson.
However, a few
limitations still exist within the cryptosystem.
First, it's more computationally expensive than
RSA. In exchange for it's extremely small storage
size, it's between 2 and 4 times more
computationally expensive than RSA. This is not a
considerable flaw because like storage space,
processor speeds have continually improved in
small devices and RSA dates to the 80s and was
fairly efficient when it was originated. Second,
none of these solutions (including the proposed
solution) resolve the issue of scrubbing the private
key from storage and memory entirely. Future
proposals should particularly look at this as it
threatens to undo all the advantages these schemes
employ for as long as previous private keys exist in
the memory in some form, they remain available to
attackers who gain control over the system.
ACKNOWLEDGMENT
The author would like to thank James Kelly for
his work as editor.
REFERENCES
[1]
[2]
[3]
[4]
Boyen, X., Shacham, H., Shen, E., Waters, B.:
"Forward-Secure Signatures with Untrusted
Update", Proceedings of the 13th ACM
conference on Computer and communications
security, ACM Press. pp. 191–200 (2006)
Libert, B., Quisquater, J., Yung, M.:
"Forward-secure signatures in untrusted
update environments: efficient and generic
constructions", Proceedings of the 14th ACM
conference on Computer and communications
security, ACM Press. pp. 266–275 (2007)
Alomair, B., Sampigethaya, K., and
Poovendran, R.: "Efficient Generic ForwardSecure Signatures and Proxy Signatures",
Lecture Notes in Computer Science, Vol. 5057
pp. 166-181 (2008)
Anderson, R.: Two remarks on public key
cryptology. In: Invited Lecture, ACM-CCS
1997 (1997)
[5]
Bellare, M., Miner, S.: A forward-secure
digital signature scheme. In: Wiener, M.J.
(ed.) CRYPTO 1999. LNCS, vol. 1666, pp.
431–448. Springer, Heidelberg (1999)
[6]
Boneh, D., Boyen, X., and Goh, E.:
Hierarchical identity based encryption with
constant size ciphertext. In: Advances in
Cryptology—EUROCRYPT 2005, vol. 3494
LNCS, pp. 440–456. Springer (2005)
Download