Cns Unit 4 Portal
Cns Unit 4 Portal
AUTHENTICATION REQUIREMENT
1. Disclosure: Release of message contents to any person or process not possessing the appropriate
cryptographic key.
2. Traffic analysis: Discovery of the pattern of traffic between parties. In a connection-oriented
application, the frequency and duration of connections could be determined. In either a connection-
oriented or connectionless environment, the number and length of messages between parties could
be determined.
3. Masquerade: Insertion of messages into the network from a fraudulent source. This includes the
creation of messages by an opponent that are purported to come from an authorized entity.
4. Content modification: Changes to the contents of a message, including insertion, deletion,
transposition, and modification.
5. Sequence modification: Any modification to a sequence of messages between parties, including
insertion, deletion, and reordering.
6. Timing modification: Delay or replay of messages. In a connection-oriented application, an entire
session or sequence of messages could be a replay of some previous valid session, or individual
messages in the sequence could be delayed or replayed. In a connectionless application, an
individual message (e.g., datagram) could be delayed or replayed.
7. Source repudiation: Denial of transmission of message by source.
8. Destination repudiation: Denial of receipt of message by destination.
HASH FUNCTION
Hash function accepts a variable size message M as input and produces a fixed size output,
referred to as hash code H(M). The hash code does not use any key. The hash code is also referred to
as message digest or hash value. The hash code is a function of all the bits of the message and provides
an error detection capability. Figure illustrates a variety of ways in which a hash code can be used to
provide message authentication.
a) The message plus concatenated hash code is encrypted using symmetric encryption. The encryption
is applied to the entire message plus hash code, confidentiality is also provided.
b) Only the hash code is encrypted, using symmetric encryption. This reduces the processing burden
for those applications that do not require confidentiality.
c) Only the hash code is encrypted, using public-key encryption and using the sender's private
key. This provides authentication.
d) If confidentiality as well as a digital signature is desired, then the message plus the private-key-
encrypted hash code can be encrypted using a symmetric secret key.
e) The technique assumes that the two communicating parties share a common secret value S. A
computes the hash value over the concatenation of M and S and appends the resulting hash value to M.
Because B possesses S, it can recomputed the hash value to verify.
f) Confidentiality can be added to the approach of (e) by encrypting the entire message plus the hash
code.
1
2
MESSAGE ENCRYPTION
Message encryption by itself can provide a measure of authentication. The analysis differs for
symmetric and public-key encryption schemes.
Symmetric Encryption
Conventional encryption provides authentication as well as confidentiality. Message M
transmitted from source A to destination B is encrypted using a secret key K shared by A and B. If no
other party knows the key, then confidentiality is provided: No other party can recover the plaintext of
the message.
Given a decryption function D and a secret key K, the destination will accept any input X and
produce output Y = D(K, X). If X is the ciphertext of a legitimate message M produced by the
corresponding encryption function, then Y is some plaintext message M. Otherwise, Y will likely be a
meaningless sequence of bits.
Public-Key Encryption
The straightforward use of public-key encryption provides confidentiality but not
authentication. The source (A) uses the public key PUb of the destination (B) to encrypt M.
Because only B has the corresponding private key P Rb, only B can decrypt the message.
To provide authentication, A uses its private key to encrypt the message, and B uses A's public
key to decrypt
3
To provide both confidentiality and authentication, A can encrypt M first using its private key,
which provides the digital signature, and then using B's public key, which provides
confidentiality.
4
In the first case, the MAC is calculated with the message as input and is then concatenated to the
message. The entire block is then encrypted.
In the second case, the message is encrypted first. Then the MAC is calculated using the resulting
ciphertext and is concatenated to the ciphertext to form the transmitted block
SHA-512 Logic
Message Digest Generation Using SHA-512
The algorithm takes as input a message with a maximum length of less than bits 2128 bits and produces
as output a 512-bit message digest. The input is processed in 1024-bit blocks. The processing consists
of the following steps.
Step 1 Append padding bits. The message is padded so that its length is congruent to 896 modulo 1024
of 1 to 1024. The padding consists of a single 1 bit followed by the necessary number of 0 bits.
Step 2 Append length. A block of 128 bits is appended to the message. This block is treated as an
unsigned 128-bit integer (most significant byte first) and contains the length of the original message
(before the padding).
The outcome of the first two steps yields a message that is an integer multiple of 1024 bits in length.
The expanded message is represented as the sequence of 1024-bit blocks M1, M2, Á , MN , so that the
total length of the expanded message is N * 1024 bits
5
Step 3 Initialize hash buffer. A 512-bit buffer is used to hold intermediate and final results of the hash
function. The buffer can be represented as eight 64-bit registers (a, b, c, d, e, f, g, h).These registers are
initialized to the following 64-bit integers (hexadecimal values) These values are stored in big-endian
format, which is the most significant byte of a word in the low-address (leftmost) byte position.
Step 4 Process message in 1024-bit (128-word) blocks. The heart of the algorithm is a module that
consists of 80 rounds; Each round takes as input the 512-bit buffer value, ABCDEFGH, and updates
the contents of the buffer. At input to the first round, the buffer has the value of the intermediate hash
value, Hi-1).
6
Compression Function
Step 5 Output. After all 1024-bit blocks have been processed, the output from the N th stage is the 512- bit
message digest. Thus, in the first 16 steps of processing, the value of Wt is equal to the corresponding word in
the message block. For the remaining 64 steps, the value of Wt consists of the circular left shift by one bit of
the XOR of four of the preceding values of Wt , with two of those values subjected to shift and rotate
operations.
1
Example I Global
Element
q=19 and a=10
Alice computes the private and public key
Alice computes her key:
Alice chooses Private key, XA=16
Computes Public Key, YA=1016 mod 19 = 4
Alice signs message with hash m=14
Alice chooses K=5 which is relatively prime to q-1=18
Compute S1 = 105 mod 19 = 3
Compute K-1 mod (q-1) = 5-1 mod 18 = 11
Compute S2 = 11(14-16*3) mod 18 = -374 mod 18=4 {-374 mod 18=18-374%18}
B can verify the signature by computing
V1 = 1014 mod 19 = 16
V2 = 43.34 = 5184 = 16 mod 19
Since 16 = 16 signature is verified and valid.
M – Message
H(M) – Hash function of M C –
Cipher text
C = M || EPRa[H(M)]
V1=DPUa[H(M)]
V2= H(M)
If V1= V2 Then signature is verified
2
DSS APPROACH
DSS uses an algorithm that is designed to provide only digital signature function. Unlike RSA, it
cannot be used for encryption or key exchange.
The DSS approach makes use of a hash function. The hash code is provided as input to a signature
function along with a random number k generated for this particular signature. The signature function also
depends on the sender’s private key (PRa) and the global public key (PUG) The result is a signature
consisting of two components, labeled s and r. At the receiving end, the hash code of the incoming message
is generated. This plus the signature is input to a verification function.
The verification function also depends on the global public key as well as the sender’s public key
(PUa), which is paired with the sender’s private key. The output of the verification function is a
value that is equal to the signature component if the signature is valid. The signature function is such that
only the sender, with knowledge of the private key, could have produced the valid signature.
THE DIGITAL SIGNATURE ALGORITHM
1. Global Public key Components
p- prime no. where 2L-1 < p< 2 L for 512 ≤L ≤1024 q –
prime divisor of ( p-1 ) where 2
g = h (p-1)/q mod p
where h is any integer with 1 < h < (p-1) such that h (p-1)/q mod p > 12 160
4
A→KDC: IDA || IDB
KDC→A: EKa[Ks || IDB ||T || EKb[Ks||IDA||T] ]
A→B: EKb[Ks||IDA||T]
B→A: EKs[N2]
A→B: EKs[f(N2)]
USING PUBLIC-KEY ENCRYPTION
Protocol 1:Denning AS Protocol
Denning 81 presented the following:
A→AS: IDA || IDB
AS→A: EKRas[IDA||KUa ||T] || EKRas[IDB||KUb||T]
A→B: EKRas[IDA||KUa ||T] || EKRas[IDB ||KUb||T] || EKUb[EKRas[Ks||T]]
AS is an authentication server which provides the certificate. Protocol 2: By Woo
Another approach, proposed by Woo and Lam, makes use of nonces. The protocol consists of the
following steps:
1. A →KDC:IDA||IDB
2. KDC →A:E(PRauth, [IDB||PUb])
3. A →B: E(PUb, [Na||IDA])
4. B →KDC:IDA||IDB||E(PUauth, Na)
5. KDC →B:E(PRauth, [IDA||PUa])||E(PUb, E(PRauth, [Na||Ks||IDA||IDB])
6. B →A: E(PUa, E(PRauth, [(Na||Ks||IDA||IDB)||Nb]))
7. A →B: E(Ks, Nb)
Explanation
1. In step 1, A informs the KDC of its intention to establish a secure connection with B.
2. The KDC returns to A a copy of B's public-key certificate (step 2).
3. Using B's public key, A informs B of its desire to communicate and sends a nonce N a (step 3).
4. In step 4, B asks the KDC for A's public-key certificate and requests a session key; B includes A's nonce
so that the KDC can stamp the session key with that nonce. The nonce is protected using the KDC's
public key.
5. In step 5, the KDC returns to B a copy of A's public-key certificate, plus the information {N a, Ks, IDB}.
This information basically says that Ks is a secret key generated by the KDC on behalf of B and tied to
Na; the binding of Ks and Na will assure A that Ks is fresh. This triple is encrypted, using the KDC's
private key, to allow B to verify that the triple is in fact from the KDC. It is also encrypted using B's public
key, so that no other entity may use the triple in an attempt to establish a fraudulent connection with A.
6. In step 6, the triple {Na, Ks, IDB}, still encrypted with the KDC's private key, is relayed to A, together
with a nonce Nb generated by B. All the foregoing are encrypted using A's public key. A retrieves the
session key Ks and uses it to encrypt Nb and return it to B.
7. This last message assures B of A's knowledge of the session key.
One-Way Authentication
required when sender & receiver are not in communications at same time (eg. email) have
header in clear so can be delivered by ema
• note session key is chosen by A, hence AS need not be trusted to protect it
• timestamps prevent replay but require synchronized clocks
This protocol is compact but, as before, requires synchronization of clocks. Another approach,
proposed by Woo and Lam, makes use of nonces. The protocol consists of the following steps:
1. A →KDC:IDA||IDB
2. KDC →A:E(PRauth, [IDB||PUb])
3. A →B: E(PUb, [Na||IDA])
4. B →KDC:IDA||IDB||E(PUauth, Na)
5. KDC →B:E(PRauth, [IDA||PUa])||E(PUb, E(PRauth, [Na||Ks||IDA||IDB])
6. B →A: E(PUa, E(PRauth, [(Na||Ks||IDA||IDB)||Nb]))
7. A →B: E(Ks, Nb)
5
KERBEROS
Kerberos is an authentication service developed by MIT and is one of the best known
and most widely implemented trusted third party key distribution systems.
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.
Kerberos Requirements
Secure: A network eavesdropper should not be able to obtain the necessary information to impersonate a user.
Reliable: Kerberos should be highly reliable and should employ a distributed server architecture, with one
system able to back up another.
Transparent: The user should not be aware that authentication is taking place, beyond the requirement to
enter a password.
Scalable: The system should be capable of supporting large numbers of clients and servers. This suggests
a modular, distributed architecture.
Kerberos is a basic third-party authentication scheme.
Authentication Server (AS)
Knows the passwords of all users and stores these in a centralized database.
AS shares a unique secret key with each server.
These keys have been distributed physically or in some other secure manner
users initially negotiate with AS to identify self
AS provides a non-corruptible authentication credential (ticket granting ticket
TGT)
Ticket Granting server (TGS)
issues tickets to users who have been authenticated to AS
users subsequently request access to other services from TGS on basis of users
TGT
Simple Authentication Dialogue
(1) C →AS: IDC||PC||IDV
(2) AS →C: Ticket
(3) C →V : IDC||Ticket
Ticket = E(Kv, [IDC||ADC||IDV])
Where
C = client IDV = identifier of V
AS = authentication server PC = password of user on C
V =server ADC = network address of C
IDC = identifier of user on C Kv = secret encryption key shared by AS and V
6
Drawback of simple authentication dialogue
7
Overview of Kerberos
Client sends a message to the AS requesting access to the TGS.
AS responds with a message, encrypted with a key derived from the user's password
(Kc) that contains the ticket.
Encrypted message also contains a copy of the session key, K c,tgs, where the subscripts
indicate that this is a session key for C and TGS.
Session key is inside the message encrypted with Kc, only the user's client can read it.
Same session key is included in the ticket, which can be read only by the TGS.
Thus, the session key has been securely delivered to both C and the TGS.
Message (1) includes a timestamp, so that the AS knows that the message is timely.
Message (2) includes several elements of the ticket in a form accessible to C. This
enables C to confirm that this ticket is for the T
Kerberos Realms
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.
3. The Kerberos server in each interoperating realm shares a secret key with the server
in the other realm. The two Kerberos servers are registered with each other.
8
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.
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
A user wishing service on a server in another realm needs a ticket for that server. The user's client
follows the usual procedures to gain access to the local TGS and then requests a ticket-granting ticket for
a remote TGS (TGS in another realm). The client can then apply to the remote TGS for a service-granting
ticket for the desired server in the realm of the remote TGS.
X.509 AUTHENTICATION SERVICE
ITU-T recommendation X.509 is part of the X.500 series of recommendations that define a directory
service. 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 of the type.
Each certificate contains the public key of a user and is signed with the private key of a trusted
certification authority. X.509 certificate format is used in S/MIME, IP Security, and SSL/TLS and SET.
X.509 is based on the use of public-key cryptography and digital signature algorithms. Figure illustrates
the generation of public key.
Certificates
Figure 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.
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
9
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.
Signature: This field includes the signature algorithm identifier.
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.
10
Certificate Revocation
Certificates have a period of validity.
May need to revoke before expiry, eg:
o User's private key is compromised
o User is no longer certified by this CA
o CA's certificate is compromised
CA 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. Each certificate revocation list (CRL) posted to the
directory is signed by the issuer. 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.
12