CNS Unit 4

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

SYMMETRIC KEY DISTRIBUTION USING ASYMMETRIC

ENCRYPTION

Because of the inefficiency of public key cryptosystems, they are almost


never used for the direct encryption of sizable block of data, but are
limited to relatively small blocks.
One of the most important uses of a public-key cryptosystem is to
encrypt secret keys for distribution.
Simple Secret Key Distribution
• No keys exist before the start of the communication and none exist
after the completion of communication.
• Thus, the risk of compromise of the keys is minimal.
• At the same time, the communication is secure from eavesdropping.
• The protocol is insecure against an adversary who can intercept
messages and then either relay the intercepted message or substitute
another message. Such an attack is known as a man-in-the-middle
attack
If an adversary, E, has control of the intervening communication
channel, then E can compromise the communication in the following
fashion without being detected.
Secret Key Distribution with Confidentiality and Authentication
A Hybrid Scheme
This scheme retains the use of a key distribution center (KDC) that shares a secret
master key with each user and distributes secret session keys encrypted with the
master key. A public key scheme is used to distribute the master keys.

• Performance: There are many applications, especially transaction-oriented


applications, in which the session keys change frequently. Distribution of session
keys by public-key encryption could degrade overall system performance because
of the relatively high computational load of public-key encryption and decryption.
With a three-level hierarchy, public-key encryption is used only occasionally to
update the master key between a user and the KDC.
• Backward compatibility: The hybrid scheme is easily overlaid on an existing
KDC scheme with minimal disruption or software changes.
DISTRIBUTION OF PUBLIC KEYS

• Public announcement
• Publicly available directory
• Public-key authority
• Public-key certificates
Public Announcement of Public Keys
The point of public-key encryption is that the public key is public.
Any participant can send his or her public key to any other participant or
broadcast the key to the community at large

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.
Publicly Available Directory
A greater degree of security can be achieved by maintaining a publicly available
dynamic directory of public keys.
Maintenance and distribution of the public directory would have to be the
responsibility of some trusted entity or organization
1. The authority maintains a directory with a {name, public key} entry for each
participant.
2. Each participant registers a public key with the directory authority. Registration
would have to be in person or by some form of secure authenticated communication.
3. A participant may replace the existing key with a new one at any time, either
because of the desire to replace a public key that has already been used for a large
amount of data, or because the corresponding private key has been compromised in
some way.
4. Participants could also access the directory electronically. For this purpose,
secure, authenticated communication from the authority to the participant is
mandatory.
Public-Key Authority

A central authority maintains a dynamic directory of public keys of all participants. In


addition, each participant reliably knows a public key for the authority, with only the
authority knowing the corresponding private key.
1. A sends a timestamped message to the public-key authority containing a request for
the current public key of B.
2. The authority responds with a message that is encrypted using the authority’s private
key. Thus, A is able to decrypt the message using the authority’s public key. Therefore, A
is assured that the message originated with the authority. The message includes the
following:
• B’s public key, PUb , which A can use to encrypt messages destined for B
• The original request used to enable A to match this response with the corresponding
earlier request and to verify that the original request was not altered before reception by
the authority.
• The original timestamp given so A can determine that this is not an old message from
the authority containing a key other than B’s current public key
3. A stores B’s public key and also uses it to encrypt a message to B containing an
identifier of A (IDA) uniquely. and a nonce (N1) , which is used to identify this
transaction.
4, 5. B retrieves A’s public key from the authority in the same manner as A retrieved
B’s public key. At this point, public keys have been securely delivered to A and B,
and they may begin their protected exchange. However, two additional steps are
desirable:
6. B sends a message to A encrypted with PUa and containing A’s nonce (N1) as
well as a new nonce generated by B (N2) . Because only B could have decrypted
message, the presence of N1 in message assures A that the correspondent is B.
7. A returns N2, which is encrypted using B’s public key, to assure B that its
correspondent is A.
Public-Key Certificates

• Certificates can be used by participants to exchange keys without contacting a


public-key authority, in a way that is as reliable as if the keys were obtained
directly from a public-key authority.
• A certificate consists of a public key, an identifier of the key owner, and the whole
block signed by a trusted third party. Typically, the third party is a certificate
authority, such as a government agency or a financial institution, that is trusted by
the user community.
• 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. A participant can also convey its
key information to another by transmitting its certificate.
• Other participants can verify that the certificate was created by the authority.
Each participant applies to the certificate authority, supplying a public key and
requesting a certificate.
For participant A, the authority provides a certificate of the form

where PRauth is the private key used by the authority and T is a timestamp. A may
then pass this certificate on to any other participant, who reads and verifies the
certificate as follows:

The recipient uses the authority’s public key, PUauth , to decrypt the certificate.
Because the certificate is readable only using the authority’s public key, this verifies
that the certificate came from the certificate authority.
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.

You might also like