authentication applications. will consider authentication functions will consider authentication...
TRANSCRIPT
Authentication Authentication ApplicationsApplications
Authentication ApplicationsAuthentication Applications
will consider authentication functionswill consider authentication functions developed to support application-level developed to support application-level
authentication & digital signaturesauthentication & digital signatures will consider Kerberos – a private-key will consider Kerberos – a private-key
authentication serviceauthentication service then X.509 - a public-key directory then X.509 - a public-key directory
authentication serviceauthentication service
KerberosKerberos
In Greek mythology, a many headed dog, In Greek mythology, a many headed dog, the guardian of the entrance of Hadesthe guardian of the entrance of Hades
KerberosKerberos
trusted key server system from MIT trusted key server system from MIT provides centralised private-key third-party provides centralised private-key third-party
authentication in a distributed networkauthentication in a distributed network allows users access to services distributed allows users access to services distributed
through networkthrough network without needing to trust all workstationswithout needing to trust all workstations rather all trust a central authentication serverrather all trust a central authentication server
two versions in use: 4 & 5two versions in use: 4 & 5
Kerberos RequirementsKerberos Requirements
its first report identified requirements as:its first report identified requirements as: securesecure reliablereliable transparenttransparent scalablescalable
implemented using an authentication implemented using an authentication protocol based on Needham-Schroederprotocol based on Needham-Schroeder
Kerberos v4 OverviewKerberos v4 Overview
a basic third-party authentication schemea basic third-party authentication scheme have an Authentication Server (AS) have an Authentication Server (AS)
users initially negotiate with AS to identify users initially negotiate with AS to identify themselves themselves
AS provides a non-corruptible authentication AS provides a non-corruptible authentication credential (ticket-granting ticket TGT) credential (ticket-granting ticket TGT)
have a Ticket Granting server (TGS)have a Ticket Granting server (TGS) users subsequently request access to other users subsequently request access to other
services from TGS on basis of users TGTservices from TGS on basis of users TGT
Kerberos TermsKerberos Terms
Terms:Terms: C = ClientC = Client AS = authentication serverAS = authentication server V = serverV = server IDIDcc = identifier of user on C = identifier of user on C IDIDv v = identifier of V= identifier of V PPc c = password of user on C= password of user on C ADcADc = network address of C= network address of C KKvv = secret encryption key shared by AS an V= secret encryption key shared by AS an V TS = timestampTS = timestamp || = concatenation|| = concatenation
Simple Authentication Simple Authentication DialogueDialogue
(1)(1) C C AS: AS: IIDDc c |||| PPcc || || IIDDvv
(2)(2) AS AS C: C: TicketTicket
(3)(3) CC V: V: IIDDc c |||| Ticket Ticket
Ticket = ETicket = EKKvv[[IIDDc c |||| ADADc c || || IIDDvv]]
Simple Authentication Simple Authentication DialogueDialogue
Problems:Problems: Lifetime associated with the ticket-granting Lifetime associated with the ticket-granting
ticketticket If too short If too short repeatedly asked for password repeatedly asked for password If too long If too long greater opportunity to replaygreater opportunity to replay
The threat is that an opponent will steal The threat is that an opponent will steal the ticket and use it before it expires.the ticket and use it before it expires.
Version 4 Authentication Version 4 Authentication DialogueDialogue
Ticket-Granting Service Exchange: To obtain Service-Granting Ticket
(3) C TGS: IDv ||Tickettgs ||Authenticatorc
(4) TGS C: EKc,tgs [Kc,¨v|| IDv || TS4 || Ticketv]
Client/Server Authentication Exhange: To Obtain Service
(5) C V: Ticketv || Authenticatorc
(6) V C: EKc,v[TS5 +1] // mutual authentication
Authentication Service Exchange: To obtain Ticket-Granting TicketAuthentication Service Exchange: To obtain Ticket-Granting Ticket
(1)(1) C C AS: AS: IDc || ID IDc || IDtgstgs ||TS ||TS11
(2)(2) AS AS C: C: E EKc Kc [K[Kc,tgsc,tgs|| ID|| IDtgstgs || TS || TS2 2 || Lifetime|| Lifetime2 2 || Ticket|| Tickettgstgs]]
Kerberos v4 DialogueKerberos v4 Dialogue
1.1. obtain ticket-granting ticket from ASobtain ticket-granting ticket from AS• once per sessiononce per session
2.2. obtain service-granting ticket from TGSobtain service-granting ticket from TGS• for each distinct service requiredfor each distinct service required
3.3. client/server exchange to obtain serviceclient/server exchange to obtain service• on every service requeston every service request
Kerberos 4 OverviewKerberos 4 Overview
Kerberos RealmsKerberos Realms
a Kerberos environment consists of:a Kerberos environment consists of: a Kerberos servera Kerberos server a number of clients, all registered with servera number of clients, all registered with server application servers, sharing keys with serverapplication servers, sharing keys with server
this is termed a realmthis is termed a realm typically a single administrative domaintypically a single administrative domain
if have multiple realms, their Kerberos if have multiple realms, their Kerberos servers must share keys and trust servers must share keys and trust
Kerberos RealmsKerberos Realms
Kerberos Version 5Kerberos Version 5
developed in mid 1990’sdeveloped in mid 1990’s specified as Internet standard RFC 1510specified as Internet standard RFC 1510 provides improvements over v4provides improvements over v4
addresses environmental shortcomingsaddresses environmental shortcomings• encryption alg, network protocol, byte order, ticket encryption alg, network protocol, byte order, ticket
lifetime, authentication forwarding, interrealm authlifetime, authentication forwarding, interrealm auth and technical deficienciesand technical deficiencies
• double encryption, session keys, password attacksdouble encryption, session keys, password attacks
X.509 Authentication Service X.509 Authentication Service
part of ITU-T X.500 directory service standardspart of ITU-T X.500 directory service standards distributed servers maintaining user info databasedistributed servers maintaining user info database
defines framework for authentication services defines framework for authentication services directory may store public-key certificatesdirectory may store public-key certificates with public key of user signed by certification authority with public key of user signed by certification authority
also defines authentication protocols also defines authentication protocols uses public-key crypto & digital signatures uses public-key crypto & digital signatures
algorithms not standardised, but RSA recommendedalgorithms not standardised, but RSA recommended
X.509 certificates are widely used X.509 certificates are widely used
X.509 CertificatesX.509 Certificates
issued by a Certification Authority (CA), containing: issued by a Certification Authority (CA), containing: version (1, 2, or 3) version (1, 2, or 3) serial number (unique within CA) identifying certificate serial number (unique within CA) identifying certificate signature algorithm identifier signature algorithm identifier issuer X.500 name (CA) issuer X.500 name (CA) period of validity (from - to dates) period of validity (from - to dates) subject X.500 name (name of owner) subject X.500 name (name of owner) subject public-key info (algorithm, parameters, key) subject public-key info (algorithm, parameters, key) issuer unique identifier (v2+) issuer unique identifier (v2+) subject unique identifier (v2+) subject unique identifier (v2+) extension fields (v3) extension fields (v3) signature (of hash of all fields in certificate) signature (of hash of all fields in certificate)
notation notation CA<<A>>CA<<A>> denotes certificate for A signed by CA denotes certificate for A signed by CA
X.509 CertificatesX.509 Certificates
Obtaining a Obtaining a Certificate Certificate
any user with access to CA can get any any user with access to CA can get any certificate from it certificate from it
only the CA can modify a certificate only the CA can modify a certificate because cannot be forged, certificates can because cannot be forged, certificates can
be placed in a public directory be placed in a public directory
CA Hierarchy CA Hierarchy
if both users share a common CA then they are if both users share a common CA then they are assumed to know its public key assumed to know its public key
otherwise CA's must form a hierarchy otherwise CA's must form a hierarchy use certificates linking members of hierarchy to use certificates linking members of hierarchy to
validate other CA's validate other CA's each CA has certificates for clients (forward) and each CA has certificates for clients (forward) and
parent (backward) parent (backward) each client trusts parents certificates each client trusts parents certificates enable verification of any certificate from one CA enable verification of any certificate from one CA
by users of all other CAs in hierarchy by users of all other CAs in hierarchy
CA Hierarchy UseCA Hierarchy Use
Certificate RevocationCertificate Revocation
certificates have a period of validitycertificates have a period of validity may need to revoke before expiry, eg:may need to revoke before expiry, eg:
1.1. user's private key is compromiseduser's private key is compromised
2.2. user is no longer certified by this CAuser is no longer certified by this CA
3.3. CA's certificate is compromisedCA's certificate is compromised
CA’s maintain list of revoked certificatesCA’s maintain list of revoked certificates the Certificate Revocation List (CRL)the Certificate Revocation List (CRL)
users should check certificates with CA’s CRLusers should check certificates with CA’s CRL
Authentication ProceduresAuthentication Procedures
X.509 includes three alternative X.509 includes three alternative authentication procedures: authentication procedures:
One-Way Authentication One-Way Authentication Two-Way Authentication Two-Way Authentication Three-Way Authentication Three-Way Authentication all use public-key signaturesall use public-key signatures
One-Way AuthenticationOne-Way Authentication
1 message ( A->B) used to establish 1 message ( A->B) used to establish the identity of A and that message is from A the identity of A and that message is from A message was intended for B message was intended for B integrity & originality of message integrity & originality of message
message must include timestamp, nonce, message must include timestamp, nonce, B's identity and is signed by AB's identity and is signed by A
may include additional info for Bmay include additional info for B eg session key eg session key
Two-Way AuthenticationTwo-Way Authentication
2 messages (A->B, B->A) which also 2 messages (A->B, B->A) which also establishes in addition:establishes in addition: the identity of B and that reply is from B the identity of B and that reply is from B that reply is intended for A that reply is intended for A integrity & originality of reply integrity & originality of reply
reply includes original nonce from A, also reply includes original nonce from A, also timestamp and nonce from Btimestamp and nonce from B
may include additional info for Amay include additional info for A
Three-Way AuthenticationThree-Way Authentication
3 messages (A->B, B->A, A->B) which 3 messages (A->B, B->A, A->B) which enables above authentication without enables above authentication without synchronized clocks synchronized clocks
has reply from A back to B containing has reply from A back to B containing signed copy of nonce from B signed copy of nonce from B
means that timestamps need not be means that timestamps need not be checked or relied upon checked or relied upon
X.509 Version 3X.509 Version 3
has been recognised that additional has been recognised that additional information is needed in a certificate information is needed in a certificate email/URL, policy details, usage constraintsemail/URL, policy details, usage constraints
rather than explicitly naming new fields rather than explicitly naming new fields defined a general extension methoddefined a general extension method
extensions consist of:extensions consist of: extension identifierextension identifier criticality indicatorcriticality indicator extension valueextension value
Certificate ExtensionsCertificate Extensions
key and policy informationkey and policy information convey info about subject & issuer keys, plus convey info about subject & issuer keys, plus
indicators of certificate policyindicators of certificate policy certificate subject and issuer attributescertificate subject and issuer attributes
support alternative names, in alternative support alternative names, in alternative formats for certificate subject and/or issuerformats for certificate subject and/or issuer
certificate path constraintscertificate path constraints allow constraints on use of certificates by allow constraints on use of certificates by
other CA’sother CA’s
Public Key InfrastructurePublic Key Infrastructure
SummarySummary
have considered:have considered: Kerberos Kerberos trusted key server systemtrusted key server system X.509 authentication and certificatesX.509 authentication and certificates