cryptography and network security chapter 14 authentication fourth edition by william stallings...

52
Cryptography and Cryptography and Network Security Network Security Chapter 14 Chapter 14 Authentication Authentication Fourth Edition Fourth Edition by William Stallings by William Stallings Lecture slides by Lawrie Lecture slides by Lawrie Brown Changed and Brown Changed and extended by Hans Hedbom extended by Hans Hedbom

Upload: teresa-barrett

Post on 02-Jan-2016

236 views

Category:

Documents


4 download

TRANSCRIPT

Cryptography and Cryptography and Network SecurityNetwork Security

Chapter 14 Chapter 14 AuthenticationAuthentication

Fourth EditionFourth Edition

by William Stallingsby William Stallings

Lecture slides by Lawrie Brown Lecture slides by Lawrie Brown Changed and extended by Hans Changed and extended by Hans

HedbomHedbom

Chapter 14 – Chapter 14 – Authentication Authentication ApplicationsApplications

We cannot enter into alliance with We cannot enter into alliance with neighboring princes until we are neighboring princes until we are acquainted with their designs.acquainted with their designs.

——The Art of WarThe Art of War, Sun Tzu, Sun Tzu

AuthenticationAuthentication

Most technical security safeguards have Most technical security safeguards have authentication as a preconditionauthentication as a precondition

How to authenticate:How to authenticate:

LocationSomewhere you areBiometrieSomething you are

Smart Card, TokenSomething you havePassword, SecretsSomething you

know

The authentication processThe authentication process

Authentication Verification Authorization

AuthenticationAuthentication Ask the user for credentialsAsk the user for credentials

VerificationVerification Verify this credentials agains something previously Verify this credentials agains something previously

knownknown

AuthorizationAuthorization Mark the user as authenticatedMark the user as authenticated Commonly here also the AC rights are assignedCommonly here also the AC rights are assigned

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

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 self users initially negotiate with AS to identify self 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 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 TGTobtain service granting ticket from TGT• 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, non-std mode of use, session double encryption, non-std mode of use, session keys, password attackskeys, password attacks

X.509 Authentication Service X.509 Authentication Service

part of CCITT X.500 directory service standardspart of CCITT 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

Liberty AllianceLiberty Alliance

Federated Network IdentityFederated Network Identity

Liberty ArchitectureLiberty Architecture

SSO with POSTSSO with POST

SSO with POSTSSO with POST

Single LogoutSingle Logout

Login exampleLogin example

Basic SSOBasic SSO

Artifact SSOArtifact SSO

LECP profileLECP profile

Liberty WSFLiberty WSF

Liberty WSFLiberty WSF

Liberty WSFLiberty WSF

OASISOASIS

WS-SecurityWS-Security

OASIS standardOASIS standard DefinesDefines

specifications to enable applications to conduct specifications to enable applications to conduct secure SOAP message secure SOAP message exchanges.exchanges.

Multiple security token formatsMultiple security token formats Multiple trust domainsMultiple trust domains Multiple signature formatsMultiple signature formats Multiple encryption technologiesMultiple encryption technologies End-to-end message content security and not just End-to-end message content security and not just

transport-level securitytransport-level security

OASIS WS-SecurityOASIS WS-Security

WS-TrustWS-Trust

OASIS StandardOASIS Standard Extends WS-SecurityExtends WS-Security DefinesDefines

Methods for issuing, renewing, and validating Methods for issuing, renewing, and validating security tokens.security tokens.

Ways to establish assess the presence of, Ways to establish assess the presence of, and broker trust relationships. and broker trust relationships.

WS-TrustWS-Trust

WS-FedarationWS-Fedaration

OASIS work in progressOASIS work in progress The primary goal of this specification is to The primary goal of this specification is to

enable federation of identity, attribute, enable federation of identity, attribute, authentication, and authorization authentication, and authorization information. information.

ExempelExempel

SummarySummary

have considered:have considered: Kerberos Kerberos trusted key server systemtrusted key server system X.509 authentication and certificatesX.509 authentication and certificates