Computer Security Flashcards
(121 cards)
What is the CIA traid in computer security?
Confidentiality: Prevent Unauthorised Disclosure
Integrity: Prevent unauthorised modification
Availability: Ensure service is always available when needed.
Give one example each how to protect the CIA traid
- Confidentiality: Encrypting medical records.
- Integrity: Verifying bank transactions
- Availability: Maintaining data backups or redudant power.
What are 2 common security trade-offs?
Security vs Usability (ease of use)
Accountability (audit trails) vs privacy
Explain authenticity in security contexts
Authenticity = Integrity + Freshness, ensures data is both correct/genuine and recent.
What are the 4 key security design principles?
- Focus of control (data, operations, users)
- Complexity vs Assurance
- Centralised vs Decentralised Controls
- Layered Security.
What’s the difference between asymmetric and symmetric encryption?
Symmetric: Same key for encryption/decryption (fast, efficient but difficult key management)
Asymmetric: Public / Private key pair (simpler key management, computationally heavier)
Describe stream vs block ciphers
Stream: Faster, continuous streams, XOR with keystream
Block: Fixed-size blocks, substitution/permutation (AES).
Name three cryptographic attack models
- Ciphertext only
- Known-plaintext
- Chosen-plaintext
What Diffie-Hellman helps with?
Allows two parties to create a shared secret securely over insecure channels (no private key shared.)
What mathematical problems underpin RSA and Diffie-Hellman
RSA: Integer factorisation problem
Diffie-Hellman: Discrete logarithm problem
Name three types of user credentials used in authentication
- Something you know: (password)
- Something you have: (security token)
- Something you are: (biometric)
List 3 common problems with passwords
- Easily Forgotten
- Weak / Easily Guessed
- Vulnerable to attacks e.g. phishing and keylogging.
What two key properties should strong hash functions have?
Non reversible (can’t retrieve original data)
Collision resistance (very unlikely two inputs produce the same hash)
What is password salting and why is it important
Adding random data to passwords before hashing, slows cracking, prevents rainbow table attacks, unique per user.
What’s the difference between a brute force and a dictionary atack
Brute force: tries every possible combination
Dictionary: Uses lists of common passwords / words applies variations.
What is a rainbow table attack and how does password salting protect against it?
An attack using precomputed tables of plaintext passwords and their hashes to quickly find passwords from stolen hashes.
- Salting adds a unique random data to each password before hashing, making precomputed rainbow tables useless as attackers must recompute hashes individually for each salted password.
Give examples of behavioural biometrics
Typing Patterns, posture, mouse movement, etc.
List one disadvantage and two disadvanages of biometric authentication
Advantage: you’ll never lose or forget it.
Disadvantage:
1. Could happen a negative positive where the system wrongfully accepts a wrong biometric
2. Ethical / Privacy Issues
3. Can’t be changed if compromised since this is something that can’t be changed e.g. fingerprint.
What’s the difference between OTP token and FIDO security key?
OTP: Temporary numeric code, manually entered
FIDO Key: Automatic public-key authentication (no manual codes)
State one pro and one con of using password managers
Pro: Generates strong, unique passwords; convenient and all passwords can be kept in one place.
Con: Master password is single point of failure; attractive hacking target.
Why is MFA more secure?
It just adds an extra layer of authentication, making accounts harder to compromise.
What are the 3 key properties of a reference monitor?
Tamper-proof
Always invoked on access
Small enough to analyse and verify
What is the difference between a security kernel and a Trusted Computing Base?
Security kernel: part of the system enforcing access control
TCB: Includes the kernel + all trusted protection mechanisms.
What is controlled invocation?
Mechanism to safely run priveleged operations (e.g. system calls)