Lecture 07

Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

Cryptography and Network

Security
Chapter 14
Fifth Edition
by William Stallings
Key Management: Generation,
Transportation, and Distribution
• The Key Exchange Problem
• Although symmetric encryption is commonly used due to its
historical position in the cryptography and its speed, it suffers from a
serious problem of how to safely and secretly deliver a secret key
from the sender to the recipient. This problem forms the basis for
the key exchange problem.
• The key exchange problem involves:
• ensuring that keys are exchanged so that the sender and receiver can perform
encryption and decryption,
• ensuring that an eavesdropper or outside party cannot break the code,
• ensuring the receiver that a message was encrypted by the sender.
Key Distribution

• given parties A and B have various key distribution


alternatives:
• A can select key and physically deliver to B
• third party can select & deliver key to A & B
• if A & B have communicated previously can use previous key to
encrypt a new key
• if A & B have secure communications with a third party C, C can relay
key between A & B
Key Distribution Task
Key Hierarchy

• typically have a hierarchy of keys


• session key
• temporary key
• used for encryption of data between users
• for one logical session then discarded
• master key
• used to encrypt session keys
• shared by user & key distribution center
Key Hierarchy
Key Distribution Centers (KDCs)

• A Key Distribution Center (KDC) is a single, trusted network


entity with which all network communicating elements must
establish a shared secret key. It requires all communicating
elements to have a shared secret key with which they can
communicate with the KDC confidentially
• This requirement still presents a problem of distributing this
shared key.
• The KDC does not create or generate keys for the
communicating elements; it only stores and distributes keys.
The creation of keys must be done somewhere else.
Key Distribution Centers (KDCs)

• Diffie-Halmann is the commonly used algorithm to create secret


keys and it provides the way to distribute these keys between the
two communicating parties. But since the Diffie-Halmann
exchange suffers from the man-in-the middle attacks, it is best
used with a public key encryption algorithm to ensure
authentication and integrity.
• Since all network communicating elements confidentially share
their secret keys with the KDC, it distributes these keys secretly to
the corresponding partners in the communication upon request.
• Any network element that wants to communicate with any other
element in the network using symmetric encryption schemes uses
the KDC to obtain the shared keys needed for that
communication. Figure 10.7 shows the working of the KDC.
Key Distribution Scenario
Key Distribution Issues

• hierarchies of KDC’s required for large networks, but must


trust each other
• session key lifetimes should be limited for greater security
• use of automatic key distribution on behalf of users, but
must trust system
• use of decentralized key distribution
• controlling key usage
Key Distribution Issues

• The KDC has several disadvantages including the following:


• The two network communicating elements must belong to the same
KDC.
• Security becomes a problem because a central authority having
access to keys is vulnerable to penetration. Because of the
concentration of trust, a single security breach on the KDC would
compromise the entire system.
• In large networks that handle all communication topologies, the KDC
then becomes a bottleneck since each pair of users needing a key
must access a central node at least once. Also failure of the central
authority could disrupt the key distribution system.

Kizza - Guide to Computer Network Security 11


Symmetric Key Distribution Using Public
Keys
• public key cryptosystems are inefficient
• so almost never use for direct data encryption
• rather use to encrypt secret keys for distribution
Simple Secret Key Distribution

• Merkle proposed this very simple scheme


• allows secure communications
• no keys before/after exist
Man-in-the-Middle Attack

• this very simple scheme is vulnerable to an active man-in-


the-middle attack
Secret Key Distribution with Confidentiality
and Authentication
Hybrid Key Distribution

• retain use of private-key KDC


• shares secret master key with each user
• distributes session key using master key
• public-key used to distribute master keys
• especially useful with widely distributed users
• rationale
• performance
• backward compatibility
Public Key Management

• For the distribution of public keys, there are several


solutions including:
• Public announcements where any user can broadcast their public
keys or send them to selected individuals
• Public directory which is maintained by a trusted authority. The
directory is usually dynamic to accommodate additions and deletions
• Certificate Authority (CA) to distribute certificates to each
communicating element. Each communicating element in a network
or system communicates securely with the CA to register its public
key with the CA. Since public keys are already in public arena, the
registration may be done using a variety of techniques including the
postal service.
Public Announcement

• users distribute public keys to recipients or broadcast to


community at large
• eg. append PGP keys to email messages or post to news groups or
email list
• major weakness is forgery
• anyone can create a key claiming to be someone else and broadcast it
• until forgery is discovered can masquerade as claimed user
Publicly Available Directory

• can obtain greater security by registering keys with a public


directory
• directory must be trusted with properties:
• contains {name,public-key} entries
• participants register securely with directory
• participants can replace key at any time
• directory is periodically published
• directory can be accessed electronically
• still vulnerable to tampering or forgery
Public-Key Authority
• improve security by tightening control over distribution of keys
from directory
• has properties of directory
• and requires users to know public key for the directory
• then users interact with directory to obtain any desired public
key securely
• does require real-time access to directory when keys are needed
• may be vulnerable to tampering
Public-Key Authority
Public-Key Certificates

• certificates allow key exchange without real-time access to


public-key authority
• a certificate binds identity to public key
• usually with other info such as period of validity, rights of use etc
• with all contents signed by a trusted Public-Key or Certificate
Authority (CA)
• can be verified by anyone who knows the public-key
authorities public-key
Certificate Authority (CA)

• The CA certifies the public key belonging to a particular


entity like a person or a server in a network. The certified
public key, if one can safely trust the CA that certified the
key, can then be used with confidence.
• Certifying a key by the CA actually binds that key to a
particular network communicating element which validates
that element. In a wide area network such as the Internet,
CAs are equivalent to the digital world's passport offices
because they issue digital certificates and validate the
holder's identity and authority.

23
• A CA has the following roles:
• It authenticates a communicating element to the other
communicating parties that that element is what it says it
is. However, one can trust the identify associated with a public key
only to the extent that one can trust a CA and its identity verification
techniques.
• Once the CA verifies the identity of the entity, the CA creates a
digital certificate that binds the public key of the element to the
identity. The certificate contains the public key and other identifying
information about the owner of the public key (for example, a human
name or an IP address). The certificate is digitally signed by the CA.

24
Public-Key Certificates
X.509 Authentication Service

• part of CCITT X.500 directory service standards


• distributed servers maintaining user info database
• defines framework for authentication services
• directory may store public-key certificates
• with public key of user signed by certification authority
• also defines authentication protocols
• uses public-key crypto & digital signatures
• algorithms not standardised, but RSA recommended
• X.509 certificates are widely used
• have 3 versions
X.509
Certificate Use
X.509 Certificates

• issued by a Certification Authority (CA), containing:


• version V (1, 2, or 3)
• serial number SN (unique within CA) identifying certificate
• signature algorithm identifier AI
• issuer X.500 name CA)
• period of validity TA (from - to dates)
• subject X.500 name A (name of owner)
• subject public-key info Ap (algorithm, parameters, key)
• issuer unique identifier (v2+)
• subject unique identifier (v2+)
• extension fields (v3)
• signature (of hash of all fields in certificate)
• notation CA<<A>> denotes certificate for A signed by CA
X.509 Certificates
Obtaining a Certificate

• any user with access to CA can get any certificate from it


• only the CA can modify a certificate
• because cannot be forged, certificates can be placed in a
public directory
CA Hierarchy

• if both users share a common CA then they are assumed to


know its public key
• otherwise CA's must form a hierarchy
• use certificates linking members of hierarchy to validate
other CA's
• each CA has certificates for clients (forward) and parent (backward)
• each client trusts parents certificates
• enable verification of any certificate from one CA by users of
all other CAs in hierarchy
CA Hierarchy Use
Certificate Revocation

• certificates have a period of validity


• may need to revoke before expiry, eg:
1. user's private key is compromised
2. user is no longer certified by this CA
3. CA's certificate is compromised
• CA’s maintain list of revoked certificates
• the Certificate Revocation List (CRL)
• users should check certificates with CA’s CRL
X.509 Version 3

• has been recognised that additional information is needed in


a certificate
• email/URL, policy details, usage constraints
• rather than explicitly naming new fields defined a general
extension method
• extensions consist of:
• extension identifier
• criticality indicator
• extension value
Certificate Extensions

• key and policy information


• convey info about subject & issuer keys, plus indicators of certificate
policy
• certificate subject and issuer attributes
• support alternative names, in alternative formats for certificate
subject and/or issuer
• certificate path constraints
• allow constraints on use of certificates by other CA’s
Public Key Infrastructure
PKIX Management

• functions:
• registration
• initialization
• certification
• key pair recovery
• key pair update
• revocation request
• cross certification
• protocols: CMP, CMC
Kerberos

• trusted key server system from MIT


• provides centralised private-key third-party authentication in
a distributed network
• allows users access to services distributed through network
• without needing to trust all workstations
• rather all trust a central authentication server
• two versions in use: 4 & 5
Kerberos Requirements

• its first report identified requirements as:


• secure
• reliable
• transparent
• scalable
• implemented using an authentication protocol based on
Needham-Schroeder
Kerberos v4 Overview

• a basic third-party authentication scheme


• have an Authentication Server (AS)
• users initially negotiate with AS to identify self
• AS provides a non-corruptible authentication credential (ticket
granting ticket TGT)
• have a Ticket Granting server (TGS)
• users subsequently request access to other services from TGS on
basis of users TGT
• using a complex protocol using DES
Kerberos v4 Dialogue
Kerberos 4 Overview
Kerberos Realms

• a Kerberos environment consists of:


• a Kerberos server
• a number of clients, all registered with server
• application servers, sharing keys with server
• this is termed a realm
• typically a single administrative domain
• if have multiple realms, their Kerberos servers must share
keys and trust
Kerberos Realms
Kerberos Version 5

• developed in mid 1990’s


• specified as Internet standard RFC 1510
• provides improvements over v4
• addresses environmental shortcomings
• encryption alg, network protocol, byte order, ticket lifetime, authentication
forwarding, interrealm auth
• and technical deficiencies
• double encryption, non-std mode of use, session keys, password attacks
Kerberos v5 Dialogue
Summary

• have considered:
• symmetric key distribution using symmetric encryption
• symmetric key distribution using public-key encryption
• distribution of public keys
• announcement, directory, authrority, CA
• X.509 authentication and certificates
• public key infrastructure (PKIX)

You might also like