Lecture 10 - Authentication



Similar documents
Lecture 10 - Authentication

CSE543 - Introduction to Computer and Network Security. Module: Public Key Infrastructure

CS Network Security: Public Key Infrastructure

CS Network Security: Public Key Infrastructure

Public Key Infrastructure

CSC574 - Computer and Network Security Module: Public Key Infrastructure

Authentication Applications

ITL BULLETIN FOR JULY Preparing for and Responding to Certification Authority Compromise and Fraudulent Certificate Issuance

CIS 433/533 - Computer and Network Security Authentication

How To Make A Trustless Certificate Authority Secure

Brocade Engineering. PKI Tutorial. Jim Kleinsteiber. February 6, Page 1

Dr. Cunsheng DING HKUST, Hong Kong. Security Protocols. Security Protocols. Cunsheng Ding, HKUST COMP685C

Lecture VII : Public Key Infrastructure (PKI)

Kerberos-Based Authentication for OpenStack Cloud Infrastructure as a Service

KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1

Authentication Applications

TELSTRA RSS CA Subscriber Agreement (SA)

Lecture 13. Public Key Distribution (certification) PK-based Needham-Schroeder TTP. 3. [N a, A] PKb 6. [N a, N b ] PKa. 7.

Chapter 4. Authentication Applications. COSC 490 Network Security Annie Lu 1

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Key Management and Distribution

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 15.1

TIBCO Spotfire Platform IT Brief

7 Key Management and PKIs

Network Security: Public Key Infrastructure

CRYPTOCard Authentication. Using PAM for Linux and Solaris. Quick Start Guide. Copyright CRYPTOCard Corporation All Rights Reserved

CSC/ECE 574 Computer and Network Security. What Is PKI. Certification Authorities (CA)

Computer and Network Security. Outline

Remote Authentication and Single Sign-on Support in Tk20

Managing Credentials with

Reducing Certificate Revocation Cost using NPKI

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

Entrust Managed Services PKI

Public Key Infrastructure. A Brief Overview by Tim Sigmon

Authentication is not Authorization?! And what is a "digital signature" anyway?

Conclusion and Future Directions

Purpose of PKI PUBLIC KEY INFRASTRUCTURE (PKI) Terminology in PKIs. Chain of Certificates

SSL/TLS: The Ugly Truth

Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0

Best Practices Guide for NerveCenter System and Security Administrators. Windows and UNIX Version 5.x Version 6.x. July 2011 NCBPSA

Asymmetric cryptosystems fundamental problem: authentication of public keys

Enabling SSL and Client Certificates on the SAP J2EE Engine

Security Digital Certificate Manager

Key Management and Distribution

The DoD Public Key Infrastructure And Public Key-Enabling Frequently Asked Questions

Angel Dichev RIG, SAP Labs

CS 356 Lecture 28 Internet Authentication. Spring 2013

Kerberos authentication made easy on OpenVMS

CAC AND KERBEROS FROM VISION TO REALITY

Authentication Application

SBClient SSL. Ehab AbuShmais

Neutralus Certification Practices Statement

NIST ITL July 2012 CA Compromise

CTS2134 Introduction to Networking. Module Network Security

Authentication Types. Password-based Authentication. Off-Line Password Guessing

Part III-a. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Implementation Guide for protecting. Linux/Unix/Solaris Pam Modules

Introduction to Network Security Key Management and Distribution

Digital certificates and SSL

Meeting the FDA s Requirements for Electronic Records and Electronic Signatures (21 CFR Part 11)

Security Digital Certificate Manager

Kerberos: An Authentication Service for Computer Networks by Clifford Neuman and Theodore Ts o. Presented by: Smitha Sundareswaran Chi Tsong Su

Websense Content Gateway HTTPS Configuration

associate professor BME Híradástechnikai Tanszék Lab of Cryptography and System Security (CrySyS)

Configuring Digital Certificates

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

The Role of Digital Certificates in Contemporary Government Systems: the Case of UAE Identity Authority

Network Security Protocols

esign Online Digital Signature Service

Secure PostgreSQL Deployments

CSE331: Introduction to Networks and Security. Lecture 29 Fall 2006

Integration with Active Directory. Jeremy Allison Samba Team

CS 392/681 - Computer Security

How To Understand And Understand The Security Of A Key Infrastructure

Single Sign-On. Security and comfort can be friend. Arnd Langguth. September, 2006

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Identity Management. Critical Systems Laboratory

Computer Systems Security 2013/2014. Single Sign-On. Bruno Maia Pedro Borges

CA Performance Center

Windows Security and Directory Services for UNIX using Centrify DirectControl

Unit objectives IBM Power Systems

What Are They, and What Are They Doing in My Browser?

Introduction to Cryptography

Department of Defense PKI Use Case/Experiences

The Concept of Trust in Network Security

Authentication Methods

Using SUSE Linux Enterprise Desktop with Microsoft * Active Directory Infrastructure

Concept of Electronic Approvals

Extended SSL Certificates

Attestation and Authentication Protocols Using the TPM

CS615 - Aspects of System Administration

Certification Practice Statement

Enabling Active Directory Authentication with ESX Server 1

GlobalSign Integration Guide

Managing CA-Signed Certificates

Certificate Management in Ad Hoc Networks

Cross-Certification and PKI Policy Networking

Chapter 7 Managing Users, Authentication, and Certificates

DIMACS Security & Cryptography Crash Course, Day 2 Public Key Infrastructure (PKI)

Danske Bank Group Certificate Policy

Transcription:

CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger Lecture 10 - Authentication CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse497b-s07/

Kerberos: What to know CSE543 Computer (and Network) Security - Fall 2006 - Professor Jaeger 2 1) Alice T rent : {Alice + Bob + rand 1 } 2) T rent Alice : {Alice+Bob+rand 1 +K AB +{Alice+K AB }K BT }K AT 3) Alice Bob : {Alice + K AB }K BT 4) Bob Alice : {rand 2 }K AB 5) Alice Bob : {rand 2 1}K AB Bob s Ticket Alice s Ticket Kerberos Properties Initial Goals: secure communication, mutual authentication Extra Goal: single signon Compare result to SSH (and PKI today) Deployment of Needham-Schoeder Limited to single administrative domain Replaced by single authenticator message {time}kab Challenges in replay prevention (timestamps)

Public Key Authentication Public Key Cryptography is the answer easy to distribute the public key never give the private key to anyone else key agreement is easy (sans Needham-Schoeder) keys can be global While PK is used, not as broadly as expected Requires a significant infrastructure Global systems are difficult (impossible) to build CSE543 Computer (and Network) Security - Fall 2006 - Professor Jaeger 3

Public Key Infrastructure System to securely distribute public keys Q: Why is that hard? Terminology: Alice signs a certificate for Bob s name and key Alice is issuer, and Bob is subject Alice wants to find a path to Bob s key Alice is verifier,and Bob is target Anything that has a public key is a principal Anything trusted to sign certificates is a trust anchor Its certificate is a root certificate CSE543 Computer (and Network) Security - Fall 2006 - Professor Jaeger 4

What is a certificate? A certificate makes an association between a user identity/job/attribute and a private key contains public key information {e,n} has a validity period is signed by some certificate authority (CA) Issued by CA for some purpose Verisign is in the business of issuing certificates People trust Verisign to vet identity CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 5

Why do I trust the certificate? A collections of root CA certificates baked into your browser vetted by the browser manufacturer supposedly closely guarded (yeah, right) Root certificates used to validate certificate Vouches for certificate s authenticity Who is Bob Jones?... CA (signs) Certificate Signature Signature CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 6

What is a PKI? Rooted tree of CAs Cascading issuance Any CA can issue cert CAs issue certs for children Root CA1 CA2 CA3 CA11 CA12 CA1n CA21 CA22 Cert11a Cert11b Cert11c CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 7

Certificate Validation CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 8 Root CA1 CA2 CA3 Certificate Signature CA11 CA12 CA1n CA21 CA22 Cert11a Cert11b Cert11c

PKI and Revocation Certificate may be revoked before expiration Lost private key Compromised Owner no longer authorized Revocation is hard The anti-matter problem Verifiers need to check revocation state Loses the advantage of off-line verification Revocation state must be authenticated CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 9

PKI Challenges Must trust a CA Which one? What is it trusted to do? Key storage Who can access my key? Similar problem for Kerberos, SSH, etc. Certificate bindings must be correct Which John Smith is this? Who authorizes attributes in a certificate? How long are these value valid? What process is used to verify the key holder? CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 10

Pretty Good Privacy Alternative infrastructure for public key Peer-to-Peer approach E.g., for email Key management is manual Public key exchange between peers Add public key to personal keyring Can authenticate messages from these parties Used mainly by computer security types Johnny can t encrypt GNU Privacy Guard CSE497B Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger 11

Systems Authentication Authentication Architecture Remote Service (sshd, telnet) Local Service (su, login) Application Service (ftp,httpd) Operating System CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 12

Pluggable Authentication Modules Centralized authentication service for Linux/Solaris Advantages Provides a common authentication scheme that can be used with a wide variety of applications. Allows a large amount of flexibility and control over authentication for both the system administrator and application developer. Allows application developers to develop programs without creating their own authentication scheme. PAM-ified application Uses PAM authentication technique and config Receives identity May be entrusted to forward identity to system CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 13

System Authentication Authentication Architecture PAM Remote Service PAM Local Service PAM Application Service Operating System CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 14

PAM Concepts Module Interface Auth: authentication Account: management + authorization Use service; password expire Password: set and verify passwords Session: configure session E.g., mount home directory One module may provide all pam_stack.so for each interface Modules may be stacked Multiple support same interface Required and optional session interfaces modules CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 15

PAM Usage PAMify an application Must be able to modify the application code Build with PAM libraries (libpam, libpam-misc,...) Authenticate first Build pam_handle_t data structure Call pam_authenticate (calls PAM module for authenticate) Use pam_get_item to get authenticated identity Example Call pam_authenicate (uses module specified in config) PAM gets username, password (or whatever) Returns PAM_SUCCESS Use pam_get_item to get the actual identity CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 16

PAM Usage (con t) Session management pam_setcred() before open session application-specific credentials to PAM pam_open_session() pam_close_session() based on module specified in config Account management pam_acct_mgmt() based on module specified in config Password pam_chauthtok() based on module specified in config Where is responsibility for correct authentication? CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 17

pam_unix.so Auth: Authentication pam_authenticate() and pam_setcred() (RPC credentials) Session Session logging Account Check that password has not expired Password Password update, includes cracklib to check strength CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 18

PAM Policies Config files: /etc/pam.d/ For each PAMified application su -- /etc/pam.d/su or /etc/pam.conf <module interface> <control flag> <module path> <module arguments> #%PAM-1.0 auth required /lib/security/$isa/pam_stack.so service=system-auth account required /lib/security/$isa/pam_stack.so service=system-auth password required /lib/security/$isa/pam_stack.so service=system-auth session required /lib/security/$isa/pam_stack.so service=system-auth session optional /lib/security/$isa/pam_xauth.so CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 19

Control Flags Required Must be successful Notify after all modules on interface run Requisite Must be successful Notify immediately Sufficient Result is ignored if failed Pass if succeeds and no previous modules failed Optional Result is ignored Must pass if no other modules CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 20

Modules and Arguments Modules are in /lib/security/ Arguments are module-specific For pam_stack auth sufficient service=x509-auth auth required service=system-auth Tries using x.509; password is backup plan Could apply other authentication techniques Kerberos, biometrics, etc. CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 21

Take Away Authentication Systems A variety of ways to authenticate a principal And generate a session key for secure communication Use limited by trust Trust in KDC administration: Kerberos Trust in machine-public mapping: SSH Trust in public key-identity mapping: PKIs Trust in public key storage PAM enables integration of authentication with applications CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger 22