Cyber security experts show how cryptology can protect your identity in the world of cyberspace. Learn what you need to know to thwart security breaches, ward off active and passive attacks, and avoid viruses and Trojan horses. Address the legal issues involved as you use cryptology to effectively combat attempts to cripple your system and compromise your intellectual property.

This chapter is from the book

1.1 Introduction

It was a dark and stormy night. Somewhere in the distance a dog howled. A
shiny object caught Alice's eye. A diamond cufflink! Only one person in the
household could afford diamond cufflinks! So it was the butler, after all! Alice
had to warn Bob. But how could she get a message to him without alerting the
butler? If she phoned Bob, the butler might listen on an extension. If she sent
a carrier pigeon out the window with the message taped to its foot, how would
Bob know it was Alice that was sending the message and not Trudy attempting to
frame the butler because he spurned her advances?

That's what this book is about. Not much character development for Alice
and Bob, we're afraid; nor do we really get to know the butler. But we do
discuss how to communicate securely over an insecure medium.

What do we mean by communicating securely? Alice should be able to send a
message to Bob that only Bob can understand, even though Alice can't avoid
having others see what she sends. When Bob receives a message, he should be able
to know for certain that it was Alice who sent the message, and that nobody
tampered with the contents of the message in the time between when Alice
launched the message and Bob received it.

What do we mean by an insecure medium? Well, in some dictionary or another,
under the definition of "insecure medium" should be a picture of the
Internet. The world is evolving towards interconnecting every computer, and
people talk about connecting household appliances as well, all into some
wonderful global internetwork. How wonderful! You'd be able to send
electronic mail to anyone in the world. You'd also be able to control your
nuclear power plant with simple commands sent across the network while you were
vacationing in Fiji. Or sunny Libya. Or historic Iraq. Inside the network the
world is scary. There are links that eavesdroppers can listen in on. Information
needs to be forwarded through packet switches, and these switches can be
reprogrammed to listen to or modify data in transit.

The situation might seem hopeless, but we may yet be saved by the magic of
mathematics, and in particular cryptography, which can take a message and
transform it into a bunch of numbers known as ciphertext. The ciphertext is
unintelligible gibberish except to someone who knows the secret to reversing the
transformation. Cryptography allows us to disguise our data so that
eavesdroppers gain no information from listening to the information as
transmitted. Cryptography also allows us to create an unforgeable message and
detect if it has been modified in transit. One method of accomplishing this is
with a digital signature, a number associated with a message and its
sender that can be verified as authentic by others, but can only be generated by
the sender. This should seem astonishing. How can there be a number which you
can verify but not generate? A person's handwritten signature can (more or
less) only be generated by that person, though it can be verified by others. But
it would seem as if a number shouldn't be hard to generate, especially if
it can be verified. Theoretically, you could generate someone's signature
by trying lots of numbers and testing each one until one passed the verification
test. But with the size of the numbers used, it would take too much compute time
(for instance, several universe lifetimes) to generate the signature that way.
So a digital signature has the same property as a handwritten signature, in that
it can only be generated by one person. But a digital signature does more than a
handwritten signature. Since the digital signature depends on the contents of
the message, if someone alters the message the signature will no longer be
correct and the tampering will be detected. This will all become clear if you
read Chapter 2 Introduction to Cryptography.

Cryptography is a major theme in this book, not because cryptography is
intrinsically interesting (which it is), but because many of the security
features people want in a computer network can best be provided through
cryptography.

1.1 Roadmap to the Book

After this introductory chapter, there are five main sections in the
book:

Part 1 CRYPTOGRAPHY Chapter 2 Introduction to
Cryptography is the only part of the cryptography section of the book
essential for understanding the rest of the book, since it explains the generic
properties of secret key, message digest, and public key algorithms, and how
each is used. We've tried our best to make the descriptions of the actual
cryptographic algorithms nonthreatening yet thorough, and to give intuition into
why they work. It's intended to be readable by anyone, not just graduate
students in mathematics. Never once do we use the term lemma. We do hope
you read Chapter 3 Secret Key Cryptography, Chapter 4 Modes of
Operation, Chapter 5 Hashes and Message Digests, and Chapter 6
Public Key Algorithms which give the details of the popular standards,
but it's also OK to skip them and save them for later, or just for
reference. Chapter 7 Number Theory and Chapter 8 Math with AES and
Elliptic Curves gives a deeper treatment of the mathematics behind the
cryptography. Reading them is not necessary for understanding the rest of the
book.

Part 2 AUTHENTICATION Chapter 9 Overview of
Authentication Systems introduces the general issues involved in proving
your identity across a network. Chapter 10 Authentication of People deals
with the special circumstances when the device proving its identity is a
ω human being. Chapter 11 Security Handshake Pitfalls deals with the
details of authentication handshakes. There are many security flaws that keep
getting designed into protocols. This chapter attempts to describe variations of
authentication handshakes and their relative security and performance strengths.
We end the chapter with a checklist of security attacks so that someone
designing a protocol can specifically check their protocol for these
flaws.

Part 3 STANDARDS This portion of the book describes the standards:
Kerberos versions 4 and 5, certificate and PKI standards, IPsec, and SSL. We
hope that our descriptions will be much more readable than the standards
themselves. And aside from just describing the standards, we give intuition
behind the various choices, and criticisms where they are overly complex or have
flaws. We hope that our commentary will make the descriptions more interesting
and provide a deeper understanding of the design decisions. Our descriptions are
not meant to, and cannot, replace reading the standards themselves, since the
standards are subject to change. But we hope that after reading our description,
it will be much easier to understand the standards.

Part 4 ELECTRONIC MAIL Chapter 20 Electronic Mail
Security describes the various types of security features one might want,
and how they might be provided. Chapter 21 PEM & S/MIME and Chapter
22 PGP (Pretty Good Privacy) describe the specifics of PEM, S/MIME, and
PGP.

Part 5 LEFTOVERS Chapter 23 Firewalls talks about what
firewalls are, what problems they solve, and what problems they do not solve.
Chapter 24 More Security Systems, describes a variety of security
systems, including Novell NetWare (Versions 3 and 4), Lotus Notes, DCE,
KryptoKnight/NetSP, Clipper, SNMP, DASS/SPX, Microsoft (LAN Manager and Windows
NT), and sabotage-proof routing protocols. Chapter 25 Web Issues talks
about the protocols involved in web surfing: URLs, HTTP, HTML, cookies, etc.,
and the security issues these raise. We close with Chapter 26 Folklore,
which describes the reasoning behind some of the advice you will hear from
cryptographers.