
6 EFFICIENCY
Adapting secret k or signature key sizes to the current
computational power is a basic operation, since both
can be replaced after every epoch.
Creating R
e
and R
h
records takes much more
time than creating R
m
records, mostly due to the
characteristics of asymmetric versus symmetric
cryptography (Schneier, 1995). To minimize this
constraint it is possible to increase the number of
R
m
records per epoch, keeping always in mind the
fact that one must never allow the computational
power available during the current epoch to be able
to compromise secret k used to build Mac elements.
Secret k is revealed in the end of each epoch,
thus making a validation over an R
m
record a very
easy and fast operation to conclude, even after long
time periods. Verifying the validity of an R
m
record
implies the validation of O(log
x
n) records, where
n = total number of records in the trusted repository
x = average number of records within each subset
7 IMPLEMENTATION
GUIDELINES
In this section we present guidelines to an implemen-
tation of the scheme defined in the previous sections,
through the application of technology widely used
and proved to be secure and efficient nowadays.
The message digest algorithm used to create Mac
elements must be widely deployed and proved to
be secure, and at same time efficient, since it will
be used very often. A keyed-hashing algorithm like
HMAC (Krawczyk et al., 1997) satisfies all of the
above requirements.
In a similar way, it is important to use a widely
deployed one-way hash function like SH A − 1
(NIST, 1994) to generate elements which will be
needed to create Sig
e
or Sig
h
elements.
Sig
e
and Sig
h
elements will be built using asym-
metric cryptography. The private key is used to
generate those elements and the public key, which
will be bound to a X.509 (ITU-T, 2000) digital
certificate, is used to verify the integrity of the
elements, interacting with a certification authority
(CA). Despite the fact that the trusted repository
must fulfill certain security requirements, critical
operations like certificate life cycle management are
much more suitable to be done by a CA.
It is crucial to the preservation of the proto-
col security to establish a security scheme for
the certificate requests (RSA, 2000) to be done.
There are several good approaches: one is to use
a mutually-authenticated TLS (Dierks and Allen,
1999) connection. Other may be by carrying some
shared secret, which should be evolving from one
request to the next, among the certificate request
extensions.
Another point where we may increase security is
by settling an agreement with the CA in which we
can define a set of X.509 extensions to be included
in all the certificates issued to the service. By issuing
specific extension values for each digital certificate
we may, for instance, lower the risk of certificate
replacement frauds.
Validating an R
m
record must also always require
validating the digital certificate state by using an
CRL (ITU-T, 2000) or an OC S P (Myers et al.,
1999) service. Whenever a certificate is found to
be invalid (revoked, expired, etc.) it is necessary to
validate the timestamp present in the T element, as
explained previously, to decide if the record remains
valid.
One final note concerning secret and private key
protection. As pointed out before, it is extremely
important to keep the items private. To achieve this
goal we should use cryptographic hardware which
allows us to generate secret and private keys inside an
hardware token. The keys also have the possibility to
never leave the token, thereby creating a very secure
environment.
8 CONCLUSION
In this article we proposed a new scheme providing
strong guarantees about the auditability of a trusted
repository. The trusted repository maintains three
types of records:
• R
m
records keep the actual messages belonging to
a specific and well defined transaction.
• R
e
records aggregate sets of R
m
records together,
establishing epochs. This type of records are also
aggregated in sets. In every set an R
e
record keeps
a reference to the R
e
record created immediately
before.
PRACTICAL AUDITABILITY IN TRUSTED MESSAGING SYSTEMS
173