8.6 Communication Security
We have now finished our study of the tools of the trade. Most
of the important techniques and protocols have been covered.
In the following four sections, we will look at communication
security, that is, how to get the bits secretly and without modification from
source to destination and how to keep unwanted bits outside the door. These are
by no means the only security issues in networking, but they are certainly
among the most important ones, making this a good place to start.
8.6.1 IPsec
IETF has known for years that security was lacking in the
Internet. Adding it was not easy because a war broke out about where to put it.
Most security experts believe that to be really secure, encryption and
integrity checks have to be end to end (i.e., in the application layer). That
is, the source process encrypts and/or integrity protects the data and sends
that to the destination process where it is decrypted and/or verified. Any
tampering done in between these two processes, including within either
operating system, can then be detected. The trouble with this approach is that
it requires changing all the applications to make them security aware. In this
view, the next best approach is putting encryption in the transport layer or in
a new layer between the application layer and the transport layer, making it
still end to end but not requiring applications to be changed.
The opposite view is that users do not understand security and
will not be capable of using it correctly and nobody wants to modify existing
programs in any way, so the network layer should authenticate and/or encrypt
packets without the users being involved. After years of pitched battles, this
view won enough support that a network layer security standard was defined. In
part the argument was that having network layer encryption does not prevent
security-aware users from doing it right and it does help security-unaware
users to some extent.
The result of this war was a design called IPsec (IP security),
which is described in RFCs 2401, 2402, and 2406, among others. Not all users
want encryption (because it is computationally expensive). Rather than make it
optional, it was decided to require encryption all the time but permit the use
of a null algorithm. The null algorithm is described and praised for its
simplicity, ease of implementation, and great speed in RFC 2410.
The complete IPsec design is a framework for multiple services,
algorithms and granularities. The reason for multiple services is that not
everyone wants to pay the price for having all the services all the time, so
the services are available a la carte. The major services are secrecy, data
integrity, and protection from replay attacks (intruder replays a
conversation). All of these are based on symmetric-key cryptography because
high performance is crucial.
The reason for having multiple algorithms is that an algorithm
that is now thought to be secure may be broken in the future. By making IPsec
algorithm-independent, the framework can survive even if some particular
algorithm is later broken.
The reason for having multiple granularities is to make it
possible to protect a single TCP connection, all traffic between a pair of
hosts, or all traffic between a pair of secure routers, among other
possibilities.
One slightly surprising aspect of IPsec is that even though it
is in the IP layer, it is connection oriented. Actually, that is not so
surprising because to have any security, a key must be established and used for
some period of time—in essence, a kind of connection. Also connections amortize
the setup costs over many packets. A ''connection'' in the context of IPsec is
called an SA (security
association). An SA is a simplex connection between two end points and
has a security identifier associated with it. If secure traffic is needed in
both directions, two security associations are required. Security identifiers
are carried in packets traveling on these secure connections and are used to
look up keys and other relevant information when a secure packet arrives.
Technically, IPsec has two principal parts. The first part
describes two new headers that can be added to packets to carry the security
identifier, integrity control data, and other information. The other part, ISAKMP (Internet Security
Association and Key Management Protocol) deals with establishing keys.
We will not deal with ISAKMP further because (1) it is extremely complex and
(2) its main protocol, IKE (Internet Key Exchange), is deeply flawed and needs
to be replaced (Perlman and Kaufman, 2000).
IPsec can be used in either of two modes. In transport mode, the IPsec header is inserted just
after the IP header. The Protocol field in the
IP header is changed to indicate that an IPsec header follows the normal IP
header (before the TCP header). The IPsec header contains security information,
primarily the SA identifier, a new sequence number, and possibly an integrity
check of the payload.
In tunnel mode, the entire IP
packet, header and all, is encapsulated in the body of a new IP packet with a
completely new IP header. Tunnel mode is useful when the tunnel ends at a
location other than the final destination. In some cases, the end of the tunnel
is a security gateway machine, for example, a company firewall. In this mode,
the firewall encapsulates and decapsulates packets as they pass though the
firewall. By terminating the tunnel at this secure machine, the machines on the
company LAN do not have to be aware of IPsec. Only the firewall has to know
about it.
Tunnel mode is also useful when a bundle of TCP connections is
aggregated and handled as one encrypted stream because it prevents an intruder
from seeing who is sending how many packets to whom. Sometimes just knowing how
much traffic is going where is valuable information. For example, if during a
military crisis, the amount of traffic flowing between the Pentagon and the
White House drops sharply, but the amount of traffic between the Pentagon and
some military installation deep in the Colorado Rocky Mountains increases by
the same amount, an intruder might be able to deduce some useful information
from this data. Studying the flow patterns of packets, even if they are
encrypted, is called traffic analysis. Tunnel
mode provides a way to foil it to some extent. The disadvantage of tunnel mode
is that it adds an extra IP header, thus increasing packet size substantially.
In contrast, transport mode does not affect packet size as much.
The first new header is AH (Authentication Header). It provides integrity
checking and antireplay security, but not secrecy (i.e., no data encryption).
The use of AH in transport mode is illustrated in Fig.
8-27. In IPv4 it is interposed between the IP header (including any
options) and the TCP header. In IPv6 it is just another extension header and
treated as such. In fact, the format is close to that of a standard IPv6
extension header. The payload may have to be padded out to some particular
length for the authentication algorithm, as shown.
Figure 8-27. The IPsec authentication header in transport mode for IPv4.
Let us now examine the AH header. The Next
header field is used to store the previous value that the IP Protocol field had before it was replaced with 51 to
indicate that an AH header follows. In most cases, the code for TCP (6) will go
here. The Payload length is the number of 32-bit
words in the AH header minus 2.
The Security parameters index
is the connection identifier. It is inserted by the sender to indicate a
particular record in the receiver's database. This record contains the shared
key used on this connection and other information about the connection. If this
protocol had been invented by ITU rather than IETF, this field would have been
called Virtual circuit number.
The Sequence number field is
used to number all the packets sent on an SA. Every packet gets a unique
number, even retransmissions. In other words, the retransmission of a packet
gets a different number here than the original (even though its TCP sequence
number is the same). The purpose of this field is to detect replay attacks.
These sequence numbers may not wrap around. If all 232 are
exhausted, a new SA must be established to continue communication.
Finally, we come to the Authentication
data, which is a variable-length field that contains the payload's
digital signature. When the SA is established, the two sides negotiate which
signature algorithm they are going to use. Normally, public-key cryptography is
not used here because packets must be processed extremely rapidly and all known
public-key algorithms are too slow. Since IPsec is based on symmetric-key
cryptography and the sender and receiver negotiate a shared key before setting
up an SA, the shared key is used in the signature computation. One simple way
is to compute the hash over the packet plus the shared key. The shared key is
not transmitted, of course. A scheme like this is called an HMAC (Hashed Message
Authentication Code). It is much faster to compute than first running
SHA-1 and then running RSA on the result.
The AH header does not allow encryption of the data, so it is
mostly useful when integrity checking is needed but secrecy is not needed. One
noteworthy feature of AH is that the integrity check covers some of the fields
in the IP header, namely, those that do not change as the packet moves from
router to router. The Time to live field changes
on each hop, for example, so it cannot be included in the integrity check. However,
the IP source address is included in the check, making it impossible for an
intruder to falsify the origin of a packet.
The alternative IPsec header is ESP
(Encapsulating Security Payload). Its use for
both transport mode and tunnel mode is shown in Fig.
8-28.
Figure 8-28. (a) ESP in transport mode. (b) ESP in tunnel mode.
The ESP header consists of two 32-bit words. They are the Security parameters index and Sequence
number fields that we saw in AH. A third word that generally follows
them (but is technically not part of the header) is the Initialization vector used for the data encryption,
unless null encryption is used, in which case it is omitted.
ESP also provides for HMAC integrity checks, as does AH, but
rather than being included in the header, they come after the payload, as shown
in Fig.
8-28. Putting the HMAC at the end has an advantage in a hardware
implementation. The HMAC can be calculated as the bits are going out over the
network interface and appended to the end. This is why Ethernet and other LANs
have their CRCs in a trailer, rather than in a header. With AH, the packet has
to be buffered and the signature computed before the packet can be sent,
potentially reducing the number of packets/sec that can be sent.
Given that ESP can do everything AH can do and more and is
more efficient to boot, the question arises: Why bother having AH at all? The
answer is mostly historical. Originally, AH handled only integrity and ESP
handled only secrecy. Later, integrity was added to ESP, but the people who
designed AH did not want to let it die after all that work. Their only real
argument, however, is that AH checks part of the IP header, which ESP does not,
but it is a weak argument. Another weak argument is that a product supporting AH
but not ESP might have less trouble getting an export license because it cannot
do encryption. AH is likely to be phased out in the future.
8.6.2 Firewalls
The ability to connect any computer, anywhere, to any other
computer, anywhere, is a mixed blessing. For individuals at home, wandering
around the Internet is lots of fun. For corporate security managers, it is a
nightmare. Most companies have large amounts of confidential information
on-line—trade secrets, product development plans, marketing strategies,
financial analyses, etc. Disclosure of this information to a competitor could
have dire consequences.
In addition to the danger of information leaking out, there is
also a danger of information leaking in. In particular, viruses, worms, and
other digital pests can breach security, destroy valuable data, and waste large
amounts of administrators' time trying to clean up the mess they leave. Often
they are imported by careless employees who want to play some nifty new game.
Consequently, mechanisms are needed to keep ''good'' bits in
and ''bad'' bits out. One method is to use IPsec. This approach protects data
in transit between secure sites. However, IPsec does nothing to keep digital
pests and intruders from getting onto the company LAN. To see how to accomplish
this goal, we need to look at firewalls.
Firewalls are just a modern
adaptation of that old medieval security standby: digging a deep moat around
your castle. This design forced everyone entering or leaving the castle to pass
over a single drawbridge, where they could be inspected by the I/O police. With
networks, the same trick is possible: a company can have many LANs connected in
arbitrary ways, but all traffic to or from the company is forced through an
electronic drawbridge (firewall), as shown in Fig.
8-29.
Figure 8-29. A firewall consisting of two packet filters and an application gateway.
The firewall in this configuration has two components: two
routers that do packet filtering and an application gateway. Simpler
configurations also exist, but the advantage of this design is that every
packet must transit two filters and an application gateway to go in or out. No
other route exists. Readers who think that one security checkpoint is enough
clearly have not made an international flight on a scheduled airline recently.
Each packet filter is a
standard router equipped with some extra functionality. The extra functionality
allows every incoming or outgoing packet to be inspected. Packets meeting some criterion
are forwarded normally. Those that fail the test are dropped.
In Fig.
8-29, most likely the packet filter on the inside LAN checks outgoing
packets and the one on the outside LAN checks incoming packets. Packets
crossing the first hurdle go to the application gateway for further
examination. The point of putting the two packet filters on different LANs is
to ensure that no packet gets in or out without having to pass through the
application gateway: there is no path around it.
Packet filters are typically driven by tables configured by
the system administrator. These tables list sources and destinations that are
acceptable, sources and destinations that are blocked, and default rules about
what to do with packets coming from or going to other machines.
In the common case of a TCP/IP setting, a source or
destination consists of an IP address and a port. Ports indicate which service
is desired. For example, TCP port 23 is for telnet, TCP port 79 is for finger,
and TCP port 119 is for USENET news. A company could block incoming packets for
all IP addresses combined with one of these ports. In this way, no one outside
the company could log in via telnet or look up people by using the Finger
daemon. Furthermore, the company would be spared from having employees spend
all day reading USENET news.
Blocking outgoing packets is trickier because although most
sites stick to the standard port numbering conventions, they are not forced to
do so. Furthermore, for some important services, such as FTP (File Transfer
Protocol), port numbers are assigned dynamically. In addition, although
blocking TCP connections is difficult, blocking UDP packets is even harder
because so little is known a priori about what they will do. Many packet
filters are configured to simply ban UDP traffic altogether.
The second half of the firewall is the application gateway. Rather than just looking at raw
packets, the gateway operates at the application level. A mail gateway, for
example, can be set up to examine each message going in or coming out. For each
one, the gateway decides whether to transmit or discard the message based on
header fields, message size, or even the content (e.g., at a military
installation, the presence of words like ''nuclear'' or ''bomb'' might cause
some special action to be taken).
Installations are free to set up one or more application
gateways for specific applications, but it is not uncommon for suspicious
organizations to permit e-mail in and out, and perhaps permit use of the World
Wide Web, but to ban everything else as too dicey. Combined with encryption and
packet filtering, this arrangement offers a limited amount of security at the
cost of some inconvenience.
Even if the firewall is perfectly configured, plenty of
security problems still exist. For example, if a firewall is configured to
allow in packets from only specific networks (e.g., the company's other
plants), an intruder outside the firewall can put in false source addresses to
bypass this check. If an insider wants to ship out secret documents, he can
encrypt them or even photograph them and ship the photos as JPEG files, which
bypasses any word filters. And we have not even discussed the fact that 70% of
all attacks come from inside the firewall, for example, from disgruntled
employees (Schneier, 2000).
In addition, there is a whole other class of attacks that
firewalls cannot deal with. The basic idea of a firewall is to prevent
intruders from getting in and secret data from getting out. Unfortunately,
there are people who have nothing better to do than try to bring certain sites
down. They do this by sending legitimate packets at the target in great numbers
until it collapses under the load. For example, to cripple a Web site, an
intruder can send a TCP SYN packet to establish
a connection. The site will then allocate a table slot for the connection and
send a SYN + ACK packet in reply. If the
intruder does not respond, the table slot will be tied up for a few seconds
until it times out. If the intruder sends thousands of connection requests, all
the table slots will fill up and no legitimate connections will be able to get
through. Attacks in which the intruder's goal is to shut down the target rather
than steal data are called DoS (Denial of Service) attacks. Usually, the request
packets have false source addresses so the intruder cannot be traced easily.
An even worse variant is one in which the intruder has already
broken into hundreds of computers elsewhere in the world, and then commands all
of them to attack the same target at the same time. Not only does this approach
increase the intruder's firepower, it also reduces his chance of detection,
since the packets are coming from a large number of machines belonging to
unsuspecting users. Such an attack is called a DDoS
(Distributed Denial of Service) attack. This
attack is difficult to defend against. Even if the attacked machine can quickly
recognize a bogus request, it does take some time to process and discard the
request, and if enough requests per second arrive, the CPU will spend all its
time dealing with them.
8.6.3 Virtual Private Networks
Many companies have offices and plants scattered over many
cities, sometimes over multiple countries. In the olden days, before public
data networks, it was common for such companies to lease lines from the
telephone company between some or all pairs of locations. Some companies still
do this. A network built up from company computers and leased telephone lines
is called a private network. An example
private network connecting three locations is shown in Fig.
8-30(a).
Figure 8-30. (a) A leased-line private network. (b) A virtual private network.
Private networks work fine and are very secure. If the only
lines available are the leased lines, no traffic can leak out of company
locations and intruders have to physically wiretap the lines to break in, which
is not easy to do. The problem with private networks is that leasing a single
T1 line costs thousands of dollars a month and T3 lines are many times more
expensive. When public data networks and later the Internet appeared, many
companies wanted to move their data (and possibly voice) traffic to the public
network, but without giving up the security of the private network.
This demand soon led to the invention of VPNs (Virtual Private
Networks), which are overlay networks on top of public networks but with
most of the properties of private networks. They are called ''virtual'' because
they are merely an illusion, just as virtual circuits are not real circuits and
virtual memory is not real memory.
Although VPNs can be implemented on top of ATM (or frame
relay), an increasingly popular approach is to build VPNs directly over the
Internet. A common design is to equip each office with a firewall and create
tunnels through the Internet between all pairs of offices, as illustrated in Fig.
8-30(b). If IPsec is used for the tunneling, then it is possible to
aggregate all traffic between any two pairs of offices onto a single
authenticated, encrypted SA, thus providing integrity control, secrecy, and
even considerable immunity to traffic analysis.
When the system is brought up, each pair of firewalls has to
negotiate the parameters of its SA, including the services, modes, algorithms,
and keys. Many firewalls have VPN capabilities built in, although some ordinary
routers can do this as well. But since firewalls are primarily in the security
business, it is natural to have the tunnels begin and end at the firewalls,
providing a clear separation between the company and the Internet. Thus,
firewalls, VPNs, and IPsec with ESP in tunnel mode are a natural combination
and widely used in practice.
Once the SAs have been established, traffic can begin flowing.
To a router within the Internet, a packet traveling along a VPN tunnel is just
an ordinary packet. The only thing unusual about it is the presence of the
IPsec header after the IP header, but since these extra headers have no effect
on the forwarding process, the routers do not care about this extra header.
A key advantage of organizing a VPN this way is that it is
completely transparent to all user software. The firewalls set up and manage the
SAs. The only person who is even aware of this setup is the system
administrator who has to configure and manage the firewalls. To everyone else,
it is like having a leased-line private network again. For more about VPNs, see
(Brown, 1999; and Izzo, 2000).
8.6.4 Wireless Security
It is surprisingly easy to design a system that is logically
completely secure by using VPNs and firewalls, but that, in practice, leaks
like a sieve. This situation can occur if some of the machines are wireless and
use radio communication, which passes right over the firewall in both
directions. The range of 802.11 networks is often a few hundred meters, so
anyone who wants to spy on a company can simply drive into the employee parking
lot in the morning, leave an 802.11-enabled notebook computer in the car to
record everything it hears, and take off for the day. By late afternoon, the
hard disk will be full of valuable goodies. Theoretically, this leakage is not
supposed to happen. Theoretically, people are not supposed to rob banks,
either.
Much of the security problem can be traced to the
manufacturers of wireless base stations (access points) trying to make their
products user friendly. Usually, if the user takes the device out of the box
and plugs it into the electrical power socket, it begins operating
immediately—nearly always with no security at all, blurting secrets to everyone
within radio range. If it is then plugged into an Ethernet, all the Ethernet
traffic suddenly appears in the parking lot as well. Wireless is a snooper's
dream come true: free data without having to do any work. It therefore goes
without saying that security is even more important for wireless systems than
for wired ones. In this section, we will look at some ways wireless networks
handle security. Some additional information can be found in (Nichols and
Lekkas, 2002).
802.11 Security
The 802.11 standard prescribes a data link-level security
protocol called WEP (Wired Equivalent Privacy), which is designed to make
the security of a wireless LAN as good as that of a wired LAN. Since the
default for wired LANs is no security at all, this goal is easy to achieve, and
WEP achieves it, as we shall see.
When 802.11 security is enabled, each station has a secret key
shared with the base station. How the keys are distributed is not specified by
the standard. They could be preloaded by the manufacturer. They could be
exchanged in advance over the wired network. Finally, either the base station
or user machine could pick a random key and send it to the other one over the
air encrypted with the other one's public key. Once established, keys generally
remain stable for months or years.
WEP encryption uses a stream cipher based on the RC4
algorithm. RC4 was designed by Ronald Rivest and kept secret until it leaked out
and was posted to the Internet in 1994. As we have pointed out before, it is
nearly impossible to keep algorithms secret, even when the goal is guarding
intellectual property (as it was in this case) rather than security by
obscurity (which was not the goal with RC4). In WEP, RC4 generates a keystream
that is XORed with the plaintext to form the ciphertext.
Each packet payload is encrypted using the method of Fig.
8-31. First the payload is checksummed using the CRC-32 polynomial and the
checksum appended to the payload to form the plaintext for the encryption
algorithm. Then this plaintext is XORed with a chunk of keystream its own size.
The result is the ciphertext. The IV used to start RC4 is sent along with the
ciphertext. When the receiver gets the packet, it extracts the encrypted
payload from it, generates the keystream from the shared secret key and the IV
it just got, and XORs the keystream with the payload to recover the plaintext.
It can then verify the checksum to see if the packet has been tampered with.
Figure 8-31. Packet encryption using WEP.
While this approach looks good at first glance, a method for
breaking it has already been published (Borisov et al., 2001). Below we will
summarize their results. First of all, surprisingly many installations use the
same shared key for all users, in which case each user can read all the other
users' traffic. This is certainly equivalent to Ethernet, but it is not very
secure.
But even if each user has a distinct key, WEP can still be
attacked. Since keys are generally stable for long periods of time, the WEP
standard recommends (but does not mandate) that IV be changed on every packet
to avoid the keystream reuse attack we discussed in Sec.
8.2.3. Unfortunately, many 802.11 cards for notebook computers reset IV to
0 when the card is inserted into the computer, and increment it by one on each
packet sent. Since people often remove and reinsert these cards, packets with
low IV values are common. If Trudy can collect several packets sent by the same
user with the same IV value (which is itself sent in plaintext along with each
packet), she can compute the XOR of two plaintext values and probably break the
cipher that way.
But even if the 802.11 card picks a random IV for each packet,
the IVs are only 24 bits, so after 224 packets have been sent, they
have to be reused. Worse yet, with randomly chosen IVs, the expected number of
packets that have to be sent before the same one is used twice is about 5000,
due to the birthday attack described in Sec.
8.4.4. Thus, if Trudy listens for a few minutes, she is almost sure to
capture two packets with the same IV and same key. By XORing the ciphertexts
she is able to obtain the XOR of the plaintexts. This bit sequence can be
attacked in various ways to recover the plaintexts. With some more work, the
keystream for that IV can also be obtained. Trudy can continue working like
this for a while and compile a dictionary of keystreams for various IVs. Once
an IV has been broken, all the packets sent with it in the future (but also in
the past) can be fully decrypted.
Furthermore, since IVs are used at random, once Trudy has
determined a valid (IV, keystream) pair, she can use it to generate all the
packets she wants to using it and thus actively interfere with communication.
Theoretically, a receiver could notice that large numbers of packets suddenly
all have the same IV, but (1) WEP allows this, and (2) nobody checks for this
anyway.
Finally, the CRC is not worth much, since it is possible for
Trudy to change the payload and make the corresponding change to the CRC,
without even having to remove the encryption In short, breaking 802.11's
security is fairly straightforward, and we have not even listed all the attacks
Borisov et al. found.
In August 2001, a month after the Borisov et al. paper was
presented, another devastating attack on WEP was published (Fluhrer et al.,
2001). This one found cryptographic weaknesses in RC4 itself. Fluhrer et al.
discovered that many of the keys have the property that it is possible to
derive some key bits from the keystream. If this attack is performed
repeatedly, it is possible to derive the entire key with a modest amount of
effort. Being somewhat theoretically inclined, Fluhrer et al. did not actually
try to break any 802.11 LANs.
In contrast, when a summer student and two researchers at
AT&T Labs learned about the Fluhrer et al. attack, they decided to try it
out for real (Stubblefield et al., 2002). Within a week they had broken their
first 128-bit key on a production 802.11 LAN, and most of the week was actually
devoted to looking for the cheapest 802.11 card they could find, getting
permission to buy it, installing it, and testing it. The programming took only
two hours.
When they announced their results, CNN ran a story entitled
''Off-the-Shelf Hack Breaks Wireless Encryption,'' in which some industry gurus
tried to pooh-pooh their results by saying what they had done was trivial,
given the Fluhrer et al. results. While that remark is technically true, the
fact remains that the combined efforts of these two teams demonstrated a fatal
flaw in WEP and 802.11.
On September 7, 2001, IEEE responded to the fact that WEP was
now completely broken by issuing a short statement making six points that can
be roughly summarized as follows:
1. We
told you that WEP security was no better than Ethernet's.
2. A
much bigger threat is forgetting to enable security at all.
3. Try
using some other security (e.g., transport layer security).
4. The
next version, 802.11i, will have better security.
5. Future
certification will mandate the use of 802.11i.
6. We
will try to figure out what to do until 802.11i arrives.
We have gone through this story in some detail to make the
point that getting security right is not easy, even for experts.
Bluetooth Security
Bluetooth has a considerably shorter range than 802.11, so it
cannot be attacked from the parking lot, but security is still an issue here.
For example, imagine that Alice's computer is equipped with a wireless
Bluetooth keyboard. In the absence of security, if Trudy happened to be in the
adjacent office, she could read everything Alice typed in, including all her outgoing
e-mail. She could also capture everything Alice's computer sent to the
Bluetooth printer sitting next to it (e.g., incoming e-mail and confidential
reports). Fortunately, Bluetooth has an elaborate security scheme to try to
foil the world's Trudies. We will now summarize the main features of it below.
Bluetooth has three security modes, ranging from nothing at
all to full data encryption and integrity control. As with 802.11, if security
is disabled (the default), there is no security. Most users have security
turned off until a serious breach has occurred; then they turn it on. In the
agricultural world, this approach is known as locking the barn door after the
horse has escaped.
Bluetooth provides security in multiple layers. In the
physical layer, frequency hopping provides a tiny bit of security, but since
any Bluetooth device that moves into a piconet has to be told the frequency
hopping sequence, this sequence is obviously not a secret. The real security
starts when the newly-arrived slave asks for a channel with the master. The two
devices are assumed to share a secret key set up in advance. In some cases,
both are hardwired by the manufacturer (e.g., for a headset and mobile phone
sold as a unit). In other cases, one device (e.g., the headset) has a hardwired
key and the user has to enter that key into the other device (e.g., the mobile
phone) as a decimal number. These shared keys are called passkeys.
To establish a channel, the slave and master each check to see
if the other one knows the passkey. If so, they negotiate whether that channel
will be encrypted, integrity controlled, or both. Then they select a random
128-bit session key, some of whose bits may be public. The point of allowing
this key weakening is to comply with government restrictions in various
countries designed to prevent the export or use of keys longer than the
government can break.
Encryption uses a stream cipher called E0; integrity control uses SAFER+. Both are traditional symmetric-key block
ciphers. SAFER+ was submitted to the AES bake-off, but was eliminated in the
first round because it was slower than the other candidates. Bluetooth was
finalized before the AES cipher was chosen; otherwise it would most likely have
used Rijndael.
The actual encryption using the stream cipher is shown in Fig.
8-14, with the plaintext XORed with the keystream to generate the
ciphertext. Unfortunately, E 0 itself
(like RC4) may have fatal weaknesses (Jakobsson and Wetzel, 2001). While it was
not broken at the time of this writing, its similarities to the A5/1 cipher,
whose spectacular failure compromises all GSM telephone traffic, are cause for
concern (Biryukov et al., 2000). It sometimes amazes people (including the
author), that in the perennial cat-and-mouse game between cryptographers and
cryptanalysts, the cryptanalysts are so often on the winning side.
Another security issue is that Bluetooth authenticates only
devices, not users, so theft of a Bluetooth device may give the thief access to
the user's financial and other accounts. However, Bluetooth also implements
security in the upper layers, so even in the event of a breach of link-level
security, some security may remain, especially for applications that require a
PIN code to be entered manually from some kind of keyboard to complete the
transaction.
WAP 2.0 Security
For the most part, the WAP Forum learned its lesson from
having a nonstandard protocol stack in WAP 1.0. WAP 2.0 largely uses standard
protocols in all layers. Security is no exception. Since it is IP based, it
supports full use of IPsec in the network layer. In the transport layer, TCP
connections can be protected by TLS, an IETF standard. Higher still, it uses
HTTP client authentication, as defined in RFC 2617. Application-layer crypto
libraries provide for integrity control and nonrepudiation. All in all, since
WAP 2.0 is based on well-known standards, there is a chance that its security
services, in particular, privacy, authentication, integrity control, and
nonrepudiation may fare better than 802.11 and Bluetooth security.
No comments:
Post a Comment
silahkan membaca dan berkomentar