NSP M1-Ktunotes - in
NSP M1-Ktunotes - in
– Transparent
– user should not be aware that authentication is taking
place beyond the requirement to enter a password.
– Scalable
– capable of supporting large numbers of clients and
servers ▪ modular, distributed architecture.
• Problems:
– Lifetime associated with the ticket-granting
ticket
– If too short repeatedly asked for password
– If too long greater opportunity to replay
• The threat is that an opponent will steal
the ticket and use it before it expires
To solve these additional problems, we introduce a
scheme for avoiding plaintext passwords and a new
server, known as the ticket-granting server (TGS).
• 1. The client requests a ticket-granting ticket on behalf of the user
by sending its user's ID and password to the AS, together with the
TGS ID, indicating a request to use the TGS service.
48
X.509 Authentication
Service
• X.509 is part of the X.500 series of recommendations that define a
directory service, being a server or distributed set of servers that
maintains a database of information about users.
• 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.
• In addition, X.509 defines alternative authentication protocols based
on the use of public-key certificates.
• X.509 is based on the use of public-key cryptography and digital
signatures.
• The standard does not dictate the use of a specific algorithm but
recommends RSA.
• The X.509 certificate format is widely used, in for example S/MIME,
IP Security and SSL/TLS and SET.
49
50
X.509 Certificates
• issued by a Certification Authority (CA), containing:
– version (1, 2, or 3)
– serial number (unique within CA) identifying certificate
– signature algorithm identifier
– issuer X.500 name (CA)
– period of validity (from - to dates)
– subject X.500 name (name of owner)
– subject public-key info (algorithm, parameters, key)
– issuer unique identifier (v2+)
– subject unique identifier (v2+)
– extension fields (v3)
– signature (of hash of all fields in certificate)
• notation CA<<A>> denotes certificate for A signed by CA
X.509 Formats
52
• Version: Differentiates among successive versions of the
certificate format; the default is version 1. If the Issuer
Unique Identifier or Subject Unique Identifier are present,
the value must be version 2. If one or more extensions are
present, the version must be version 3.
• 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.
Because this information is repeated in the Signature field
at the end of the certificate, this field has little, if any,
utility.
• 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.
53
• 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. Extensions were
added in version 3 .
• Signature: Covers all of the other fields of the certificate; it
contains the hash code of the other fields, encrypted with the
CA's private key. This field includes the signature algorithm
identifier.
54
Obtaining a User’s
Certificate
• Characteristics of certificates
generated by CA:
– Any user with access to the public key of
the CA can recover the user public key
that was certified.
– No part other than the CA can modify
the certificate without this being
detected.
55
CA Hierarchy
• if both users share a common CA then they
are assumed to know its public key
• otherwise CA's must form a hierarchy
• use certificates linking members of
hierarchy to validate other CA's
– each CA has certificates for clients (forward)
and parent (backward)
• each client trusts parents certificates
• enable verification of any certificate from
one CA by users of all other CAs in
hierarchy
X.509 CA Hierarchy
57
Certificate Revocation
• certificates have a period of validity
• may need to revoke before expiry, eg:
1. user's private key is compromised
2. user is no longer certified by this CA
3. CA's certificate is compromised
• CA’s maintain list of revoked certificates
– the Certificate Revocation List (CRL)
• users should check certificates with CA’s
CRL
Authentication Procedures
59
Authentication Procedures
• X.509 includes three alternative
authentication procedures:
• One-Way Authentication
• Two-Way Authentication
• Three-Way Authentication
• all use public-key signatures
One-Way Authentication
• 1 message ( A->B) used to establish
– the identity of A and that message is
from A
– message was intended for B
– integrity & originality of message
• message must include timestamp,
nonce, B's identity and is signed by A
• may include additional info for B
– eg session key
Two-Way Authentication
• 2 messages (A->B, B->A) which also
establishes in addition:
– the identity of B and that reply is from
B
– that reply is intended for A
– integrity & originality of reply
• reply includes original nonce from A,
also timestamp and nonce from B
• may include additional info for A
Three-Way Authentication
• 3 messages (A->B, B->A, A->B) which
enables above authentication without
synchronized clocks
• has reply from A back to B containing
signed copy of nonce from B
• means that timestamps need not be
checked or relied upon
X.509 Version 3
• has been recognised that additional
information is needed in a certificate
– email/URL, policy details, usage
constraints
• rather than explicitly naming new
fields defined a general extension
method
• extensions consist of:
– extension identifier
– criticality indicator
– extension value
Certificate Extensions
• key and policy information
– convey info about subject & issuer keys,
plus indicators of certificate policy
• certificate subject and issuer
attributes
– support alternative names, in alternative
formats for certificate subject and/or
issuer
• certificate path constraints
– allow constraints on use of certificates
by other CA’s
•Module-1 (Authentication Protocols)
Authentication Protocols – Mutual authentication,
•One way authentication. Kerberos – Kerberos
Version 4, Kerberos Version 5. X.509
Authentication service.
• Public Key Infrastructure (PKI) – Trust models,
Revocation.
•CO1: Explain authentication protocols, X.509 authentication service and Public Key
Infrastructure (PKI).(Cognitive Knowledge Level: Understand)
Authenticity of Public Keys
?
private key
Bob
Alice
public key
•Public-key certificate
•Signed statement specifying the key and identity
•sigAlice(“Bob”, PKB)
•Common approach: certificate authority (CA)
•Single agency responsible for certifying public keys
•After generating a private/public key pair, user proves his
identity and knowledge of the private key to obtain CA’s
certificate for the public key (offline)
•Every computer is pre-configured with CA’s public key
Using Public-Key Certificates
Introduction
Terminology
PKI trust models defines where to get trust anchors, and how
to evaluate a chain of certificates from trust anchors to the
target
1 Monopoly model Monopoly +
2 RAs Delegated CAs Oligarchy
3 model Anarchy model
4 Top-down with name constraints
5 Bottom-up with name
6
constraints
7
Monopoly Model
Delegated CAs
Oligarchy Model
Certificate Revocation
Delta CRL
Problems:
A good-list is likely much larger than the bad list
Organizations might not want its list of valid certificates
public
➠ solution: use hashes of the certificates