User Authentication and Password Management John Mitchell CS 142 Winter 2009.

Slides:



Advertisements
Similar presentations
Nick Feamster CS 6262 Spring 2009
Advertisements

Installation & User Guide
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
ATTACKING AUTHENTICATION The Web Application Hacker’s Handbook, Ch. 6 Presenter: Jie Huang 10/31/2012.
Two-Factor Authentication & Tools for Password Management August 29, 2014 Pang Chamreth, IT Development Innovations 1.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
COEN 350: Network Security Authentication. Between human and machine Between machine and machine.
Attacking Session Management Juliette Lessing
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
CS426Fall 2010/Lecture 81 Computer Security CS 426 Lecture 8 User Authentication.
Online Banking Fraud Prevention Recommendations and Best Practices This document provides you with fraud prevention best practices that every employee.
A Third Party Service for Providing Trust on the Internet Work done in 2001 at HP Labs by Michael VanHilst and Ski Ilnicki.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Outline User authentication –Password authentication, salt –Challenge-response authentication protocols –Biometrics –Token-based authentication Authentication.
Online Security Tuesday April 8, 2003 Maxence Crossley.
Stronger Password Authentication Using Browser Extensions Blake Ross, Collin Jackson, Nick Miyake, Dan Boneh, John Mitchell Stanford University
Authentication John C. Mitchell Stanford University CS 99j.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
Context-Aware Phishing Attacks and Client-Side Defenses Collin Jackson Stanford University.
Outline User authentication –Password authentication, salt –Challenge-response authentication protocols –Biometrics –Token-based authentication Authentication.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
Outline User authentication –Password authentication, salt –Challenge-response authentication protocols –Biometrics –Token-based authentication Authentication.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Outline User authentication
Password Authentication J. Mitchell CS 259. Password fileUser exrygbzyf kgnosfix ggjoklbsz … kiwifruit hash function.
Security Liaisons Information Presentation. Introduction  What’s the big deal with computer security? Don’t we have an IT security department to take.
Strong Password Protocols
Dr. John P. Abraham Professor UTPA.  Particularly attacks university computers  Primarily originating from Korea, China, India, Japan, Iran and Taiwan.
Csci5233 Computer Security1 Bishop: Chapter 12 Authentication.
Lecture 7 Page 1 CS 236 Online Password Management Limit login attempts Encrypt your passwords Protecting the password file Forgotten passwords Generating.
Web Spoofing John D. Cook Andrew Linn. Web huh? Spoof: A hoax, trick, or deception Spoof: A hoax, trick, or deception Discussed among academics in the.
TRUST, Washington, D.C. Meeting January 9–10, 2006 Combating Online Identity Theft Spoofguard, PwdHash, Spyware, Botnets John Mitchell (Stanford)
PHISHING AND SPAM INTRODUCTION There’s a good chance that in the past week you have received at least one that pretends to be from your bank,
CSC 386 – Computer Security Scott Heggen. Agenda Authentication.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Staying Safe Online Keep your Information Secure.
Managing User Accounts, Passwords and Logon Chapter 5 powered by dj.
Slides by Kent Seamons and Tim van der Horst Last Updated: Nov 30, 2011.
The Battle Against Phishing: Dynamic Security Skins Rachna Dhamija and J.D. Tygar U.C. Berkeley.
Lecture 11: Strong Passwords
Chapter 13 Users, Groups Profiles and Policies. Learning Objectives Understand Windows XP Professional user accounts Understand the different types of.
David Evans CS150: Computer Science University of Virginia Computer Science Class 31: Cookie Monsters and Semi-Secure.
1 Lecture 8: Authentication of People what you know (password schemes) what you have (keys, smart cards, etc.) what you are (voice recognition, fingerprints,
Password authentication Basic idea –User has a secret password –System checks password to authenticate user Issues –How is password stored? –How does system.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
 Access Control 1 Access Control  Access Control 2 Access Control Two parts to access control Authentication: Are you who you say you are? – Determine.
1 Robust Defenses for Cross-Site Request Forgery Adam Barth, Collin Jackson, John C. Mitchell Stanford University 15th ACM CCS.
BeamAuth : Two-Factor Web Authentication with a Bookmark 14 th ACM Conference on Computer and Communications Security Ben Adida Presenter : SJ Park.
Saphe surfing! 1 SAPHE Secure Anti-Phishing Environment Presented by Uri Sternfeld.
Securing Passwords Against Dictionary Attacks Presented By Chad Frommeyer.
Identification Authentication. 2 Authentication Allows an entity (a user or a system) to prove its identity to another entity Typically, the entity whose.
CS526Topic 12: Web Security (2)1 Information Security CS 526 Topic 9 Web Security Part 2.
Authentication What you know? What you have? What you are?
Phishing & Pharming. 2 Oct to July 2005 APWG.
King Mongkut’s University of Technology Network Security 8. Password Authentication Methods Prof. Reuven Aviv, Jan Password Authentication1.
Session Management Tyler Moore CS7403 University of Tulsa Slides adapted in part or whole from Dan Boneh, Stanford CS155 1.
CSCE 201 Identification and Authentication Fall 2015.
Chapter Six: Authentication 2013 Term 2 Access Control Two parts to access control Authentication: Are you who you say you are?  Determine whether access.
1 Web Technologies Website Publishing/Going Live! Copyright © Texas Education Agency, All rights reserved.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
7/10/20161 Computer Security Protection in general purpose Operating Systems.
Unit 4 Protecting Your Information Section C. Chapter 1, Slide 2Starting Out with Visual Basic 3 rd EditionIntroduction to ComputersUnit 4C – Protecting.
Cybersecurity Awareness
Setting up an online account
Introduction to Computers
Password Authentication
Authentication CSE 365 – Information Assurance Fall 2018 Adam Doupé
Computer Security Protection in general purpose Operating Systems
Cross Site Request Forgery (CSRF)
Presentation transcript:

User Authentication and Password Management John Mitchell CS 142 Winter 2009

Outline Basic password concepts Hashing, salt, online/offiline dictionary attacks Phishing and online ID Theft Phishing pages, server auth, transaction generators, secure attention sequence Two-factor authentication Biometrics, one-time pwd tokens Server-side password functions Ruby-on-Rails, pwd registration, confirmation, OpenID Security questions and the story of Sarah Palin

Password authentication Basic idea User has a secret password System checks password to authenticate user Issues How is password stored? How does system check password? How easy is it to guess a password?  Difficult to keep password file secret, so best if it is hard to guess password even if you have the password file

Basic password scheme Password file User exrygbzyf kgnosfix ggjoklbsz … frunobulax hash function

Basic password scheme Hash function h : strings  strings Given h(password), hard to find password No known algorithm better than trial and error User password stored as h(password) When user enters password System computes h(password) Compares with entry in password file No passwords stored on disk

Unix password system Hash function is 25xDES Number 25 was meant to make search slow Password file is publicly readable Other information in password file … Any user can try “offline dictionary attack” User looks at password file Computes hash(word) for every word in dictionary “Salt” makes dictionary attack harder R.H. Morris and K. Thompson, Password security: a case history, Communications of the ACM, November 1979

Dictionary Attack – some numbers Typical password dictionary 1,000,000 entries of common passwords  people's names, common pet names, and ordinary words. Suppose you generate and analyze 10 guesses per second  This may be reasonable for a web site; offline is much faster Dictionary attack in at most 100,000 seconds = 28 hours, or 14 hours on average If passwords were random Assume six-character password  Upper- and lowercase letters, digits, 32 punctuation characters  689,869,781,056 password combinations.  Exhaustive search requires 1,093 years on average Dictionary attack vs exhaustive search: 14 hours vs years

Salt Password line walt:fURfuu4.4hY0U:129:129:Belgers:/home/walt:/bin/csh 25x DES Input Salt Key Constant Plaintext Ciphertext Compare When password is set, salt is chosen randomly; 12-bit salt slows dictionary attack by factor of 2 12

Advantages of salt Without salt Same hash functions on all machines  Compute hash of all common strings once  Compare hash file with all known password files With salt One password hashed 2 12 different ways  Precompute hash file? Need much larger file to cover all common strings  Dictionary attack on known password file For each salt found in file, try all common strings

Password-authenticated key exchange Main idea Do not sent password on network Compute and send values that depend on the password but do not provide usable information about it.

Diffie-Hellman key exhange g a mod p g b mod p Result: A and B share secret g ab mod p AB Assumes public prime p and generator g

Example: SPEKE Assumes public prime p and secret password  Compute g = hash(  ) 2 mod p g a mod p g b mod p Result: A and B share secret g ab mod p AB Squaring makes g a generator of prime order subgroup...

Outline Basic password concepts Hashing, salt, online/offiline dictionary attacks Phishing and online ID Theft Phishing pages, server auth, transaction generators, secure attention sequence Two-factor authentication Biometrics, one-time pwd tokens Server-side password functions Ruby-on-Rails, pwd registration, confirmation, pwd reset, single sign-on Security questions and the story of Sarah Palin

Phishing Attack password? Sends “There is a problem with your eBuy account” User clicks on link to User thinks it is ebuy.com, enters eBuy username and password. Password sent to bad guy

15 Typical properties of spoof sites Show logos found on the honest site Copied jpg/gif file, or link to honest site Have suspicious URLs Ask for user input Some ask for CCN, SSN, mother’s maiden name, … HTML copied from honest site May contain links to the honest site May contain revealing mistakes Short lived Cannot effectively blacklist spoof sites HTTPS uncommon

16 SpoofGuard browser extension SpoofGuard is added to IE tool bar User configuration Pop-up notification as method of last resort

Browser anti-phishing filters Major browsers use antiphishing measures Microsoft antiphishing and anti-malware tool for IE Firefox – combination of tools, including Google Opera uses Haute Secure to provide bogus site warnings to end users Google – own antiphishing technology in Chrome Apple added antiphishing to Safari 3.2 (Nov ‘08)

Berkeley: Dynamic Security Skins Automatically customize secure windows Visual hashes Random Art - visual hash algorithm Generate unique abstract image for each authentication Use the image to “skin” windows or web content Browser generated or server generated

20 Password Phishing Problem User cannot reliably identify fake sites Captured password can be used at target site Bank A Fake Site pwd A

21 Common Password Problem Phishing attack or break-in at site B reveals pwd at A Server-side solutions will not keep pwd safe Solution: Strengthen with client-side support Bank A low security site high security site pwd A pwd B = pwd A Site B

Stanford PwdHash Lightweight browser extension Impedes password theft Invisible to server Compute site-specific password that appears “ordinary” to server that received is Invisible to user User indicates password to be hashed by alert sequence at beginning of pwd

Password Hashing Generate a unique password per site HMAC fido:123 (banka.com)  Q7a+0ekEXb HMAC fido:123 (siteb.com)  OzX2+ICiqc Hashed password is not usable at any other site Protects against password phishing Protects against common password problem Bank A hash(pwd B, SiteB) hash(pwd A, BankA) Site B pwd A pwd B =

Many tricky issues Malicious javascript in browser Implement keystroke logger, keep scripts from reading user password entry Password reset problem Internet café Dictionary attacks (defense: added salt)

Anti-Phishing Features in IE7

Picture-in-Picture Attack

Results: Is this site legitimate?

Web timing attacks Most sites have “Forgot my password” pages These pages may leak whether an is valid at that site Identified through outreach to financial infrastructure company Vulnerability found on virtually every site we tested Communicated results, repair adopted

Biometrics Use a person’s physical characteristics fingerprint, voice, face, keyboard timing, … Advantages Cannot be disclosed, lost, forgotten Disadvantages Cost, installation, maintenance Reliability of comparison algorithms  False positive: Allow access to unauthorized person  False negative: Disallow access to authorized person Privacy? If forged, how do you revoke?

Token-based authentication Several configurations and modes of use Device produces password, user types into system User unlocks device using PIN User unlocks device, enters challenge Example: S/Key User enters string, devices computes sequence  p 0 = hash(string|rand); p i+1 = hash(p i )  p n placed on server; set counter k = n Device can be used n times before reinitializing  Send p k-1 = to server, set k = k-1  Sever checks hash(p k-1 ) = p k, stores p k-1

Other methods (several vendors) Some complications Initial data shared with server  Need to set this up securely  Shared database for many sites Clock skew ChallengeTime function Time Initial data

32 CMU Phoolproof prevention Eliminates reliance on perfect user behavior Protects against keyloggers, spyware. Uses a trusted mobile device to perform mutual authentication with the server password?

Outline Basic password concepts Hashing, salt, online/offiline dictionary attacks Phishing and online ID Theft Phishing pages, server auth, transaction generators, secure attention sequence Two-factor authentication Biometrics, one-time pwd tokens Server-side password functions Ruby-on-Rails, pwd registration, confirmation, pwd reset, single sign-on Security questions and the story of Sarah Palin

Ruby-on-Rails No built-in authentication framework restful-authentication, Authlogic, Clearance Basic features Registration of new users; validation by address (optional) Login – session creation Logout – session destruction Password recovery or reset Additional considerations Hashing and/or encryption of user passwords One-time or persistent tokens for cookies and validation s Multiple session support Administrative controls IP & login logging and other miscellaneous record keeping Support for authentication platforms such as OpenID

Restful Authentication Basic features Login and logout Secure password handling Account activation by validating Account approval and disabling by Rudimentary hooks for authorization and access control Implementation Uses Salt and SHA1 hash function Ruby on Rails

AuthLogic May have some advantages AuthLogic may do a better job of expiring sessions on the server side if the user's password changes or a time span elapses Limits consequences of so an XSS exploit, other attacks Ruby on Rails

OpenID /04/how_does_openid.shtml

OpenID Steps 1. User is presented with OpenID login form by the Consumer 2. User responds with the URL that represents their OpenID 3. Consumer canonicalizes the OpenID URL and uses the canonical version to request (GET) a document from the Identity Server. 4. Identity Server returns the HTML document named by the OpenID URL 5. Consumer inspects the HTML document header for tags with the attribute rel set to openid.server and, optionally, openid.delegate. The Consumer uses the values in these tags to construct a URL with mode checkid_setup for the Identity Server and redirects the User Agent. This checkid_setup URL encodes, among other things, a URL to return to in case of success and one to return to in the case of failure or cancellation of the request 6. The OpenID Server returns a login screen. 7. User sends (POST) a login ID and password to OpenID Server. 8. OpenID Server returns a trust form asking the User if they want to trust Consumer (identified by URL) with their Identity 9. User POSTs response to OpenID Server. 10. User is redirected to either the success URL or the failure URL returned in (5) depending on the User response 11. Consumer returns appropriate page to User depending on the action encoded in the URL in (10)

Common pwd registration procedure Web site provider User visit web site Send link in Authenticate Receive Complete registration 5 4

September 16, 2008 Compromise of using password-reset functionality of Yahoo Mail. No secondary mail needed Date of Birth - Wikipedia Zipcode – Wasilla has two Where did you meet your spouse? - Biographies - Wikipedia, again… - Google Successfully changed password to “popcorn” Slides: Gustav Rydstedt

Data Mining Make of your first car? - Until 1998, Ford had >25% of market First name of your best friend? - 10% of males: James/Jim, John, Robert/Bob/Rob Name of your first / favorite pet - Max, Jake, Buddy, Bear… etc. - Top 500 (covers 65% of names) is available online Mother’s Maiden Name, Social Security Number - “Messin’ with Texas” [Griffith & Jakobsson, 2005]

People Forget Name of the street etc? - More than one… Name of best friend? - Friends change City you were born? - NYC? New York? Manhattan? New York City? Big Apple? People lie to increase security… then forget.

Inapplicable  What high school did your spouse attend? Not memorable  Name of teacher in kindergarten? Ambiguous  Name of college you applied to but did not attend? Guessable  Age when you married?  Favorite color? Attackable/automatically attackable  Public records.

Anticipating Trends More sites … More passwords … More forgetting … More repeated credentials… Increased exposure to hacking and cloning Note: Underground markets sell reset password questions for 10x the price of passwords.

blue-moon-authentication.com Avoid memory, use preferences  Do not have to be remembered: forgetting curve does not apply! Preferences are stable [Kuder, 1939 ] Rarely documented  especially dislikes

The Experiments - Correlations Average correlation very low. Obvious relationships such as “Political Events” and “Politics” had strong correlation. Negative correlations were especially weak. Only pair wise correlations tested.

The Experiments - Correlations Someone who likes Visiting Flea Markets is the least likely to enjoy? Punk Music Indian Food Watching Tennis Visiting Bookstores Cats

The Experiments - Correlations Someone who likes Visiting Flea Markets is the least likely to enjoy? Punk Music Indian Food Watching Tennis Visiting Bookstores Cats

Who is the Enemy? 1. Faceless enemy on the web a. Naïve - 0% success b. Strategic - 0.5% success c. The Super hacker - ? 2. Acquaintance / friend / family member 3. Your ex-girlfriend/boyfriend 4. The website-cloning attacker 5. The IM Manipulator

Outline Basic password concepts Hashing, salt, online/offiline dictionary attacks Phishing and online ID Theft Phishing pages, server auth, transaction generators, secure attention sequence Two-factor authentication Biometrics, one-time pwd tokens Server-side password functions Ruby-on-Rails, pwd registration, confirmation, pwd reset, single sign-on Security questions and the story of Sarah Palin