Encryption and Secure Computer Networks
Encryption and Secure Computer Networks
There is increasing growth in the number of computer networks in use and in the kinds of
distributed computing applications available on these networks This increase, together
with concern about privacy, security, and integrity of information exchange, has created
considerable interest in the use of encryptlon to protect information in the networks
This survey is directed at the reader who ts knowledgeable about varmus network
designs and who now wishes to consider incorporating encryption methods into these
designs. It is also directed at developers of encryption algorithms who wish to understand
the characteristics of such algorithms useful in network applications.
Key management, network encryption protocols, digital signatures, and the utility of
conventional- or public-key encryptlon methods are each discussed. A case study of how
encryption was integrated into an actual network, the Arpanet, illustrates many issues
present m the design of a network encryption facdity.
Permission to copy without fee all or part of this materml is granted provided that the copies are not made or
distributed for direct commercial advantage, the ACM copymght notice and the title of the publication and its
date appear, and notice is given that copying is by permission of the Association for Computing Machinery To
copy otherwise, or to republmh, reqmres a fee and/or speofic permission
© 1979 ACM 0010-4892/79/1200-0331 $00.75
basis of that block only and the given key. of the key is able to send or receive trans-
It is easier to construct strong stream ci- missions in an intelligible way.
phers than strong block ciphers. However, Even using secure authentication, one is
stream ciphers have the characteristic that still subject to the problems caused by lost
an error in a given block makes subsequent messages, replayed valid messages, and the
blocks undecipherable. In many cases reuse of keys for multiple conversations
either method may be satisfactory, since {which exacerbates the replay problem). A
lower level network protocols can handle general authentication protocol which can
necessary retransmission of garbled or lost detect receipt of previously recorded mes-
blocks. Independent of whether a block or sages when the keys have not been changed
stream cipher is employed, some check is presented later. The actual procedures
data, as mentioned in Section 1.2, are still by which keys are distributed in the general
required to detect invalid blocks. In the case are, of course, important, and will be
stream cipher case, when an invalid block discussed in subsequent sections.
is discovered after decoding, the decryption
process must be reset to its state preceding 1 5.2 Private Communicatton
the invalid block.
Stream ciphers are less acceptable for The traditional use of encryption has been
computer use in general. If one wishes to in communications where the sender and
be able to update portions of a long en- receiver do not trust the transmission me-
crypted message (or file) selectively, then dium, be it a hand-carried note or mega-
block ciphers permit decryption, update, bytes shipped over high-capacity satellite
and reencryption of the relevant blocks channels. This use is crucial in computer
alone, while stream ciphers require reen- networks.
cryption of all subsequent blocks in the
stream. So block ciphers are usually pre- 1.5.3 Network Mad
ferred. The Lucifer system [FEIs73] is a
In the private communication function, it
candidate as a reasonably strong block ci-
is generally understood that first, all parties
pher. Whether or not the National Bureau
wishing to communicate are present, and
of Standards' Data Encryption Standard
second, they are willing to tolerate some
(DES), with its 56-bit keys, is suitably
overhead in order to get the conversation
strong is open to debate [DIFF77], but it is
established. A key distribution algorithm
being accepted by many commercial users
involving several messages and interaction
as adequate [NBS77].
with all participants would be acceptable.
In the case of electronic mail, which typi-
1.5 Network Applications of EncrypUon
cally involves short messages, it may be
Four general uses of encryption having ap- unreasonable for the actual transmission to
plication in computer networks are briefly require such significant overhead. Mail
described in this section. Much of the re- should not require that the receiver ac-
mainder of this paper is devoted to detailed tuaUy be present at the time the message is
discussion of them. sent or received. Since there is no need for
immediate delivery, it may be possible to
1.5.1 Authentication get lower overhead at the cost of increased
queuing delays.
One of the important requirements in com-
puter communications security is to pro-
1.5.4 Dtgital Signatures
vide a method by which participants in the
communication can identify one another in The goal here is to allow the author of a
a secure manner. Encryption solves this digitally represented message to "sign" it in
problem in several ways. First, possession such a fashion that the "signature" has
of the right key is taken as prima facie properties similar to an analog signature
evidence that the participant is able to en- written in ink for the paper world. Without
gage in the message exchanges. The trans- a suitable digital signature method, the
mitter can be assured that only the holder growth of distributed systems may be seri-
dence that the holder may access the cor- not even practical to embed the keys in
responding data. Holders may pass keys, applications software, since that would
just as capabilities may be passed. Methods mean the applications software would re-
for selective revocation of access are just as quire very high quality protection.
complex as those known for capability sys- The problem of key storage is also pres-
tems [FABR74]. The only known method is ent in the handling of removable media.
to decrypt the data and reencrypt with a Since an entire volume (tape or disk pack)
different key. This action invalidates all the can be encrypted with the same key (or
old keys and is obviously not very selective. small set of keys}, the size of the problem
Hence new keys must be redistributed to is reduced. If archival media are encrypted,
all those for whom access is still permitted. then the keys must be kept for a long period
in a highly reliable way. One solution to
1.7.3 Protecbon Against Modlhcatton this problem would be to store the keys on
the units to which they correspond, perhaps
Encryption by itself provides no protection even in several different places to avoid
against inadvertent or intentional modifi- local errors on the medium. The keys would
cation of the data. However, it can provide have to be protected, of course; a simple
the means of detecting that modification by way would be to encrypt them with yet a
including as part of the encrypted data a different "master" key. The protection of
number of check bits. When decryption is this master key is absolutely essential to
performed, if those bits do not match the the system's security.
expected values, then the data are known In addition, it is valuable for the access
to be invalid. control decision to be dependent on the
Detection of modification, however, is value of the data being protected, or even
often not enough protection. In large data- on the value of other, related data; salary
bases, for example, it is not uncommon for fields are perhaps the most quoted example.
very long periods to elapse before any par- In this case, the software involved, be it
ticular data item is referenced. It is only at applications or system procedures, must
this point that a modification would be maintain its own key table storage in order
detected. Error correcting codes could be to examine the cleartext form of the data
applied to the data after encryption in order successfully. That storage, as well as the
to provide redundancy. However, these will routines which directly access it, requires a
not be helpful if a malicious user has suc- high-quality protection mechanism beyond
ceeded in modifying stored data and has encryption.
destroyed the adjacent data containing the Since a separate, reliable protection
redundancy. Therefore, very high quality mechanism seems required for the heart of
recovery software would be necessary to a multiuser system, it is not clear that the
restore the data from (possibly very old) use of encryption (which requires the im-
archival records. plementation of a second mechanism) is
advisable for protection within the system.
1 7 4 Key Storage and Management
The system's protection mechanism can
Every data item that is to be protected usually be straightforwardly extended to
independently of other data items requires provide all necessary protection facilities.
encryption by its own key. This key must
be stored as long as it is desired to be able 2. SYSTEM AUTHENTICATION
to access the data. Thus, to be able to
protect a large number of long-lived data Authentication refers to the identification
items separately, the key storage and man- of one member of a communication to the
agement problem becomes formidable. The other in a reliable, unforgeable way. In early
collection of keys immediately becomes so interactive computer systems, the primary
large that safe system storage is essential. issue was to provide a method by which the
After all, it is not practical to require a user operating system could determine the iden-
to supply the key when needed, and it is tity of the user who was attempting to log
MESSAGE1 R E Q ~
KEYDISTRIBUTION J / ~ K v
MESSAGE, /
STEPS
F m U R E I. Key distributionand conversatlon establishment: conventlonal key algorithms. Note: [tJ] denotes
the cryptogram obtained from the cleartext t,encrypted wlth keyj.
Once A has received this message, A volved in the protection decision. One node
sends to B the data from the KDC intended chooses the key, and sends messages to
for B. Those data include the connection each of the other KDCs. Each KDC can
key Kc, as well as A's identity, all encrypted then decide whether the attempted channel
by B's secret key. Thus B now knows the is to be permitted and reply to the originat-
new key, that A is the other party, and that ing KDC. At that point the keys would be
all this came from the KDC. However B distributed to the participants. This ap-
does not know that the message he just proach has the obvious advantage that the
received is not a replay of some previous only nodes which must be properly func-
message. Thus B must send an identifier to tioning are those which support the in-
A encrypted by the connection key, upon tended participants. Each of the KDCs
which A can perform some function and must be able to communicate with all other
return the result to B. Now B knows that KDCs in a secure manner, implying that
A is current, i.e., there has not been a replay n * ( n - 1)/2 matched key pairs must have
of previous messages. Figure 1 illustrates been arranged. Of course, each node needs
the messages involved. Of the five mes- to store only n - 1 of them. For such a
sages, two can be avoided, in general, by method to be successful, it is also necessary
storing frequently used keys at the local for each KDC to communicate with the
sites, a technique known as caching. participants at its own node in a secure
fashion. This approach permits each host
3 1.2 Fully Distnbuted Key Control to enforce its own security policy if user
software is forced by the local system ar-
Here it is possible for every "intelligent" chitecture to use the network only through
node in the network to serve as a KDC for encrypted channels. This arrangement has
certain connections. (We assume some appeal in decentralized organizations.
nodes are "dumb," such as terminals or
possibly personal computers.) If the in-
3.1 3 H~erarch~cal Key Control
tended participants A~, A2. . . . . Am reside
at nodes N1, N2. . . . . Nm, then only the This method distributes the key control
KDCs at each of those nodes need be in- function among "local," "regional," and
MESSAGE1. R ~ U T H O R I T Y ~ G E 4?EQUEST,+TIME,
AUTHENTICATION
STEPS
Second, the user of the certificate must 3.3. Comparison of Public- and
decode it and check it (verify the signature) Conventional-Key Distribution for Private
each time before using it, and he must also Communication
have a secure and correct way of storing It should be clear that both of the above
the key. Perhaps most important, as keys protocols establish a secure channel, and
change, the cache and old certificates be- that both require the same amount of over-
come obsolete. This is essentially the ca- head to establish a connection (three mes-
pability revocation problem revisited sages). Even if that amount had been dif-
[REDE74]. Either the keys must be verified ferent by a message or two, the overhead is
(or re-requested) periodically, or a global still small compared to the number of mes-
search must be made whenever invalidating sages for which a typical connection will be
a key. Notice that even with the cache or used.
certificates, an internal authentication The above protocols can be modified to
mechanism is still required. handle multiple authorities; such modifi-
Public-key systems also have the prob- cations have also been performed by Need-
lem that it is more difficult to provide pro- ham and Schroeder [NEED78]. Again, the
tection policy checks. In particular, conven- number of messages can be reduced to three
tional encryption mechanisms easily allow by caching.
protection policy issues to be merged with It should also be noted that the safety of
key distribution. If two users may not com- these methods depends only on the safety
municate, then the key controller can refuse of the secret keys in the conventional
to distribute keys.~ However, public-key method or the private keys in the public-
systems imply the knowledge of the public key method. Thus an equivalent amount of
keys. Methods to add protection checks to secure storage is required.
public-key systems add an additional layer One might suspect, however, that the
of mechanism. software required to implement a public-
key authority would be simpler than that
for a KDC, and therefore it would be easier
to certify its correct operation. If this view
T h i s a p p r o a c h blocks c o m m u m c a t l o n if t h e h o s t
operating s y s t e m s are c o n s t r u c t e d m s u c h a way as to were correct, it would make public-key-
prohibit cleartext c o m m u m c a t l o n over t h e network based encryption potentially superior to
Computing Surveys, Vol ll, No 4, December 1979
Encryption and Secure Computer Networks • 345
conventional algorithms, despite the equiv- be encrypted only once as it was sent
alent protocol requirements. It is true that through the network (or networks) rather
the contents of the authority need not be than being decrypted and reencrypted a
protected against unauthorized reference, number of times, as implied by the low-
since the public keys are to be available to level choice. In fact, one could choose an
all, while the keys used in the authentica- even higher architectural level: Endpoints
tion protocol between the KDC and the could be individual processes within the
user must be protected against reference. operating systems of the machines that are
However, the standards of software relia- attached to the network. If the user were
bility which need to be imposed on the employing an intelligent terminal, then the
authority for the sake of correctness are not terminal would be a candidate for an end-
substantially different from those required point. This viewpoint envisions a single en-
for the development of a secure KDC. More cryption channel from the user directly to
convincing, all of the KDC keys could be the program with which he is interacting,
stored in encrypted form, using a KDC even though that program might be run-
master key, and only decrypted when ning on a site other than the one to which
needed. Then the security of the KDC is the terminal is connected. This high-level
reduced to protection of the KDC's master choice of endpoints is sometimes called
key and of the individual keys when in use. end- to-end encryption.
This situation is equivalent to the public- The choice of architectural level in which
key repository case, since there the private the encryption is to be integrated has many
key of the repository must be safely stored ramifications. One of the most important is
and protected during use. the combinatorics of key control versus the
It has also been pointed out that a con- amount of trusted software.
ventional KDC, since it issued the conver- In general, as one considers higher and
sation key, can listen in and in fact generate higher system levels, the number of identi-
what appear to be valid messages. Such fiable and separately protected entities in
action cannot be done by the public-key the system tends to increase, sometimes
repository. This distinction is minor how- dramatically. For example, while there are
ever. Given that both systems require a less than a hundred hosts attached to the
trusted agent, it is a simple matter to add Arpanet [ROBE73], at a higher level there
a few lines of certified correct code to the often are over a thousand processes con-
conventional-key agent (the KDC) that de- currently operating, each one separately
stroys conversation keys immediately after protected and controlled. The number of
distribution. Thus the system characteris- terminals is of course also high. This nu-
tics of both conventional- and public-key merical increase means that the number of
algorithms, as used to support private com- previously arranged secure channels--that
munication, are more similar than initially is, the number of separately distributed
expected. matched key pairs--is correspondingly
larger. Also, the rate at which keys must be
4. LEVELS OF INTEGRATION
generated and distributed can be dramati-
cally increased.
There are many possible choices of end- In return for the additional cost and com-
points for the encryption channel in a com- plexity which result from higher level
puter network, each with its own trade-offs. choices, there can be significant reduction
In a packet-switched network, one could in the amount of software whose correct
encrypt each line between two switches functioning has to be ensured. This issue is
separately from all other lines. This is a very important and must be carefully con-
low-level choice and is often called link sidered. It arises in the following way. When
encryption. Instead, the endpoints of the the lowest level (i.e., link encryption) is
encryption channels could be chosen at a chosen, the data being communicated exist
higher architectural level--at the host ma- in cleartext form as they are passed by the
chines which are connected to the network. switch from one encrypted link to the next.
Thus the encryption system would support Therefore the software in the switch must
host-host channels, and a message would be trusted not to intermix packets of differ-
Computmg Surveys, Vol 11, No 4, December 1979
346 • G. J. Popek and C. S. Khne
ent channels. If a higher level is selected, 1) How is the initial cleartext/ciphertext/
then protection errors in the switches are cleartext channel from sender to re-
of little consequence. If the higher level ceiver and back established?
chosen is host to host, however, operating 2) How are cleartext addresses passed by
system failures are still serious, because the the sender around the encryption facili-
data exist as cleartext while they are system ties to the network without providing a
resident. path by which cleartext data can be
In principle then, the highest level inte- inadvertently or intentionally leaked by
gration of encryption is most secure. How- the same means?
ever, it is still the case that the data must 3) What facilities are provided for error
be maintained in cleartext form in the ma- recovery and resynchronization of the
chine upon which processing is done. The protocol?
more classical methods of protection within 4) How are channels closed?
individual machines are still necessary, and 5) How do the encryption protocols inter-
the value of very high level end-end en- act with the rest of the network proto-
cryption is thereby somewhat lessened. A cols?
rather appealing choice of level that inte- 6) How much software is needed to imple-
grates effectively with kernel-structured ment the encryption protocols? Does the
operating system architectures is outlined security of the network depend on this
in the case study in Section 7. software?
Another operational drawback to high-
One wishes a protocol which permits
level encryption should be pointed out.
channels to be dynamically opened and
Once the data are encrypted, it is difficult
closed, allows the traffic flow rate to be
to perform meaningful operations on them.
controlled (by the receiver presumably),
Many front end systems provide such low-
and provides reasonable error handling, all
level functions as packing, character era-
with a minimum of mechanism upon which
sures, and transmission on end-of-line or
the security of the network depends. The
control-character detect. If the data are
more software involved, the more one must
encrypted when they reach the front end,
be concerned about the safety of the overall
then these functions cannot be performed.
network. Performance resulting from use of
Any channel processing must he done
the protocol must compare favorably with
above the level at which encryption takes
the attainable performance of the network
place, despite the fact that performance
using other protocols not including encryp-
and considerations such as the above some-
times imply a lower level. tion. One would prefer a general protocol
which could also be added to the existing
networks, disturbing their existing trans-
5. ENCRYPTION PROTOCOLS
mission mechanisms as little as possible.
Network communication protocols concern The appropriate level of integration of en-
the discipline imposed on messages sent cryption or the method of key distribution
throughout the network to control virtually must be considered as well.
all aspects of data traffic, both in amount Fortunately, the encryption channel can
and direction. Choice of protocol has dra- be managed independently of the conven-
matic impacts on the flexibility and band- tional communication channel, which is re-
width provided by the network. Since en- sponsible for communication initiation and
cryption facilities provide a potentially closing, flow control, error handling, and
large set of logical channels, the encryption the like. As a result, many protocol ques-
protocols by which the operation of these tions can be ignored by the encryption fa-
channels is managed also has significant cilities and can be handled by conventional
impact on system architecture and per- means.
formance. In Section 7 we outline a complete pro-
There are several important questions tocol in order to illustrate the ways in which
which any encryption protocol must an- these considerations interact and the inde-
swer: pendence that exists. The case considered
ComputingSurveys,VoL11,No.4, December1979
348 • G. J. Popek and C. S. Kline
U1 U2 Un NM NM" % % u~
~ PROCESSES
I/ \ / ISOFTWARE
F ~ L ~ _ ~ 7 ~ KERNEL
"AROmA"El\ /
'N,TWOR, NE"VOR, /
INTERFACE INTERFACE
~
' ~ ENCRYPTION ENCRYPTION/
UNIT UNIT
FIGURE 3. Data flow m process-to-process encrypted channels.
base at each node is a suitably small, secure so that switching computers which typi-
operating system kernel, which operates cally make up a network can route the
correctly. block appropriatelS
It is also expected that the amount of When the block arrives at the destination
software involved in management of the host computer, the network manager there
network from the operating system's point reads it in and strips off the header. It then
of view is substantial; therefore one does tells the kernel the process for which the
not wish to trust its correct operation. 6 Re- block is intended. The kernel informs the
sponsibilities of that software include estab- process, which can issue a Decrypt call,
fishing communications channels, support- causing the data to be decrypted with the
ing retransmission when errors are de- key previously arranged for that process. If
tected, controlling data flow rates, multi- this block really is intended for this process
plexing multiple logical channels on the (i.e., encrypted with the matching key),
(usually) single physical network connec- then the data are successfully received.
tion, and assisting or making routing deci- Otherwise, decryption with the wrong key
sions. We call the modules which provide yields nonsense. The encrypt and decrypt
these functions the network manager. functions manage sequence numbers in a
Let us assume for the moment that the manner invisible to the user, as discussed
keys have already been distributed and in Section 1.3.
logical channels established so far as Clearly this whole mechanism depends
the network managers are concerned. The on suitable distribution of keys, together
operating system nucleus in each case with informing the network managers in a
has been augmented with new calls: coordinated way of the appropriate end-
Encrypt( channel name, data) and De. points of the channel. It is worth noting at
crypt(channel name, data destination). this stage that matched keys form a well-
Whenever a process wishes to send an en- defined communication channel, and that
crypted block of data, it issues the Encrypt in the structure just outlined, it is not pos-
call. The nucleus takes the data, causes sible for processes to communicate to the
them to be encrypted, and informs the net- network or the network manager directly;
work manager, which can read the block only the encrypt and decrypt functions can
into its workspace. If we assume that the be used for this purpose. It is for this latter
network manager knows what destination reason that application software cannot
site is intended (which it must learn as part communicate in cleartext over the network,
of estaljlishing the logical channel), it then an advantage if that code is not trusted (the
can place a cleartext header on the en- usual assumption in military examples).
crypted block and send it out onto the
network. The cleartext header is essential
7 N e t w o r k e n c r y p t i o n facilities m u s t , m general, pro-
vide s o m e way to supply t h e h e a d e r of a m e s s a g e in
6 As an example, in t h e A r p a n e t software for t h e U m x cleartext, even t h o u g h t h e body is encrypted. Other-
operating s y s t e m , t h e network software is c o m p a r a b l e wise every node o n possibly multiple n e t w o r k s h a s to
m size to t h e operating s y s t e m itself be able to e x a m i n e every message, this is not practical.
~oRecall that these sequence numbers are added to 7.2 System Initialization Procedures
the cleartext by the kernel Encrypt call before encryp-
t]on. They are removed and checked after decryption The task of initializing the network soft-
by a Decrypt call issued at the receiving site before
dehvery to the user. Hence, if desired, sequence num- ware is composed of two important parts.
bers can be handled by the encryption unit itself and First, it is necessary to establish keys for
never be seen by kernel software. If such a choice is the secure kernel-kernel channels and the
made, then the conventional network protocols sup-
ported by the NM will need another set of sequence N M - N M channels. Next, the NM can ini-
numbers for error control. tialize itself and its communications with