Network Security
For the first few decades of their existence, computer
networks were primarily used by university researchers for sending e-mail and
by corporate employees for sharing printers. Under these conditions, security
did not get a lot of attention. But now, as millions of ordinary citizens are
using networks for banking, shopping, and filing their tax returns, network
security is looming on the horizon as a potentially massive problem. In this
chapter, we will study network security from several angles, point out numerous
pitfalls, and discuss many algorithms and protocols for making networks more
secure.
Security is a broad topic and covers a multitude of sins. In
its simplest form, it is concerned with making sure that nosy people cannot
read, or worse yet, secretly modify messages intended for other recipients. It
is concerned with people trying to access remote services that they are not
authorized to use. It also deals with ways to tell whether that message
purportedly from the IRS saying: Pay by Friday or else is really from the IRS
and not from the Mafia. Security also deals with the problems of legitimate
messages being captured and replayed, and with people trying to deny that they
sent certain messages.
Most security problems are intentionally caused by malicious
people trying to gain some benefit, get attention, or to harm someone. A few of
the most common perpetrators are listed in Fig.
8-1. It should be clear from this list that making a network secure
involves a lot more than just keeping it free of programming errors. It
involves outsmarting often intelligent, dedicated, and sometimes well-funded
adversaries. It should also be clear that measures that will thwart casual
adversaries will have little impact on the serious ones. Police records show
that most attacks are not perpetrated by outsiders tapping a phone line but by
insiders with a grudge. Consequently, security systems should be designed with
this fact in mind.
Figure 8-1. Some people who cause security problems and why.
Network security problems can be divided roughly into four closely
intertwined areas: secrecy, authentication, nonrepudiation, and integrity
control. Secrecy, also called confidentiality, has to do with keeping
information out of the hands of unauthorized users. This is what usually comes
to mind when people think about network security. Authentication deals with
determining whom you are talking to before revealing sensitive information or
entering into a business deal. Nonrepudiation deals with signatures: How do you
prove that your customer really placed an electronic order for ten million
left-handed doohickeys at 89 cents each when he later claims the price was 69
cents? Or maybe he claims he never placed any order. Finally, how can you be
sure that a message you received was really the one sent and not something that
a malicious adversary modified in transit or concocted?
All these issues (secrecy, authentication, nonrepudiation, and
integrity control) occur in traditional systems, too, but with some significant
differences. Integrity and secrecy are achieved by using registered mail and
locking documents up. Robbing the mail train is harder now than it was in Jesse
James' day.
Also, people can usually tell the difference between an
original paper document and a photocopy, and it often matters to them. As a
test, make a photocopy of a valid check. Try cashing the original check at your
bank on Monday. Now try cashing the photocopy of the check on Tuesday. Observe
the difference in the bank's behavior. With electronic checks, the original and
the copy are indistinguishable. It may take a while for banks to learn how to
handle this.
People authenticate other people by recognizing their faces,
voices, and handwriting. Proof of signing is handled by signatures on
letterhead paper, raised seals, and so on. Tampering can usually be detected by
handwriting, ink, and paper experts. None of these options are available
electronically. Clearly, other solutions are needed.
Before getting into the solutions themselves, it is worth
spending a few moments considering where in the protocol stack network security
belongs. There is probably no one single place. Every layer has something to
contribute. In the physical layer, wiretapping can be foiled by enclosing
transmission lines in sealed tubes containing gas at high pressure. Any attempt
to drill into a tube will release some gas, reducing the pressure and
triggering an alarm. Some military systems use this technique.
In the data link layer, packets on a point-to-point line can
be encrypted as they leave one machine and decrypted as they enter another. All
the details can be handled in the data link layer, with higher layers oblivious
to what is going on. This solution breaks down when packets have to traverse
multiple routers, however, because packets have to be decrypted at each router,
leaving them vulnerable to attacks from within the router. Also, it does not
allow some sessions to be protected (e.g., those involving on-line purchases by
credit card) and others not. Nevertheless, link
encryption, as this method is called, can be added to any network easily
and is often useful.
In the network layer, firewalls can be installed to keep good
packets and bad packets out. IP security also functions in this layer.
In the transport layer, entire connections can be encrypted,
end to end, that is, process to process. For maximum security, end-to-end
security is required.
Finally, issues such as user authentication and nonrepudiation
can only be handled in the application layer.
It is well documented that most security failures at banks,
for example, are due to incompetent employees, lax security procedures, or
insider fraud, rather than clever criminals tapping phone lines and then
decoding encrypted messages. If a person can walk into a random branch of a
bank with an ATM slip he found on the street claiming to have forgotten his PIN
and get a new one on the spot (in the name of good customer relations), all the
cryptography in the world will not prevent abuse. In this respect, Ross
Anderson's book is a real eye-opener, as it documents hundreds of examples of
security failures in numerous industries, nearly all of them due to what might
politely be called sloppy business practices or inattention to security
(Anderson, 2001). Nevertheless, we are optimistic that as e-commerce becomes
more widespread, companies will eventually debug their operational procedures,
eliminating this loophole and bringing the technical aspects of security to
center stage again.
Except for physical layer security, nearly all security is
based on cryptographic principles. For this reason, we will begin our study of
security by examining cryptography in some detail. In Sec.
8.1, we will look at some of the basic principles. In Sec.
8-2 through Sec.
8-5, we will examine some of the fundamental algorithms and data structures
used in cryptography. Then we will examine in detail how these concepts can be
used to achieve security in networks. We will conclude with some brief thoughts
about technology and society.
Before starting, one last thought is in order: what is not
covered. We have tried to focus on networking issues, rather than operating
system and application issues, although the line is often hard to draw. For
example, there is nothing here about user authentication using biometrics,
password security, buffer overflow attacks, Trojan horses, login spoofing,
logic bombs, viruses, worms, and the like.
No comments:
Post a Comment
silahkan membaca dan berkomentar