Cryptography

An overview, pitfalls, gotchas and comments.

Pitfalls

In this chapter I’ll summarize a few common and not-so-common pitfalls that will surface in our dissertation.

PKI or Public-Key Infrastructure

This is a term that we need to get to terms with, and fast. When we refer to PKI or Public Key infrastructure, what we really mean is a distribution medium for public keys, and a private-secret medium for generating private keys. Public keys can safely be distributed and lost, whereas private keys should remain as secret as possible.

Just to clarify that a public key infrastructure doesn’t just mean “public keys”. These public keys must be generated secretly along with their private keys and distributed to a supporting network service which can acknowledge, and even, authenticate the validity of such a public key by stamping it within a public certificate. We use public keys for validating signatures on documents we receive (or our private key for signing documents we produce), and the public key is also used for ciphering data for a specific person (using both our private key and their public key).

There exist more advanced concepts involving multi-key encryption and signatures, but we’ll get back to them in a later section once we’re more advanced.

Cryptography is greatly misunderstood

That is a fact. Ask any cryptographer out there, if they tell you the contrary, it’s probably because they don’t practice what they sell.

Cryptography is such a complex subject, that manufacturers attempt to encapsulate its complexities behind intelligent software and hardware. But there lies the rub, cryptography is not something you can do for someone else. Cryptography must be understood by its participants to provide a truly secure framework for its usage. There are no shortcuts, except for the road being laid out in this document.

Storing cryptographic keys on hardware chips hidden away on your motherboard provides no more security than not using it in the first place. In fact, the greatest deterrent to this use has been that the loss of a key is so catastrophic, that it constitutes a greater financial risk than just storing everything in plaintext until archiving. How many Windows license keys have I lost to a bad implementation from Microsoft. I’m sure others have experienced this too.

Cryptography is under siege

Another fact, only by its nature, cryptography is meant to deter evil-doers and thus, is the most controversial technology there can be. Government agencies deploy backdoors, that could be a fact. Hackers infiltrate legitimate software sources, that is a fact. Exploiters can remotely gain access to your keys, that could also be a fact.

There is no better protection than a total disconnection from networks. (An assertion which has been proven wrong in the Stuxnet exploits, damn!)

So, to think that a piece of hardware or software can protect your finances, is a beautiful dream indeed. "Ignorance is bliss." If you’re reading this, welcome to the Matrix ™.

But my bank or auditor says…

Indeed, sometimes recommendations can greatly limit our choices. :/ Compliance to FIPS-140 is oftentimes a necessary evil, which must be addressed.