Videos Flashcards
What HTTP response message is returned with a ‘curl -I http://192.168.100.11/’ if the user is not logged in?
HTTP/1.1 401 Unauthorised
What is the 401 (Unauthorised) response message used by the server for?
To challenge the authorisation of a user.
What additional information must the server also add to its response?
What resource is requested to authorise the request.
What header field must the response include?
WWW-Authenticate
Give an example of a WWW-Authenticate header field.
WWW-Authenticate: Basic realm=”VM Realm”
What does the WWW-Authenticate header field contain?
At least one challenge applicable to the resource requested.
Explain the syntax shown in ‘WWW-Authenticate: Basic realm=”VM Realm”’
header-field: authentication-scheme secured-domain-for-which-authentication-is-required
Can you provide username and password directly with curl?
Yes.
Using ‘curl -I -u user:hello http://192.168.100.11’.
What HTTP response is returned if the user is authorised?
HTTP/1.1 200 OK
Is the Basic authentication scheme a secure method of user authentication?
No.
The Basic authentication scheme is not a secure method of user authentication.
Why does the Basic authentication scheme have poor protection?
There is no way to protect the entity that is transmitted in cleartext across the physical network used as a carrier.
Why should Basic authentication NOT be used to protect sensitive or valuable information.
Because Basic authentication involves the cleartext transmission of passwords.
How can Basic authentication be used to protect sensitive or valuable information?
With enhancements such as HTTPS.
Where does the danger in using Basic authentication arise?
From naive users that frequently reuse a single password to avoid the task of maintaining multiple passwords.
Why is reusing a single password frequently dangerous?
The threat is not only UNAUTHORISED ACCESS to documents on the server but also to any other resources on OTHER SYSTEMS that the user protects with the same password.
HTTPS is an encrypted protocol. [T/F]
T
What is the alternate approach to Basic authentication called?
HTTP Digest Access Authentication
How does HTTP Digest Access Authentication differ to Basic Authentication?
Instead of passing a string containing the password
* Client submits H1: a hash of username:realm:password
* Use cryptography hash eg. SHA-256
* Server only needs to keep a copy of H1 for authorised users
Why is HTTP Digest Access Authentication more secure than Basic Authentication?
It uses a cryptographic hash to encrypt username:realm:password rather than Base-64.
The cryptograph hash is NOT reversible.
Give an example of a cryptographic hash.
SHA-256
Where is the cryptographic hash passed?
HTTP header field.
Why is HTTP Digest Access Authorisation not secure?
Vulnerable to dictionary attacks.
What is a dictionary attack?
When an attacker exhausts passwords in dictionary until there is success.
What kinds of passwords SHOULD HTTP Digest Access Authentication ONLY be used for?
Passwords that have a reasonable amount of entropy.
i.e. long password, lots of different characters.
Can Digest Authentication be used over HTTP?
No. It SHOULD be over a secure channel like HTTPS.
Digest Authentication provides a strong authentication. [T/F]
F
Digest Authentication does not provide a strong authentication. [T/F]
T
In the physical world, organisations have processes to check user’s identity and issue “identity cards”.
Give two examples of identity checks.
- Government passport/driving licence
- Student card
In the online world, where must users provide their identity?
- on Facebook/Google/etc
- with their employers/university
What are the client-side limitations of HTTP Simple Access Authentication?
- Credentials passed in plain text (vulnerable to dictionary attacks)
- No checking that this is indeed the user
- No time limit
- No specific purpose
What are the server-side limitations of HTTP Simple Access Authentication?
- Makes authorization decision
- Challenge with the management of sensitive information
- Compliance with regulations
- To be repeated with every service
In the motivating printing scenario, what must the end-user not share with the printing service?
Username and password.
What must the end-user do instead?
Authenticate directly with a server trusted by the photo-sharing service which issues delegation-specific credentials to the printing service.
What is the printing service in this scenario? (terminology)
App/Client
What are the photos in this scenario? (terminology)
Resources