--- Why Cryptosystems Fail -- analysis and review of real world use (and misuse) of
cryptography by a major industry. As RJA observes, there is little access to this sort of overview of actual deployed crypto
systems since most major users have not been (and remain not) inclined to allow external public examination of their systems.
Ross Anderson is a Professor at Cambridge University, an excellent writer (not all that common in this field, unfortunately),
and a serious cryptographer on both the algorithm / protocol development side and the cryptanalytic side. He has a diverting
taste for lurid name coinages (it was he -- or his group at least -- who coined the term Programming Satan's Computer for any
effort to develop secure software, including crypto systems). He (and his team) developed one of the AES finalist encryption
algorithms, and have been prominent in discovering workable attacks against the assorted smart cards (credit cards with micropower
CPUs in them) widely used in Europe.
His Web site is a rich source of pointers to responsible research, analysis, and public policy debate on security and crypto
issues generally. The problem of distinguishing between responsible crypto information (especially on the Net) and the bogus
(but superficially reasonable sounding) is as difficult in most respects as the problem of identifying good crypto
algorithms/protocols, and then good crypto system designs using them, and then good implementations of those designs, and finally
good configuration and use of those good implementations. Even luridly bogus information is sometimes sufficiently plausible to the
non-crypto informed to guide purchase and use choices. Would be users should avoid being misled by the bogus, whether lurid or not.
--- Economics and Security Resource Page is RJA's Web site pages. Crypto is more
than simply keeping folks out of your stuff, and the economics of the real world have serious consequences on what cryptography is
adopted, what is banned, ... It's not merely a technical question. Chasing the pointers on the original page will give an
enlightening view of many of the relevant issues.
--- The TCPA-Palladium FAQ is also from RJA's Web site. Note that all control of content on
user computers (on behalf of whomever) will be done cryptographically, as this is the only even remotely feasible way to accomplish
such things. Given the abysmal record of Microsoft in designing and implementing crypto (and security generally), the whole thing
may be expected to bear a more than trivial resemblance to Swiss Cheese; the assorted intellectual property holders interested in
controlling what is on, or runnable on, your computer may be less than pleased if MS runs true to form on this. On the other hand,
maybe BG has gotten MS off the dime with his security initiative ("Now we're really going to care about this stuff"). Intel too has
had toubles in its security products. Maybe they will escape their history as well?
This an actual FAQ. There is another, from Microsoft, which is largely a sales piece explaining how everything will be just fine in
this best of all possible worlds when Palladium (and TCPA too I suppose) are finally universally adopted. Maybe it should be called
a Sales FAQ?
--- Why Cryptography Is Harder Than It Looks is from Bruce Schneier of
Counterpane Labs. There are reasons why there is so much Bozo crypto on the market. They are related to universal human tendencies
to fool ourselves, some of which are dealt with here. Crypto users should be aware that developers and vendors have a splotchy
record at best.
Schneier is a practicing cryptographer (he and his team invented the Blowfish and Twofish encryption algorithms; Twofish was an AES
finalist) and an author and speaker. His prose more 'American' than RJA's, but almost as entertaining, and equally reliable.
Security Pitfalls in Cryptography is another essay from Schneier covering crypto
pratfalls from another direction -- the attacker's. What you think about in attempting to figure out what to do about security is
not necessarily what you need to think about. You must counter what the attacker could try, not what you think he (she or it) will
try. Not at all the same thing. This is not ordinary engineering, a point that Schneier is very clear about. It cannot be designed,
implemented, or evaluated in any ordinary engineering way.
For instance, your estimate of your vulnerability to xxx attack is not necessarily your actual vulnerability. Likewise, your
estimate of how interested in your computer, files, Internet identity, ... attackers might be is, on principle, not relevant to
your risk. Your risk is related to the actual interest any single attacker (or his automated attack scripts) has now (or might in
the future) in your machine, files, identity, info, ... combined with that attacker's competence as an attacker. Your kid sister
wouldn't be, presumably, much of a risk because she doesn't know much about computers. But you don't know anything about many
possible attackers; and that means you know nothing about their interest in you, their motivations generally, or about their
competence. Telling yourself you do is merely self-delusional.
Consider the following: Your machine, in particular, would be useful to some kinds of attackers simply because it exists and not
because of anything on it or who you are or who your clients are or ... Indeed, some attackers might be interested in your clients'
information (in files on your machine(s); see a letter to Mossberg in WSJ for Wed or Thurs 8 or 9 Jan 03 from a lawyer wondering if
his clients' files on his machine are vulnerable. Mossberg, less than adequately, suggests a firewall product.), but some couldn't
care less. They are interested in damaging information on your machines (sabotage, etiehr external or internal to your organization)
or in using your machines to further an attack on someone else (you get the blame because your machines' IDs are on the attacks) or
in counting coup (Hey, look at me! I broke into your machine) or an attack may be a purely automated one looking for vulnerabilities
for future use (pointers to machines with credit card numbers on them, for instance, which probably have some value to some thief
or other). This last attack has nothing to do with you at all -- no human probably even knows your machine(s) were probed.
Real-World-Security. And not necessarily cryptographic attacks either. Think about the
example here of the California house breakers who used a chain saw to go through the walls. Good crypto systems divert attacks to
easy targets. The OS, users, the system development process (new versions, patches, and all that), system administrators,... Another
Schneier essay.
Snake Oil Warning Sign FAQ Some years ago, some crypto people tried to figure out
how to identify Bozo crypto software. They got this far -- some signs and symptoms that might justify a preliminary diagnosis of
bogus crypto. It's still pretty right on. Actually it's exactly right on; it just doesn't go quite far enough now, and didn't then
either. See the next item.
Crypto-Gram, 15/02/99. Schneier produces a newsletter each month discussing this and that in the security and crypto world that has caught his attention. This issue contains what is essentially a supplement to the Snake Oil Warning Sign FAQ, only with real world examples. Things haven't gotten ***any*** better in the past 4 years. Watch out folks, there's a lot of real crud out there!
Who are these people? This is a somewhat lighthearted look at the dramatis personnae in most cryptographic
papers and discussions. The comments on Trent and his fellows are seriously meant however. In the real world reliance on the
trustworthiness of some third party invites new and more varied attacks and courts disaster. Calling Trent a PKI provider doesn't
change anything but the name. See Schneier's comments on vulnerabilities resulting from poorly designed trust models.
a page of algorithms. This is part of a list of publicly known algorithms I put together some years ago.
It's important to note that not one of these is Bozo Crypto quality. All were produced by serious crypto folks, and nearly all were
published in the academic crypto literature. These are among the best algorithms we humans have ever managed to dream up. Count them
all and then count those which have been broken. The ratio is not very inspiring, is it?
asymmetric key encryption algorithms
'public key / private key' asymmetric key algorithm use in one-way communication
'public key / private key' asymmetric key algorithm use in two-way communication
Public Key Infrastructures -- 1 identity certificate creation
Public Key Infrastructures -- 2 typical operation
digital signatures using asymmetric key algorithms
cryptographic one-way hash functions
message integrity checking w/cryptographic message digest functions
symmetric key encryption algorithms
two-way communication using a symmetric key algorithm
distributed trust Public Key Infrastructure -- 1
certificate generation / endorsement
distributed trust Public Key Infrastructure -- 2
endorsement vetting / trust decision
Reading List a bibliography of books and references.