Truecrypt report
A few weeks back I wrote an update on the Truecrypt audit
promising that we'd have some concrete results to show you soon. Thanks to some
hard work by the NCC Crypto Services group, soon is now. We're grateful to
Alex, Sean and Tom, and to Kenn White at OCAP for making this all happen.
You can find the full report over at the Open Crypto Audit
Project website. Those who want to read it themselves should do so. This post
will only give a brief summary.
The TL;DR is that based on this audit, Truecrypt appears to
be a relatively well-designed piece of crypto software. The NCC audit found no
evidence of deliberate backdoors, or any severe design flaws that will make the
software insecure in most instances.
That doesn't mean Truecrypt is perfect. The auditors did
find a few glitches and some incautious programming -- leading to a couple of
issues that could, in the right circumstances, cause Truecrypt to give less
assurance than we'd like it to.
For example: the most significant issue in the Truecrypt
report is a finding related to the Windows version of Truecrypt's random number
generator (RNG), which is responsible for generating the keys that encrypt
Truecrypt volumes. This is an important piece of code, since a predictable RNG
can spell disaster for the security of everything else in the system.
The Truecrypt developers implemented their RNG based on a
1998 design by Peter Guttman that uses an entropy pool to collect
'unpredictable' values from various sources in the system, including the
Windows Crypto API itself. A problem in Truecrypt is that in some extremely
rare circumstances, the Crypto API can fail to properly initialize. When this
happens, Truecrypt should barf and catch fire. Instead it silently accepts this
failure and continues to generate keys.
This is not the end of the world, since the likelihood of
such a failure is extremely low. Moreover, even if the Windows Crypto API does
fail on your system, Truecrypt still collects entropy from sources such as
system pointers and mouse movements. These alternatives are probably good
enough to protect you. But it's a bad design and should certainly be fixed in
any Truecrypt forks.
In addition to the RNG issues, the NCC auditors also noted
some concerns about the resilience of Truecrypt's AES code to cache timing
attacks. This is probably not a concern unless you're perform encryption and
decryption on a shared machine, or in an environment where the attacker can run
code on your system (e.g., in a sandbox, or potentially in the browser). Still,
this points the way to future hardening of any projects that use Truecrypt as a
base.
Truecrypt
is a really unique piece of software. The loss of Truecrypt's developers is
keenly felt by a number of people who rely on full disk encryption to protect
their data. With luck, the code will be carried on by others. We're
hopeful that this review will provide some additional confidence in the code
they're starting with.
No hay comentarios:
Publicar un comentario