Authentication, access control, and policy configuration Lorrie Faith Cranor October 2009 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 1 Outline Definitions Authentication Access control Policy management Policy authoring CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 2 Definitions Identification - a claim about identity – Who or what I am (global or local) Authentication - confirming that claims are true – I am who I say I am – I have a valid credential Authorization - granting permission based on a valid claim – Now that I have been validated, I am allowed to access certain resources or take certain actions Access control system - a system that authenticates users and gives them access to resources based on their authorizations – Includes or relies upon an authentication mechanism – May include the ability to grant course or fine-grained authorizations, revoke or delegate authorizations – Also includes an interface for policy configuration and management CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 3 Building blocks of authentication Factors – Something you know (or recognize) – Something you have – Something you are Two factors are better than one – Especially two factors from different categories What are some examples of each of these factors? What are some examples of two-factor authentication? CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 4 Authentication mechanisms Text-based passwords Graphical passwords Hardware tokens Public key crypto protocols Biometrics CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 5 Evaluation Accessibility Memorability Security Cost Environmental considerations CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 6 Typical password advice CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 7 Typical password advice Pick a hard to guess password Don’t use it anywhere else Change it often Don’t write it down So what do you do when every web site you visit asks for a password? CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 8 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 9 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 10 Problems with Passwords Selection – Difficult to think of a good password – Passwords people think of first are easy to guess Memorability – Easy to forget passwords that aren’t frequently used – Difficult to remember “secure” passwords with a mix of upper & lower case letters, numbers, and special characters Reuse – Too many passwords to remember – A previously used password is memorable Sharing – Often unintentional through reuse – Systems aren’t designed to support the way people work together and share information CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 11 Mnemonic Passwords F Four s score and and sseven seven y years aago , oour FFathers First letter of each word (with punctuation) Substitute numbers for words or similar-looking letters 4sasya,oF 4sa7ya,oF fsasya,oF Substitute symbols for words or similar-looking letters 4sa7ya,oF 4s&7ya,oF Source: Cynthia Kuo, SOUPS 2006 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 12 The Promise? Phrases help users incorporate different character classes in passwords – Easier to think of character-for-word substitutions Virtually infinite number of phrases Dictionaries do not contain mnemonics Source: Cynthia Kuo, SOUPS 2006 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 13 The Problem? “Goodness” of mnemonic passwords unknown – Yan et al. compared regular, mnemonic, and randomly generated passwords • Used standard (non-mnemonic) dictionary • Effectively evaluated whether mnemonic passwords contained dictionary words Source: Cynthia Kuo, SOUPS 2006 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 14 Mnemonic password evaluation Mnemonic passwords are not a panacea for password creation No comprehensive dictionary today May become more vulnerable in future – Many people start to use them – Attackers incentivized to build dictionaries Publicly available phrases should be avoided! C. Kuo, S. Romanosky, and L. Cranor. Human Selection of Mnemonic PhraseBased Passwords. In Proceedings of the 2006 Symposium On Usable Privacy and Security, 12-14 July 2006, Pittsburgh, PA. Source: Cynthia Kuo, SOUPS 2006 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 15 Password keeper software Run on PC or handheld Only remember one password CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 16 Single sign-on Login once to get access to all your passwords CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 17 Biometrics CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 18 Graphical passwords CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 19 “Forgotten password” mechanism Email password or magic URL to address on file Challenge questions Why not make this the normal way to access infrequently used sites? CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 20 Convenient SecureID 1 What problems does this approach solve? What problems does it create? Source: http://worsethanfailure.com/Articles/Security_by_Oblivity.aspx CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 21 Convenient SecureID 2 What problems does this approach solve? What problems does is create? Previously available at: http://fob.webhop.net/ CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 22 Browser-based mutual authentication Chris Drake’s “Magic Bullet” proposal http://lists.w3.org/Archives/Public/public-usableauthentication/2007Mar/0004.html – User gets ID, password (or alternative), image, hotspot at enrollment – Before user is allowed to login they are asked to confirm URL and SSL cert and click buttons – Then login box appears and user enters username and password (or alternative) – Server displays set of images, including user’s image (or if user entered incorrect password, random set of images appear) – User finds their image and clicks on hotspot • Image manipulation can help prevent replay attacks What problems does this solve? What problems doesn’t it solve? What kind of testing is needed CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 23 Types of access control Discretionary access control – Distributed, dynamic, users set access rules for resources they own and can delegate access to others Role-based access control – Centralized admin assigns users to roles and sets access rules based on roles And many others that vary – – – – discretionary/mandatory centralized/distributed granularity grouping CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 24 Policy management problems Admins, large organizations understanding large access control policies – Someone in marketing changed a policy and now we can’t figure out why people in sales no longer have access to a document – Who has access to this document anyway? End users creating and understanding policies – Examples: File system permissions, Grey, Perspective, privacy rules – Home users want to share some files with some other users, but don’t want to share everything CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 25 Roles for policy professionals Policy makers Policy implementers L. Bauer, L. Cranor, R.W. Reeder, M.K. Reiter, and K. Vaniea. Real life challenges in access-control management. CHI 2009. http://www.ece.cmu.edu/~lbauer/papers/2009/chi09management.pdf CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 26 Policy conflicts Given User/group conflict – Alice is in GroupA and GroupB – FileQ is in FolderX – Alice allowed access to FileQ – GroupA denied access to FileQ What types of conflicts might occur? File/directory conflict Direct conflict 2-way conflict – Alice allowed access to FileQ – Alice denied access to FileQ – Alice allowed access to FileQ – Alice denied access to FolderX – Alice allowed access to FileQ – GroupA denied access to FolderX Group/group conflict – GroupA allowed access to FileQ – GroupB denied access to FileQ CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 27 How can conflicts be resolved? Default rule – deny/allow takes precedence Ordered rules – policy author sets order Ordered rules – most recent first/last Specificity – most/least specific takes precedence Weighted rules – policy author assigns weights Exceptions – policy authors defines exceptions (essentially a partial ordering) Combination CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 28 Policy Authoring Slides courtesy of Rob Reeder R. W. Reeder. Expandable Grids: A user interface visualization technique and a policy semantics to support fast, accurate security and privacy policy authoring. PhD Thesis, Computer science department, Carnegie Mellon University, Pittsburgh, PA, July 2008. Available as tech report number CMU-CS-08-143. CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 29 Memogate CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 30 Proliferation of policies File systems Location disclosure applications Online social networks Websites CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 31 Policy authoring Policy – a set of rules that determine the conditions under which access is allowed to a resource Policies are created, edited, and viewed – authored Someone determines policy – the author Policies should fulfill the author’s intentions Policy authoring is done with a user interface CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 32 List of rules interfaces support policy authoring operations poorly Viewing policy – Often only one rule at a time is visible – Difficult to understand policy by reading long list of rules Changing policy – Difficult to understand effect of changes because you can’t see all relevant parts of a policy together Viewing group memberships – Usually requires using a separate interface Detecting and resolving conflicts – When rules interact, it isn’t clear what the outcome will be CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 33 Solution: Expandable Grid Key insight: Center policyauthoring user interfaces around a display of the whole effective policy, not a list of rules CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 34 Expandable Grid details Jana CyLab Usable Privacy and Security Laboratory 35 http://cups.cs.cmu.edu/ 35 Direct manipulation interface To change a policy, just click on a cell and toggle the color In order to make this work, we had to change the conflict resolution semantics – Widows semantics: Deny takes precedence, but specificity precedence in resource dimension – Expandable Grid semantics: Recency precedence CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 36 User study of Expandable Grid for file permissions Laboratory study 2 conditions: – Expandable Grid – Native Windows file permissions interface 36 participants, 18 per condition, novice policy authors Training: – 3.5 minutes for Grid – 5.5 minutes for Windows 18 tasks based on a teaching assistant scenario CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 37 Example task: Jana Set permissions so that Jana can read and write the Four-part Harmony.doc file in the Theory 101\Handouts folder. Task setup: – Jana is a TA “this” year (did the study in 2007) • Is in the group Theory 101 TAs 2007 – Jana was a TA last year • Is in the group Theory 101 TAs 2006 – 2007 TAs are allowed READ & WRITE – 2006 TAs are denied READ & WRITE – Since Jana is in both groups, she is denied access CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 38 Jana task – common error CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 39 Learning Jana’s effective permissions 1 Click “Advanced” 2 Click “Effective Permissions” 3 Select Jana 4 View Jana’s Effective Permissions CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 40 Learning Jana’s group membership Bring up Computer Management interface 5 Click on “Users” 6 TAs 2006 TAs 2007 7 Read Jana’s group membership Double-click Jana 9 Click “Member Of” CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 41 Learning Jana’s groups’ permissions 10 Click on TAs 2006 11 Read permissions for TAs 2006 12 13 Read permissions for TAs 2007 CyLab Usable Privacy and Security Laboratory Click on TAs 2007 http://cups.cs.cmu.edu/ 42 Changing Jana’s groups’ permissions 14 15 Click on TAs 2006 Change permissions for TAs 2006 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 43 Checking work 16 Click “Advanced” 17 Click “Effective Permissions” 18 Select Jana 19 View Jana’s Effective Permissions CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 44 XP support for fundamental operations Viewing policy – Effective policy is 3 screens away (most authors don’t find them) Changing policy – Authors operate on rules, not effective policy Viewing group memberships – In a separate application from file permissions Detecting and resolving conflicts – Has to be done manually CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 45 Viewing effective policy 1 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 46 Viewing group membership 2 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 47 Changing policy 3 CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 48 Resolving rule conflicts CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 49 Grid support for fundamental operations Viewing policy – Effective policy directly shown on screen Changing policy – Changes take one click Viewing group memberships – Group memberships are shown in the trees Detecting and resolving conflicts – Happens automatically CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 50 Results Grid Windows Small-size Accuracy Task type Time Small view simple View simple 1 View complex 1 Change simple 1 Change complex 1 Compare groups 1 Conflict simple 1 Conflict complex 1 Memogate simulation 1 Precedence rule test 1 89% 56% Grid Windows 0.20 0.40 0.60 0.80 0.20 0.40 0.60 0.80 89% 94% 1 Windows 0.20 0.40 0.60 61% 0% 0.80 0 0 0 Windows 1 Small compare groups 0.00 0.20 0.40 0.60 0.80 0.00 89% 83% 0.40 0.60 67% 61% 0.80 0 1.00 Windows 0.20 50 0.20 0.40 0.60 0.80 0.00 0.40 0.60 0.80 Windows 0.00 0.00 89% 0% 0.40 0.60 0.80 100% 94% 50 50 0.60 0.80 0.00 150 Grid Windows 100 100 0 89% 94% 1.00 50 1 20s 66s 39s 103s Grid Windows 0.20 0.40 0 50 100 0 50 100 0.60 0.80 55s 103s 0.00 Grid Windows 0.20 0.40 0.60 100 100 1 0.80 0 0.20 0.40 0.60 0.80 Windows 0 0 Grid Windows 50 0.40 0.60 67% 83% 50 50 0.00 Windows 0.20 0.40 0.60 0.80 0.00 150 Grid Windows 0.20 0.40 0.60 0.80 Windows 0 0.00 150 Grid Windows 0.20 0.40 0.60 0.00 CyLab Usable Privacy and Security Laboratory 1 Windows 100 50 0.40 0.60 0.80 150 100 94% 78% 1 150 50 100 73s 104s 150 Grid Windows Jana task 52s Insufficient data 50 100 150 Grid Windows Large Memogate 0 50 100 105s 116s 150 Grid Windows Large Precedence 0 1.00 1.00 111s 126s Windows 50 100 71s 115s 150 Grid 1 Windows Windows 0.20 100s 143s Grid 0 1.00 78% 78% 0.80 Grid 1 100 6% Grid 1 150 Large conflict simple 1.00 Windows Large precedence 100 Large conflict complex Grid 1 50s 42s Windows 0 Grid Windows Large Memogate Windows 1 1.00 Grid 1 Grid Grid Large conflict complex Grid 150 1 1.00 72% 61% 0.80 100 Large compare groups Windows 0.20 39s 67s Large change complex 1.00 Grid 1 Windows Large change simple 1.00 67% 17% 1 0.00 Grid 150 150 1 Windows Large conflict simple 150 42s 118s 100 39% 1.00 Grid 1 Grid Large view complex Windows Small precedence 1 42s 61s 1 Large compare groups 150 100 Windows Grid 1 0.00 150 100 0.80 Large change complex 29s Insufficient data 50 0.60 Large change simple 100 100 0.40 Small Memogate 1.00 Windows 0.40 0 1 1.00 Grid 0.20 30s 52s 1 1.00 Windows 0.20 0.20 1 Small conflict complex Grid Small precedence Windows Small conflict simple 0 Grid Windows 0.20 0.00 150 Grid 1 1.00 Grid Small Memogate 100 70s Insufficient data 50 Small conflict complex 0.00 35s 55s Grid Large view complex Small compare groups Grid Small conflict simple 50 Large view simple 61% 56% 1 Small change complex 1.00 Grid Windows Small change simple 1.00 Grid Small change complex 0.00 1 Windows Grid Small view complex 1.00 Time Large view simple 29s 64s 1 94% 17% Grid Small change simple 0.00 Accuracy Small view simple Small view complex 0.00 Large-size 0 50 100 150 http://cups.cs.cmu.edu/ 51 Conflict-resolution method Were the effects we observed due to the Expandable Grid visualization, the recency precedence conflictresolution method, or both? We ran another study to find out – Implemented deny-takes-precedence in the Expandable Grid interface – Ran 18 new participants with the new Grid interface Results – On the Jana task, recency precedence made a big difference – On the other tasks, the Grid was generally superior to Windows no matter the conflict resolution scheme Both the Grid’s presentation aspects AND recency precedence make a difference CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 52 Desired properties for conflict resolution method Direct manipulation Exception-rule preservation Order independence Fail safety CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 53 Problems with Windows and recency semantics Windows: – No satisfactory way to solve Jana-like rule conflicts Recency: – Too liberal in overriding existing rules – Does not work well in the presence of dynamic changes, like adding a user to a group, moving a file CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 54 Our specificity semantics Conflict resolution procedure – Resolve rule conflicts by choosing the more specific rule when possible (specificity precedence) – Otherwise, use deny-precedence Benefits – If group rules are in conflict, can make a user-level exception – Exceptions stay in place even when group rules change – User-level or file-level exceptions stay in place even in the presence of dynamic changes CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 55 Enhanced Grid CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 56 Enhanced Grid CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 57 Semantics study #2 Laboratory study 3 conditions: – Expandable Grid with specificity semantics – Expandable Grid with Windows semantics – Native Windows file permissions interface 54 participants, 18 per condition, novice policy authors 10 minutes training for all conditions Used large-scale Teaching Assistant scenario from prior study 12 total tasks with counterbalanced task order CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 58 Results and discussion Conflict resolution semantics can have a big effect on usability, but no perfect semantics Specificity helps resolve rule conflicts and makes group rule exceptions easy Specificity semantics is not always better than Windows semantics The grid/specificity combination overcomes semantics disadvantages Whatever the semantics, show effective policy! CyLab Usable Privacy and Security Laboratory http://cups.cs.cmu.edu/ 59