Security in Computing - Chapter 2 Notes
Security in Computing - Chapter 2 Notes
Security in Computing - Chapter 2 Notes
Definitions
Authentication - the process of ascertaining or confirming an identity
Access control - limiting who can access what in what ways
Encryption -
Identification -
Salt - user-specific component joined to an encrypted password to distinguish identical
passwords
Skimming - the use of a device to copy authentication data surreptitiously and relay it
to an attacker
Least privilige - access to the fewest resources necessary to complete some task
Capability - an unforgeable token that gives the possessor certain rights to an object
Authentication
Two steps:
Based on 3 qualities:
Passwords
Downsides:
Difficult usage
Disclosure - revealing it to unauthorized parties will give them direct access - deal with it
by changing passwords - must inform authorized parties!
Revocation
Loss
Upsides:
Type of attacks:
1. Dictionary attack - some network sites post dictionaries of common weak passwords
2. Inferring for a specific user
3. Guess probable passwords
4. Defeating concealment
use rainbow table (contains the password and its concealed version) and match it
to an intercepted password table
salting - defense mechanism to create different hashes for the same passwords -
prevents usage of rainbow table
5. Exhaustive attack/Brute force
Expected number of tries for hit is only half of the password range if evenly
distributed
Uneven distributions can be exploited
6. Social engineering
Security Questions
Upsides:
Intrusive
Expensive
Can become single point of failure
Threshold of acceptance - variation reduces accuracy
False positives/negatives - sensitivity and specificity are related
Speed limits accuracy - time constraint on recognition
Some biometrics might change over time
Vulnerable to skimming
Unifying authentication
Federated Identity Management - Unifies the identification and authentication process
for a group of systems → one profile, one authentication method
Single Sign-On → takes over sign-on and authentication to several independent
systems for a user
Multifactor authentication
Compensate for the disadvanteges of one method by combining it with a different one
With more factors security increases, but so does inconvenience
Access Control
We desire a system that is:
Access policies
Formal vs Informal
Tracking
Limited privilige
Limited privilege is the act of restraining users and processes so that any harm they can do
is not catastrophic.
Each user has a directory listing the files they have access to (with a pointer) and the
corresponding access rights to the file
Rights are
Read
Write
eXecute
Owner
Upsides:
Easy to implement - list all objects a user can access
Downsides:
Lists become too large if many resources are shared
Deletion must be reflected in all directories
Changing access rights of all users requires iterating through all user directories -
propagation of access rights original owner may not know that access rights
should be revoked from users it was propagated to
Pseudonyms - file name must only be unique inside of user folder - cause for
ambiguity
Access Control Matrix
Table with subjects as rows, objects as columns, each entry containing the set of
access rights corresponding to them
Usually sparse → thus can be represented as list of triples ⟨subject; object; rights⟩
Searching the list is inefficient, so matrix is used in most cases
Privilige List
Capability
Access control by role recognizes common needs of all members of a set of subjects
Cryptography (Overview)
See Chapter 12 for internals
Conceals data against unauthorized access
4 entities taking part:
sender
recipient
transmission medium
interceptor/intruder - tries to block, intercept, modify the message or fabricate an
authentic looking one
Encryption is a means of maintaining secure data in an insecure environment
Terminology
Encryption - encoding a message so that its meaning is not obvious - also encode,
encipher - (to be exact encoding is the process of translating entire words/phrases and
enciphering considers letters and symbols)
Decryption - reverse of encryption - also decode, decipher
Cryptosystem - system for en- and decryption
Plaintext - original form of message in unencrypted form
Ciphertext - encrypted form of message
Formally
Cryptanalysis
Work factor
An encryption algorithm is breakable when, given enough time and data, an analyst
can determine the algorithm
An algorithm can be theoretically breakable, but practically infeasible (time constraints)
Work factor - amount of effort needed to break an encryption (or mount a successful
attack)
An encryption is adequate if the work factor outweighs the value of the encrypted data
Developed by IBM in the 1970s for U.S. NIST, later called National Bureau of Standards
(NBS)
Encrypts blocks of 64 bits using a 56 bit key (last 8 are check digits)
16 iterations of substitution, permutation and key transformation
Controversial upon release
In 1995 research begins for a stronger encryption algorithm (AES)
Double DES
Takes two keys, and performs two encryptions: C = E(k 2 , E(k 1 , m))
Triple DES
Overview
Strength
Asymmetric
Excels at key management (storing, safeguarding and activating keys)
public keys can be revealed
less keys have to be remembered - only one public and one private per user
e.g. RSA, EdDSA, ElGamal, Diffie-Hellman, ECDH
Formally:
P = D(k P RI V , E(k P U B , P ))
P = D(k P U B , E(k P RI V , P ))
One way:
Alice Bob
Send pub_k_A
Send pub_k_B
Confirm message
Alice Bob
Parity
Simplest error detection code
Extra bit called fingerprint is 0 if sum of data bits is even, 1 if odd
Can only reveal the modification of a single bit
improved with more parity bits - but that increases the required storage size!
Hash Codes
Need a "seal" for a file → hash/checksum/message digest
Send checksum → if it doesn't match the computed one, request retransmission
Problem: malicious adversary can fix the detection value to match!
One-way hash functions can help → no simple way of finding malicious modifications
that leave checksum intact
Tripwire utility program - integrity checks
Cryptographic Checksum
Signatures
Demonstrates authenticity
Cannot be forged
Pertains to a single file
Must convince all who access the file and remain valid indefinitely
Components/Characteristics:
binary object associated with a file
Two primary conditions:
1. unforgeable - S signs message M with signature Sig(S, M ) and nobody else can
produce the pair [M , Sig(S, M )]
2. authentic - R receives the pair [M , Sig(S, M )] allegedly from S → R can check if
the signature is really from S and if the signature is firmly attached to M
Two additional desirable conditions:
D(E(M , K U ), K U ) = M = E(D(M , K U ), K U )
S wants to send M to R
1. Use authenticity transformation D(M , K S)
3. R decodes E(D(M , K S
), K S ) = M
4. Only S can create a message which makes sense under E(−, K S) → message is
authentic!
5. R saves D(M , K S
)
Certificates
We want to bind a public key to an identity
Hierarchical structure:
Hierarchy not necessary, but! - at least trusted entity required
Digital Signatures
Consists of:
a file
a demonstration that the file has not been altered
indication of who applied the signature
validation of authenticity
connection of the signature to the file
Process:
1. Use a secure hash code of the file → include message digest - the file has not been
changed
2. Apply the signer's private key E(M , K P RI V −S
)
3. Add the indentifier of the signer, so receiver knows which public key to use
If confidentiality is wanted, one can symmetrically encrypt the actual message and
include that in the message digest