Transcript Document
Identity Authentication
Dr. Ron Rymon
Efi Arazi School of Computer Science
Computer Security Course, 2010/11
Pre-requisites: Basic Cryptography
Overview
Identity Authentication Principles
Passwords
Challenge-Response
Zero Knowledge Identification Protocols
Authentication Using Physical Devices
Biometrics
Identity Authentication
Principles
Main Source: Menezes et al
Main Objectives
If Alice and Bob are both honest, then Alice
should be able to successfully authenticate herself
to Bob, and vice versa (correctness)
Charles cannot present himself as Alice to Bob
(impersonation)
Bob cannot utilize an identification exchange with
Alice to impersonate Alice to a third party Charles
(transferability)
Stronger Requirements
We require also that all three requirements (correctness,
impersonation prevention, and protection against
transferability) hold
– even if Charles was exposed to a large number of previous
authentication exchanges between Alice and Bob
– even if Charles has participated in a large number of authentication
exchanges with either or both Alice and Bob
– even if Charles is allowed to run a large number of concurrent
authentication attempts
Zero Knowledge protocols require further that even many
executions of an authentication protocol provide NO
INFORMATION to adversarial impersonator
Basis of Identification (Factors)
Something you know…
– Passwords, PINs, Secret or key
Something you possess…
– Physical devices: magnetic cards, smart cards, tokens, bluetooth,
password generators, cellphones…
Something you are…
– Biometrics (fingerprints, iris recognition, voice, handwriting),
keyboarding characteristics
Others
– Someplace you are… (e.g. GPS location)
– Some way you behave
Ideally, more than one factor (Two-factor authentication)
In some applications real-time identification is required
Properties of ID Methods & Protocols
Reciprocity of authentication
Complexity
– Computational efficiency
– Communication efficiency
Cost
Use of third party
– Whether a third party is needed
– Whether a third party is needed in real-time
– Nature of trust required from third party
What security guarantees are made
– False positive and false negative
How and where secrets and keys are kept
Passwords
(weak authentication)
Main source: Menezes et al
Passwords
String of 6-8 characters that allows identification
– Fixed password/PINs, one-time passwords
“something you know”
Properties
– No reciprocity – only unilateral identification
– Low complexity – very efficient, both computationally
and communication-wise
– Usually, no third party is used (exception: SSO)
– Key is usually kept by user in memory, and by system
in a password file
Fixed Passwords Attacks
Replay attacks
– Observe typing, find written or in another system, key loggers
– Eavesdropping on a cleartext or hashed communication channel
Exhaustive search
– Randomly or systematically trying passwords against online
verifier
– Offline search against password file – enough that one user chose
a weak password
Password guessing or Dictionary attack
– Assumes that not all passwords are equally likely
Attack password distribution
– Some systems come with fixed out-of-the-box passwords
Many tools for password cracking/auditing
– http://www.password-crackers.com
Wireless key logger
Example: Focused Dictionaries
Use variations on related words
Password Space
Entropy
n
26
lowcase
36
alphanum
62
95
mixed case keyboard
(log 2)
5
23.5
25.9
29.8
32.9
6
28.2
31.0
35.7
39.4
7
32.9
36.2
41.7
46.0
8
37.6
41.4
47.6
52.6
n
26
lowcase
36
alphanum
62
95
mixed case keyboard
5
0.67hr
3.4hr
51hr
430hr
6
17hr
120hr
130dy
4.7yr
7
19dy
180dy
22yr
440yr
8
1.3yr
18yr
1400yr
42000yr
Time
To Search
(5000/sec)
Password Space Conclusions
Short, letters-only, passwords are easily breakable
– Adding to the alphabet is important
– Adding to password length is important
Easier password spaces
– A password from a lower-entropy space (“dictionary”) reduces the
(expected) size of the search space
– Simpler password comparison functions allow more trials per
second
In a simultaneous password file attack, it is enough that
one password is weak
Choose longer “random” passwords !
Fixed Passwords Security
Many systems enforce password rules
– Goal: high-entropy passwords
– Usually, syntactic and procedural rules
• Password must have at least 8 characters
• Password must include digits and special characters
• Password should not have a meaning (generators of pronounceable
but long and not meaningful passwords)
• Must change password every 30 days
• Cannot repeat same password in multiple systems
Encrypted password files
– Goal: avoid making the pwd file itself a target, e.g., to internal staff
– Usually, password is not encrypted using symmetric key, but rather
using a one-way hash function
• e.g., Alice’s password is stored as
h(Alice,pwd)
Fixed Passwords Security (cont.)
Slow down password mapping
– Goal is to limit the use of exhaustive search programs, and
hardware implementations
– Usually achieved by recursively applying a simple hash function
– Must be acceptable to legitimate users, e.g., one second
Salting
– Goal: limit use of simultaneous dictionary attack
– Add a few bits to the password before hashing
– Usually, a time stamp or something based on the user id
• Unix takes timestamp-based salt, Novell’s Netware takes serverassigned user ID
– Salt is kept in cleartext in password file
Example: Unix Passwords
Unix keeps all passwords in a password file, /etc/passwd
The user password serves as key to encrypt 64 zero bits,
and the ciphertext is kept
truncated/padded
user password
000…0
modified
DES
ciphertext
First 8 characters are used, padded with 0’s if needed, and
only first 7 bits of each taken to a create a 56-bit DES key
Example: Unix Password (cont.)
Cryptographically, note that the algorithm is
known and the plaintext is known
DES is repeated 25 times, to slow down breaker
Password is “salted”
– 12 randomly chosen bits from system clock are used to
salt the password. They are used in the DES expansion
function
– Thus, 212=4096 variations need checked in any
simultaneous dictionary attack
– Because of the internal change to DES, one cannot use
off-the-shelf DES hardware
Case Study: Password Cracking (Wu)
Tried to crack passwords of 25,000 corporate Kerberos users
In two weeks, using 8 Sun machines, broke 2,045 passwords
Length
2
3
Percent
0.1 0.6
4
5
3.8 7
6
7
8
9
10
>10
11
8
54
8
4.5 3
Only 4% used at least one non-alphanumeric character
86% did not require using the shift key
Some accounts used dates, telephone numbers
Some passwords were common to more than one account
24% were combinations of two words
25% resulted from simple transformations of single words, e.g.,
capitalizing, reversing, or doubling of a word
– Lowercasing a word was the most common transformation
– “1” was the most common suffix/prefix
Password Management Systems
Business problem: difficult for end-users to manage
– Many passwords
– Weak passwords
– 40% of help desk calls are for password reset
Solution:
–
–
–
–
Centralized enterprise system
Synchronize one or few passwords into many systems
Self-service password reset
Audit trail for password changes
Single Sign On (SSO) uses an agent on each target system
Passwords to privileged accounts
– Business problem: lack of accountability since single password is
shared by some/many people
– Solution: use intermediary to assign individual one-time passwords
Personal ID Number (PIN)
Usually used as a “something you know” in conjunction
with a “something you possess”
– Most often, a credit card or ATM card
– Typically short (4 digits), so that can be memorized
To prevent exhaustive search, account is locked and/or
card is confiscated after 3-4 unsuccessful trials
To enable use of offline machines, the PIN may be stored
on the card, sometimes encrypted by a “master key”
This is a form of two-stage authentication, where the
second high-entropy key is stored on the card
Passphrases and Passkeys
Passphrase can serve as a “long” password
– E.g., “this will let me to the dark side of the moon”
– Pros: long;
– Cons: usually simple words and phrases, so effective search space
is not very large
Or, a passphrase/sentence can be mapped to a pseudo-
random key (passkey)
– The passkey can then be used as a regular symmetric key, e.g., to
encrypt communication
– A userid-based salt may also be added
– A running counter may be added to the password to obtain a timevariant passkey
Example: WPA
– Passphrase is concatenated with SSID and then hashed 4096 times
to create a symmetric key
One-time Passwords
A solution against eavesdropping and replay
attack
Option 1: shared list of one-time passwords
– Use password i+k after password i (k can be randomly
agreed in real-time)
Or, Sequentially updated one-time passwords
– New password i+1 is agreed after first authenticating
with password i
– E.g., use a one-way hash function to create a sequence
• Lamport: Pi= H(Pi+1), where H is a OWF
– Note 1: authentication requires a counter
– Note 2: it would not be secure if sequence was going forward
Graphical Passwords
Select certain points in a picture
– Image can be user-specific
– Password=points and click order
To protect from “shoulder surfing”
– Do not select points themselves
– Rather, select triangles that contain them
– Icons are reordered between selections
Knowledge of Personal History
Example:
– In which of the following addresses did you live in the past (or
none of the above)
– Which of these places have you visited in the past
– What is last transaction made on your credit card
Requires knowledge of a person’s history, normally within a
certain area
Can serve for a first time authentication (assuming access to
history data)
Used by service providers in the credit card industry, e.g., credit
bureaus, or new credit grantors
Security is reasonable but not substantial, as adversary may
know or collect information about target
Challenge-Response
Identification
(strong authentication)
Main source: Menezes et al
Challenge-Response
(The Bad Version)
In enterprise and web applications, it is common to ask
users to provide one or more pairs of questions and
answers
– E.g., Q: Name of my dog, A: Saddam
When the user forgets her password, she can
“authenticate” herself to the system using these questions
(and “reset” her password)
This is a variation on passwords and is considered very
weak authentication
– Questions are often trivial, with a small set of possible answers,
and the answer may be known to someone who knows the person
Cryptographic Challenge-Response
Protocols
Structure: Alice wishes to authenticate to Bob
– Bob sends Alice a challenge
– Alice responds to the challenge
– Bob verifies the answer
Parties may use time-variant parameters (confounders) for
“freshness”
– Confounders are good against replay attacks, chosen-text attacks
– Examples: timestamps, random numbers, sequence numbers, other
one-time numbers (nonces),
– Generated by one party, and then the other party cryptographically
binds response to this number to ensure “freshness”
Challenge-Response with
Symmetric Keys
Parties may have agreed apriori on a key, or a key may be
provided by trusted server
– e.g., KDC protocols like Kerberos, Needham-Schroeder
Example 1: one way authentication using a time-stamp
– Alice authenticates herself to Bob by sending an encryption of her
own time-stamp, using the shared key, EK(tA)
– Better yet, Bob sends Alice a challenge tB and she responds EK(tB)
– Problem: Eve can get Alice to encrypt a chosen text
– So Alice may add a random number and/or her own identifier, e.g.,
EK(tB, rA,”Alice4Bob”).
Example 2: using random numbers
– First, Bob sends to Alice a random number rB
– Then, Alice sends to Bob EK(”Alice4Bob”, rB)
Mutual Authentication with
Symmetric Keys
Mutual authentication requires one more step (can be done
with either timestamps or random numbers)
Challenge: rB
A Response: EK (rA , rB ,”AlBo”)
B Response: EK (rB , rA)
A variation on this authentication could also work with
HMAC instead of encryption
– E.g., when encryption is not available (e.g., export restriction)
Challenge Response with
Public Keys
To authenticate herself, Alice must show knowledge of her private key
– Can decrypt a challenge that was encrypted using Alice’s public key
– Or, sign digitally the challenge
Potential issues with digitally signing a challenge
– Bob may ask Alice to sign a fraudulent message (“pay Bob”)
– Cannot use fixed certificate for risk of replay attack
Solution: use a nonce to foil chosen-text attack in authentication, and a
timestamp to limit lifespan of possible attack
Challenge: H(rB),Bob,EPubA(rB,tB,”Bob”)
Response: rB
Or, have Alice sign same using her private key
X.509 Mutual Authentication
Use private/public keys to encrypt/prove and vice versa
Use random nonces, time stamps, and public data (certificates)
Alice,EPrivA(rA,tA,Bob,XA,EPubB(YA))
Bob,EPrivB(rB,tB,Alice,rA,XB,EPubA(YB))
EPrivA(rB))
Public data (X’s) can be a certificate that contains the public key
of the user, and are themselves signed by a CA
The Y’s correspond to secret information, which may be keys
(Kab and Kba) or key exponents for a key exchange
The third step is required if it is difficult to synchronize clocks,
and with it timestamps need not be checked
Defenses Against Attacks on
Challenge-Response
Replay attack
– Use nonces, embed target identity in response
Interleaving attack
– Chaining protocol messages
Man-in-the-middle attack
– Mutual authentication to foil adversary impersonating system
Reflection attack
– Embed target identity, use uni-directional keys
Chosen text attack
– Use confounder in each message
– Use Zero-knowledge protocols
Zero-Knowledge
Identification Protocols
Main source: Menezes et al
Overview
Passwords may reveal Alice’s secret to Bob, who may then
impersonate her
With challenge-response protocols, Alice only reveals
knowledge of the secret
– But, a strategic adversary may choose challenges that would reveal
some aspects of this secret (or may choose from available
interactions)
ZK protocols allow Alice to prove knowledge of the secret
without fearing that she may be providing anyone (Bob
included) with any information about it
Note: RSA is also ZK, but most ZK protocols are more
efficient than RSA
– On the other hand, they cannot be used for encryption/signature
ZK Properties and General Structure
Required ZK properties
– Completeness: all legitimate parties succeed
– Soundness: non-legitimate parties cannot succeed
(actually: chances to succeed are arbitrarily small)
– ZK: the exchange does not reveal the secret
A typical ZK protocol consists of n iterations
– Alice presents Bob a witness of her secret (commitment)
– Bob presents a challenge to Alice
– Alice responds to the challenge
– Bob checks that the answer is correct
Probability of Alice cheating in each iteration < 1
– After n iterations, to get arbitrarily small probability
Example: Isomorphic Graphs
G1 is isomorphic to G2 iff there is a vertex mapping
– Really, G2 is just a permutation of the names of G1 nodes
– No known polynomial algorithm to reverse engineer
Proposed ZK Protocol
– Alice chooses G1, and creates G2 that is isomorphic (using P1)
• The graphs G1,G2 are “public key”, P1 is secret
– Witness: Alice generates G3 that is isomorphic to G1 (using P2)
– Bob chooses Gi randomly and requires Alice to show mapping
– Alice responds
• If G1, then the mapping is the generating permutation (P2)
• If G2, then the mapping requires applying both permutations (P1oP2)
Note:
– Someone who didn’t know P1 could have cheated in half the cases
– When run n times chances of cheating is exponentially low
The Fiat-Shamir ZK Protocol
Setup
– Trusted server chooses n=pq, primes
– Alice selects a secret s<n, co-prime to n – private key
– Alice computes v=s2 mod n – public key
To authenticate Alice, Bob repeats
–
–
–
–
Commitment/witness: Alice chooses random r, and sends x=r2 mod n
Challenge: Bob selects e=0/1
Proof: Alice computes and sends y=rse mod n, i.e., either r or rs
Verification: Bob computes y2=x or y2= r2s2 = xv mod n
Note 1. Charles cannot impersonate Alice without knowing s because in
½ the cases (e=1), he may be asked to compute rs
Note 2. Bob cannot replay the communication he had with Alice to
impersonate Alice to Charles, because in ½ the cases Charles may present
a different challenge
Properties of ZK Protocols
No degradation of the protocol with usage
– No information is revealed in polynomial runs
Compared with Symmetric keys or HMAC
– Resist chosen-text attacks
Compared to Public-Key
– Lower computation costs
– Usually higher communication costs (# of iterations)
– Relies on same unproven math assumptions
Authentication Using
Physical Devices
Using Physical Devices
A “something you possess” identification
Physical keys
– Regular keys
– Tokens
Credit cards
– Sometimes with PIN (something you know)
– Sometimes with picture ID (for people)
Smartcards and passcode generators
– Protected memory
– Sometimes with CPU – challenge response
Using a computer physical MAC
– Combined with passwords
– Use computer “fingerprint”
Attack on ATM Cards (2003)
Cards must also work in offline mode
–
–
–
–
A Master key is used by ATM and bank
Account number is encrypted using DES
Last 4 digits (“decimalized”) are PIN
PIN is verified by tamper-proof hardware
Bond (student in Cambridge) has shown that PIN can be
discovered with high likelihood within 15 trials (on avg)
– Assumes access to a PIN verifier (e.g., corrupt insider)
– Manipulates the decimalization table to learn more from each trial
• Use table with all 0’s except i-th place to check if i-th digit is present
• Check all remaining possibilities
• Worst case is 10+36; average case is 24
– Can be improved through adaptation
Illustration
Scanned Magnetic Stripe
Scanned Magnetic Stripe
Encryption
0123456789012345
Encryption
0000100000000000
Decimalization
Keyed
Number
Comparison
OK/Not
Decimalization
0000
Comparison
OK/Not
Smartcards and Passcode Generators
Calculators: Devices that store key(s) and can compute a time-
variant response to a challenge
– Used in physical access and VPN apps, e.g., private banking
Smartcards: used to store identity authentication information, keys,
and other crypto applications
– Many National ID projects around the world (Israel Mimshal Zamin)
– Applications: border control, healthcare system, anti-fraud, and other
authentication apps
Dual-factor: “something you possess” and “something you know”
RFID in Physical Access Control Systems (PACS), as well as to
resist counterfeiting of high-ticket items (e.g., luxury watches)
Passcode Generator
Smartcard
Smartcard Reader
Biometrics
Biometrics
Biometrics measure innate characteristics
– “something you are”, hence hard to impersonate
Can be Physiological:
–
–
–
–
Fingerprints
Retinal or Iris scanning
Face recognition
Hand geometry recognition
Or behavioral
– Voice recognition (both physiological and behavioral)
– Handwriting/signature recognition
– Typing dynamics
Biometrics-based Authentication
Usually uses a pattern recognition approach
– A “profile” is constructed for the true person
– A matching score is computed in each authentication attempt
Processes
Threshold-based Decision
Real-time matching score is thresholded (T)
Error types
– (A) False alarms (False Positive, Type 2 error)
– (B) Misidentification (False Negative, Type 1 Error)
Two Generic Applications
Easier: Verification
– One-to-One: given a real-time authentication attempt,
try to match to a specific profile
– Requires a second form of identification, e.g., login,
token.
Harder: Identification
– Many-to-One: given a real-time authentication attempt,
try to match to one of several profiles in a database
– Difficulty stems from birthday paradox unless a high
separation can be attained between candidates
– Usually not attempted except in applications where
two-factor authentication is not feasible
Fingerprints Analysis
Shapes:
ARCH
WHORL
LOOP
Minutiae:
END
BIFURCATION
ISLAND
LAKE
unique arrangement of
minutiae for different
people
Non-intrusive, Reliable, Inexpensive
Semiconductor or Optical
Useful mostly for verification and less for identification
US stores experimented with payment by fingerprint…
DOT
Hand Geometry
One of the first practically implemented techniques
– physical access control: airports, secured corporate areas, etc.
– time and attendance monitoring
Reader uses CCD camera and a number of mirrors to
measure the shape of the hand perimeter, in <1 sec
– Length, width, thickness, surface areas
Used for verification, in conjunction with another identifier
– E.g., magnetic card
Non-intrusive
Palm Vein Authentication
Vein patterns are unique to an individual (even twins)
Scanned with infrared rays, using reflective photography
False rejection rate <0.01
PalmSecure (Fujitsu, CES 2006)
Iris Scanning
Human eye encodes 3.4bits/sqmm
Extremely accurate: chance of duplication (including twins) < 10–72
Fast comparison: Identification takes 2sec per 100,000 people in DB
Sub-$1000 systems are available, but expensive to enroll many
Considered a little intrusive / dangerous by some people
Growing in market share vs. other solutions (patents expired)
Retinal Scanning
Works by identifying patterns in retinal blood vessels
Uses light source to take 400 measurements, which are
then reduced to a signature of 96 bytes
Preceded Iris scanning, but is less prevalent
– considered more intrusive
– requires precise positioning of the eye
– requires removal of glasses
Face Recognition
Controlled scene – access control
– Frontal view, similar distance, reasonable lighting
– Compare live image to an original, captured in similar environment
– Usually for verification purposes, with another ID
Algorithms extract features, and compare relative positions of eyes,
nose, and mouth, nose width, and other factors
Relatively user-friendly
Not very accurate, and requires frequent updates
Very difficult in a random scene – street, airports
– Much more difficult
– Law enforcement applications
– Privacy issues: a bill that makes this unlawful was shelved in March 2002
Voice Verification
Principle: speech dynamics are affected by physical
structure of mouth, vocal chords, sinus, etc.
A voice signature can typically be formed from speech
features, with relatively high accuracy
– Each syllable typically has few dominant frequencies (formants)
– More accurate when user repeats a previously recorded sentence
Weaknesses: taped replay, environmental noise, illness,
richness of spoken language
Applications: access control, call centers
Example: www.verivoice.com
– User is requested to spell a random string of digits
Signature Verification
Static verification
Dynamic verification
– Curvature, changes in x-y sign, acceleration, pen up time
Weaknesses of Biometrics
Possibility of false positives, and sometimes
unacceptable FP rate
In identification applications: misidentification
Replay attack, e.g., tape replay, cut finger…
Health concerns
Privacy concerns
Biometric Market
Int’l Biometric Group
The 5th Factor: How you behave
Idea: a user’s behavior may help identify, or at least authenticate her
For example
– What time of the day you access a certain application?
– At what frequency do you perform a certain operation
– What type of access to which information you require?
– Did you login from home or work?
Premise for authentication: a user’s behavioral pattern changes only
slowly over time.
Advantage: relatively cheap (software)
Typically shall be used in conjunction with another factor
– e.g., use behavior profiling to supplement password authentication
I believe that acceptance to this new form will grow, especially in
areas like intrusion detection and access control
It also plays into the general trend of combining physical security and
IT security
Choosing the Right
Authentication Method
Choice of Authentication Methods
CAPTCHA
CAPTCHAs
Problem: robotic form filling can be used to
– Guess passwords
– Abuse free services, primarily for spamming and phishing
Goal: Distinguish between a human user and a robot
Method: Completely Automated Public Turing test to tell
Computers and Humans Apart (CAPTCHA)
Usually, asking the user to interpret letters and digits from
an image
Counter-Captcha Methods
Guessing, e.g., if space is small, e.g., 4 digits
Use OCR to recognize
And the prize goes to… a man-in-the-middle
attack, asking a real person to “authenticate”….