ACCESS CONTROL MANAGEMENTProject Progress (as of March 3)
By: Poonam Gupta Sowmya Sugumaran
Kerberos
User namePasswordPolicies
Authentication Service ServerTicket Granting Service Sever
Resource 1
Resource 2
1 3
2
4
4
client
Getting the Tickets
• kinit –forwards request for TGT to KDC• KDC encrypts TGT with pswrd and sends back• kinit has following options - l(lifetime) - f(forwardable tickets) -r(renewable life)
Listing the Tickets
• klist – lists the tickets of the authenticated user.
output of an unsuccessful authentication is: klist: No credentials cache file found (ticket cache /tmp/krb5cc_1234)
Contd..
• klist provides:– Information of all tickets– Expiration time of each ticket– Flags that apply to the ticket
Example:Ticket cache: /tmp/krb5cc_1234Valid starting Expires 29 Jul 98 11:25:47 30 Jul 98 12:25:42
Destroying the Tickets
• Destroyed automatically on logging out• Destroying by hand:– Using kdestroy commandOutput generated by klist when all the tickets are destroyed:klist: No credentials cache file found
Changing Kerberos Password
• Kpasswd is used for changing Kerberos passwords
– kpasswd: Changing password – Old password: your_old_password – kpasswd:your_new_password – New password (again): your_new_password– Kerberos password changed
What is in a Ticket?Field Name Description
Ticket version number 5
Realm Domain that issued ticket(mostly server’s)
Server Name Name of the server
Flags Options that specify how & when to issue
Key Client-Server session key
Client Realm Requestor’s domain name
Client Name Requestor’s name
Authentication Time Initial authentication time
Start time Time after which ticket is valid
End time Ticket’s expiration time
Renewal Till Max end time that can be set with flag
Client Address 1 or more addresses
Authorization Data Contains access restrictions
What happens when tickets expire?
• KDC doesn’t notify client when the ticket is about to expire
• Tickets-for authenticating new connections• Ongoing operations are not interrupted
CLIENT SERVER
Expired service ticket
Error message
Renewable TGTs
• Only session keys are refreshed, without issuing new tickets every time.
• When Renewable policy is permitted, KDC sets a “Renewable” flag-R in the ticket.
• Sets 2 expiration time– (i)limits life of current instance of ticket– (ii)limit on the cumulative lifetime of all instances
KDC configuration
RFC 1510 recommends the following values:
Configuration Element RFC 1510 Recommendation
Active Directory Domain Default Setting
Maximum ticket lifetime One day 600 minutes (10 hours)
Maximum renewable lifetime One week Seven days
The Authenticator
• The client includes an authenticator whenever it sends ticket to the server(either TGS or service server)
• Authenticator – verifies that the destination in the ticket is really the ticket’s source.
Why is an Authenticator necessary
• The server trusts the ticket-ticket is encrypted using server’s secret key
• Server doubts about the sender• The ticket could be stolen and then sent by
the imposter
How does the Authenticator work• The authenticator is encrypted with the session key created by the KDC to
be used between the client and the target server. Only the client and the target server can access the session key.
• The target server uses its secret key to decrypt the ticket, finds the session key inside the ticket, and uses it to decrypt the authenticator.
• If the target server can successfully decrypt the authenticator and if the authenticator's data is accurate, then the target server will trust the source of the ticket.
Authenticator’s Timestamp
• Important piece of data• Kerberos policy requires that authenticator’s
timestamp be within minutes of the time on the server
• This prevents replay attack
Setting up KDC Hardware
• KDC – holds database with passwords and all information
• KDC must be as secure as possible:– Put the server machine into a physically secured
location, to which only a very few people have access. – Do not run any network applications on it except the
KDC. – It is probably a good approach to install a minimal
system first then check the list of installed packages and remove any unneeded packages.
Clock Synchronization
• All clocks within the organization must be synchronized
• Very important – Protects against replay attack• Possible solution:– Installing time server on one machine and having
all clients synchronize their clocks with this machine
Setting the Master Key
• Database master key – protects from accidental disclosure
• Derived from pass phrase and stored in stash file
• Don’t back up stash file while making backups of database in a tape– Master key:<enter pass phrase>
Verifying password – Master key:<enter pass phrase again>
Minutes Details
• Meeting once in a week• Installed Kerberos• Understanding how to setup client and server
application
Thank You..!!
Top Related