0% found this document useful (0 votes)
2 views16 pages

Remote

The document discusses remote user authentication methods using symmetric and asymmetric encryption, focusing on protocols like Needham-Schroeder and Kerberos. It outlines the steps for mutual authentication, the use of nonces, and the roles of key distribution centers. Additionally, it highlights the importance of secure communication and the challenges of public key cryptography.

Uploaded by

SAVITHRI M C
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views16 pages

Remote

The document discusses remote user authentication methods using symmetric and asymmetric encryption, focusing on protocols like Needham-Schroeder and Kerberos. It outlines the steps for mutual authentication, the use of nonces, and the roles of key distribution centers. Additionally, it highlights the importance of secure communication and the challenges of public key cryptography.

Uploaded by

SAVITHRI M C
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

2.

6 Remote User Authentication using Symmetric Encryption


🔹 Introduction

Remote User Authentication is the process of verifying the identity of a user over an insecure
network (like the Internet).

When symmetric encryption is used, both parties share a secret key for authentication.

The most well-known protocol for this is:

👉 Needham–Schroeder Protocol

It provides mutual authentication between two parties.

🔹 What is Mutual Authentication?

Mutual authentication means:

 Client verifies Server

 Server verifies Client

Both confirm each other’s identity before communication.

🔹 Needham–Schroeder Protocol

There are two versions:

1️⃣ Symmetric Key Version


2️⃣ Public Key Version

Needham–Schroeder Public Key Authentication Protocol

(Mutual Authentication using Public Key Cryptography)

🔹 Introduction

The Needham–Schroeder Public Key Protocol is designed to provide mutual authentication


between two parties:

 Alice (A)

 Bob (B)

It uses public key cryptography instead of symmetric keys.

👉 Goal: Both parties verify each other’s identity before communication.

🔹 Notations Used

 K A → Alice’s Public Key


 K B→ Bob’s Public Key

 N A → Nonce generated by Alice

 N B→ Nonce generated by Bob

 {M}K → Message M encrypted with key K

A nonce is a random number used once to prevent replay attacks.

🔹 Step-by-Step Protocol

Step 1: Alice → Bob

A → B : { N_A , A }K_B

 Alice generates nonce N A .

 Sends her identity and nonce.

 Entire message encrypted using Bob’s public key.

👉 Only Bob can decrypt it using his private key.

Step 2: Bob → Alice (Challenge)

B → A : { N_A , N_B }K_A

 Bob decrypts message.

 Sends back:

o Alice’s nonce (N_A) → proves he decrypted correctly.

o His own nonce (N_B).

 Encrypted using Alice’s public key.

👉 This authenticates Bob to Alice.

Step 3: Alice → Bob (Response)

A → B : { N_B }K_B

 Alice decrypts Bob’s message.

 Verifies N_A.

 Sends back N_B encrypted using Bob’s public key.

👉 This proves Alice is genuine.

✅ Result
 Both parties are authenticated.

 Secure communication can begin.

 No shared secret key is required initially.

Needham–Schroeder Authentication Protocol

(Symmetric Key Version with KDC)

This diagram shows how Alice and Bob authenticate each other using a Key Distribution Center
(KDC) and symmetric encryption.

🔹 Entities Involved

 Alice (A) → Initiator

 Bob (B) → Receiver

 KDC → Trusted Key Distribution Center

🔑 Keys Used

 K_A → Secret key shared between Alice & KDC

 K_B → Secret key shared between Bob & KDC

 K_S → Session key (generated by KDC)

 R_A, R_B → Nonces (random numbers)

🔹 Step-by-Step Explanation (As per Diagram)

✅ Step 1: Alice → KDC

R_A, A, B

 Alice sends:

o Random number R A

o Her identity (A)

o Bob’s identity (B)

👉 She requests a session key to communicate with Bob.

✅ Step 2: KDC → Alice

K_A ( R_A, B, K_S, K_B (A, K_S) )

KDC generates session key K S .

Message contains:
 R_A (for verification)

 B’s identity

 Session key K S

 Ticket for Bob → K B (A , K S )

Entire message encrypted using K_A.

👉 Only Alice can decrypt it.

✅ Step 3: Alice → Bob

K_B (A, K_S), K_S (R_A2)

Alice sends:

 Ticket (encrypted with K_B)

 New nonce encrypted with session key

👉 Bob decrypts ticket using K_B and gets K_S.

✅ Step 4: Bob → Alice

K_S (R_A2 − 1, R_B)

Bob:

 Decrypts R_A2

 Subtracts 1 and sends back

 Sends his own nonce R_B

Encrypted with session key K_S.

👉 Proves Bob is genuine.

✅ Step 5: Alice → Bob

K_S (R_B − 1)

Alice:

 Decrypts R_B

 Subtracts 1

 Sends back to Bob

👉 Proves Alice is genuine.


🎯 Final Result

✔ Mutual authentication achieved


✔ Session key established
✔ Secure communication begins

Two-Way Authentication Using Shared Secret Key

(Challenge–Response Protocol)

🔹 Introduction

This method is based on a shared secret key between two parties:

 Party 1 (Source)

 Party 2 (Destination)

Both share a common secret key K.

👉 It is called a Challenge–Response Protocol because one party sends a random challenge and the
other proves identity by encrypting it.

🔹 Basic Idea

 One party sends a random number (challenge).

 The other encrypts it using the shared secret key.

 If the result is correct, identity is confirmed.

🔹 Step-by-Step Working (As in Fig 2.6.2)

✅ Message 1: Party 1 → Party 2

Sends its identity.

👉 “I am Party 1.”

✅ Message 2: Party 2 → Party 1

Sends a random number (R1) in plaintext.

👉 This is the challenge.

✅ Message 3: Party 1 → Party 2

Party 1 encrypts R1 using shared key K:

E K (R 1)
Sends encrypted value back.

👉 Party 2 decrypts it using the same key.


If correct → Party 1 is authenticated.

🔎 At this stage:

 Party 2 is sure about Party 1.

 But Party 1 is not yet sure about Party 2.

✅ Message 4: Party 1 → Party 2

Now Party 1 sends its own random number (R2).

✅ Message 5: Party 2 → Party 1

Party 2 encrypts R2 using shared key:

E K (R 2)
Sends it back.

👉 Party 1 decrypts and verifies.

🎯 Final Result

✔ Both parties authenticated


✔ Shared secret key used
✔ Mutual authentication achieved

🔹 Simple Diagram

Party 1 → Party 2 : Identity


Party 2 → Party 1 : R1
Party 1 → Party 2 : E(K, R1)
Party 1 → Party 2 : R2
Party 2 → Party 1 : E(K, R2)

2.7 Remote User Authentication Using Asymmetric Encryption

This method uses Public Key Cryptography instead of a shared secret key.

There are two approaches:

1. Mutual Authentication using Public Key

2. Certificate-Based Authentication
🔹 1️⃣ Mutual Authentication (Using Public Key)

🧩 Working Steps

Let:

 A and B are two users

 E B= B’s public key

 DB = B’s private key

 K s = Session key

 R A , R B= Random numbers (nonces)

✅ Message 1: A → B

A sends a random number encrypted with B’s public key:

E B (R A )
Only B can decrypt it using his private key.

✅ Message 2: B → A

B decrypts and sends back:

E A (R A , RB , K s)
Contains:

 A’s nonce R A

 B’s nonce R B

 Proposed session key K s

Encrypted using A’s public key.

✅ Message 3: A → B

A decrypts using private key.

If R A matches → message is from B.

A confirms session by sending:

K s (R B )
Encrypted using session key.

🎯 Result
✔ Mutual authentication achieved
✔ Session key established
✔ Secure communication begins

⚠ Disadvantages

✖ Both users must already know each other's public keys


✖ Public key operations are slower
✖ No proof that public key really belongs to that user

👉 That leads to certificate-based authentication.

🔹 2️⃣ Certificate-Based Authentication

🧩 Idea

Each user has:

 Public key

 Digital Certificate (issued by Certificate Authority – CA)

Certificate contains:

 User name
 Public key

 Validity period

 CA signature

🪜 Working Steps

✅ Step 1: A → B

A sends his digital certificate

✅ Step 2: B verifies certificate

B checks:

 CA signature

 Validity period

 Owner name

 Certificate authority details

If valid → B trusts A’s public key.

✅ Step 3: B → A

B sends a random number (challenge) R

✅ Step 4: A → B

A encrypts challenge using his private key:

E A (R)
pr

✅ Step 5: B verifies

B decrypts using A’s public key.

If value matches → A is authenticated.

🎯 Result

✔ Strong authentication
✔ No need to pre-share keys
✔ Public key authenticity verified

2.8 Kerberos System


Kerberos is a network authentication protocol that authenticates users and services using a
trusted third party.
It is designed to work over an insecure network.

🔹 Key Points About Kerberos


 Developed at MIT under Project Athena
 Current versions up to Kerberos Version 5
 Uses secret-key (symmetric) cryptography
 Provides mutual authentication
 Password is used only once during login
 After authentication, communication can be encrypted
 Widely used in enterprise networks (Windows Active Directory)

🔹 Why Kerberos is Needed?


In an insecure network:
 Passwords can be intercepted
 Attackers can impersonate users
 Replay attacks are possible
👉 Kerberos solves this using:
 Tickets
 Session keys
 Time stamps
 Trusted third party (KDC)

🔹 Basic Components of Kerberos


1. Client (User)
2. Server (Service)
3. KDC (Key Distribution Center)
o Authentication Server (AS)
o Ticket Granting Server (TGS)
🔹 Requirements of Kerberos
Kerberos must satisfy:
1️⃣ Security
 Strong enough to prevent eavesdropping
 No password sent in plaintext
2️⃣ Reliability
 Distributed server architecture
 Backup servers possible
 Graceful degradation
3️⃣ Transparency
 User should not know authentication details
 Only enters password once
4️⃣ Scalability
 Supports large number of users and services
 Easy to add new clients and servers
Kerberos Terminology
1️⃣ Authentication Server (AS)
 Issues tickets for requested services
 Verifies user credentials
 Part of the KDC
👉 First point of contact for the client.

2️⃣ Client
 User or system requesting service
 Receives tickets from Kerberos

3️⃣ Credentials
 Electronic proof of identity
 Also called a Ticket
Used to verify a client for a particular service.
4️⃣ Credential Cache
 File storing tickets and session keys
 Used to avoid repeated authentication

5️⃣ Crypt Hash


 One-way hash used to authenticate users
 Used to protect passwords

6️⃣ Key
 Used for encryption and decryption
 Can be:
o User key
o Session key
o Server key

7️⃣ Key Distribution Center (KDC)


 Central trusted authority
 Issues tickets
 Usually includes:
o Authentication Server (AS)
o Ticket Granting Server (TGS)

8️⃣ Realm
 A Kerberos administrative domain
 Contains:
o One or more KDCs
o Many clients
Example: [Link]
9️⃣ Ticket Granting Server (TGS)
 Issues service tickets
 Allows client to access services
 Part of KDC

🔟 Ticket Granting Ticket (TGT)


 Special ticket issued by AS
 Allows client to request service tickets
 Avoids sending password again
👉 Enables Single Sign-On (SSO)
Kerberos Version 4
Kerberos Version 4 uses DES (Data Encryption Standard) for authentication.
It has two authentication dialogues:
1. Simple Authentication Dialogue
2. More Secure Authentication Dialogue
Simple Authentication Dialogue
🔹 Assumptions / Notations
 Client → C
 Authentication Server → AS
 Server (Service) → V
 User ID → IDc
 Server ID → IDv
 Password → Pc
 Client network address → ADc
 Secret key shared between AS and V → Kv
 || → Concatenation
 E(K, data) → Encryption using key K

🔹 Message Flow
📩 Step 1: C → AS
IDc || Pc || IDv
Client sends:
 User ID
 Password
 ID of requested server
👉 AS verifies password from its centralized database.

📩 Step 2: AS → C
AS sends a Ticket
Ticket contains:
E(Kv, [IDc || ADc || IDv])
 Encrypted using server's secret key Kv
 Only server V can decrypt it.

📩 Step 3: C → V
IDc || Ticket
Client sends:
 Its ID
 Ticket received from AS

📩 Step 4: V verifies Ticket


Server decrypts ticket using Kv
If values match:
 Client identity verified
 Access granted

🔹 Diagram
C → AS : IDc || Pc || IDv
AS → C : Ticket
C → V : IDc || Ticket
Ticket = E(Kv, [IDc || ADc || IDv])
🔹 Explanation in Simple Words
1️⃣ Client logs into system and requests access to server V.
2️⃣ Authentication Server verifies credentials.
3️⃣ AS issues a ticket encrypted with server’s secret key.
4️⃣ Client presents ticket to server.
5️⃣ Server decrypts and grants service.
Secure Authentication Dialogue (Kerberos V4)
🔹 Three Sessions in Secure Kerberos V4
1️⃣ Authentication Service (AS Exchange)
👉 To obtain Ticket Granting Ticket (TGT)
2️⃣ Ticket Granting Service (TGS Exchange)
👉 To obtain Service Granting Ticket
3️⃣ Client/Server Authentication
👉 To access requested service

You might also like