What is security? -Restriction from unauthorized access(manipulate or use) -Safety -Integrity -Availability -Confidentiality The last three are the main goals of security. Confidentiality --------------- -Attackers can't read password(or credit card info) over network -Thieves can't read data off a stolen laptop -Process time/CPU usage/memory usage not revealed to others -Hide the fact that you communicated at all -Anonymity/Privacy Integrity --------- -Only authorized users can modify a file/database -Only authorized users can modify process memory -Detect violation -Attacker can't modify messages in transit (in fact it is just detecting such modifications) -File access permissions -I only accept "unmodified" messages from "Bob" Availability ------------ -Attacker can't deny user access to amazon.com -Attacker can't use my CPU time -Attacker can't use all disk space -Attacker can't use other resources like printer, RAM etc. -Attacker can't drain my cellphone battery Security Vs Reliability ----------------------- Reliability doesn't consider adversaries. Faults are assumed to be random and independent. From security point of view, faults can always occur in the worst possible combination. Threat model ------------ Defines the capabilities and limitations of attacker. -Limited computation ------------------- one 4 GHz processor = 2^32 cycles/second one super computer = 2^16 CPUs = 2^48 cycles/second one year = 2^25 seconds = 2^73 cycles/year 100 years (~128 years) = 2^7 years = 2^80 cycles AES uses 128 bit key. That is 2^128 possible keys. Probability of success(breaking) = 2^80 / 2^128 = 2^-48 wrong assumptions made -computation power remains the same -the encryption doesn't leak any information -Bandwidth --------- DoS on amazon.com Even if the attacker has only a dial-up connection, if he takes over 1 million other desktops with DSL connection, it results in a 1Tb attack. It is very likely that an attacker can perform a 10Gb attack. This is a Distributed Denial of Service (DDoS). On today's internet, attackers can have very high bandwidth. -Time ---- There may not be any harm if the attack happens after a certain amount of time. -Money ----- Attacker may have only limited money. eg. script kiddie -Expertise --------- Attacker may have only limited expertise. eg. script kiddie -Knowledge --------- The attacker may know -hardware configuration -OS version -application versions -configuration info The attacker may not know -passwords -RNG output Local Vs Remote --------------- Local: attacker has account on system Remote: Attack over the network Active Vs Passive (Network) --------------------------- Passive: listen only. Hence harder to catch Active: my send/modify/suppress messages Attacker is assumed to have power only in one (or a few) countries.