- Published on
COMP2700 - Week 2 - Identification and Authentication
Table of Contents
- Authentication
- Basis of Authentication
- Protocols
- Passwords
- Techniques
- One-way functions
- Properties of Hash Functions
- Hash Verification
- Hash Tables
- Attacks
- Password Entropy
- Password Salting
- Password Security
- Password Policies
- Password Alternatives
- Verification & Identification
- Failure Rates
- Performance of Algorithms
- Matching Rate
- Scenario Analysis
Authentication
- A party (verifier) is assured of the identity of the second party (claimant/prover) in a protocol
- User identity is a parameter in access control
- User identity is recorded -> Audit trail
Basis of Authentication
-
What you know
- Authentication via knowledge of certain secrets
-
What you have
- Hardware tokens, smart cards, etc
-
Who you are
- Physical or behavioral characteristics
Protocols
-
Weak authentication
- Password-based
- Unilateral -> Entity proves identity to verifier
-
Strong authentication
- Mutal authentication -> Both parties take role of claimant and verifier
- Challenge-response protocols -> Series of steps to prove knowledge of secrets
Passwords
Techniques
-
Storage
-
Plaintext
- Password checked against database
- No protection against attacker who has access
-
Encrypted
- Only encrypted/hashed passwords stored
- Checked against encrypted/hashed database
- Some protection against attacker who has access
-
OSs store hashes in a password file
- Unix ->
/etc/shadow - Windows -> SAM file;
%windir%\system32\config\SAM
- Unix ->
-
Applications may store it temporarily in buffers or caches
-
-
Policies
- What rules are imposed on password selection
- Failed attempts
- Min length
- What rules are imposed on password selection
-
"Salting"
-
Alternative forms of passwords
- Passphrases
- One-time passwords
- Visual passwords
One-way functions
A function which is easy to compute, but hard to reverse
Given an input it is easy to compute , but given an output it is hard to find such that
- Internet security depends on the fact that
Properties of Hash Functions
Given hash function, ,
-
Pre-image resistant -> If given hash value , it is computationally infeasible to find such that
- Hash function produces fixed output, as such it is theoretically possible to enumerate through all possibilities to find the correct value that results in the coresponding hash
-
Collision resistant -> computationally infeasible to find a pair such that and
- Two hashes hash to the same value despite being unique
- Pigeonhole principle
Hash Verification
Provided password is still initially in plaintext
Hash Tables
-
Can pre-compute password hashes for easier and faster lookup
-
If password candidates exist and each requires bits to store, where each hash has bits, then a table of size bits exists
- May not be practical for large
-
Tradeoff between space and time
Attacks
-
Offline guessing -> Attacker obtains hashed passwords and tries to crack them
- Brute force
- Brute enumeration to check for matching hashes
- Potential measure is to increase total possible space of passwords
- Dictionary
- Exploits fact that human chosen passwords tend to derive from words in natural languages
- Brute force
-
Phishing and spoofing
- Deception
- 'Social engineering'
Password Entropy
- Measure of strength of password against brute-force attacks
Let be a random variable which takes on a finite set of values with probability , where for each and
Therefore, entropy of is defined to be
Password Salting
A salt is a random, plaintext string
-
Offline attack effectiveness can be reduced by adding a
saltto a password -
For a salt of n-bit, as attacker needs to pre-compute hashes for the same password
Password Security
-
Users have difficulting memorising complex passwords + frequent changes
-
Users usually reuse favourite password(s)
Password Policies
-
Set a password
-
Change often -> Password ageing
-
Avoid guessable passwords
-
Limit login attempts + notify user
Password Alternatives
-
Passphrase
-
Visual drawing patterns
-
One-time password -> Limits reuse of passwords, used only once
- E.g. Lamport's one-time passwords
-
Biometrics -> Utilise unique features, i.e. fingerprints
Verification & Identification
Biometrics need to include an enrollment process -> Acquire and store
-
Verification: 1:1 -> Checks if there is a match for a user
-
Identification: 1:n -> Tries to identify user from database on n persons
Failure Rates
-
User is accepted if match is above a predefined threshold
- 0 to 1 scale
-
False positive -> Accepting wrong user
- Security problem
-
False negative -> Reject legitimate user
- Usability problem
Performance of Algorithms
- False match rate (FMR)
- False non-match rate (FNMR)
Matching Rate
-
The matching threshold can be adjusted, i.e lowering false match rate against a higher false non-match rate and vice versa.
-
The right balance depends on the use case and the application
-
Equal-error rate -> When the threshold values, FMR and FNMR are equal
Scenario Analysis
-
Recording error rates in field trials, i.e. Fingerprint reader
-
Failure-to-capture rate (FTC) -> Frequency of failing to capture a sample
-
Failure-to-extract rate (FTX) -> Frequency of failing to extract a feature from a sample
-
Failure-to-acquire rate (FTA) -> Frequency of failing to acquire a biometric feature
- False accept rate (FAR) -> False accept rate for entire biometric scheme
- False reject rate (FRR)
- False positive identification rate (FPIR) - For database with persons
Note: Error rate increases as database size increases