Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage...
Transcript of Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage...
![Page 1: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/1.jpg)
Introduction to Computer SecurityAuthentication and Access Control
Pavel LaskovWilhelm Schickard Institute for Computer Science
![Page 2: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/2.jpg)
Resource access: a big picture
1. Identification
2. Authentication
3. Authorization
4. Accountability
Which object O requests access to resource R?
Is O indeed what it claims to be?
Is O authorized to access R?
Log the transaction access(O,R)
![Page 3: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/3.jpg)
Simple identification/authentication
Ask for an identity (e.g. user name)Check if an identity is knownAsk for a shared secret (e.g. apassword)Check if the secret matches the identityPassword is stored in an encrypted formusing a one-way hash function:root:!:14118:0:
laskov:$1$/et/grJh$xssVNwpdA35TwsSt7Yjvb/:14118:0:
![Page 4: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/4.jpg)
Password encryption on UNIX
DESprepend password with 2-bit salttake 7 lowest bits from first 8 charactersencrypt a fixed 64-bit string with DES using 56 bits as a keyconvert the resulting 64 bits into 11 ASCII characters using 6bits for character (2 bits padded with zeros)
MD5originally written for FreeBSD to avoid export restrictionsno limit on password sizeis indicated by the starting $1$ in the shadow file
![Page 5: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/5.jpg)
Identity management
A digital identity is a set of properties assigned to a givenobject (e.g. access rights)
Identity management:Creation and deletion of identitiesManagement of properties assigned to identitiesSecure storage of identitiesSecure handling of queries regarding identities and theirproperties.
![Page 6: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/6.jpg)
Lightweight directory access protocol (LDAP)
A directory is a specialized database optimized for searchingand browsing.LDAP entries are collections of attributes identified by aunique distinguished name (dn).Entries are characterized by types that determine theirformat and syntax (e.g. ou = “Organisational Unit”).Entries are stored in a hierarchy. A relative distinguishedname defines a search path to an entry.
![Page 7: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/7.jpg)
LDAP directory example
![Page 8: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/8.jpg)
Authentication modes
User authentication Entity authenticationObject human being non-human beingApplications login
remote accessremote accesscommunication securityprogram securitykey distribution
Speed low highSecret only no yes
![Page 9: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/9.jpg)
User authentication
Something you know: passwords, passphrases, sharedsecrets (e.g. mother’s maiden name), puzzlesSomething you have: smart cards, security tokensSomething you are: biometrics, signature dynamics,keyboard dynamics, voice print
![Page 10: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/10.jpg)
What is a good password?
Long passwords are harder to break but tedious to type.Random passwords are hard to break but next to impossibleto memorize.Writing down a password on a sticky note doesn’t help.Password expiration reduces the damage but increases therisk of forgetting.Automatic password generation
easily memorizable wordspassphrases: sentences hashed into passwords
Passwords are only usable for services that are often used.
![Page 11: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/11.jpg)
Password generation examples
![Page 12: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/12.jpg)
Password generation examples
![Page 13: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/13.jpg)
Smart cards
Physical tamper-proof credentialsMemory cards: simple storage of information(e.g. medical insurance)Microprocessor cards:
advanced functionality (e.g. transactions)cryptographic operations (e.g. key validationand key-pair generation)
Java cards: a mini-JVM on a chip (e.g. forcode update).Main problem: theft and loss risk
![Page 14: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/14.jpg)
Biometric identification
“Unforgeable” features of a person:fingerprintshand geometryhand topographyiris scanretina scan
...or behavioral characteristics:signature dynamicskeyboard dynamicsvoice print
![Page 15: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/15.jpg)
Disadvantages of biometric authentication
Non-zero probability of erroneousclassificationHigh cost and time consumptionImpossibility to revokePrivacy issues and social acceptanceCan be potentially falcified
![Page 16: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/16.jpg)
Two-factor authentication
A combination of any two authenticationmodesExample: SecurID
PIN assigned to usertoken automatically generated inhardware every 30 seconds
Clock synchronization between a tokengenerator and an authentication serverrequired
![Page 17: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/17.jpg)
Single sign-on
Motivation:Reduce the need to memorize passwordsReduce the time spent on typing passwordsReducing password maintenance effort
Solutions:Local password containers (e.g. KDE Wallet)Physical authentication devicesClient-server architectures (Kerberos, Active Directory)
![Page 18: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/18.jpg)
Kerberos: a brief history
Development at MIT in the project Athena inthe 1980s, versions 1 – 3 for internal use,version 4 released in 1988.Version 5 released in 1993 fixed somesecurity flaws of the previous version;version 4 withdrawn in 2006.Banned for export by US government until2000 (due to the use of DES);re-implemented in Sweden at KTH.Currently, both implementations – MIT(Athena) and KTH (Heimdal) – support AESas the main encryption instrument.Supported by all major OS (Windows 2000up, Mac OS X, Solaris, Red Hat Enterprize)
![Page 19: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/19.jpg)
Kerberos authentication protocol
Client
Application Server
Key Distribution Center (KDC)
Authentication Server(AS)
Ticket Granting Server(TGS)
Database
AS_REQ
AS_REP
TGS_REQ
TGS_REP
AP_REQ
AP_REP
![Page 20: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/20.jpg)
Kerberos details: user login
User enters his user name U and password P at a clientworkstation.The hash value of his password Ku = h(P) becomes asecret key of the client/user.
![Page 21: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/21.jpg)
Kerberos details: user authentication
The client sends his user ID U and the requested service Sto the authentication server AS:
C→ AS : (U, S)
If the user ID is found in a database, AS generates a TGSsession key kTGS and a ticket-generating ticket TGT:
TGT : (U, S, kTGS)
AS sends TGT encrypted to C:
C← AS : {S, kTGS}Ku{TGT}KTGS
![Page 22: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/22.jpg)
Kerberos details: ticket request
The client generates an authenticator:
A : {U}kTGS
The client sends a ticket granting request to a ticket grantingserver:
C→ TGS : (S, A){TGT}KTGS
TGS verifies that U in A matches U in TGT, generates aservice session key kS and puts it into a service ticket:
TS : (U, S, kS)
TGS sends TS encrypted with the service key KS to C:
C← TGS : {S, kS}kTGS{TS}KS
![Page 23: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/23.jpg)
Kerberos details: service authentication
The client generates an authenticator:
A : {U}kS
The client sends a request to a service:
C→ S : (A){TS}KS
The service checks if U in A matches U in TS and if soaccepts the request.
![Page 24: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/24.jpg)
Kerberos resume
Provides secure authentication in an insecure network.A de-facto standard (at least open-source) in distributedauthentication services.Relatively complex in installation.Single point of failure.
![Page 25: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/25.jpg)
Access control overview
Given a subject, which objects can it access and how?Given an object, which subjects can access it and how?
User process ? Resource
Subject Reference monitor Object
Policy
Access request
![Page 26: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/26.jpg)
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.
![Page 27: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/27.jpg)
Access control structures
Access control structures are mechanisms for implementingaccess policies:
access control matrixcapabilitiesaccess control listsintermediate controls (groups, negative permissions, roles,protection rings etc.)
Requirements for access control structures:an ability to express control policiesverifiability of correctness.scalability and manageability
![Page 28: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/28.jpg)
Access control matrix
Access control matrix is a basic control structure.
bill.doc edit.exe fun.comAlice – {execute} {execute,read}Bob {read} {execute} {execute,read,write}
Advantages:clarity of definitioneasy to verify
Disadvantages:poor scalabilitypoor handling of changes
![Page 29: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/29.jpg)
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 transfereasy inheritance ofaccess rights
Disadvantages:poor overview of accessrights per objectdifficulty of revocationneed for extra integrityprotection
![Page 30: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/30.jpg)
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 objectaccess rightsrelative easiness ofmanagement usingabstractions
Disadvantages:poor overview of accessrights per subjectdifficulty of revocationdifficulty of sharing
![Page 31: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/31.jpg)
Access control abstractions
Group: an collection of related subjectseasy sharingeasy addition and removal of users
Negative permission: explicit revocation of access rightsPrivilege: 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 levels0 – operating system kernel1 – operating system2 – services3 – user processes
![Page 32: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/32.jpg)
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 overinformation flowstrong exploitcontainment
Disadvantages:major usability problemscumbersomeadministration
![Page 33: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/33.jpg)
Discretionary access control (DAC)
Access control is carried out by a resource owner.By associating ownership with principals, access rights areeasily transferred to other subjects.Deployed in a majority of common systems.
Advantages:simple and efficientaccess rightsmanagementscalability
Disadvantages:intentional abuse of accessrightsunintentional abuse ofaccess rightsno control over informationflow
![Page 34: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/34.jpg)
Role based access control (RBAC)
RBAC attempt to handle the complexity of access control byextensive used of abstractions:
Data types are defined for all objects.Procedures are high level access control methods with amore complex semantics than elementary access controlrights. Procedures can be only applied to certain data types.Procedures are grouped into roles assigned to users. A usercan have more than one role and more than one user canhave the same role.Role hierarchies can be used to match natural relationsbetween roles.
Example: A Lecturer can create a role Student and give it aprivilege “read course material”.
![Page 35: Introduction to Computer Security · Physical tamper-proof credentials Memory cards: simple storage of information (e.g. medical insurance) Microprocessor cards: advanced functionality](https://reader035.fdocuments.net/reader035/viewer/2022062607/602830676531941df847c76c/html5/thumbnails/35.jpg)
Summary
Passwords and shared secrets are the most common toolsfor user authentication.⇒ limited security (cracking) and usability (forgetting,
management)⇒ alternatives: biometrics and smart cards
Single sign-on methods such as Kerberos provide means forautomating authentication in large distributed environments.⇒ single point of failure
Access control is based on the notion of the access matrixand its approximations (ACS, capabilities) and abstraction(groups, roles).