Cryptography Reference
In-Depth Information
CHAPTER
6
A Usable, Secure
Communications Protocol:
Client-Side TLS
Armed with symmetric encryption to protect sensitive data from eavesdroppers,
public-key encryption to exchange keys securely over an insecure medium,
message authentication to ensure message integrity, and certifi cates and their
digital signatures to establish trust, it's possible to create a secure protocol that
operates over an insecure line without any prior interaction between parties.
This is actually pretty amazing when you think about it. You can assume that
anybody who's interested in snooping on your traffi c has full and complete
access to it. Nevertheless, it's possible to securely send data such that only the
intended recipient can read it, and be assured, within reason, that you're com-
municating with the intended recipient and not an impostor.
Even with all the pieces in place, though, it's possible to get this subtly wrong.
This is why the TLS protocol was developed — even if you use the strongest
cryptography, key exchange, MAC and signature algorithms available, you can
still leave yourself vulnerable by improper use of random numbers, improper
seeding of random number generation, improper verifi cation of parameters, and
a lot of other, subtle, easy-to-overlook fl aws. TLS was designed as a standard for
secure communications. You must, of course, use strong, secure cryptographic
algorithms; the best way to ensure this is to use standard algorithms that were
designed and have been thoroughly reviewed by security professionals for
years. To ensure that you're using them correctly, your best bet is to also follow
a standard protocol that was also designed and has been thoroughly reviewed
by security professionals for years.
Search WWH ::




Custom Search