Introduction to Computer Security



Similar documents
Introduction to Computer Security

CSC Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity

4.2: Kerberos Kerberos V4 Kerberos V5. Chapter 5: Security Concepts for Networks. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Authentication Applications

TOPIC HIERARCHY. Distributed Environment. Security. Kerberos

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

10.2 World Wide Web Security S-HTTP (secure hypertext transfer protocol) SEA (security extension architecture)

NIST PKI 06: Integrating PKI and Kerberos (updated April 2007) Jeffrey Altman

Chapter 15 User Authentication

HOBCOM and HOBLink J-Term

Kerberos. Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, BC. From Italy (?).

BM482E Introduction to Computer Security

WATCHING THE WATCHDOG: PROTECTING KERBEROS AUTHENTICATION WITH NETWORK MONITORING

Kerberos. Login via Password. Keys in Kerberos

Access Control Basics. Murat Kantarcioglu

Architecture of Enterprise Applications III Single Sign-On

Outline. INF3510 Information Security University of Oslo Spring Lecture 9 Identity Management and Access Control. The concept of identity

How To Use Kerberos

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

IDENTITY MANAGEMENT. February The Government of the Hong Kong Special Administrative Region

Authentication Applications

Authentication. Computer Security. Authentication of People. High Quality Key. process of reliably verifying identity verification techniques

A Comparative Study of Security Features in FreeBSD and OpenBSD

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 7 Access Control Fundamentals

CS 356 Lecture 28 Internet Authentication. Spring 2013

A Secure Authenticate Framework for Cloud Computing Environment

Authentication Application

Red Hat Enterprise IPA Identity & Access Management for Linux and Unix Environments. Dragos Manac

Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi

Installation and Configuration Guide

API-Security Gateway Dirk Krafzig

CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS

Kerberos-Based Authentication for OpenStack Cloud Infrastructure as a Service

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

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

The Security Behind Sticky Password

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

Compliance and Security Challenges with Remote Administration

RSA SecurID Software Token 1.0 for Android Administrator s Guide

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

Access Control. Dr George Danezis

How To Secure Your Data Center From Hackers

Complying with PCI Data Security

Chapter 23. Database Security. Security Issues. Database Security

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Security Architecture Whitepaper

Crypho Security Whitepaper

INF3510 Information Security University of Oslo Spring Lecture 9 Identity Management and Access Control

TIB 2.0 Administration Functions Overview

A brief on Two-Factor Authentication

Two-Factor Authentication

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

A Nemaris Company. Formal Privacy & Security Assessment For Surgimap version and higher

PUBLIC Secure Login for SAP Single Sign-On Implementation Guide

Architecture Guidelines Application Security

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

Security+ Guide to Network Security Fundamentals, Third Edition Chapter 8 Authentication

INF3510 Information Security University of Oslo Spring Lecture 8 Identity and Access Management. Audun Jøsang

Likewise Security Benefits

White Paper. Authentication and Access Control - The Cornerstone of Information Security. Vinay Purohit September Trianz 2008 White Paper Page 1

Session objectives. Access control. Subjects and objects. The request. Information Security

Implementing a Kerberos Single Sign-on Infrastructure

How To Make A Trustless Certificate Authority Secure

Web Single Sign-On System. For WRL Company

Authentication: Password Madness

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

Cross-Realm Trust Interoperability, MIT Kerberos and AD

Introduction to Computer Security

Thick Client Application Security

Using LDAP Authentication in a PowerCenter Domain

RSA SecurID Software Token 1.3 for iphone and ipad Administrator s Guide

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 10 Authentication and Account Management

2: Do not use vendor-supplied defaults for system passwords and other security parameters

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

Kerberos and Active Directory symmetric cryptography in practice COSC412

OpenHRE Security Architecture. (DRAFT v0.5)

Xerox DocuShare Security Features. Security White Paper

International Journal of Computer Engineering and Technology (IJCET), ISSN (Print), INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING &

WHITE PAPER. Smart Card Authentication for J2EE Applications Using Vintela SSO for Java (VSJ)

Security Provider Integration Kerberos Authentication

Network-Enabled Devices, AOS v.5.x.x. Content and Purpose of This Guide...1 User Management...2 Types of user accounts2

Moving to Multi-factor Authentication. Kevin Unthank

The KGpg Handbook. Jean-Baptiste Mardelle Rolf Eike Beer

Security in Android apps

RSA SecurID Software Token 3.0 for Windows Workstations Administrator s Guide

Identity Management and Access Control

Hitachi ID Password Manager Telephony Integration

Enterprise Security: Building On All Your Assets

The Benefits of an Industry Standard Platform for Enterprise Sign-On

Entrust Managed Services PKI

Transcription:

Introduction to Computer Security Authentication and Access Control Pavel Laskov Wilhelm Schickard Institute for Computer Science

Resource access: a big picture 1. Identification Which object O requests access to resource R? 2. Authentication Is O indeed what it claims to be? 3. Authorization Is O authorized to access R? 4. Accountability Log the transaction access(o, R)

Simple identification/authentication Ask for an identity (e.g. user name) Check if an identity is known Ask for a shared secret (e.g. a password) Check if the secret matches the identity Password is stored in an encrypted form using a one-way hash function: root:!:14118:0: laskov:$1$/et/grjh$xssvnwpda35twsst7yjvb/:14118:0:

Password encryption on UNIX DES prepend password with 2-bit salt take 7 lowest bits from first 8 characters encrypt a fixed 64-bit string with DES using 56 bits as a key convert the resulting 64 bits into 11 ASCII characters using 6 bits for character (2 bits padded with zeros) MD5 originally written for FreeBSD to avoid export restrictions no limit on password size is indicated by the starting $1$ in the shadow file

Identity management A digital identity is a set of properties assigned to a given object (e.g. access rights) Identity management: Creation and deletion of identities Management of properties assigned to identities Secure storage of identities Secure handling of queries regarding identities and their properties.

Lightweight directory access protocol (LDAP) A directory is a specialized database optimized for searching and browsing. LDAP entries are collections of attributes identified by a unique distinguished name (dn). Entries are characterized by types that determine their format and syntax (e.g. ou = Organisational Unit ). Entries are stored in a hierarchy. A relative distinguished name defines a search path to an entry.

LDAP directory example

Authentication modes User authentication Entity authentication Object human being non-human being Applications login remote access remote access communication security program security key distribution Speed low high Secret only no yes

User authentication Something you know: passwords, passphrases, shared secrets (e.g. mother s maiden name), puzzles Something you have: smart cards, security tokens Something you are: biometrics, signature dynamics, keyboard dynamics, voice print

What is a good password? Long passwords are harder to break but tedious to type. Random passwords are hard to break but next to impossible to memorize. Writing down a password on a sticky note doesn t help. Password expiration reduces the damage but increases the risk of forgetting. Automatic password generation easily memorizable words passphrases: sentences hashed into passwords Passwords are only usable for services that are often used.

Password generation examples

Password generation examples

Smart cards Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality (e.g. transactions) cryptographic operations (e.g. key validation and key-pair generation) Java cards: a mini-jvm on a chip (e.g. for code update). Main problem: theft and loss risk

Biometric identification Unforgeable features of a person: fingerprints hand geometry hand topography iris scan retina scan...or behavioral characteristics: signature dynamics keyboard dynamics voice print

Disadvantages of biometric authentication Non-zero probability of erroneous classification High cost and time consumption Impossibility to revoke Privacy issues and social acceptance Can be potentially falcified

Two-factor authentication A combination of any two authentication modes Example: SecurID PIN assigned to user token automatically generated in hardware every 30 seconds Clock synchronization between a token generator and an authentication server required

Single sign-on Motivation: Reduce the need to memorize passwords Reduce the time spent on typing passwords Reducing password maintenance effort Solutions: Local password containers (e.g. KDE Wallet) Physical authentication devices Client-server architectures (Kerberos, Active Directory)

Kerberos: a brief history Development at MIT in the project Athena in the 1980s, versions 1 3 for internal use, version 4 released in 1988. Version 5 released in 1993 fixed some security flaws of the previous version; version 4 withdrawn in 2006. Banned for export by US government until 2000 (due to the use of DES); re-implemented in Sweden at KTH. Currently, both implementations MIT (Athena) and KTH (Heimdal) support AES as the main encryption instrument. Supported by all major OS (Windows 2000 up, Mac OS X, Solaris, Red Hat Enterprize)

Kerberos authentication protocol Key Distribution Center (KDC) Client AS_REQ AS_REP Authentication Server (AS) Database TGS_REQ Ticket Granting Server (TGS) TGS_REP AP_REQ Application Server AP_REP

Kerberos details: user login User enters his user name U and password P at a client workstation. The hash value of his password K u = h(p) becomes a secret key of the client/user.

Kerberos details: user authentication The client sends his user ID U and the requested service S to the authentication server AS: C AS : (U, S) If the user ID is found in a database, AS generates a TGS session key k TGS and a ticket-generating ticket TGT: TGT : (U, S, k TGS ) AS sends TGT encrypted to C: C AS : {S, k TGS } Ku {TGT} KTGS

Kerberos details: ticket request The client generates an authenticator: A : {U} ktgs The client sends a ticket granting request to a ticket granting server: C TGS : (S, A){TGT} KTGS TGS verifies that U in A matches U in TGT, generates a service session key k S and puts it into a service ticket: T S : (U, S, k S ) TGS sends T S encrypted with the service key K S to C: C TGS : {S, k S } ktgs {T S } KS

Kerberos details: service authentication The client generates an authenticator: A : {U} ks The client sends a request to a service: C S : (A){T S } KS The service checks if U in A matches U in T S and if so accepts the request.

Kerberos resumé Provides secure authentication in an insecure network. A de-facto standard (at least open-source) in distributed authentication services. Relatively complex in installation. Single point of failure.

Access control overview Given a subject, which objects can it access and how? Given an object, which subjects can access it and how? Subject Reference monitor Object User process? Resource Access request Policy

Main concepts of access control Subject is an entity that initiates an access request. active entries, usually processes Object is an entity an access to which is requested. passive entries, processes or resources Principal is an identifiable entity, e.g., a user. each subject mapped to one principal multiple subjects per principal Rights represent different types of access. Reference monitor makes authorization decisions.

Access control structures Access control structures are mechanisms for implementing access policies: access control matrix capabilities access control lists intermediate controls (groups, negative permissions, roles, protection rings etc.) Requirements for access control structures: an ability to express control policies verifiability of correctness. scalability and manageability

Access control matrix Access control matrix is a basic control structure. bill.doc edit.exe fun.com Alice {execute} {execute,read} Bob {read} {execute} {execute,read,write} Advantages: clarity of definition easy to verify Disadvantages: poor scalability poor handling of changes

Capabilities Capability is a subject-centered description of access rights: Alice: {edit.exe: execute}, {fun.com: execute, read} Bob: {bill.doc: read, write}, {edit.exe: execute}, {fun.com: execute, read, write} Advantages: easy ownership transfer easy inheritance of access rights Disadvantages: poor overview of access rights per object difficulty of revocation need for extra integrity protection

Access control lists (ACL) ACL is an object-centered description of access rights: bill.doc: {Bob: read, write} exit.exe: {Alice: execute}, {Bob: execute} fun.com: {Alice: execute, read}, {Bob: execute, read, write} Advantages: easy access to object access rights relative easiness of management using abstractions Disadvantages: poor overview of access rights per subject difficulty of revocation difficulty of sharing

Access control abstractions Group: an collection of related subjects easy sharing easy addition and removal of users Negative permission: explicit revocation of access rights Privilege: a mapping of users to access rights concise definition of access rights {admin: read, write, execute}, /etc/passwd: {Alice, admin} Protection ring: a hierarchy of access right levels 0 operating system kernel 1 operating system 2 services 3 user processes

Mandatory access control (MAC) Centralized access control by means of system-wide policy. Access control rights are fixed by an administrators. A limited number of implementations, e.g. SELinux, Systrace. Advantages: strict control over information flow strong exploit containment Disadvantages: major usability problems cumbersome administration

Discretionary access control (DAC) Access control is carried out by a resource owner. By associating ownership with principals, access rights are easily transferred to other subjects. Deployed in a majority of common systems. Advantages: simple and efficient access rights management scalability Disadvantages: intentional abuse of access rights unintentional abuse of access rights no control over information flow

Role based access control (RBAC) RBAC attempt to handle the complexity of access control by extensive used of abstractions: Data types are defined for all objects. Procedures are high level access control methods with a more complex semantics than elementary access control rights. Procedures can be only applied to certain data types. Procedures are grouped into roles assigned to users. A user can have more than one role and more than one user can have the same role. Role hierarchies can be used to match natural relations between roles. Example: A Lecturer can create a role Student and give it a privilege read course material.

Summary Passwords and shared secrets are the most common tools for user authentication. limited security (cracking) and usability (forgetting, management) alternatives: biometrics and smart cards Single sign-on methods such as Kerberos provide means for automating authentication in large distributed environments. single point of failure Access control is based on the notion of the access matrix and its approximations (ACS, capabilities) and abstraction (groups, roles).