Authentication systems



Similar documents
Authentication systems. Authentication methodologies. User authentication. Antonio Lioy - Politecnico di Torino ( ) 1.

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

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

Internet Banking Two-Factor Authentication using Smartphones

How To Use Kerberos

Authentication Application

Authentication Applications

Introduction to Computer Security

Authentication Applications

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

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

Chapter 15 User Authentication

NetIQ Advanced Authentication Framework

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

CS 356 Lecture 28 Internet Authentication. Spring 2013

OCRA Validation Server Profile

RSA SecurID Software Token 1.0 for Android Administrator s Guide

Two-Factor Solutions Choosing the Right One"

FileCloud Security FAQ

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

Dashlane Security Whitepaper

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Overview Windows NT 4.0 Security Cryptography SSL CryptoAPI SSPI, Certificate Server, Authenticode Firewall & Proxy Server IIS Security IE Security

TOPIC HIERARCHY. Distributed Environment. Security. Kerberos

Client Server Registration Protocol

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Cryptography and Network Security Digital Signature

Secure Web Access Solution

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

Certification Authority. The X.509 standard, PKI and electronic documents. X.509 certificates. X.509 version 3. Critical extensions.

Module: Authentication. Professor Trent Jaeger Fall CSE543 - Introduction to Computer and Network Security

Kerberos. Login via Password. Keys in Kerberos

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

2-FACTOR AUTHENTICATION WITH OPENLDAP, OATH-HOTP AND YUBIKEY. Axel Hoffmann

Sync Security and Privacy Brief

PkBox Technical Overview. Ver

Chapter 16: Authentication in Distributed System

Biometrics, Tokens, & Public Key Certificates

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Salesforce1 Mobile Security Guide

Authentication Tokens

Electronic mail security. MHS (Message Handling System)

Mobile OTPK Technology for Online Digital Signatures. Dec 15, 2015

Symmetric and Public-key Crypto Due April , 11:59PM

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

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

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

HOBCOM and HOBLink J-Term

SECURITY IN NETWORKS

Introducing etoken. What is etoken?

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

QR-CODE BASED NON-REPUDIATION TRANSACTION VERIFICATION SYSTEM

Endpoint Security VPN for Windows 32-bit/64-bit

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

Kerberos-Based Authentication for OpenStack Cloud Infrastructure as a Service

2-FACTOR AUTHENTICATION FOR MOBILE APPLICATIONS: INTRODUCING DoubleSec

Designing a Secure Client-Server System Master of Science Thesis in the Programme Software Engineering & Technology

Cryptography and Network Security

Chapter 4 Virtual Private Networking

Scenario. Roadmap. ! The simplified architecture! The complete architecture Pre-authentication Delegation. Realms

Authentication applications Kerberos X.509 Authentication services E mail security IP security Web security

Improving Online Security with Strong, Personalized User Authentication

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

A Secure Authenticate Framework for Cloud Computing Environment

AUTHENTIFIERS. Authentify Authentication Factors for Constructing Flexible Multi-Factor Authentication Processes

Kerberos and Active Directory symmetric cryptography in practice COSC412

The increasing popularity of mobile devices is rapidly changing how and where we

Using etoken for SSL Web Authentication. SSL V3.0 Overview

IceWarp Server - SSO (Single Sign-On)

Information Security Basic Concepts

SAP Single Sign-On 2.0 Overview Presentation

Managed Portable Security Devices

Entrust IdentityGuard

Application-Specific Biometric Templates

Copyright: WhosOnLocation Limited

Multifactor authentication systems Jiří Sobotka, Radek Doležel

Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords

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

Two-Factor Authentication

Secure distributed single sign-on with two-factor authentication

Chapter 8 Virtual Private Networking

Hitachi ID Password Manager Telephony Integration

1. a. Define the properties of a one-way hash function. (6 marks)

SPINS: Security Protocols for Sensor Networks

Enhancing Web Application Security

Authenticating Humans

A brief on Two-Factor Authentication

Two Factor Authentication. Using mobile for additional IT security

Transcription:

Authentication systems Antonio Lioy < lioy @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Authentication methodologies can be based on different factors ( 1/2/3-factors authentication ): something I know (e.g. a password) something I am (e.g. my fingerprint) something I have (e.g. magnetic card) e.g. Google 2-step verification goofy! multiple different mechanisms can be combined to achieve identification Antonio Lioy - Politecnico di Torino (1995-2015) 1

User authentication server UID : f (S UID ) authentication request UID proof request proof = F (S UID ) user (UID) secret (S UID ) storage of the secrets? verification of the proof? storage of the secret? insertion of the secret? transmitting the proof? Password (reusable) server { UID : P UID } or { UID : H UID } authentication request UID password request P UID user (UID) secret (P UID ) Antonio Lioy - Politecnico di Torino (1995-2015) 2

Password-based authentication secret = the user password (client) create and transmit proof F = I (the identity function) i.e. proof = password (cleartext!) (server) verify the proof: case #1: f = I (the identity function) server knows all passwords in cleartext (!) access control: proof = password? case #2: f = one-way hash (that is a digest) server knows the passwords' digests, H UID access control: f(proof) = H UID? pro: Password-based authentication simple for the user only if she has to remember just one passwor! cons: user-side password storage (post-it!) password guessable (my son s name!) password readable during transmission server-side password storage the server must know in cleartext the password or its unprotected digest (dictionary attack) Antonio Lioy - Politecnico di Torino (1995-2015) 3

Password suggestions to reduce the associated risks: alphabetic characters (uppercase + lowercase) + digits + special characters long (at least 8 characters) never use dictionary words frequently changed (but not too frequently!) don t use them :-) use of at least one password (or PIN or access code di or...) unavoidable unless we use biometric techniques NEVER in cleartext! Storing the password encrypted password? then the server must know the key in cleartext store a digest of the password but beware of the dictionary attack that can be made faster by a rainbow table we must therefore insert an unexpected variation, usually named salt Antonio Lioy - Politecnico di Torino (1995-2015) 4

hypothesis: The dictionary attack known hash algorithm known password hash values pre-computation: for (each Word in Dictionary) do store ( DB, Word, hash(word) ) attack: let HP be the hash value of a (unknown) password w = lookup ( DB, HP ) if ( success ) then write ( pwd =, w ) else write ( pwd not in my dictionary ) Rainbow table (I) a space-time trade-off technique to store (and lookup) an exhaustive hash table e.g. table for a 12 digits password exhaustive = 10 12 rows { P i : HP i } rainbow = 10 9 rows, each representing 1000 pwd uses the reduction function r : h p (NOT h -1 ) pre-computation: for ( 10 9 distinct P ) for (p=p, n=0; n<1000; n++) k = h(p); p = r(k); store ( DB, P, p ) // chain head and tail Antonio Lioy - Politecnico di Torino (1995-2015) 5

attack: Rainbow table (II) let HP be the hash of a password for (k=hp; n=0; n<1000; n++) p = r(k) if lookup( DB, x, p ) then exit ( "chain found!" ) k = h(p) exit ( "HP is not in any chain of mine" ) to avoid "fusion" of chains r 0 ( ) r n ( ) are used on sale pre-computed rainbow tables for various hash functions password sets (e.g. alphanum) this technique is used by various attack programs Using the salt in storing passwords for each user UID: create / ask the pwd generate a salt (different for each user) random (unpredictable) and long (increased dictionary complexity) should contain rarely used or control characters compute HP = hash ( pwd salt ) store the triples { UID, HP UID, salt UID } additionally we have different HP for users having the same pwd makes the dictionary attack nearly impossible (included those based on rainbow tables) Antonio Lioy - Politecnico di Torino (1995-2015) 6

The Linkedin attack june2012, copied 6.5 M password from Linkedin unsalted, plain SHA-1 hash!!! crowdsourcing used for cooperative password cracking at least 236,578 passwords found (before ban of the the site publishing the password hashes) note: nearly simultaneous problem with the discovery that the Linkedin app for ipad/iphone was sending in clear sensible data (not relevant to Linkedin!) Example: passwords in MySQL username and password stored in the "user" table MySQL (from v 4.1) uses a double hash (but no salt!) to store the password sha1( sha1( password ) ) the hex encoding of the result is stored, preceded by * (to distinguish this case from MySQL < 4.1) example (for the password "Superman!!!"): field user.password = *868E8E4F0E782EA610A67B01E63EF04817F60005 verification $ echo -n 'Superman!!!' openssl sha1 -binary openssl sha1 -hex (stdin)= 868e8e4f0e782ea610a67b01e63ef04817f60005 Antonio Lioy - Politecnico di Torino (1995-2015) 7

May 2014 Iphone ransomware icloud accounts (with 1-factor authn) violated then "remote lock" used with "find my device" also a message is sent to the device (iphone, ipad): "Device hacked by Oleg Pliss!" to regain control send 100 USD/EUR via Paypal to lock404(at)hotmail.com dont't pay? then use "recovery mode" (but all the device data and app are lost ) paying doesn't help either! (fake Paypal account) http://thehackernews.com/2014/05/apple-devices-hacked-by-oleg-pliss-held.html (Symmetric) challenge-response systems a challenge (typically a random nonce) is sent to the user...... who replies with the solution after a computation involving the shared secret and the challenge the server must know the secret in clear often R is a hash function (can t be encryption) UID user challenge response = R (challenge, S UID ) { UID : S UID } S UID Antonio Lioy - Politecnico di Torino (1995-2015) 8

Mutual authentication with symmetric challenge (v1) this is the base exchange only the initiator provides explicitly its (claimed) identity A C B Alice enc (K AB, C B ) Bob C A enc (K AB, C A ) Mutual authentication with symmetric challenge (v2) reduction in the number of messagges (better performance but no impact on security) used by the IBM SNA A, C A Alice C B, enc (K AB, C A ) Bob enc (K AB, C B ) Antonio Lioy - Politecnico di Torino (1995-2015) 9

Attack to the symmetric challenge protocol Mike (as Alice) Bob A, S A S B, enc (K AB, S A ) conn #1 S B enc conn #2 A, S B S C, enc (K AB, S B ) enc (K AB, S B ) (Asymmetric) challenge-response systems a random nonce R is encrypted with the user's public key...... and the users replies by sending R in clear thanks to its knowledge of the private key cert (Lioy, KpubLioy) user challenge = E (R, KpubLioy) acceptable users response = R private key Antonio Lioy - Politecnico di Torino (1995-2015) 10

Risks with asymmetric challenges trust in the issuer CA of the user cert check the "name constraint" for trusted CAs unwilling RSA signature possible: if challenge=digest(document)... and the server sends R in clear and ask it back encrypted with the user s private key... then the user has unwillingly signed the document!!! One-time password server richiesta di autenticazione UID utente (UID) richiesta della password n. 48 UID : S UID P48 = p ( 48, S UID )? P48 UID P50 UID P49 UID P48 UID P47 UID P46 UID... Antonio Lioy - Politecnico di Torino (1995-2015) 11

original idea: One-Time Passwords (OTP) Bell Labs, S/KEY system (1981) passwords pre-computed and printed on paper (poor man's OTP) currently implemented in other ways(commerciali or free) with: hw-based generators (authenticator, security token) sw-based generators (at the client) OTP provisioning to the users on stupid or insecure workstation: paper sheet of pre-computed passwords hardware authenticator (crypto token) on intelligent and secure workstation : automatically computed by an ad-hoc application typical for smartphone, tablet, laptop, Antonio Lioy - Politecnico di Torino (1995-2015) 12

RFC-1760 The S/KEY system (I) the user generates a secret S the user computes N one-time passwords: P 1 = h (S) P 2 = h (P 1 ) = h( h(s) )... the user initializes the authentication server with the last generated password (e.g. P 100 ) this password will never be used directly for authentication, but only indirectly The S/KEY system (II) the server prompts for the passwords in reverse order: S: P99? C: X S: if h(x) = P100 then access allowed + X is stored in this way the server doesn t need to know the client s secret RFC-1760 uses MD4 (other choices possible) public-domain implementation for Unix, MS-DOS, Windows, MacOs Antonio Lioy - Politecnico di Torino (1995-2015) 13

P N = h N (s) h Il sistema S/KEY (III) user has server has P N-1 = h N-1 (S) P N-1 P N-1 P N store P N-1 P 2 = h(h(s)) = h 2 (S) P N-2 h P 1 = h(s) h initial secret S user password generation S/KEY authentication S/KEY generation of the password list the user inserts a pass phrase (PP): minimum 8 char long secret! (if disclosed then the security of S/KEY is compromised) PP is concatenated with a server-provided seed the seed is not secret (sent in cleartext from S to C) allows to use the same PP for multiple servers (using different seeds) and to safely reuse the same PP by changing the seed a 64 bit quantity is extracted from the MD4 hash (by XORing the first / third 32 bit groups and the second / fourth groups) Antonio Lioy - Politecnico di Torino (1995-2015) 14

S/KEY passwords 64 bit passwords are a compromise neither too long (complex) nor too short (insecure) entered as a sequence of six short English words chosen from a dictionary of 2048 (e.g. 0="A", 1="ABE", 2="ACE", 3="ACT", 4="AD", 5="ADA") client and server must share the same dictionary example: password (text) YOU SING A NICE OLD SONG password (numeric) 1D6E5001884BD711 (hex) or 2,120,720,442,049,943,313 (decimal) OTP problems generally uncomfortable uncomfortable when used to access multiple password-based services (e.g. POP with periodic check of the mailbox) expensive when based on hw authenticators paper-based passwords cannot be used by a process but only by a human operator generation of good random passwords password provisioning (generator? SMS?) when time is used to generate the OTP, time synchronization between user and system Antonio Lioy - Politecnico di Torino (1995-2015) 15

Problems of hw authenticators denial-of-service: deliberately wrong attempts to trigger account blocking social engineering: phone call to simulate loss of the authenticator and remotely initialize a new one Time-based OTP server authentication request UID user (UID) request of the 11:07 password UID : S UID P1107 UID P1107 = p ( 11:07, S UID )? S UID Antonio Lioy - Politecnico di Torino (1995-2015) 16

RSA SecurID invented and patented by Security Dynamics time-based synchronous OTP technique: P UID ( t ) = h ( S UID, t ) access code ( token-code ): 8 digits random, never repeats itself changes every 60 s maximum drift 15 s / year expires in 4 years based on proprietary and secret (!) hash algorithm SecurID: architecture the client sends in clear user, PIN, token-code (seed, time) based on user and PIN the server verifies against three possible token-codes: TC -1, TC 0, TC +1 duress code: PIN to generate an alarm (useful for authentication under threat) wrong authentication attempts limited (default: 10) may have three different keys per device Antonio Lioy - Politecnico di Torino (1995-2015) 17

SecurID: hardware SecurID Card (e.g. SD200): classic device (creditcard size) SecurID PinPad (e.g. SD520): local PIN keying to generate token-code*, sent to the server with user SecurID Key Fob (e.g. SD600, SID700): key fob SecurID Key Fob with smart-card (e.g. SID800) SecurID: software authenticators SoftID works as a SecurID PinPad but is a sw application automatic or manual transmission of the token-code problem: clock synchronization Antonio Lioy - Politecnico di Torino (1995-2015) 18

RSA SecurID: prodotti recenti SecurID: architecture token OK? ACE server token OK? ACE client OK! KO! ACE client SSH server DBMS server user, PIN, TC user, TC* SSH client SecurID (normal) DBMS client SecurID (pinpad) Antonio Lioy - Politecnico di Torino (1995-2015) 19

ACE/client SecurID: client installed at the application that wishes to use SecurID for authenticating its users manages the dialogue with the ACE/server encrypted channel SecurID: server ACE/server: installed at the authentication server talks with the ACE/client for responding to authentication requests that use the SecurID tokens monitor, audit and report GUI management interface authentication API (for new applications) SQL interface to access a DBMS (already) storing the user data Antonio Lioy - Politecnico di Torino (1995-2015) 20

Problems of time-based OTP synchronization with UTC the authentication server may track the delay of each token to adjust the comparison window ineffective if the wrong time is not due to drift but obtained by a server (e.g. NTP, mobile network) "temporal window" for usage stock exchange operators need more than one authentication per minute both problems can be solved by event-based OTP (a new password is generated on request, as needed) Out-of-band OTP server 1. authentication request user (UID) 2. UID + P UID 5. OTP secret (P UID ) 3. authn data generation 4. OOB transmission of the OTP Antonio Lioy - Politecnico di Torino (1995-2015) 21

Authentication of human beings how can we be sure of interacting with a human being rathre than with a program (e.g. sensing a password stored in a file)? two solutions: CAPTCHA techniques (Completely Automated Public Turing test to tell Computers and Humans Apart) e.g. picture with images of distorted characters biometric techniques e.g. fingerprint Biometric systems measure of one biologic characteristics of the user main characteristics being used: fingerprint voice retinal scan iris scan hands' blood vein pattern useful to *locally* replace a PIN or a password Antonio Lioy - Politecnico di Torino (1995-2015) 22

Problems of biometric systems FAR = False Acceptance Rate FRR = False Rejection Rate FAR and FRR may be partly tuned but they heavily depend on the cost of the device variable biological characteristics: finger wound voice altered due to emotion retinal blood pattern altered due to alcohol or drug FAR / FRR Antonio Lioy - Politecnico di Torino (1995-2015) 23

Problems of biometric systems psychological acceptance: Big Brother syndrome (=personal data collection) some technologies are intrusive and could harm lack of a standard API / SPI: high development costs heavy dependence on single/few vendors API / SPI being developed: standard and unified based on CDSA API? SPI? middleware! APP1 APP2 API (Application Programming Interface) middleware (e.g. CDSA) SPI (Service Programming Interface) device / service no. 1 device / service no. 2 device / service no. 3 Antonio Lioy - Politecnico di Torino (1995-2015) 24

Kerberos authentication system based on a TTP (Trusted Third Party) invented as part of the MIT project Athena user password never transmitted but only used locally as cryptographic (symmetric) key realm = Kerberos domain, that is the set of systems that use Kerberos as authentication system credential = user.instance@realm ticket Kerberos data structure to authenticate a client to a server variable lifetime (V4: max 21 hours = 5 x 255) (V5: unlimited) encrypted with the DES key of the target server bound to the IP address of the client bound to just one credential simple or mutual authentication Antonio Lioy - Politecnico di Torino (1995-2015) 25

Kerberos high-level view K UID, K TGS AS Authentication Server { TGT } TGT K S TGS Ticket Granting Server T s request client T s (application) server Kerberos: data formats (v4) TICKET server-id client-id client-address timestamp life K S,C KS AUTHENTICATOR client-id client-address timestamp K S,C Antonio Lioy - Politecnico di Torino (1995-2015) 26

TGT request C, TGS C A S { K C,TGS, { T C,TGS } K TGS } K C client Authentication Server Ticket request C s, { T C,TGS } K TGS, { A C } K C,TGS { { T C,S } K S, K C,S } K C,TGS T G S client Ticket Granting Server Antonio Lioy - Politecnico di Torino (1995-2015) 27

Ticket use { T C,S } K S, { A C } K C,S C S { timestamp(a C ) + 1 } K C,S client (application) server Kerberos versions MIT V4 (the original public one) MIT V5 (RFC-1510) not only DES extended ticket lifetime (begin-end) inter-realm authentication forwardable ticket extendable ticket OSF-DCE based on MIT V5 implemented as RPC rather than a message exchange protocol Antonio Lioy - Politecnico di Torino (1995-2015) 28

Kerberos: problems clock synchronization required: within a LAN it s useful anyway in WAN may originate problems Kryptoknight (alias IBM NetSP) doesn t require clock synchronization remote access needs cleartext password: encrypted channel or integration with OTP, symmetric or asymmetric challenge Kerberized dial-up modems Kerberos: advantages single login to all Kerberized services K-POP, K-NFS, K-LPD K-telnet, K-ftp K-dbms the ticket mechanism is ideally for intermittent connections mobile computers ISDN, WiFi, UMTS increasing commercial support (MS has adopted Kerberos* since Windows-2000 ) Antonio Lioy - Politecnico di Torino (1995-2015) 29

SSO (Single Sign-On) the user has a single credential to authenticate himself and access any service in the system fictitious SSO: client for automatic password synchronization / management (alias password wallet ) specific for some applications only integral SSO: multiapplication authentication techniques (e.g. asymmetric challenge, Kerberos) likely requires a change in the applications multi-domain SSO (e.g. with SAML tokens, that generalize Kerberos tickets) Authentication interoperability OATH (www.openauthentication.org) interoperability of authentication systems based on OTP, symmetric or asymmetric challenge development of standards for the client-server protocol and the data format on the client all users all networks universal strong authentication all devices Antonio Lioy - Politecnico di Torino (1995-2015) 30

OATH specifications http://www.openauthentication.org/specifications HOTP (HMAC OTP, RFC-4226) TOTP (Time-based OTP, RFC-6238) OATH challenge-response protocol (OCRA, RFC-6287) Portable Symmetric Key Container (PSKC, RFC-6030) XML-based key container for transporting symmetric keys and key-related meta-data Dynamic Symmetric Key Provisioning Protocol (DSKPP, RFC-6063) client-server protocol for provisioning symmetric keys to a crypto-engine by a key-provisioning server K : shared secret key HOTP C : counter (monotonic positive integer number) h : cryptographic hash function (default: SHA1) sel : function to select 4 bytes out of a byte string HOTP(K,C) = sel(hmac-h(k,c)) & 0x7FFFFFFF note: the mask 0x7FFFFFFF is used to set MSB=0 (to avoid problems if the result is interpreted as a signed integer) to generate a N digits (6-8) access code: HOTP-code = HOTP(K,C) mod 10 N Antonio Lioy - Politecnico di Torino (1995-2015) 31

TOTP as HOTP but the counter C is the number of intervals TS elapsed since a fixed origint0 C = (T T0 ) / TS default (RFC-6238): T0 = Unix epoch (1/1/1970) T = unixtime(now) seconda elapsed since the Unixepoch TS = 30 seconds equivalent to C = floor ( unixtime(now) / 30 ) h = SHA1 N = 6 Google authenticator supports HOTP and TOTP with the following assumptiona: K is provided base-32 encoded C is provided as uint_64 sel(x) offset = 4 least-significant-bits of X return X[offset offset+3] TS = 30 seconds N = 6 if the generated code contains less than 6 digits then it's left padded with zeroes (e.g. 123 > 000123) Antonio Lioy - Politecnico di Torino (1995-2015) 32