1 reason why does a service provider need to track the identity of users requesting its services
the user identity is a parameter in access control decision
user identities aren’t always necessary to access control
2nd reason why does a service provider need to track the identity of users requesting its services
the user identity is recorded when logging security relevant events in an audit trail
identities are more useful in audit logs, for accountability
entity authentication
process where one party is assured on the identity of a second party in protocol
objectives of entry authentication
what is a relay attack
alice pays bob, bob thinks he’s sending alice’s payment info to alice, but really he’s sending it to chloe, who’s impersonating alice (relays authentication credentials) . Chloe sends that shit to dennis, the menace. Like, chloe? Chloe.
what is a relay attack also called
also called a mafia fraud attack
what is WEAK and SIMPLE authentication
password based
unilateral, meaning one entity proves its identity to the verifier
proves knowledge of the secret by giving up the secret
what is strong authentication
salting
Salt is random data that is used as an additional input to a one-way function that “hashes” a password. Salts are used to safeguard passwords in storage. The primary function of salts is to defend against dictionary attacks. basically its a nonce.
Password storage security relies on a cryptographic construct called one-way function
A one-way function ππ is a function that is
relatively easy to compute but hard to
reverse.
β’ Given an input π₯π₯ it is easy to
compute ππ(π₯π₯), but given an output π¦π¦
it is hard to find π₯π₯ so that π¦π¦ = ππ(π₯π₯)
Hash functions are an example of one-way function: β’ A hash function ππ takes an input π₯π₯ of arbitrary length, and produces an output ππ(π₯π₯) of fixed length.
Suppose H is a hash function. We say H satisfies:
ο§ Pre-image resistant if given a hash value π¦π¦, it is computationally infeasible to find π₯π₯ such that π»π»(π₯π₯) = π¦π¦.
ο§ Collision resistant if it is computationally infeasible to find a pair (π₯π₯, π¦π¦) such that π₯π₯ β π¦π¦ and π»π»(π₯π₯) = π»π»(π¦π¦).
fucking dumb storing plaintext passwords
β’ Passwords stored in plaintext.
β’ Claimantβs password is checked against the
database of passwords.
β’ No protection against insider (system admin) or
an attacker who gains access to the system.
Hence dispute is possible!
why are hashed and encrypted passwords good
β’ Passwords are encrypted, or hashed, and only
the encrypted/hashed passwords are stored.
β’ Claimantβs password is hashed/encrypted, and
checked against the database of
hashed/encrypted password.
β’ Some degree of protection against
insider/attacker
passwords at the application level, why might it be eksies
passwords may be temporarily held in intermediate storage locations like buffers, caches or web pages
The management of these storage locations is normally beyond the control of the user; a password may be
kept longer than the user has bargained for
what are the attacks on passwords
offline guessing attacks like exhaustive attacks and dictionary attacks
phishing and spoofing
what is an offiline guessing attack
attack where attacker obtains the hashed passwords, then attempts to guess the passwords
This is a plausible threat, due to:
ο§ many incidents of stolen (hashed) passwords as a consequence of hacks on servers.
ο§ usage of the same passwords across different accounts; so compromise of a password for one account
affects other accounts.
what is a brute force attack
Brute force guessing attack against passwords tries to guess password
by enumerating all passwords and their hashes in sequence, and check whether they match the target hashes.
ο§ A measure against brute force attack is to increase the space of possible passwords, e.g., longer passwords, allowing more varieties of symbols (alphabets, numerals, signs).
A measure of the strength of passwords against brute-force attack is based on what thing
the concept of entropy from information theory.
it’s log2 of the search space.
so er, like, “ Suppose the set of passwords ππ is drawn from any 5 character strings, each character
ranges from βaβ to βzβ.=, then search space is 26^5. so entropy is log2(26^5) which is 23.5. I guess bring a calculator.
erm, somehow, the approximate number of guesses needed is 2^23.5. okay I guess mathwise that makes sense when you consider the log
how to prevent brute force attack
choose password with high entropy
why do we suck at preventing brute force attack
ο§ However, hashed passwords, especially for human-generated passwords, are still vulnerable to dictionary attack.
ο§ This exploits weakness in human-chosen passwords, which tend to derive from words in natural languages.
what is the pre computed hash table strategy for cracking hashed passwords
A strategy for cracking hashed passwords is to pre-compute a hash table, containing pairs of passwords and
their hashes.
β’ If we have ππ password candidates and each hash has ππ bit, then we have a table of size ππ Γ ππ.
β’ This may not be practical if ππ is large.
Salting describe more pl0x
β’ To reduce the effectiveness of offline attacks using
pre-computed hashes, a salt is added to a password
before applying the hash function.
β’ A salt is just a random string.
β’ Each password has its own salt.
β’ The salt value is stored along with the hash of password+salt.
β’ So the salt is not secret.
β’ For a salt of ππ-bit, the attacker needs to precompute 2ππ of hashes for the same password.
password policies rap
set a password a mass of words dont let it age
limit the logins and don’t default to basic (preset) names
then tell the user of who(is) trying to get his name
he’s gotta change he’s gotta make up a passphrase
or draw on a interface or he’ll pick some dogs outofa picture frame
pause
then tell he’s got an OTP
what’s an OTP
just one time just tell me
alt forms of passwords rap
he’s gotta change he’s gotta make up a passphrase
or draw on a interface or he’ll pick some dogs up outta a picture frame
then tell he’s got an OTP
what’s on OTP
just one time just tell me