Authentication
It is the process of determining whether someone (or something) is, in fact, who or what it declares itself to be.
Authentication factor
a category of evidence that a person has to present to prove they are who they say they are.
what are the 3 authentication factors
Authentication vs authorisation
User authentication process
Authentication vulnerabilities
authentication vulnerabilities occur when an attacker is successful
This can happen for instance:
* When the attacker can guess the credentials, or brute force them.
* When the credentials are leaked, and the attacker gets access to them.
* We have seen how to hash and encrypt data.
Brute force attack
*A Brute Force search (or exhaustive search) is a problem-solving technique that consists of trying all possible solutions to a problem until a correct solution (if it exists) is found.
*A Brute Force Attack primarily consists in an attacker configuring predetermined values (username/password combinations), making requests to a server using those values, and then analysing the response for success or failure.
how to prevent brute force attacks
Strong Secondary Authentication Factors
CAPTCHA
*CAPTCHA stands for the Completely Automated Public Turing test to tell Computers and Humans Apart.
*It is an automated tool used to differentiate between real users and automated users, such as bots.
*CAPTCHAs provide challenges that are difficult for computers to perform but relatively easy for humans.
- Three main categories: text- based, image-based, and audio
reCAPTCHA
Drawbacks of CAPTCHA
Limiting authentication attempts
*One way to block brute force attacks is to lock out accounts after a defined number of incorrect authentication
attempts.
*Note however, account lockout is not always the best solution, because someone could easily abuse the
security measure and lock out hundreds of user accounts.
sessions
authentication vs login
*Users are only being authenticated at this point.
*Our applications so far cannot distinguish between different multiple users.
* Need to create an identifiable web session for each user so their requests can be distinguished from other users.
Web sessions
A web session is a series of adjoining or connected actions by a user on an individual web application within a given time frame.
What are the factors for password management
Authorisation issues
path traversal
•The Path Traversal attack technique allows an attacker access to files, directories, and commands that potentially reside outside the web document root directory.
Automatically creates secure passwords
*Browser offers an automatically generated password.
*Can be bypassed with user’s own password choice.
*Generated passwords are hard to remember.
*Generated passwords are easily forgotten.
*User ends up with multiple passwords.
Secure password recovery
*Web applications typically include a ‘forgotten password’ link.
*Instructions usually sent to the user’s email account.
*Users may not be allowed to reuse a previous password.
*App needs to store previous passwords.
*User ends up with multiple passwords.
Change password
*Web applications typically allow users to change their existing password.
*Users may not be allowed to reuse a previous password.
*App needs to store previous passwords.
*User ends up with multiple passwords.
Password Expiration
*Web applications dealing with sensitive data may force users to change their password at set intervals.
*Users may not be allowed to reuse a previous password.
*App needs to store previous passwords.
*User ends up with multiple passwords.
*Web applications dealing with sensitive data may force users to reauthenticate.
Authorisation Basics
*Authorisation is a security mechanism to determine access levels or user privileges related to system
resources
*Authorisation includes the process of granting or denying access to a system resource based on users’
identities.