CS - Kerberos & Other Authentication Protocols
CS - Kerberos & Other Authentication Protocols
CS - Kerberos & Other Authentication Protocols
Kerberos:
Kerberos is a network authentication protocol that ensures secure communication between client and server
applications over an insecure network. Kerberos is a three step security process used for authorization and
authentication. Kerberos is a standard feature of Windows software. The three heads of Kerberos are:
1. User
2. Key Distribution Service (KDS) i.e. Security Server
a) Authentication Server (AS)
b) Ticket Granting Server (TGS)
3. Services (servers)
Working of Kerberos:
1. Initial Authentication:
When you log in, your computer contacts the Key Distribution Center (KDC) to request a Ticket Granting
Ticket (TGT).
The KDC verifies your credentials and issues a TGT, which is encrypted with a session key.
You store this TGT locally.
2. Accessing a Service:
Suppose you want to access a file server.
You request a service ticket from the KDC using your TGT.
The KDC validates your request and issues a service ticket encrypted with the server’s secret key.
You send this service ticket to the file server.
3. Service Authentication:
The file server decrypts the service ticket using its secret key.
If the decryption succeeds, you’re authenticated, and the server grants access.
4. Session Key:
The session key from the TGT is used for secure communication between you and the file server.
All subsequent communication between you and the service uses this session key for encryption and
decryption.
Hypothetical example: (Only for understanding purpose)
Imagine a secure office building where only authorized employees can enter and access various rooms. The building has
a security system managed by a guard named Kerberos.
Here's how the Kerberos authentication protocol works using this analogy:
Recap:
Kerberos Authentication Server (AS): Verifies user credentials and issues a TGT.
Ticket Granting Server (TGS): Issues service-specific tickets based on the TGT.
Service Ticket: Grants access to specific services..
Real-life Analogy:
Alice: Employee/User
Guard (AS): Initial authentication server that checks credentials.
TGT: Proof of initial authentication (general access card).
Guard's colleague (TGS): Issues specific room access (service tickets).
Service Ticket: Specific access card for the desired room/service.
Kerberos ensures that each step is secure, using encrypted tickets that prove the user’s identity and access rights
without repeatedly exposing passwords.
SAML (Security Assertion Markup Language) is a protocol that helps with single sign-on (SSO), allowing users to log in once and
gain access to multiple applications or services without needing to log in again for each one. It's like having a master key that lets you
open several doors without needing a separate key for each door.
(Imagine you have a membership card for a gym. When you enter the gym, you show your membership card at the front desk. The front
desk verifies your membership and gives you a wristband. With this wristband, you can access different areas of the gym (e.g., pool,
sauna, weight room) without having to show your membership card again at each door.)
Key Concepts/ Components:
User (Principal): The person who wants to access multiple applications or services (you).
Identity Provider (IdP): The system that authenticates the user and issues identity information (the gym front desk).
Service Provider (SP): The applications or services the user wants to access (pool, sauna, weight room).
Assertion: A message from the IdP to the SP that asserts the user's identity and other attributes (the wristband).
RADIUS (Remote Authentication Dial-In User Service) is a protocol used for authenticating, authorizing, and accounting users who
connect to a network service. It's commonly used by Internet Service Providers (ISPs) and enterprises to manage access to the network.
(Imagine you have a club with a secure entrance. The club employs a bouncer (RADIUS server) who checks members' IDs (user
credentials) before allowing them inside. The bouncer also keeps a log of when members enter and leave the club.)
Key Concepts:
User (Client): The person who wants to access the network (e.g., an employee or a customer).
RADIUS Client: The network device (e.g., a router, switch, or Wi-Fi access point) that receives the user’s request and forwards it
to the RADIUS server.
RADIUS Server: The server that verifies the user's credentials and grants or denies access.
Authentication: Verifying the user's identity.
Authorization: Determining what resources the user is allowed to access.
Accounting: Keeping track of the user's activity (e.g., when they logged in and out).
X.509 Authentication Service is a standard for public key infrastructure (PKI) that defines how digital certificates are used to verify
identity over a network. These digital certificates are like digital passports that prove the identity of users, devices, or services.
(Imagine you have a passport issued by your government. When you travel to another country, border control checks your passport to
verify your identity. Similarly, in the digital world, an X.509 certificate serves as a digital passport that proves your identity to other
parties.)
Key Concepts:
Digital Certificate: A digital document that contains information about the identity of a user, device, or service,
along with a public key.
Public Key: A key that can be shared openly and is used to encrypt data or verify digital signatures.
Private Key: A secret key that is kept private and is used to decrypt data or create digital signatures.
Certificate Authority (CA): An entity that issues and verifies digital certificates. It acts like a government issuing
passports.
Certificate Chain: A hierarchy of certificates that link back to a trusted root certificate issued by a CA.