IFSM 310 – Stage 4 Assignment – Due Sunday
Chapter 8
Secure Transport Layer
In the early days of the Internet, networks were small and all of
the routers were in secure locations. As long as each computer
connected to the Internet protected itself from unwanted incom-
ing connections, it was felt that there was no need to protect data
from prying eyes while it was crossing the network.
So the Link, Internetwork, and Transport layers were focused on
the efficient movement of data and solving the problems of a
large-scale shared distributed network without worrying about
the privacy of that data.
But as the use of the Internet grew rapidly in the late 1980s and
literally exploded when the Web became mainstream in 1994, se-
curity and privacy of network traffic became very important prob-
lems to solve. When we began using the Internet to conduct com-
merce and credit cards and bank account numbers were being
routinely sent across the network, securing data became essen-
tial. And when we started using wireless technologies like WiFi,
security became necessary for even the simplest uses of the In-
ternet.
There are two general approaches to securing network activity.
The first makes sure that all of the network hardware (routers
and links) is in physically secure locations so it is not possible for
someone to sneak in and monitor traffic while it is crossing the
Internet. This approach is not practical for hundreds of thousands
of network routers owned and operated by many different orga-
nizations. While you might be able to ensure that some of the
router operators adhered to strict security procedures and poli-
cies, sooner or later a mistake will be made. And once WiFi was
added to the mix and your packets went over radio waves, a net-
work attacker could just sit in a coffee shop and intercept packets
89
90 CHAPTER 8. SECURE TRANSPORT LAYER
as they passed through the air.
Under these conditions, the only reasonable solution is to encrypt
data in your computer before it is sent across its first physical
link, and then decrypt the data in the destination computer after
it arrives. Using this approach, we assume that an attacker can
see all of the packets that you send, but they cannot decrypt the
data that they have captured. The encryption also guarantees
that there is no way to alter your data while it is crossing the
Internet.
8.1 Encrypting and Decrypting Data
The concept of protecting information so it cannot be read while
it is being transported over an insecure medium is thousands of
years old. The leaders in Roman armies sent coded messages to
each other using a code called the “Caesar Cipher”. The simplest
version of this approach is to take each of the characters of the
actual message (we call this “plain text”) and shift each charac-
ter a fixed distance down the alphabet to produce the scrambled
message or “ciphertext”.
Then we send the ciphertext via the courier or other insecure
transport to the other person. The courier cannot read the mes-
sage because it appears to be random characters unless you
know the technique used to encode the message.
As long as the person receiving the message knew the number
used to shift the message, they could unshift the characters in
the encoded message to reproduce the original message.
Here is a simple example of plain text and ciphertext using a shift
of one:
Plain text: Go to the river
Cipher text: Hp up uif sjwfs
We use the word “encrypt” to describe transforming the plain text
to the ciphertext and “decrypt” to describe the reverse process.
The Caesar Cipher is very simple to defeat, but it was used to
protect important messages until about 150 years ago. Modern
encryption techniques are far more sophisticated than a simple
character shift, but all encryption systems depend on some kind
of a secret key that both parties are aware of so they can decrypt
received data.
8.2. TWO KINDS OF SECRETS 91
8.2 Two Kinds of Secrets
The traditional way to encrypt transmissions is using a shared se-
cret (a password, a sentence, a number) that only the sending
and receiving parties know. With the secret, it is easy to decrypt
the received data, but if you received the data without possess-
ing the secret, it would be effectively impossible to decrypt the
message.
Figure 8.1: Shared Versus Asymmetric Keys
In the early days of the Internet, two people could send encrypted
email to each other by one person first calling the other person
on the phone and giving them the decryption secret. This worked
well when there were only a few users on the network, but could
not scale to situations where a company might have millions of
customers and could not afford to make a phone call to each cus-
tomer to establish a shared secret before they could make a pur-
chase.
It might seem like a good idea to distribute the shared secrets
over the Internet, but if we assume that the attackers are monitor-
ing and capturing all network traffic, they could also capture the
unencrypted message that contained the shared secret. At that
point it would be trivial for the attacker to use the shared secret
to decrypt a message. And even worse, the attacker could inter-
cept a message, delay it, then decrypt it, change and re-encrypt
it, and send the modified message back on its way. The receiving
92 CHAPTER 8. SECURE TRANSPORT LAYER
computer would decrypt the message and never know that it had
been modified by an attacker while in transit.
So shared secrets clearly would not work to solve the problem of
securing network traffic between trillions of pairs of networked
computers.
The solution to this problem came in the 1970s when the con-
cept of asymmetric key encryption was developed. The idea of
asymmetric key encryption is that one key is used to encrypt the
message and another key is used to decrypt it. The computer that
will be receiving the encrypted data chooses both the encryption
key and decryption key. Then the encryption key is sent to the
computer that will be sending the data. The sending computer
encrypts the data and sends it across the network. The receiving
computer uses the decryption key to decrypt the data.
We call the encryption key the “public” key because it can be
widely shared. We call the decryption key the “private” key be-
cause it never leaves the computer where it was created. Another
name for asymmetric keys is public/private keys.
The whole process is designed so that if an attacker has the public
key (which was sent unencrypted) and the encrypted text, it is
virtually impossible to decrypt the encrypted data. There is a lot
of math with large prime numbers that makes it hard to guess the
private key from the public key and encrypted data.
So with the advent of public/private key technology, the only
question left was how to apply it in our network model.
8.3 Secure Sockets Layer (SSL)
Since network engineers decided to add security nearly 20 years
after the Internet protocols were developed, it was important not
to break any existing Internet protocols or architecture. Their so-
lution was to add an optional partial layer between the Transport
layer and the Application layer. They called this partial layer the
Secure Sockets Layer (SSL) or Transport Layer Security (TLS).
When an application requested that the Transport layer make a
connection to a remote host, it could request that the connec-
tion either be encrypted or unencrypted. If an encrypted connec-
tion was requested, the Transport layer encrypted the data before
breaking the stream into packets. This meant that the Transport
layer, Internetwork layer, and physical (link) layers could still per-
form exactly the same way whether the packets were encrypted
8.4. ENCRYPTING WEB BROWSER TRAFFIC 93
Figure 8.2: Where Encryption and Decryption Happens
or non-encrypted. The applications making the connections were
also spared the details of how encryption and decryption worked.
Since encryption was a simple and transparent addition to the
Transport layer, there was no need to change the routers that
operate at the Internetwork and Link layers. There was no need
to change any Link layer hardware to make encryption work. And
applications did not need to be modified except to request that a
connection be encrypted when appropriate.
8.4 Encrypting Web Browser Traffic
Since web browsers and web servers operate at the application
layer, we barely notice whether we are using encrypted or un-
encrypted connections. Web browsers use the URL convention
of replacing “http:” with “https:” to indicate that the browser is
to communicate with the web server using the Secure Transport
Layer instead of the unencrypted Transport layer. Your browser
will usually show a “lock” icon in the address bar to let you know
that you are communicating with a secure web site.
94 CHAPTER 8. SECURE TRANSPORT LAYER
There is a small overhead in setting up the https connections and
a small cost to encrypt and decrypt the data that is being sent.
Since https was slightly more costly, for a while it was used only
for pages that contained passwords, bank account numbers, or
other sensitive data.
But over time as networks have become faster and the https im-
plementations have gotten much more efficient, there is a trend
toward encrypting all web server interactions whenever you are
interacting with a web server where you have an account. The
current trend is towards using https for all web traffic.
8.5 Certificates and Certificate Authorities
While public/private key encryption works to allow the distribution
of encryption keys across insecure networks and the use of those
keys to encrypt transmissions, there is still a problem of knowing
if the public key that you have received when you connected to a
server is really from the organization it claims to be from.
Figure 8.3: Certificate Authorities and Public Keys
Perhaps you think you are connecting to www.amazon.com
but a rogue computer intercepts your traffic, claiming to be
8.6. SUMMARY 95
www.amazon.com and giving you a public key to use for encryp-
tion. If your web browser trusts the key, it will use the rogue
computer’s public key to encrypt your banking information and
send it to the rogue computer. Since the rogue computer gave
you the public key, it also has the corresponding private key and
is able to decrypt and abscond with your banking information.
So your computer needs to know who the key is actually coming
from. This is achieved by sending you a public key that is digi-
tally signed by a Certificate Authority (CA). When your computer
or browser is initially installed, it knows about a number of well-
known certificate authorities. If your browser is given a public
key that is signed by one of the well-known certificate authorities,
it trusts the key and uses it to encrypt and send your data. If
your computer receives a public key that is not signed by one of
its trusted certificate authorities, it will warn you before sending
your data using the key.
If you see a warning message about an untrusted certificate, you
should probably say “no” and figure out why your network traffic
is not being routed to the server that you think it is going to before
sending any sensitive data.
8.6 Summary
Since the Internet was nearly 20 years old before we needed
broadly deployed security, we had to find a way to add security to
the already existing four-layer model. The perfect place to add se-
curity was as an option in the Transport layer. This is why we call
secure connections on the Internet “Secure Sockets Layer” (SSL)
or “Transport Layer Security” (TLS). There are subtle differences
between SSL and TLS but they both encrypt data at the Transport
layer.
The invention of public/private key encryption was well timed in
that it solved the key distribution problem of shared-secret en-
cryption approaches. With public/private keys, the public encryp-
tion key can be routinely shared across insecure media. This
means we can use an unencrypted connection to exchange data
and upgrade the connection to a secure connection.
By inserting the secure layer at the top of the Transport layer, we
were able to avoid changing the Application, Internetwork, and
Link layers while still easily securing any Transport layer connec-
tion. This approach ensures that all data being sent across a con-
nection is encrypted before it leaves your computer. Given that
96 CHAPTER 8. SECURE TRANSPORT LAYER
many of us use wireless connections like WiFi, which are easily
monitored by attackers, it is a good idea to encrypt data before it
is sent across WiFi.
Browsers support secure connections by changing the prefix on
the URL from “http:” to “https:”. By keeping an eye on the URL,
end users can make sure they never send sensitive data across
insecure connections. A series of trusted Certificate Authorities
will sign public keys to give you an assurance that the key you
received is indeed from the organization you expect it to be.
The design of the Secure Transport Layer provides a secure and
yet easy-to-use mechanism for secure communications across
the Internet at a scale of trillions of pairs of interacting comput-
ers.
8.7 Glossary
asymmetric key: An approach to encryption where one (public)
key is used to encrypt data prior to transmission and a different
(private) key is used to decrypt data once it is received.
certificate authority: An organization that digitally signs public
keys after verifying that the name listed in the public key is actu-
ally the person or organization in possession of the public key.
ciphertext: A scrambled version of a message that cannot be
read without knowing the decryption key and technique.
decrypt: The act of transforming a ciphertext message to a plain
text message using a secret or key.
encrypt: The act of transforming a plain text message to a ci-
phertext message using a secret or key.
plain text: A readable message that is about to be encrypted
before being sent.
private key: The portion of a key pair that is used to decrypt
transmissions.
public key: The portion of a key pair that is used to encrypt
transmissions.
shared secret: An approach to encryption that uses the same
key for encryption and decryption.
SSL: Secure Sockets Layer. An approach that allows an appli-
cation to request that a Transport layer connection is to be en-
8.8. QUESTIONS 97
crypted as it crosses the network. Similar to Transport Layer Se-
curity (TLS).
TLS: Transport Layer Security. An approach that allows an ap-
plication to request that a Transport layer connection is to be en-
crypted as it crosses the network. Similar to Secure Sockets Layer
(SSL).
8.8 Questions
You can take this quiz online at http://www.net-intro.com/quiz/
1. How do we indicate that we want a secure connection when
using a web browser?
a) Use https:// in the URL
b) Use a secure web browser
c) Open an incognito window
d) Manually encode the address of the server using SHA1
2. Why is a shared-secret approach not suitable for use on the
Internet?
a) Because people would lose or misplace the secret
b) It is difficult to distribute the secrets
c) Encryption and decryption with shared secrets are too easily
broken
d) Encryption and decryption with shared secrets take too
much compute power
3. What is the underlying mathematical concept that makes
public/private key encryption secure?
a) Continuous functions
b) Taylor series
c) Karnaugh Maps
d) Prime numbers
4. Which of the keys can be sent across the Internet in plain
text without compromising security?
98 CHAPTER 8. SECURE TRANSPORT LAYER
a) Encryption key
b) Decryption Key
c) Shared Secret
d) Univerally Safe Key (USK)
5. Where does the Secure Sockets Layer (SSL) fit in the four-
layer Internet architecture?
a) Below the Link layer
b) Between the Link and Internetworking layers
c) Between the Internetworking and Transport layers
d) Between the Transport and Application layers
6. If you were properly using https in a browser over WiFi in a
cafe, which of the following is the greatest risk to your losing
credit card information when making an online purchase?
a) Someone captured the packets that were sent across the
WiFi
b) Someone captured the packets in the gateway router
c) Someone captured the packets as they passed through a
core Intenet router
d) You have a virus on your computer that is capturing
keystrokes
7. With the Secure Sockets Layer, where are packets encrypted
and decrypted?
a) They are encrypted and decrypted as they pass through the
router
b) Each physical link has its own separate encryption
c) They are encrypted in your computer and decrypted in the
server
d) They are encrypted in the WiFi gateway and decrypted in the
last router before the destination computer
8. What changes to the IP layer were needed to make secure
socket layer (SSL) work?
a) No changes were needed
b) We had to add support for Secure IP (IPSEC)
c) We needed to support longer packets in IP
8.8. QUESTIONS 99
d) The Time-To-Live (TTL) value needed to be encrypted
9. If a rogue element was able to monitor all packets going
through an undersea cable and you were using pub-
lic/private key encryption properly, which of the following
would be the most difficult for them to obtain?
a) What servers you were communicating with
b) How often you used the servers
c) How much data you retrieved from the servers
d) Which documents you retrieved from the servers
10. What is the purpose of a Certificate Authority in pub-
lic/private key encryption?
a) To make sure people do not forge badges for learning activi-
ties
b) To make sure packets get routed to the correct destination
computer
c) To assure us that a public key comes from the organization
it claims to be from
d) To choose when a particular country must switch from IPv4
to IPv6
11. The ARPANET network was in operation starting in the 1960s.
Secure Sockets Layer (SSL) was not invented util the 1980s.
How did the ARPANET insure the security of the data on its
network?
a) By using public/private keys and encrypting all transmis-
sions
b) By using encryption at the Link layer
c) By making sure no one could access the physical links
d) By only using secure WiFi routers
12. Which of these answers is “Security is fun” encrypted with a
Caesar Cipher shift of 1.
a) Ptsjduao rt dii
b) Wentudhs di dju
c) Tfdvsjuz jt gvo
d) Asdfghjk qw zxc
100 CHAPTER 8. SECURE TRANSPORT LAYER
13. What Caesar Cipher shift was used to encrypt “V yvxr fr-
phevgl”?
a) 1
b) 6
c) 13
d) 24