Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Key Management

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Key Management

What is Key Management?


Key management refers to the processes and procedures involved in
generating, storing, distributing, and managing cryptographic keys used
in cryptographic algorithms to protect sensitive data.
It ensures that keys used to protect sensitive data are kept safe
from unauthorized access or loss.

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. Therefore, the term that refers to the means of delivering a key to
two parties who wish to exchange data, without allowing others to see the
key.

For two parties A and B, key distribution can be achieved in a


number of ways, as follows:

1. A can select a key and physically deliver it to B.


2. A third party can 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 can
transmit the new key to the other, encrypted using the old key.
4. If A and B each has an encrypted connection to a third-party C, C can
deliver a key on the encrypted links to A and B.

Key distribution center:


The use of a key distribution center is based on the use of a hierarchy of
keys. At a minimum, two levels of keys are used.
Communication between end systems is encrypted using a temporary key,
often referred to as a Session key.
Typically, the session key is used for the duration of a logical connection
and then discarded
Master key is shared by the key distribution center and an end system or
user and used to encrypt the session key.

A Key Distribution Scenario


The key distribution concept can be deployed in a number of ways.
The scenario assumes that each user shares a unique master key with the
key distribution
center (KDC).
Let us assume that user A wishes to establish a logical connection with B
and requires a one-time session key to protect the data transmitted over
the connection. A has a master key, Ka, known only to itself and the KDC;
similarly, B shares the master key Kb with the KDC. The following steps
occur:

1. A issues a request to the KDC for a session key to protect a logical


connection to B. The message includes the identity of A and B and a
unique identifier, N1, for this transaction, which we refer to as a
nonce. The nonce may be a timestamp, a counter, or a random
number; the minimum requirement is that it differs with each
request.
2. The KDC responds with a message encrypted using Ka Thus, A is the
only one who can successfully read the message, and A knows that it
originated at the KDC. The message includes two items intended for
A:

 The one-time session key, Ks, to be used for the session


 The original request message, including the nonce, to enable A
to match this response with the appropriate request

Thus, A can verify that its original request was not altered before
reception by the KDC and, because of the nonce, that this is not a replay
of some previous request. In addition, the message includes two items
intended for B:

 The one-time session key, Ks to be used for the session


 An identifier of A (e.g., its network address), IDA

These last two items are encrypted with Kb (the master key that the
KDC shares with B). They are to be sent to B to establish the connection
and prove A's identity.
3. A stores the session key for use in the upcoming session and forwards
to B the information that originated at the KDC for B, namely, E(Kb,
[Ks || IDA]). Because this information is encrypted with Kb, it is
protected from eavesdropping. B now knows the session key (Ks),
knows that the other party is A (from IDA), and knows that the
information originated at the KDC (because it is
encrypted using Kb).

4. Using the newly minted session key for encryption, B sends a nonce,
N2, to A.
5. Also using Ks, A responds with f(N2), where f is a function that
performs some transformation on N2 (e.g., adding one).

Session Key Lifetime


The distribution of session keys delays the start of any exchange and
places a burden on network capacity. A security manager must try to
balance these competing considerations in determining the lifetime of a
particular session key.

For connection-oriented protocols, one obvious choice is to use the


same session key for the length of time that the connection is open, using
a new session key for each new session.
 If a logical connection has a very long lifetime, then it would be
prudent to change the session key periodically, perhaps every time
the PDU (protocol data unit) sequence number cycles.

For a connectionless protocol, such as a transaction-oriented protocol,


there is no explicit connection initiation or termination.
 New session key for exchange
 Use a given for a certain fixed period only for a certain number of
transactions

A Transparent Key Control Scheme


The steps involved in establishing a connection are shown in Figure 14.4.
 When one host wishes to set up a connection to another host, it
transmits a connection-request packet.
 The SSM saves that packet and applies to the KDC for permission to
establish the connection.
 The communication between the SSM and the KDC is encrypted using
a master key shared only by this SSM and the KDC. If the KDC
approves the connection request, it generates the session key and
delivers it to the two appropriate SSMs, using a unique permanent
key for each SSM.
 The requesting SSM can now release the connection request packet,
and a connection is set up between the two end systems.
 All user data exchanged between the two end systems are encrypted
by their respective SSMs using the onetime session key.

Controlling Key Usage


The concept of a key hierarchy and the use of automated key
distribution techniques greatly reduce the number of keys that must be
manually managed and distributed.

Use different types of session keys


 Data-encrypting key, for general communication across a network
 PIN-encrypting key, for personal identification numbers (PINs) used
in electronic funds transfer and point-of-sale applications
 File-encrypting key, for encrypting files stored in publicly
accessible locations

The proposed technique is for use with DES and makes use of the extra
8 bits in each 64-bit DES key. That is, the eight non-key bits ordinarily
reserved for parity checking form the key tag.
The bits have the following interpretation:
 One bit indicates whether the key is a session key or a master key.
 One bit indicates whether the key can be used for encryption.
 One bit indicates whether the key can be used for decryption.
 The remaining bits are spares for future use.

The Diffie-Hellman Key Exchange


The Diffie-Hellman key exchange (also known as exponential key
exchange) is a method for securely exchanging cryptographic keys over an
insecure channel.

The Diffie-Hellman key exchange works by allowing two parties (Alice and
Bob) to agree on a shared secret key over an insecure channel, without
any other party being able to intercept the key or learn anything about it.

Primitive root of a prime number p is one whose powers modulo p


generate all the integers from 1 to p - 1. That is, if a is a primitive root of
the prime number p, then the numbers
Example:
Step 1: Alice and Bob get public numbers P = 23, G = 9
Step 2: Alice selected a private key a = 4 and
Bob selected a private key b = 3
Step 3: Alice and Bob compute public values
Alice: x =(9^4 mod 23) = (6561 mod 23) = 6
Bob: y = (9^3 mod 23) = (729 mod 23) = 16
Step 4: Alice and Bob exchange public numbers
Step 5: Alice receives public key y =16 and
Bob receives public key x = 6
Step 6: Alice and Bob compute symmetric keys
Alice: ka = y^a mod p = 65536 mod 23 = 9
Bob: kb = x^b mod p = 216 mod 23 = 9
Step 7: 9 is the shared secret.

Man-In-Middle attack

Alice and Bob wish to exchange keys, and Darth is the adversary. The
attack proceeds as follows
1. Darth prepares for the attack by generating two random private keys
XD1 and
XD2 and then computing the corresponding public keys YD1 and YD2.
2. Alice transmits YA to Bob.
3. Darth intercepts YA and transmits YD1 to Bob. Darth also calculates
K2 = (YA) XD2 mod q.
4. Bob receives YD1 and calculates K1 = (YD1) XB mod q.
5. Bob transmits YB to Alice.
6. Darth intercepts YB and transmits YD2 to Alice. Darth calculates
K1 = (YB)XD1 mod q.
7. Alice receives YD2 and calculates K2 = (YD2) XA mod q.

You might also like