hash choices are desired. A similar statistical
analysis as above could be done with three hashes to
determine the probability that one or more of the
hashes detects a contiguous block of corrupt data.
This probability is
(x
3
– x
2
(p
1
+p
2
+p
3
) + x(p
1
p
2
+p
2
p
3
+p
1
p
3
)) / p
1
p
2
p
3
Similarly, on average, the probability that a single
pass of one randomly chosen striped hash will detect
the x corrupt bytes is
x(p
2
p
3
+ p
1
p
2
+ p
1
p
3
) / 3p
1
p
2
p
3
The probabilities of detection for four or more
stripes could also be calculated in the same way.
Generating the full baseline hash for a file of
length L requires processing of all L bytes. To fully
verify the hash of the same file at a later time will
require the same amount of processing, as the length
of the input will be the same. The p-q-striped hash
scheme, however, will only require
⎣L / p⎦ + ⎣L / q⎦
bytes to be hashed to generate the two partial
baseline hashes. Checking the integrity of the file
with one of the hashes requires only ⎣L / p⎦ or ⎣L / q⎦
bytes to be passed to the hash algorithm, giving an
average speedup of (p + q)/2, compared to
performing the full baseline hash.
The lengths of the contiguous bytes unchecked
by this algorithm vary from 1 to p-1. The number of
gaps of length 1 is equal to those of length 2, 3, and
so on, up to p-1. This mix of different-length gaps
makes even a knowledgeable attacker’s job of
bypassing the integrity checks extremely difficult.
As with p-offset striped hashing, a “complete”
version of p-q-striped hashing is possible. If p and q
are both relatively prime to L, hashes can be
generated by iterating past the end of the file as
described above in “Complete Striped Hashing”. In
essence, this scheme produces two complete sets of
hashes – the complete p-striped hash and the
complete q-striped hash.
3 REMARKS
One of the original purposes of hashing was to
eliminate the need to store a duplicate copy of the
file (or other input) whose integrity a system needed
to monitor – instead, the hash could be stored. The
proposed system stores more hashes and only looks
at particular parts of the input when doing a single
check. After several such checks, the input can be
validated in an equivalent way to checking the entire
input at once, but having the benefit of spreading the
integrity checking out over a period of time.
The aforementioned preprocessors serve to
speed up existing hash algorithms without
significantly sacrificing security, provided they are
implemented properly. The specific placement of
these cryptographic checks in the security system is
outside the scope of this paper, but is an area of
work-in-progress. This work is in its preliminary
stages and we are continuing to examine the issue of
cryptographic hashing of software and data to
preserve system integrity.
REFERENCES
Chapweske, J. and Mohr, G., 2003. Tree Hash EXchange
format (THEX). http://www.open-content.net
/specs/draft-jchapweske-thex-02.html
Davida, G. and Matt, B., 1985. Crypto-Secure Operating
Systems. In AFIPS Conf. Proc., Nat’l Comp. Conf.
Davida, G., Desmedt, Y., and Matt, B., 1989. Defending
Systems Against Viruses Through Cryptographic
Authentication. In Rogue Programs: Viruses, Worms
and Trojan Horses, Van Nostrand Reinhold. New
York.
Ganesan, P., Venugopalan, R., Peddabachagari, P., Dean,
A., Mueller, F., and Sichitiu, M., 2003. Analyzing and
Modeling Encryption Overhead for Sensor Network
Nodes. In Proc. 2
nd
ACM Int’l Conf. Wireless Sensor
Networks & Appl.
Hansen, J., 2005. Cryptographic Authentication of
Processes and Files to Protect a Trusted Base.
Unpublished Master’s thesis, University of Wisconsin,
Milwaukee.
Kaminsky, D., 2004. MD5 To Be Considered Harmful
Someday. http://www.doxpara.com/md5_someday.pdf
Kim, G. and Spafford, E., 1994. The Design and
Implementation of Tripwire: A File System Integrity
Checker. In Proc. 2
nd
ACM Conf. Comp. and Comm.
Security.
Menezes, A., van Oorschot, P., and Vanstone, S., 2001.
Handbook of Applied Cryptography, CRC Press. Boca
Raton, FL, 5
th
Printing.
Naor, M. and Yung, M., 1989. Universal One-Way Hash
Functions and their Cryptographic Applications. In
Proc. 21
st
Ann. ACM Symp. Theory of Comp.
Schneier, B., 1996. Applied Cryptography, John Wiley
and Sons, Inc. New York, NY, 2
nd
Edition.
Touch, J., 1995. Performance Analysis of MD5. In Proc.
ACM SIGCOMM ’95 Conf. Appl., Tech., Arch., &
Prot. for Comp. Comm.
ICETE 2005 - SECURITY AND RELIABILITY IN INFORMATION SYSTEMS AND NETWORKS
366