W4-NS
Network Security Essentials: Applications and Standards
Sixth Edition
Chapter 4
Key Distribution and User Authentication
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
If this PowerPoint presentation contains mathematical equations, you may need to check that your computer has the following installed:
1) MathType Plugin
2) Math Player (free versions available)
3) NVDA Reader (free versions available)
This chapter provides a general overview of the subject matter that structures the material in the remainder of the book. We begin with a general discussion of network security services and mechanisms and of the types of attacks they are designed for. Then we develop a general overall model within which the security services and mechanisms can be viewed.
Remote User Authentication Principles (1 of 2)
In most computer security contexts, user authentication is the fundamental building block and the primary line of defense
User authentication is the basis for most types of access control and for user accountability
R F C 4949 (Internet Security Glossary) defines user authentication as the process of verifying an identity claimed by or for a system entity
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
In most computer security contexts, user authentication is the fundamental building
block and the primary line of defense. User authentication is the basis for most
types of access control and for user accountability. RFC 4949 (Internet Security
Glossary) defines user authentication as the process of verifying an identity claimed
by or for a system entity. This process consists of two steps:
■ Identification step: Presenting an identifier to the security system. (Identifiers
should be assigned carefully, because authenticated identities are the basis for
other security services, such as access control service.)
■ Verification step: Presenting or generating authentication information that
corroborates the binding between the entity and the identifier.
In essence, identification is the means by which a user provides a claimed identity
to the system; user authentication is the means of establishing the validity of
the claim. Note that user authentication is distinct from message authentication. As
defined in Chapter 3, message authentication is a procedure that allows communicating
parties to verify that the contents of a received message have not been altered and
that the source is authentic. This chapter is concerned solely with user authentication.
2
Remote User Authentication Principles (2 of 2)
Identification step
Presenting an identifier to the security system
Verification step
Presenting or generating authentication information that corroborates the binding between the entity and the identifier
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
In most computer security contexts, user authentication is the fundamental building
block and the primary line of defense. User authentication is the basis for most
types of access control and for user accountability. RFC 4949 (Internet Security
Glossary) defines user authentication as the process of verifying an identity claimed
by or for a system entity. This process consists of two steps:
■ Identification step: Presenting an identifier to the security system. (Identifiers
should be assigned carefully, because authenticated identities are the basis for
other security services, such as access control service.)
■ Verification step: Presenting or generating authentication information that
corroborates the binding between the entity and the identifier.
In essence, identification is the means by which a user provides a claimed identity
to the system; user authentication is the means of establishing the validity of
the claim. Note that user authentication is distinct from message authentication. As
defined in Chapter 3, message authentication is a procedure that allows communicating
parties to verify that the contents of a received message have not been altered and
that the source is authentic. This chapter is concerned solely with user authentication.
3
N I S T Model for Electronic User Authentication
N I S T S P 800-63-2 (Electronic Authentication Guideline, August 2013 defines electronic user authentication as the process of establishing confidence in user identities that are presented electronically to an information system
Systems can use the authenticated identity to determine if the authenticated individual is authorized to perform particular functions
In many cases, the authentication and transaction or other authorized function take place across an open network such as the Internet
Equally, authentication and subsequent authorization can take place locally, such as across a local area network
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
NIST SP 800-63-2 (Electronic Authentication Guideline , August 2013) defines electronic
user authentication as the process of establishing confidence in user identities
that are presented electronically to an information system. Systems can use the authenticated
identity to determine if the authenticated individual is authorized to perform
particular functions, such as database transactions or access to system resources. In
many cases, the authentication and transaction or other authorized function take
place across an open network such as the Internet. Equally, authentication and subsequent
authorization can take place locally, such as across a local area network.
4
Figure 4-1: The N I S T S P 800-63-2 E-Authentication Architectural Model
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
SP 800-63-2 defines a general model for user authentication that involves
a number of entities and procedures. We discuss this model with reference to
Figure 4.1.
The initial requirement for performing user authentication is that the user must
be registered with the system. The following is a typical sequence for registration. An
applicant applies to a registration authority (RA) to become a subscriber of a credential
service provider (CSP). In this model, the RA is a trusted entity that establishes
and vouches for the identity of an applicant to a CSP. The CSP then engages
in an exchange with the subscriber. Depending on the details of the overall authentication
system, the CSP issues some sort of electronic credential to the subscriber.
The credential is a data structure that authoritatively binds an identity and additional
attributes to a token possessed by a subscriber, and can be verified when presented
to the verifier in an authentication transaction. The token could be an encryption
key or an encrypted password that identifies the subscriber. The token may be issued
by the CSP, generated directly by the subscriber, or provided by a third party. The
token and credential may be used in subsequent authentication events.
Once a user is registered as a subscriber, the actual authentication process can
take place between the subscriber and one or more systems that perform authentication
and, subsequently, authorization. The party to be authenticated is called a
claimant and the party verifying that identity is called a verifier. When a claimant
successfully demonstrates possession and control of a token to a verifier through an
authentication protocol, the verifier can verify that the claimant is the subscriber
named in the corresponding credential. The verifier passes on an assertion about the
identity of the subscriber to the relying party (RP). That assertion includes identity
information about a subscriber, such as the subscriber name, an identifier assigned
at registration, or other subscriber attributes that were verified in the registration
process. The RP can use the authenticated information provided by the verifier to
make access control or authorization decisions.
An implemented system for authentication will differ from or be more complex
than this simplified model, but the model illustrates the key roles and functions
needed for a secure authentication system.
5
Means of Authentication (1 of 2)
There are four general means of authenticating a user’s identity, which can be used alone or in combination
Something the individual knows
Examples include a password, a personal identification number (P I N), or answers to a prearranged set of questions
Something the individual possesses
Examples include cryptographic keys, electronic keycards, smart cards, and physical keys
This type of authenticator is referred to as a token
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
There are four general means of authenticating a user’s identity, which can be used
alone or in combination:
■ Something the individual knows: Examples include a password, a personal
identification number (PIN), or answers to a prearranged set of questions.
■ Something the individual possesses: Examples include cryptographic keys,
electronic keycards, smart cards, and physical keys. This type of authenticator
is referred to as a token .
■ Something the individual is (static biometrics): Examples include recognition
by fingerprint, retina, and face.
■ Something the individual does (dynamic biometrics): Examples include
recognition by voice pattern, handwriting characteristics, and typing rhythm.
All of these methods, properly implemented and used, can provide secure
user authentication. However, each method has problems. An adversary may be
able to guess or steal a password. Similarly, an adversary may be able to forge or
steal a token. A user may forget a password or lose a token. Furthermore, there
is a significant administrative overhead for managing password and token information
on systems and securing such information on systems. With respect to biometric
authenticators, there are a variety of problems, including dealing with false
positives and false negatives, user acceptance, cost, and convenience. For network-based
user authentication, the most important methods involve cryptographic keys
and something the individual knows, such as a password.
6
Means of Authentication (2 of 2)
Something the individual is (static biometrics)
Examples include recognition by fingerprint, retina, and face
Something the individual does (dynamic biometrics)
Examples include recognition by voice pattern, handwriting characteristics, and typing rhythm
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
There are four general means of authenticating a user’s identity, which can be used
alone or in combination:
■ Something the individual knows: Examples include a password, a personal
identification number (PIN), or answers to a prearranged set of questions.
■ Something the individual possesses: Examples include cryptographic keys,
electronic keycards, smart cards, and physical keys. This type of authenticator
is referred to as a token .
■ Something the individual is (static biometrics): Examples include recognition
by fingerprint, retina, and face.
■ Something the individual does (dynamic biometrics): Examples include
recognition by voice pattern, handwriting characteristics, and typing rhythm.
All of these methods, properly implemented and used, can provide secure
user authentication. However, each method has problems. An adversary may be
able to guess or steal a password. Similarly, an adversary may be able to forge or
steal a token. A user may forget a password or lose a token. Furthermore, there
is a significant administrative overhead for managing password and token information
on systems and securing such information on systems. With respect to biometric
authenticators, there are a variety of problems, including dealing with false
positives and false negatives, user acceptance, cost, and convenience. For network-based
user authentication, the most important methods involve cryptographic keys
and something the individual knows, such as a password.
7
Symmetric Key Distribution using Symmetric Encryption
For symmetric encryption to work, the two parties to an exchange must share the same key, and that key must be protected from access by others
Frequent key changes are usually desirable to limit the amount of data compromised if an attacker learns the key
Key distribution technique
The means of delivering a key to two parties that wish to exchange data, without allowing others to see the key
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
8
For symmetric encryption to work, the two parties to an exchange must share
the same key, and that key must be protected from access by others. Furthermore,
frequent key changes are usually desirable to limit the amount of data compromised
if an attacker learns the key. Therefore, the strength of any cryptographic
system rests with the “key distribution technique,” a term that refers to the means of
delivering a key to two parties that wish to exchange data, without allowing others
to see the key.
Key Distribution
For two parties A and B, there are the following options:
A key can be selected by A and physically delivered to B
A third party can select the key and physically deliver it to A and B
If A and B have previously and recently used a key, one party could transmit the new key to the other, using the old key to encrypt the new key
If A and B each have an encrypted connection to a third party C, C could deliver a key on the encrypted links to A and B
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Key distribution can be achieved in a number of ways. For two
parties A and B, there are the following options:
1. A key could be selected by A and physically delivered to B.
2. A third party could select the key and physically deliver it to A and B.
3. If A and B have previously and recently used a key, one party could transmit
the new key to the other, using the old key to encrypt the new key.
4. If A and B each have an encrypted connection to a third party C, C could
deliver a key on the encrypted links to A and B.
Options 1 and 2 call for manual delivery of a key. For link encryption, this is
a reasonable requirement, because each link encryption device is only going to be
exchanging data with its partner on the other end of the link. However, for end-to-end
encryption over a network, manual delivery is awkward. In a distributed system,
any given host or terminal may need to engage in exchanges with many other
hosts and terminals over time. Thus, each device needs a number of keys supplied
dynamically. The problem is especially difficult in a wide-area distributed system.
Option 3 is a possibility for either link encryption or end-to-end encryption,
but if an attacker ever succeeds in gaining access to one key, then all subsequent
keys are revealed. Even if frequent changes are made to the link encryption keys,
these should be done manually. To provide keys for end-to-end encryption, option
4 is preferable.
For option 4 , two kinds of keys are used:
• Session key: When two end systems (hosts,
terminals, etc.) wish to communicate,
they establish a logical connection (e.g., virtual circuit). For the duration
of that logical connection, called a session, all user data are encrypted with
a one-time session key. At the conclusion of the session the session key is
destroyed.
• Permanent key: A permanent key is a key used between entities for the purpose
of distributing session keys.
A necessary element of option 4 is a key distribution center (KDC) . The KDC
determines which systems are allowed to communicate with each other. When permission
is granted for two systems to establish a connection, the key distribution
center provides a one-time session key for that connection.
In general terms, the operation of a KDC proceeds as follows:
1. When host A wishes to set up a connection to host B, it transmits a connection request
packet to the KDC. The communication between A and the KDC is
encrypted using a master key shared only by A and the KDC.
2. If the KDC approves the connection request, it generates a unique one-time
session key. It encrypts the session key using the permanent key it shares with
A and delivers the encrypted session key to A. Similarly, it encrypts the session
key using the permanent key it shares with B and delivers the encrypted session
key to B.
3. A and B can now set up a logical connection and exchange messages and data,
all encrypted using the temporary session key.
The automated key distribution approach provides the flexibility and dynamic
characteristics needed to allow a number of users to access a number of servers and
for the servers to exchange data with each other. The most widely used application
that implements this approach is Kerberos, described in the next section.
9
Kerberos (1 of 2)
Key distribution and user authentication service developed at M I T
Provides a centralized authentication server whose function is to authenticate users to servers and servers to users
Relies exclusively on symmetric encryption, making no use of public-key encryption
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Kerberos is a key distribution and user authentication service developed at MIT.
The problem that Kerberos addresses is this: Assume an open distributed environment
in which users at workstations wish to access services on servers distributed
throughout the network. We would like for servers to be able to restrict access to
authorized users and to be able to authenticate requests for service. In this environment,
a workstation cannot be trusted to identify its users correctly to network
services. In particular, the following three threats exist:
1. A user may gain access to a particular workstation and pretend to be another
user operating from that workstation.
2. A user may alter the network address of a workstation so that the requests
sent from the altered workstation appear to come from the impersonated
workstation.
3. A user may eavesdrop on exchanges and use a replay attack to gain entrance
to a server or to disrupt operations.
In any of these cases, an unauthorized user may be able to gain access to services
and data that he or she is not authorized to access. Rather than building elaborate
authentication protocols at each server, Kerberos provides a centralized authentication
server whose function is to authenticate users to servers and servers to users.
Kerberos relies exclusively on symmetric encryption, making no use of public-key
encryption.
Two versions of Kerberos are in use. Version 4 [MILL88, STEI88] implementations
still exist, although this version is being phased out. Version 5 [KOHL94]
corrects some of the security deficiencies of version 4 and has been issued as a proposed
Internet Standard (RFC 4120).
Because of the complexity of Kerberos, it is best to start with a description
of version 4. This enables us to see the essence of the Kerberos strategy without
considering some of the details required to handle subtle security threats. Then, we
examine version 5.
10
Kerberos (2 of 2)
Two versions are in use
Version 4 implementations still exist, although this version is being phased out
Version 5 corrects some of the security deficiencies of version 4 and has been issued as a proposed Internet Standard (R F C 4120)
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Kerberos is a key distribution and user authentication service developed at MIT.
The problem that Kerberos addresses is this: Assume an open distributed environment
in which users at workstations wish to access services on servers distributed
throughout the network. We would like for servers to be able to restrict access to
authorized users and to be able to authenticate requests for service. In this environment,
a workstation cannot be trusted to identify its users correctly to network
services. In particular, the following three threats exist:
1. A user may gain access to a particular workstation and pretend to be another
user operating from that workstation.
2. A user may alter the network address of a workstation so that the requests
sent from the altered workstation appear to come from the impersonated
workstation.
3. A user may eavesdrop on exchanges and use a replay attack to gain entrance
to a server or to disrupt operations.
In any of these cases, an unauthorized user may be able to gain access to services
and data that he or she is not authorized to access. Rather than building elaborate
authentication protocols at each server, Kerberos provides a centralized authentication
server whose function is to authenticate users to servers and servers to users.
Kerberos relies exclusively on symmetric encryption, making no use of public-key
encryption.
Two versions of Kerberos are in use. Version 4 [MILL88, STEI88] implementations
still exist, although this version is being phased out. Version 5 [KOHL94]
corrects some of the security deficiencies of version 4 and has been issued as a proposed
Internet Standard (RFC 4120).
Because of the complexity of Kerberos, it is best to start with a description
of version 4. This enables us to see the essence of the Kerberos strategy without
considering some of the details required to handle subtle security threats. Then, we
examine version 5.
11
Kerberos Version 4
A basic third-party authentication scheme
Authentication Server (A S)
Users initially negotiate with A S to identify self
A S provides a non-corruptible authentication credential (ticket granting ticket T G T)
Ticket Granting Server (T G S)
Users subsequently request access to other services from T G S on basis of users T G T
Complex protocol using D E S
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
12
Version 4 of Kerberos makes use of DES, in a rather elaborate protocol, to provide
the authentication service. Viewing the protocol as a whole, it is difficult to see the
need for the many elements contained therein. Therefore, we adopt a strategy used
by Bill Bryant [BRYA88] and build up to the full protocol by looking first at several
hypothetical dialogues. Each successive dialogue adds additional complexity to
counter security vulnerabilities revealed in the preceding dialogue.
In an unprotected network environment,
any client can apply to any server for service. The obvious security risk is that of
impersonation. An opponent can pretend to be another client and obtain unauthorized
privileges on server machines. To counter this threat, servers must be able to
confirm the identities of clients who request service. Each server can be required to
undertake this task for each client/server interaction, but in an open environment,
this places a substantial burden on each server.
An alternative is to use an authentication server (AS) that knows the passwords
of all users and stores these in a centralized database. In addition, the AS
shares a unique secret key with each server. These keys have been distributed
physically or in some other secure manner.
Although the foregoing scenario solves
some of the problems of authentication in an open network environment, problems
remain. Two in particular stand out. First, we would like to minimize the number
of times that a user has to enter a password. Suppose each ticket can be used only
once. If user C logs on to a workstation in the morning and wishes to check his or her
mail at a mail server, C must supply a password to get a ticket for the mail server.
If C wishes to check the mail several times during the day, each attempt requires
reentering the password. We can improve matters by saying that tickets are reusable.
For a single logon session, the workstation can store the mail-server ticket after it is
received and use it on behalf of the user for multiple accesses to the mail server.
However, under this scheme, it remains the case that a user would need a new
ticket for every different service. If a user wished to access a print server, a mail
server, a file server, and so on, the first instance of each access would require a new
ticket and hence require the user to enter the password.
The second problem is that the earlier scenario involved a plaintext transmission
of the password [message (1)]. An eavesdropper could capture the password
and use any service accessible to the victim.
To solve these additional problems, we introduce a scheme for avoiding plaintext
passwords and a new server, known as the ticket-granting server (TGS) .
The new service, TGS, issues tickets to users who have been authenticated to
AS. Each time the user requires
access to a new service, the client applies to the TGS, using the ticket to authenticate
itself. The TGS then grants a ticket for the particular service. The client saves
each service-granting ticket and uses it to authenticate its user to a server each time
a particular service is requested.
Table 4-1: Summary of Kerberos Version 4 Message Exchanges
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4.1, shows the actual Kerberos protocol.
Table 4.1a shows the technique for distributing the session key.
13
Figure 4-2: Overview of Kerberos
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Figure 4.2 provides simplified overview.
14
Figure 4-3: Kerberos Exchanges
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Figure 4.2 illustrates the Kerberos exchanges among the parties.
15
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (1 of 7)
(a) Authentication Service Exchange
| Message (1) | Client requests ticket-granting ticket. |
| I D sub c | Tells A S identity of user from this client. |
| I D sub t g s | Tells A S that user requests access to T G S. |
| T S sub 1 | Allows A S to verify that client's clock is synchronized with that of A S. |
| Message (2) | A S returns ticket-granting ticket. |
| K sub c | Encryption is based on user's password. enabling A S and client to verify password. and protecting contents of message (2). |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4.2 summarizes the justification for each of the elements in the Kerberos protocol.
16
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (2 of 7)
| K sub c t g s | Copy of session key accessible to client created by A S to permit secure exchange between client and T G S without requiring them to share a permanent key. |
| I D sub t g s | Confirms that this ticket is for the T G S. |
| T S sub 2 | Informs client of time this ticket was issued. |
| Lifetime sub 2 | Informs client of the lifetime of this ticket. |
| Ticket sub t g s | Ticket to be used by client to access T G S. |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (3 of 7)
(b) Ticket-Granting Service Exchange
| Message (3) | Client requests service-granting ticket. |
| I D sub v | Tells T G S that user requests access to server V. |
| Ticket sub t g s | Assures T G S that this user has been authenticated by A S. |
| Authenticator sub c | Generated by client to validate ticket . |
| Message (4) | T G S returns service-granting ticket. |
| K sub c t g s | Key shared only by C and T G S protects contents of message(4) |
| K sub c comma v | Copy or session key ‘accessible to client created by T G S to permit secure exchange between client and server Without requiring them to share a permanent key. |
| I D sub v | Confirms that this ticket is for server V. |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (4 of 7)
| T S sub 4 | Informs client of time this ticket was issued. |
| Ticket sub v | Ticket to be used by client to access server V. |
| Ticket sub t g s | Reusable so that user does not have to reenter password. |
| K sub t g s | Ticket is encrypted with key known only to A S and T G S, to prevent Tampering. |
| K sub c t g s | Copy or session key accessible to T G S used to decrypt authenticator, thereby authenticating ticket. |
| I D sub c | Indicates the rightful owner or this ticket. |
| A D sub c | Prevents use of ticket from workstation other than one that initially requested the ticket. |
| I D sub t g s | Assures server that it has decrypted ticket properly. |
| T S sub 2 | Informs T G S or time this ticket was issued. |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (5 of 7)
| Lifetime sub 2 | Prevents replay after ticket has expired. |
| Authenticator sub c | Assures T G S that the ticket presenter is the same as the client for whom the ticket Was issued has very short lifetime to prevent replay. |
| K sub c t g s | Authenticator is encrypted with key known only to client and T G S to prevent tampering. |
| I D sub c | Must match I D in ticket to authenticate ticket. |
| A D sub c | Must match address in ticket to authenticate ticket |
| T S sub 3 | Informs T G S or time this authenticator was generated. |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (6 of 7)
(c) Client/Server Authentication
| Message (5) | Client requests service. |
| Ticket sub v | Assures server that this user has been authenticated by A S. |
| Authenticator sub c | Generated by client to validate ticket. |
| Message (6) | Optional authentication of server to client. |
| K sub c, v | Assures C that this message is from V. |
| T S sub 5 plus 1 | Assures C that this is not a replay of an old reply. |
| Ticket sub v | Reusable so that client does not need to request a new ticket from T G S for each access to the same server. |
| K sub v | Ticket is encrypted with key known only to T G S and server to prevent Tampering. |
| K sub c, v | Copy of session key accessible to client: used to decrypt authenticator thereby authenticating ticket. |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4-2 Rationale for the Elements of the Kerberos Version 4 Protocol (7 of 7)
| I D sub c | Indicates the rightful owner of this ticket. |
| A D sub c | prevents use of ticket from workstation other than one that initially requested the ticket. |
| I D sub v | Assures server that it has decrypted ticket properly. |
| T S sub 4 | Informs server of time this ticket was issued. |
| Lifetime sub 4 | Prevents replay after ticket has expired. |
| Authenticator sub c | Assures server that the ticket presenter is the same as the client for whom the ticket was issued: has very short lifetime to prevent replay. |
| K sub c, v | Authenticator is encrypted with key known only to client and server to prevent tampering. |
| I D sub c | Must match I D in ticket to authenticate ticket. |
| A D sub c | Must match address in ticket to authenticate ticket. |
| T S sub 5 | Informs server of time this authenticator was generated. |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
22
Kerberos Realms (1 of 2)
A set of managed nodes that share the same Kerberos database
The Kerberos database resides on the Kerberos master computer system, which should be kept in a physically secure room
A read-only copy of the Kerberos database might also reside on other Kerberos computer systems
All changes to the database must be made on the master computer system
Changing or accessing the contents of a Kerberos database requires the Kerberos master password
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
A full-service Kerberos environment
consisting of a Kerberos server, a number of clients, and a number of application
servers requires the following:
1. The Kerberos server must have the user ID and hashed passwords of all participating
users in its database. All users are registered with the Kerberos
server.
2. The Kerberos server must share a secret key with each server. All servers are
registered with the Kerberos server.
Such an environment is referred to as a Kerberos realm . The concept of realm
can be explained as follows. A Kerberos realm is a set of managed nodes that share
the same Kerberos database. The Kerberos database resides on the Kerberos master
computer system, which should be kept in a physically secure room. A read-only
copy of the Kerberos database might also reside on other Kerberos computer systems.
However, all changes to the database must be made on the master computer
system. Changing or accessing the contents of a Kerberos database requires the
Kerberos master password.
23
Kerberos Realms (2 of 2)
A Kerberos environment consists of:
A Kerberos server
A number of clients
A number of application servers
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
A full-service Kerberos environment
consisting of a Kerberos server, a number of clients, and a number of application
servers requires the following:
1. The Kerberos server must have the user ID and hashed passwords of all participating
users in its database. All users are registered with the Kerberos
server.
2. The Kerberos server must share a secret key with each server. All servers are
registered with the Kerberos server.
Such an environment is referred to as a Kerberos realm . The concept of realm
can be explained as follows. A Kerberos realm is a set of managed nodes that share
the same Kerberos database. The Kerberos database resides on the Kerberos master
computer system, which should be kept in a physically secure room. A read-only
copy of the Kerberos database might also reside on other Kerberos computer systems.
However, all changes to the database must be made on the master computer
system. Changing or accessing the contents of a Kerberos database requires the
Kerberos master password.
24
Kerberos Principal
A service or user that is known to the Kerberos system
Each Kerberos principal is identified by its principal name
Principal names consist of three parts
A service or user name + An instance name + A realm name = Principal name
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
A related concept is that of a Kerberos principal, which
is a service or user that is known to the Kerberos system. Each Kerberos principal is
identified by its principal name. Principal names consist of three parts: a service or
user name, an instance name, and a realm name.
Networks of clients and servers under different administrative organizations
typically constitute different realms. That is, it generally is not practical or does not
conform to administrative policy to have users and servers in one administrative
domain registered with a Kerberos server elsewhere. However, users in one realm
may need access to servers in other realms, and some servers may be willing to provide
service to users from other realms, provided that those users are authenticated.
25
Differences between Versions 4 and 5
| Environmental Shortcomings Encryption system dependence Internet protocol dependence Message byte ordering Ticket lifetime Authentication forwarding Interrealm authentication | Technical Deficiencies Double encryption P C B C encryption Session keys Password attacks |
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Version 5 is intended to address the
limitations of version 4 in two areas: environmental shortcomings and technical
deficiencies. We briefly summarize the improvements in each area. Kerberos version
4 did not fully address the need to be of general purpose. This led to the following
environmental shortcomings
Encryption system dependence
Internet protocol dependence
Message byte ordering
Ticket lifetime
Authentication forwarding
Interrealm authentication
Apart from these environmental limitations, there are technical deficiencies
in the version 4 protocol itself. Most of these deficiencies were documented in
[BELL90], and version 5 attempts to address these. The deficiencies are the
Following:
Double encryption
PCBC encryption
Session keys
Password attacks
26
Table 4-3: Summary of Kerberos Version 5 Message Exchanges
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Table 4.3 summarizes the basic version
5 dialogue. This is best explained by comparison with version 4 (Table 4.1).
First, consider the authentication service exchange . Message (1) is a client
request for a ticket-granting ticket. As before, it includes the ID of the user and the
TGS. The following new elements are added:
■ Realm: Indicates realm of user.
■ Options: Used to request that certain flags be set in the returned ticket.
■ Times: Used by the client to request the following time settings in the ticket:
from: the desired start time for the requested ticket
till: the requested expiration time for the requested ticket
rtime: requested renew-till time
■ Nonce: A random value to be repeated in message (2) to assure that the
response is fresh and has not been replayed by an opponent.
Message (2) returns a ticket-granting ticket, identifying information for the
client, and a block encrypted using the encryption key based on the user’s password.
This block includes the session key to be used between the client and the TGS, times
specified in message (1), the nonce from message (1), and TGS identifying information.
The ticket itself includes the session key, identifying information for the client,
the requested time values, and flags that reflect the status of this ticket and the
requested options. These flags introduce significant new functionality to version 5.
For now, we defer a discussion of these flags and concentrate on the overall structure
of the version 5 protocol.
Let us now compare the ticket-granting service exchange for versions 4 and 5.
We see that message (3) for both versions includes an authenticator, a ticket, and
the name of the requested service. In addition, version 5 includes requested times
and options for the ticket and a nonce—all with functions similar to those of message
(1). The authenticator itself is essentially the same as the one used in version 4.
Message (4) has the same structure as message (2). It returns a ticket plus
information needed by the client, with the information encrypted using the session
key now shared by the client and the TGS.
Finally, for the client/server authentication exchange , several new features
appear in version 5. In message (5), the client may request as an option that mutual
authentication is required.
If mutual authentication is required, the server responds with message (6).
This message includes the timestamp from the authenticator. Note that in version 4,
the timestamp was incremented by one. This is not necessary in version 5, because
the nature of the format of messages is such that it is not possible for an opponent
to create message (6) without knowledge of the appropriate encryption keys. The
subkey field, if present, overrides the subkey field, if present, in message (5). The
optional sequence number field specifies the starting sequence number to be used
by the client.
27
Key Distribution using Asymmetric Encryption (1 of 2)
One of the major roles of public-key encryption is to address the problem of key distribution
There are two distinct aspects to the use of public-key encryption in this regard:
The distribution of public keys
The use of public-key encryption to distribute secret keys
Public-key certificate
Consists of a public key plus a user I D of the key owner, with the whole block signed by a trusted third party
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
One of the major roles of public-key encryption is to address the problem of key
distribution. There are actually two distinct aspects to the use of public-key encryption
in this regard.
• The distribution of public keys.
• The use of public-key encryption to distribute secret keys.
On the face of it, the point of public-key encryption is that the public key is public.
Thus, if there is some broadly accepted public-key algorithm, such as RSA, any
participant can send his or her public key to any other participant or broadcast the
key to the community at large. Although this approach is convenient, it has a major
weakness. Anyone can forge such a public announcement. That is, some user could
pretend to be user A and send a public key to another participant or broadcast such
a public key. Until such time as user A discovers the forgery and alerts other participants,
the forger is able to read all encrypted messages intended for A and can use
the forged keys for authentication.
The solution to this problem is the public-key certificate . In essence, a certificate
consists of a public key plus a user ID of the key owner, with the whole block
signed by a trusted third party. Typically, the third party is a certificate authority
(CA) that is trusted by the user community, such as a government agency or a financial
institution. A user can present his or her public key to the authority in a secure
manner and obtain a certificate. The user can then publish the certificate. Anyone
needing this user’s public key can obtain the certificate and verify that it is valid by
way of the attached trusted signature. Figure 4.3 illustrates the process.
One scheme has become universally accepted for formatting public-key certificates:
the X.509 standard. X.509 certificates are used in most network security
applications, including IP security, secure sockets layer (SSL), and S/MIME—all of
which are discussed in subsequent chapters. X.509 is examined in detail in the next
section.
28
Key Distribution using Asymmetric Encryption (2 of 2)
Typically, the third party is a certificate authority (C A) that is trusted by the user community, such as a government agency or a financial institution
A user can present his or her public key to the authority in a secure manner and obtain a certificate
The user can then publish the certificate
Anyone needing this user’s public key can obtain the certificate and verify that it is valid by way of the attached trusted signature
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
One of the major roles of public-key encryption is to address the problem of key
distribution. There are actually two distinct aspects to the use of public-key encryption
in this regard.
• The distribution of public keys.
• The use of public-key encryption to distribute secret keys.
On the face of it, the point of public-key encryption is that the public key is public.
Thus, if there is some broadly accepted public-key algorithm, such as RSA, any
participant can send his or her public key to any other participant or broadcast the
key to the community at large. Although this approach is convenient, it has a major
weakness. Anyone can forge such a public announcement. That is, some user could
pretend to be user A and send a public key to another participant or broadcast such
a public key. Until such time as user A discovers the forgery and alerts other participants,
the forger is able to read all encrypted messages intended for A and can use
the forged keys for authentication.
The solution to this problem is the public-key certificate . In essence, a certificate
consists of a public key plus a user ID of the key owner, with the whole block
signed by a trusted third party. Typically, the third party is a certificate authority
(CA) that is trusted by the user community, such as a government agency or a financial
institution. A user can present his or her public key to the authority in a secure
manner and obtain a certificate. The user can then publish the certificate. Anyone
needing this user’s public key can obtain the certificate and verify that it is valid by
way of the attached trusted signature. Figure 4.3 illustrates the process.
One scheme has become universally accepted for formatting public-key certificates:
the X.509 standard. X.509 certificates are used in most network security
applications, including IP security, secure sockets layer (SSL), and S/MIME—all of
which are discussed in subsequent chapters. X.509 is examined in detail in the next
section.
29
Figure 4-4: Public-Key Certificate Use
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Figure 4.4 illustrates the generation of a public-key certificate.
30
X.509 Certificates
I T U-T recommendation X.509 is part of the X.500 series of recommendations that define a directory service
Defines a framework for the provision of authentication services by the X.500 directory to its users
The directory may serve as a repository of public-key certificates
Defines alternative authentication protocols based on the use of public-key certificates
Was initially issued in 1988
Based on the use of public-key cryptography and digital signatures
The standard does not dictate the use of a specific algorithm but recommends R S A
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
31
ITU-T recommendation X.509 is part of the X.500 series of recommendations that
define a directory service. The directory is, in effect, a server or distributed set
of servers that maintains a database of information about users. The information
includes a mapping from user name to network address, as well as other attributes
and information about the users.
X.509 defines a framework for the provision of authentication services by the
X.500 directory to its users. The directory may serve as a repository of public-key
certificates. Each certificate contains the public key of a user and is signed with the
private key of a trusted certification authority. In addition, X.509 defines alternative
authentication protocols based on the use of public-key certificates.
X.509 is an important standard because the certificate structure and authentication
protocols defined in X.509 are used in a variety of contexts. For example, the
X.509 certificate format is used in S/MIME (Chapter 8), IP Security (Chapter 9),
and SSL/TLS (Chapter 6).
X.509 was initially issued in 1988. The standard was subsequently revised
in 1993 to address some of the security concerns documented in [IANS90] and
[MITC90]. The standard is currently at version 7, issued in 2012.
Figure 4-5: X.509 Formats
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
X.509 is based on the use of public-key cryptography and digital signatures.
The standard does not dictate the use of a specific digital signature algorithm nor a
specific hash function. Figure 4.5 illustrates the overall X.509 scheme for generation
of a public-key certificate. The certificate for Bob’s public key includes unique identifying
information for Bob, Bob’s public key, and identifying information about
the CA, plus other information as explained subsequently. This information is then
signed by computing a hash value of the information and generating a digital signature
using the hash value and the CA’s private key.
Figure 4.5a shows the general format of a certificate, which includes the following
Elements.
■ Version: Differentiates among successive versions of the certificate format;
the default is version 1. If the Issuer Unique Identifier or Subject Unique
Identifier are present, the value must be version 2. If one or more extensions
are present, the version must be version 3. Although the X.509 specification is
currently at version 7, no changes have been made to the fields that make up
the certificate since version 3.
■ Serial number: An integer value, unique within the issuing CA, that is unambiguously
associated with this certificate.
■ Signature algorithm identifier: The algorithm used to sign the certificate,
together with any associated parameters. Because this information is repeated
in the Signature field at the end of the certificate, this field has little, if any,
utility.
■ Issuer name: X.500 name of the CA that created and signed this certificate.
■ Period of validity: Consists of two dates: the first and last on which the certificate
is valid.
■ Subject name: The name of the user to whom this certificate refers. That is,
this certificate certifies the public key of the subject who holds the corresponding
private key.
■ Subject’s public-key information: The public key of the subject, plus an identifier
of the algorithm for which this key is to be used, together with any
associated parameters.
■ Issuer unique identifier: An optional bit string field used to identify uniquely
the issuing CA in the event the X.500 name has been reused for different
entities.
■ Subject unique identifier: An optional bit string field used to identify uniquely
the subject in the event the X.500 name has been reused for different entities.
■ Extensions: A set of one or more extension fields. Extensions were added in
version 3 and are discussed later in this section.
■ Signature: Covers all of the other fields of the certificate. One component of
this field is the digital signature applied to the other fields of the certificate.
This field includes the signature algorithm identifier.
32
Obtaining a User’s Certificate
User certificates generated by a C A have the following characteristics:
Any user with access to the public key of the C A can verify the user public key that was certified
No party other than the certification authority can modify the certificate without this being detected
Because certificates are unforgeable, they can be placed in a directory without the need for the directory to make special efforts to protect them
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
User certificates generated by a CA have the
following characteristics:
• Any user with access to the public key of the CA can verify the user public key
that was certified.
• No party other than the certification authority can modify the certificate without
this being detected.
Because certificates are unforgeable, they can be placed in a directory without the
need for the directory to make special efforts to protect them.
If all users subscribe to the same CA, then there is a common trust of that CA.
All user certificates can be placed in the directory for access by all users. In addition,
a user can transmit his or her certificate directly to other users. In either case,
once B is in possession of A’s certificate, B has confidence that messages it encrypts
with A’s public key will be secure from eavesdropping and that messages signed with
A’s private key are unforgeable.
If there is a large community of users, it may not be practical for all users to
subscribe to the same CA. Because it is the CA that signs certificates, each participating
user must have a copy of the CA’s own public key to verify signatures. This
public key must be provided to each user in an absolutely secure way (with respect
to integrity and authenticity) so that the user has confidence in the associated certificates.
Thus, with many users, it may be more practical for there to be a number
of CAs, each of which securely provides its public key to some fraction of the users.
33
Figure 4-6: X.509 CA Hierarchy-A Hypothetical Example
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
34
Figure 4.6, taken from X.509, is an example of a hierarchy. The connected
circles indicate the hierarchical relationship among the CAs; the associated boxes
indicate certificates maintained in the directory for each CA entry. The directory
entry for each CA includes two types of certificates:
• Forward certificates: Certificates of X generated by other CAs
• Reverse certificates: Certificates generated by X that are the certificates of
other CAs
Revocation of Certificates
Each certificate includes a period of validity
Typically a new certificate is issued just before the expiration of the old one
It may be desirable on occasion to revoke a certificate before it expires for one of the following reasons:
The user’s private key is assumed to be compromised
The user is no longer certified by this C A; reasons for this include subject’s name has changed, the certificate is superseded, or the certificate was not issued in conformance with the C A’s policies
The C A’s certificate is assumed to be compromised
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
35
Recall from Figure 4.5 that each certificate includes
a period of validity, much like a credit card. Typically, a new certificate is issued just
before the expiration of the old one. In addition, it may be desirable on occasion to
revoke a certificate before it expires for one of the following reasons.
1. The user’s private key is assumed to be compromised.
2. The user is no longer certified by this CA. Reasons for this include subject’s
name has changed, the certificate is superseded, or the certificate was not
issued in conformance with the CA’s policies.
3. The CA’s certificate is assumed to be compromised.
Each CA must maintain a list consisting of all revoked but not expired certificates
issued by that CA, including both those issued to users and to other CAs.
These lists also should be posted on the directory.
Each certificate revocation list (CRL) posted to the directory is signed by the
issuer and includes (Figure 4.5b) the issuer’s name, the date the list was created, the
date the next CRL is scheduled to be issued, and an entry for each revoked certificate.
Each entry consists of the serial number of a certificate and revocation date for
that certificate. Because serial numbers are unique within a CA, the serial number
is sufficient to identify the certificate.
When a user receives a certificate in a message, the user must determine
whether the certificate has been revoked. The user could check the directory each
time a certificate is received. To avoid the delays (and possible costs) associated
with directory searches, it is likely that the user would maintain a local cache of certificates
and lists of revoked certificates.
X.509 Version 3
Includes a number of optional extensions that may be added to the version 2 format
Each extension consists of:
An extension identifier
A criticality indicator
An extension value
The certificate extensions fall into three main categories:
Key and policy information
Subject and issuer attributes
Certification path constraints
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
The X.509 version 2 format does not convey all of the information that recent
design and implementation experience has shown to be needed. [FORD95] lists the
following requirements not satisfied by version 2:
1. The Subject field is inadequate to convey the identity of a-key owner to a
public-key user. X.509 names may be relatively short and lacking in obvious
identification details that may be needed by the user.
2. The Subject field is also inadequate for many applications, which typically recognize
entities by an Internet e-mail address, a URL, or some other Internet related
identification.
3. There is a need to indicate security policy information. This enables a security
application or function, such as IPSec, to relate an X.509 certificate to a given
policy.
4. There is a need to limit the damage that can result from a faulty or malicious
CA by setting constraints on the applicability of a particular certificate.
5. It is important to be able to identify different keys used by the same owner at
different times. This feature supports key life cycle management, in particular
the ability to update key pairs for users and CAs on a regular basis or under
exceptional circumstances.
Rather than continue to add fields to a fixed format, standards developers
felt that a more flexible approach was needed. Thus, version 3 includes a number
of optional extensions that may be added to the version 2 format. Each extension
consists of an extension identifier, a criticality indicator, and an extension value.
The criticality indicator indicates whether an extension can be safely ignored. If
the indicator has a value of TRUE and an implementation does not recognize the
extension, it must treat the certificate as invalid.
The certificate extensions fall into three main categories: key and policy information,
subject and issuer attributes, and certification path constraints.
36
Key and Policy Information
These extensions convey additional information about the subject and issuer keys, plus indicators of certificate policy
A certificate policy is a named set of rules that indicates the applicability of a certificate to a particular community and/or class of application with common security requirements
Includes:
Authority key identifier
Subject key identifier
Key usage
Private-key usage period
Certificate policies
Policy mappings
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
These extensions convey additional information
about the subject and issuer keys, plus indicators of certificate policy. A certificate
policy is a named set of rules that indicates the applicability of a certificate to a
particular community and/or class of application with common security requirements.
For example, a policy might be applicable to the authentication of electronic
data interchange (EDI) transactions for the trading of goods within a given
price range.
This area includes the following:
• Authority key identifier: Identifies the public key to be used to verify the signature
on this certificate or CRL. Enables distinct keys of the same CA to be
differentiated. One use of this field is to handle CA key pair updating.
• Subject key identifier: Identifies the public key being certified. Useful for subject
key pair updating. Also, a subject may have multiple key pairs and, correspondingly,
different certificates for different purposes (e.g., digital signature
and encryption key agreement).
• Key usage: Indicates a restriction imposed as to the purposes for which, and
the policies under which, the certified public key may be used. May indicate
one or more of the following: digital signature, nonrepudiation, key encryption,
data encryption, key agreement, CA signature verification on certificates,
and CA signature verification on CRLs.
• Private-key usage period: Indicates the period of use of the private key corresponding
to the public key. Typically, the private key is used over a different
period from the validity of the public key. For example, with digital signature
keys, the usage period for the signing private key is typically shorter than that
for the verifying public key.
• Certificate policies: Certificates may be used in environments where multiple
policies apply. This extension lists policies that the certificate is recognized as
supporting, together with optional qualifier information.
• Policy mappings: Used only in certificates for CAs issued by other CAs. Policy
mappings allow an issuing CA to indicate that one or more of that issuer’s
policies can be considered equivalent to another policy used in the subject
CA’s domain.
37
Certificate Subject and Issuer Attributes
These extensions support alternative names, in alternative formats, for a certificate subject or certificate issuer and can convey additional information about the certificate subject to increase a certificate user’s confidence that the certificate subject is a particular person or entity
Includes:
Subject alternative name
Issuer alternative name
Subject directory attributes
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
These extensions support alternative
names, in alternative formats, for a certificate subject or certificate issuer and can
convey additional information about the certificate subject to increase a certificate
user’s confidence that the certificate subject is a particular person or entity. For
example, information such as postal address, position within a corporation, or
picture image may be required.
The extension fields in this area include the following:
• Subject alternative name: Contains one or more alternative names, using any
of a variety of forms. This field is important for supporting certain applications,
such as electronic mail, EDI, and IPSec, which may employ their own
name forms.
• Issuer alternative name: Contains one or more alternative names, using any of
a variety of forms.
• Subject directory attributes: Conveys any desired X.500 directory attribute
values for the subject of this certificate.
38
Certification Path Constraints
These extensions allow constraint specifications to be included in certificates issued for C As by other C As
The constraints may restrict the types of certificates that can be issued by the subject C A or that may occur subsequently in a certification chain
Includes:
Basic constraints
Name constraints
Policy constraints
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
These extensions allow constraint specifications
to be included in certificates issued for CAs by other CAs. The constraints may
restrict the types of certificates that can be issued by the subject CA or that may
occur subsequently in a certification chain.
The extension fields in this area include the following:
• Basic constraints: Indicates if the subject may act as a CA. If so, a certification
path length constraint may be specified.
• Name constraints: Indicates a name space within which all subject names in
subsequent certificates in a certification path must be located.
• Policy constraints: Specifies constraints that may require explicit certificate
policy identification or inhibit policy mapping for the remainder of the certification
path.
39
P K I X Architectural Model
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
40
RFC 4949 (Internet Security Glossary ) defines public-key infrastructure (PKI) as
the set of hardware, software, people, policies, and procedures needed to create,
manage, store, distribute, and revoke digital certificates based on asymmetric cryptography.
The principal objective for developing a PKI is to enable secure, convenient,
and efficient acquisition of public keys. The Internet Engineering Task Force
(IETF) Public Key Infrastructure X.509 (PKIX) working group has been the driving
force behind setting up a formal (and generic) model based on X.509 that is
suitable for deploying a certificate-based architecture on the Internet. This section
describes the PKIX model.
Figure 4.7 shows the interrelationship among the key elements of the PKIX
model. These elements are
• End entity: A generic term used to denote end users, devices (e.g., servers,
routers), or any other entity that can be identified in the subject field of a public
key certificate. End entities typically consume and/or support PKI-related
services.
• Certification authority (CA): The issuer of certificates and (usually) certificate
revocation lists (CRLs). It may also support a variety of administrative functions,
although these are often delegated to one or more registration authorities.
• Registration authority (RA): An optional component that can assume a number
of administrative functions from the CA. The RA is often associated with the
end entity registration process, but can assist in a number of other areas as well.
• CRL issuer: An optional component that a CA can delegate to publish CRLs.
• Repository: A generic term used to denote any method for storing certificates
and CRLs so that they can be retrieved by end entities.
P K I X Management Functions (1 of 2)
Functions that potentially need to be supported by management protocols:
Registration
Initialization
Certification
Key pair recovery
Key pair update
Revocation request
Cross certification
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
PKIX identifies a number of management functions that potentially need to be supported
by management protocols. These are indicated in Figure 4.7 and include the
following:
• Registration: This is the process whereby a user first makes itself known to
a CA (directly, or through an RA), prior to that CA issuing a certificate or
certificates for that user. Registration begins the process of enrolling in a PKI.
Registration usually involves some off-line or online procedure for mutual authentication.
Typically, the end entity is issued one or more shared secret keys
used for subsequent authentication.
• Initialization: Before a client system can operate securely, it is necessary to
install key materials that have the appropriate relationship with keys stored
elsewhere in the infrastructure. For example, the client needs to be securely
initialized with the public key and other assured information of the trusted
CA(s) to be used in validating certificate paths.
• Certification: This is the process in which a CA issues a certificate for a user’s
public key and returns that certificate to the user’s client system and/or posts
that certificate in a repository.
• Key pair recovery: Key pairs can be used to support digital signature creation
and verification, encryption and decryption, or both. When a key pair is used
for encryption/decryption, it is important to provide a mechanism to recover the
necessary decryption keys when normal access to the keying material is no longer
possible, otherwise it will not be possible to recover the encrypted data. Loss of
access to the decryption key can result from forgotten passwords/PINs, corrupted
disk drives, damage to hardware tokens, and so on. Key pair recovery allows end
entities to restore their encryption/decryption key pair from an authorized key
backup facility (typically, the CA that issued the end entity’s certificate).
• Key pair update: All key pairs need to be updated regularly (i.e., replaced
with a new key pair) and new certificates issued. Update is required when the
certificate lifetime expires and as a result of certificate revocation.
• Revocation request: An authorized person advises a CA of an abnormal situation
requiring certificate revocation. Reasons for revocation include private
key compromise, change in affiliation, and name change.
• Cross-certification: Two CAs exchange information used in establishing
a cross-certificate. A cross-certificate is a certificate issued by one CA to
another CA that contains a CA signature key used for issuing certificates.
The PKIX working group has defined two alternative management protocols
between PKIX entities that support the management functions listed in the preceding
subsection. RFC 2510 defines the certificate management protocols (CMP).
Within CMP, each of the management functions is explicitly identified by specific
protocol exchanges. CMP is designed to be a flexible protocol able to accommodate
a variety of technical, operational, and business models.
RFC 2797 defines certificate management messages over CMS (CMC), where
CMS refers to RFC 2630, cryptographic message syntax. CMC is built on earlier work
and is intended to leverage existing implementations. Although all of the PKIX functions
are supported, the functions do not all map into specific protocol exchanges.
41
P K I X Management Functions (2 of 2)
Alternative management protocols:
Certificate management protocols (C M P)
Designed to be a flexible protocol able to accommodate a variety of technical, operational, and business models
Certificate management messages over C M S (C M C)
Is built on earlier work and is intended to leverage existing implementations
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
PKIX identifies a number of management functions that potentially need to be supported
by management protocols. These are indicated in Figure 4.7 and include the
following:
• Registration: This is the process whereby a user first makes itself known to
a CA (directly, or through an RA), prior to that CA issuing a certificate or
certificates for that user. Registration begins the process of enrolling in a PKI.
Registration usually involves some off-line or online procedure for mutual authentication.
Typically, the end entity is issued one or more shared secret keys
used for subsequent authentication.
• Initialization: Before a client system can operate securely, it is necessary to
install key materials that have the appropriate relationship with keys stored
elsewhere in the infrastructure. For example, the client needs to be securely
initialized with the public key and other assured information of the trusted
CA(s) to be used in validating certificate paths.
• Certification: This is the process in which a CA issues a certificate for a user’s
public key and returns that certificate to the user’s client system and/or posts
that certificate in a repository.
• Key pair recovery: Key pairs can be used to support digital signature creation
and verification, encryption and decryption, or both. When a key pair is used
for encryption/decryption, it is important to provide a mechanism to recover the
necessary decryption keys when normal access to the keying material is no longer
possible, otherwise it will not be possible to recover the encrypted data. Loss of
access to the decryption key can result from forgotten passwords/PINs, corrupted
disk drives, damage to hardware tokens, and so on. Key pair recovery allows end
entities to restore their encryption/decryption key pair from an authorized key
backup facility (typically, the CA that issued the end entity’s certificate).
• Key pair update: All key pairs need to be updated regularly (i.e., replaced
with a new key pair) and new certificates issued. Update is required when the
certificate lifetime expires and as a result of certificate revocation.
• Revocation request: An authorized person advises a CA of an abnormal situation
requiring certificate revocation. Reasons for revocation include private
key compromise, change in affiliation, and name change.
• Cross-certification: Two CAs exchange information used in establishing
a cross-certificate. A cross-certificate is a certificate issued by one CA to
another CA that contains a CA signature key used for issuing certificates.
The PKIX working group has defined two alternative management protocols
between PKIX entities that support the management functions listed in the preceding
subsection. RFC 2510 defines the certificate management protocols (CMP).
Within CMP, each of the management functions is explicitly identified by specific
protocol exchanges. CMP is designed to be a flexible protocol able to accommodate
a variety of technical, operational, and business models.
RFC 2797 defines certificate management messages over CMS (CMC), where
CMS refers to RFC 2630, cryptographic message syntax. CMC is built on earlier work
and is intended to leverage existing implementations. Although all of the PKIX functions
are supported, the functions do not all map into specific protocol exchanges.
42
Identity Management (1 of 2)
A centralized, automated approach to provide enterprise wide access to resources by employees and other authorized individuals
Focus is defining an identity for each user (human or process), associating attributes with the identity, and enforcing a means by which a user can verify identity
Central concept is the use of single sign-on (S S O) which enables a user to access all network resources after a single authentication
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Federated identity management is a relatively new concept dealing with the use of
a common identity management scheme across multiple enterprises and numerous
applications and supporting many thousands, even millions, of users. We begin our
overview with a discussion of the concept of identity management and then examine
federated identity management.
Identity management is a centralized, automated approach to provide enterprise wide
access to resources by employees and other authorized individuals. The focus
of identity management is defining an identity for each user (human or process),
associating attributes with the identity, and enforcing a means by which a user can
verify identity. The central concept of an identity management system is the use
of single sign-on (SSO). SSO enables a user to access all network resources after a
single authentication.
Typical services provided by a federated identity management system include
the following:
■ Point of contact: Includes authentication that a user corresponds to the user
name provided, and management of user/server sessions.
■ SSO protocol services: Provides a vendor-neutral security token service for
supporting a single sign on to federated services.
■ Trust services: Federation relationships require a trust relationship-based
federation between business partners. A trust relationship is represented by
the combination of the security tokens used to exchange information about a
user, the cryptographic information used to protect these security tokens, and
optionally the identity mapping rules applied to the information contained
within this token.
■ Key services: Management of keys and certificates.
■ Identity services: Services that provide the interface to local data stores, including
user registries and databases, for identity-related information management.
■ Authorization: Granting access to specific services and/or resources based on
the authentication.
■ Provisioning: Includes creating an account in each target system for the user,
enrollment or registration of user in accounts, establishment of access rights
or credentials to ensure the privacy and integrity of account data.
■ Management: Services related to runtime configuration and deployment.
43
Identity Management (2 of 2)
Principal elements of an identity management system:
Authentication
Authorization
Accounting
Provisioning
Workflow automation
Delegated administration
Password synchronization
Self-service password reset
Federation
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Federated identity management is a relatively new concept dealing with the use of
a common identity management scheme across multiple enterprises and numerous
applications and supporting many thousands, even millions, of users. We begin our
overview with a discussion of the concept of identity management and then examine
federated identity management.
Identity management is a centralized, automated approach to provide enterprise wide
access to resources by employees and other authorized individuals. The focus
of identity management is defining an identity for each user (human or process),
associating attributes with the identity, and enforcing a means by which a user can
verify identity. The central concept of an identity management system is the use
of single sign-on (SSO). SSO enables a user to access all network resources after a
single authentication.
Typical services provided by a federated identity management system include
the following:
■ Point of contact: Includes authentication that a user corresponds to the user
name provided, and management of user/server sessions.
■ SSO protocol services: Provides a vendor-neutral security token service for
supporting a single sign on to federated services.
■ Trust services: Federation relationships require a trust relationship-based
federation between business partners. A trust relationship is represented by
the combination of the security tokens used to exchange information about a
user, the cryptographic information used to protect these security tokens, and
optionally the identity mapping rules applied to the information contained
within this token.
■ Key services: Management of keys and certificates.
■ Identity services: Services that provide the interface to local data stores, including
user registries and databases, for identity-related information management.
■ Authorization: Granting access to specific services and/or resources based on
the authentication.
■ Provisioning: Includes creating an account in each target system for the user,
enrollment or registration of user in accounts, establishment of access rights
or credentials to ensure the privacy and integrity of account data.
■ Management: Services related to runtime configuration and deployment.
44
Figure 4-8: Generic Identity Management System
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
45
Figure 4.8 [LINN06] illustrates entities and data flows in a generic identity
management architecture. A principal is an identity holder. Typically, this is
a human user that seeks access to resources and services on the network. User
devices, agent processes, and server systems may also function as principals.
Principals authenticate themselves to an identity provider . The identity provider
associates authentication information with a principal, as well as attributes and one
or more identifiers.
Increasingly, digital identities incorporate attributes other than simply
an identifier and authentication information (such as passwords and biometric
information). An attribute service manages the creation and maintenance of such
attributes. For example, a user needs to provide a shipping address each time an
order is placed at a new Web merchant, and this information needs to be revised
when the user moves. Identity management enables the user to provide this information
once, so that it is maintained in a single place and released to data consumers
in accordance with authorization and privacy policies. Users may create
some of the attributes to be associated with their digital identity, such as address.
Administrators may also assign attributes to users, such as roles, access permissions,
and employee information.
Data consumers are entities that obtain and employ data maintained and provided
by identity and attribute providers, which are often used to support authorization
decisions and to collect audit information. For example, a database server or
file server is a data consumer that needs a client’s credentials so as to know what
access to provide to that client.
Identity Federation
Identity federation is, in essence, an extension of identity management to multiple security domains
Federated identity management refers to the agreements, standards, and technologies that enable the portability of identities, identity attributes, and entitlements across multiple enterprises and numerous applications and supports many thousands, even millions, of users
Another key function of federated identity management is identity mapping
The federated identity management protocols map identities and attributes of a user in one domain to the requirements of another domain
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Identity federation is, in essence, an extension of identity management to multiple
security domains. Such domains include autonomous internal business units,
external business partners, and other third-party applications and services. The
goal is to provide the sharing of digital identities so that a user can be authenticated
a single time and then access applications and resources across multiple
domains. Because these domains are relatively autonomous or independent, no
centralized control is possible. Rather, the cooperating organizations must form a
federation based on agreed standards and mutual levels of trust to securely share
digital identities.
Federated identity management refers to the agreements, standards, and
technologies that enable the portability of identities, identity attributes, and entitlements
across multiple enterprises and numerous applications and supports many
thousands, even millions, of users. When multiple organizations implement interoperable
federated identity schemes, an employee in one organization can use a single
sign-on to access services across the federation with trust relationships associated
with the identity. For example, an employee may log onto her corporate intranet
and be authenticated to perform authorized functions and access authorized services
on that intranet. The employee could then access her health benefits from an
outside health-care provider without having to reauthenticate.
Beyond SSO, federated identity management provides other capabilities. One
is a standardized means of representing attributes. Increasingly, digital identities
incorporate attributes other than simply an identifier and authentication information
(such as passwords and biometric information). Examples of attributes include
account numbers, organizational roles, physical location, and file ownership. A user
may have multiple identifiers; for example, each identifier may be associated with a
unique role with its own access permissions.
Another key function of federated identity management is identity mapping.
Different security domains may represent identities and attributes differently.
Furthermore, the amount of information associated with an individual in one
domain may be more than is necessary in another domain. The federated identity
management protocols map identities and attributes of a user in one domain to the
requirements of another domain.
46
Federated Identity Operation
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Figure 4.9 illustrates entities and data flows in a generic federated identity
management architecture.
The identity provider acquires attribute information through dialogue and
protocol exchanges with users and administrators. For example, a user needs to
provide a shipping address each time an order is placed at a new Web merchant,
and this information needs to be revised when the user moves. Identity management
enables the user to provide this information once, so that it is maintained in a
single place and released to data consumers in accordance with authorization and
privacy policies.
Service providers are entities that obtain and employ data maintained and provided
by identity providers, often to support authorization decisions and to collect
audit information. For example, a database server or file server is a data consumer
that needs a client’s credentials so as to know what access to provide to that client.
A service provider can be in the same domain as the user and the identity provider.
The power of this approach is for federated identity management, in which the service
provider is in a different domain (e.g., a vendor or supplier network).
47
Standards (1 of 2)
The Extensible Markup Language (X M L)
Appear similar to H T M L documents that are visible as Web pages, but provide greater functionality
Includes strict definitions of the data type of each field
Provides encoding rules for commands that are used to transfer and update data objects
The Simple Object Access Protocol (S O A P)
Minimal set of conventions for invoking code using XML over H T T P
Enables applications to request services from one another with X M L-based requests and receive responses as data formatted with X M L
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Federated identity management uses a number of standards as the
building blocks for secure identity exchange across different domains or heterogeneous
systems. In essence, organizations issue some form of security tickets for their
users that can be processed by cooperating partners. Identity federation standards
are thus concerned with defining these tickets in terms of content and format, providing
protocols for exchanging tickets, and performing a number of management
tasks. These tasks include configuring systems to perform attribute transfers and
identity mapping, and performing logging and auditing functions. The key standards
are as follows:
• The Extensible Markup Language (XML): A markup language uses sets of
embedded tags or labels to characterize text elements within a document so as
to indicate their appearance, function, meaning, or context. XML documents
appear similar to HTML (Hypertext Markup Language) documents that are
visible as Web pages, but provide greater functionality. XML includes strict
definitions of the data type of each field, thus supporting database formats
and semantics. XML provides encoding rules for commands that are used to
transfer and update data objects.
• The Simple Object Access Protocol (SOAP): A minimal set of conventions
for invoking code using XML over HTTP. It enables applications to request
services from one another with XML-based requests and receive responses
as data formatted with XML. Thus, XML defines data objects and structures,
and SOAP provides a means of exchanging such data objects and performing
remote procedure calls related to these objects. See [ROS06] for an informative
discussion.
• WS-Security: A set of SOAP extensions for implementing message integrity
and confidentiality in Web services. To provide for secure exchange of SOAP
messages among applications, WS-Security assigns security tokens to each
message for use in authentication.
• Security Assertion Markup Language (SAML): An XML-based language for
the exchange of security information between online business partners. SAML
conveys authentication information in the form of assertions about subjects.
Assertions are statements about the subject issued by an authoritative entity.
The challenge with federated identity management is to integrate multiple
technologies, standards, and services to provide a secure, user-friendly utility. The
key, as in most areas of security and networking, is the reliance on a few mature
standards widely accepted by industry. Federated identity management seems to
have reached this level of maturity.
48
Standards (2 of 2)
W S-Security
A set of S O A P extensions for implementing message integrity and confidentiality in Web services
Assigns security tokens to each message for use in authentication
Security Assertion Markup Language (S A M L)
An X M L-based language for the exchange of security information between online business partners
Conveys authentication information in the form of assertions about subjects
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Federated identity management uses a number of standards as the
building blocks for secure identity exchange across different domains or heterogeneous
systems. In essence, organizations issue some form of security tickets for their
users that can be processed by cooperating partners. Identity federation standards
are thus concerned with defining these tickets in terms of content and format, providing
protocols for exchanging tickets, and performing a number of management
tasks. These tasks include configuring systems to perform attribute transfers and
identity mapping, and performing logging and auditing functions. The key standards
are as follows:
• The Extensible Markup Language (XML): A markup language uses sets of
embedded tags or labels to characterize text elements within a document so as
to indicate their appearance, function, meaning, or context. XML documents
appear similar to HTML (Hypertext Markup Language) documents that are
visible as Web pages, but provide greater functionality. XML includes strict
definitions of the data type of each field, thus supporting database formats
and semantics. XML provides encoding rules for commands that are used to
transfer and update data objects.
• The Simple Object Access Protocol (SOAP): A minimal set of conventions
for invoking code using XML over HTTP. It enables applications to request
services from one another with XML-based requests and receive responses
as data formatted with XML. Thus, XML defines data objects and structures,
and SOAP provides a means of exchanging such data objects and performing
remote procedure calls related to these objects. See [ROS06] for an informative
discussion.
• WS-Security: A set of SOAP extensions for implementing message integrity
and confidentiality in Web services. To provide for secure exchange of SOAP
messages among applications, WS-Security assigns security tokens to each
message for use in authentication.
• Security Assertion Markup Language (SAML): An XML-based language for
the exchange of security information between online business partners. SAML
conveys authentication information in the form of assertions about subjects.
Assertions are statements about the subject issued by an authoritative entity.
The challenge with federated identity management is to integrate multiple
technologies, standards, and services to provide a secure, user-friendly utility. The
key, as in most areas of security and networking, is the reliance on a few mature
standards widely accepted by industry. Federated identity management seems to
have reached this level of maturity.
49
Figure 4-10: Federated Identity Scenarios
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
50
To get some feel for the functionality of identity federation, we look
at three scenarios, taken from [COMP06]. In the first scenario (Figure 4.10a),
Workplace.com contracts with Health.com to provide employee health benefits.
An employee uses a Web interface to sign on to Workplace.com and goes through
an authentication procedure there. This enables the employee to access authorized
services and resources at Workplace.com. When the employee clicks on a
link to access health benefits, her browser is redirected to Health.com. At the same
time, the Workplace.com software passes the user’s identifier to Health.com in a
secure manner. The two organizations are part of a federation that cooperatively
exchanges user identifiers. Health.com maintains user identities for every employee
at Workplace.com and associates with each identity health-benefits information
and access rights. In this example, the linkage between the two companies is based
on account information and user participation is browser based.
Figure 4.10b shows a second type of browser-based scheme. PartsSupplier.
com is a regular supplier of parts to Workplace.com. In this case, a role-based
access control (RBAC) scheme is used for access to information. An engineer of
Workplace.com authenticates at the employee portal at Workplace.com and clicks
on a link to access information at PartsSupplier.com. Because the user is authenticated
in the role of an engineer, he is taken to the technical documentation and
troubleshooting portion of PartSupplier.com’s Web site without having to sign
on. Similarly, an employee in a purchasing role signs on at Workplace.com and is
authorized, in that role, to place purchases at PartSupplier.com without having to
authenticate to PartSupplier.com. For this scenario, PartSupplier.com does not
have identity information for individual employees at Workplace.com. Rather, the
linkage between the two federated partners is in terms of roles.
The scenario illustrated in Figure 4.10c can be referred to as document based
rather than browser based. In this third example, Workplace.com has a purchasing
agreement with PinSupplies.com, and PinSupplies.com has a business relationship
with E-Ship.com. An employee of Workplace.com signs on and is authenticated to
make purchases. The employee goes to a procurement application that provides a
list of Workplace.com’s suppliers and the parts that can be ordered. The user clicks
on the PinSupplies button and is presented with a purchase order Web page (HTML
page). The employee fills out the form and clicks the submit button. The procurement
application generates an XML/SOAP document that it inserts into the envelope
body of an XML-based message. The procurement application then inserts the
user’s credentials in the envelope header of the message, together with Workplace.
com’s organizational identity. The procurement application posts the message to the
PinSupplies.com’s purchasing Web service. This service authenticates the incoming
message and processes the request. The purchasing Web service then sends a SOAP
message its shipping partner to fulfill the order. The message includes a PinSupplies.
com security token in the envelope header and the list of items to be shipped as well
as the end user’s shipping information in the envelope body. The shipping Web
service authenticates the request and processes the shipment order.
Summary (1 of 2)
Remote user authentication principles
The N I S T model for electronic user authentication
Means of authentication
Symmetric key distribution using symmetric encryption
Kerberos
Version 4
Version 5
Key distribution using asymmetric encryption
Public-key certificates
Public-key distribution of secret keys
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Chapter 4 summary.
51
Summary (2 of 2)
X.509 certificates
Certificates
X.509 Version 3
Public-key infrastructure
P K I X management functions
P K I X management protocols
Federated identity management
Identity management
Identity federation
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
Chapter 4 summary.
52
Copyright
Copyright © 2017 Pearson Education, Inc. All Rights Reserved
53
N e
tw o
rk S
e c u rity
E s s e
n tia
ls Applications and Standards
S ixth
E d
itio n
S T A
L L IN
G S
c
ID
tgs
ID
1
TS
c
K
ctgs
K
tgs
ID
2
TS
2
Lifetime
tgs
Ticket
v
ID
tgs
Ticket
c
tor
Authentica
ctgs
K
v
,
c
K
v
ID
4
TS
v
Ticket
tgs
Ticket
tgs
K
ctgs
K
c
ID
c
AD
tgs
ID
2
TS
2
Lifetime
c
tor
Authentica
ctgs
K
c
ID
c
AD
3
TS
v
Ticket
c
tor
Authentica
v
c,
K
1
5
TS
+
v
Ticket
v
K
v
c,
K
c
ID
5
TS
c
AD
v
ID
4
TS
4
Lifetime
c
tor
Authentica
v
c,
K
c
ID
c
AD