1.06k likes | 1.07k Views
Why Computer Security. The past decade has seen an explosion in the concern for the security of information Malicious codes (viruses, worms, etc.) caused over $28 billion in economic losses in 2003 Security specialists markets are expanding !
E N D
Why Computer Security • The past decade has seen an explosion in the concern for the security of information • Malicious codes (viruses, worms, etc.) caused over $28 billion in economic losses in 2003 • Security specialists markets are expanding ! • “Salary Premiums for Security Certifications Increasing” (Computerworld 2007) • Up to 15% more salary • Demand is being driven not only by compliance and government regulation, but also by customers who are "demanding more security" from companies 1
Why Computer Security (cont’d) • Internet attacks are increasing in frequency, severity and sophistication • Denial of service (DoS) attacks • Cost $1.2 billion in 2000 • 1999 CSI/FBI survey 32% of respondents detected DoS attacks directed to their systems • Thousands of attacks per week in 2001 • Yahoo, Amazon, eBay, Microsoft, White House, etc., attacked 2
Why Computer Security (cont’d) • Virus and worms faster and powerful • Cause over $28 billion in economic losses in 2003, growing to over $75 billion in economic losses by 2007. • Code Red (2001): 13 hours infected >360K machines - $2.4 billion loss • Slammer (2003): 15 minutes infected > 75K machines - $1 billion loss • Spams, phishing … • New Internet security landscape emerging: BOTNETS ! • Conficker/Downadup (2008): infected > 10M machines • MSFT offering $250K reward 3
Outline • History of Security and Definitions • Overview of Cryptography • Symmetric Cipher • Classical Symmetric Cipher • Modern Symmetric Ciphers (DES and AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 4
The History of Computing • For a long time, security was largely ignored in the community • The computer industry was in “survival mode”, struggling to overcome technological and economic hurdles • As a result, a lot of comers were cut and many compromises made • There was lots of theory, and even examples of systems built with very good security, but were largely ignored or unsuccessful • E.g., ADA language vs. C (powerful and easy to use) 5
Computing Today is Very Different • Computers today are far from “survival mode” • Performance is abundant and the cost is very cheap • As a result, computers now ubiquitous at every facet of society • Internet • Computers are all connected and interdependent • This codependency magnifies the effects of any failures 6
Biological Analogy • Computing today is very homogeneous. • A single architecture and a handful of OS dominates • In biology, homogeneous populations are in danger • A single disease or virus can wipe them out overnight because they all share the same weakness • The disease only needs a vector to travel among hosts • Computers are like the animals, the Internet provides the vector. • It is like having only one kind of cow in the world, and having them drink from one single pool of water! 7
The Flash Worm • Slammer worm infected 75,000 machines in <15 minutes • A properly designed worm, flash worm, can take less than 1 second to compromise 1 million vulnerable machines in the Internet • The Top Speed of Flash Worms. S. Staniford, D. Moore, V. Paxson and N. Weaver, ACM WORM Workshop 2004. • Exploit many vectors such as P2P file sharing, intelligent scanning, hitlists, etc. 9
The Definition of Computer Security • Security is a state of well-being of information and infrastructures in which the possibility of successful yet undetected theft, tampering, and disruption of information and services is kept low or tolerable • Security rests on confidentiality, authenticity, integrity, and availability 10
The Basic Components • Confidentiality is the concealment of information or resources. • E.g., only sender, intended receiver should “understand” message contents • Authenticity is the identification and assurance of the origin of information. • Integrity refers to the trustworthiness of data or resources in terms of preventing improper and unauthorized changes. • Availability refers to the ability to use the information or resource desired. 11
Security Threats and Attacks • A threat/vulnerability is a potential violation of security. • Flaws in design, implementation, and operation. • An attack is any action that violates security. • Active adversary • An attack has an implicit concept of “intent” • Router mis-configuration or server crash can also cause loss of availability, but they are not attacks 12
Friends and enemies: Alice, Bob, Trudy • well-known in network security world • Bob, Alice (lovers!) want to communicate “securely” • Trudy (intruder) may intercept, delete, add messages Alice Bob data, control messages channel secure sender secure receiver data data Trudy 13
Eavesdropping - Message Interception (Attack on Confidentiality) • Unauthorized access to information • Packet sniffers and wiretappers • Illicit copying of files and programs B A Eavesdropper 14
Integrity Attack - Tampering With Messages • Stop the flow of the message • Delay and optionally modify the message • Release the message again B A Perpetrator 15
Authenticity Attack - Fabrication • Unauthorized assumption of other’s identity • Generate and distribute objects under this identity B A Masquerader: from A 16
B A Attack on Availability • Destroy hardware (cutting fiber) or software • Modify software in a subtle way (alias commands) • Corrupt packets in transit • Blatant denial of service (DoS): • Crashing the server • Overwhelm the server (use up its resource) 17
Classify Security Attacks as • Passive attacks - eavesdropping on, or monitoring of, transmissions to: • obtain message contents, or • monitor traffic flows • Active attacks – modification of data stream to: • masquerade of one entity as some other • replay previous messages • modify messages in transit • denial of service 18
Outline • Overview of Cryptography • Symmetric Cipher • Classical Symmetric Cipher • Modern Symmetric Ciphers (DES and AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 19
Basic Terminology • plaintext - the original message • ciphertext - the coded message • cipher - algorithm for transforming plaintext to ciphertext • key - info used in cipher known only to sender/receiver • encipher (encrypt) - converting plaintext to ciphertext • decipher (decrypt) - recovering ciphertext from plaintext • cryptography - study of encryption principles/methods • cryptanalysis (codebreaking) - the study of principles/ methods of deciphering ciphertext without knowing key • cryptology - the field of both cryptography and cryptanalysis 20
Classification of Cryptography • Number of keys used • Hash functions: no key • Secret key cryptography: one key • Public key cryptography: two keys - public, private • Type of encryption operations used • substitution / transposition / product • Way in which plaintext is processed • block / stream 21
Secret Key vs. Secret Algorithm • Secret algorithm: additional hurdle • Hard to keep secret if used widely: • Reverse engineering, social engineering • Commercial: published • Wide review, trust • Military: avoid giving enemy good ideas 22
Unconditional vs. Computational Security • Unconditional security • No matter how much computer power is available, the cipher cannot be broken • The ciphertext provides insufficient information to uniquely determine the corresponding plaintext • Computational security • The cost of breaking the cipher exceeds the value of the encrypted info • The time required to break the cipher exceeds the useful lifetime of the info 23
Brute Force Search • Always possible to simply try every key • Most basic attack, proportional to key size • Assume either know / recognise plaintext 24
Outline • Overview of Cryptography • Classical Symmetric Cipher • Substitution Cipher • Transposition Cipher • Modern Symmetric Ciphers (DES and AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 25
Requirements • Two requirements for secure use of symmetric encryption: • a strong encryption algorithm • a secret key known only to sender / receiver Y = EK(X) X = DK(Y) • Assume encryption algorithm is known • Implies a secure channel to distribute key 27
Classical Substitution Ciphers • Letters of plaintext are replaced by other letters or by numbers or symbols • Plaintext is viewed as a sequence of bits, then substitution replaces plaintext bit patterns with ciphertext bit patterns 28
Caesar Cipher • Earliest known substitution cipher • Replaces each letter by 3rd letter on • Example: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB 29
Caesar Cipher • Define transformation as: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C • Mathematically give each letter a number a b c d e f g h i j k l m 0 1 2 3 4 5 6 7 8 9 10 11 12 n o p q r s t u v w x y Z 13 14 15 16 17 18 19 20 21 22 23 24 25 • Then have Caesar cipher as: C = E(p) = (p + k) mod (26) p = D(C) = (C – k) mod (26) 30
Cryptanalysis of Caesar Cipher • Only have 25 possible ciphers • A maps to B,..Z • Given ciphertext, just try all shifts of letters • Do need to recognize when have plaintext • E.g., break ciphertext "GCUA VQ DTGCM“ • How to make it harder? 31
Monoalphabetic Cipher • Rather than just shifting the alphabet • Could shuffle (jumble) the letters arbitrarily • Each plaintext letter maps to a different random ciphertext letter • Key is 26 letters long Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: ifwewishtoreplaceletters Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA 32
Monoalphabetic Cipher Security • Now have a total of 26! = 4 x 1026 keys • Is that secure? • Problem is language characteristics • Human languages are redundant • Letters are not equally commonly used 33
English Letter Frequencies Note that all human languages have varying letter frequencies, though the number of letters and their frequencies varies. 34
Example Cryptanalysis • Given ciphertext: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ • Count relative letter frequencies (see text) • Guess P & Z are e and t • Guess ZW is th and hence ZWP is the • Proceeding with trial and error finally get: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow 35
Transposition Ciphers • Now consider classical transposition or permutation ciphers • These hide the message by rearranging the letter order, without altering the actual letters used • Any shortcut for breaking it? • Can recognise these since have the same frequency distribution as the original text 36
Rail Fence Cipher • Write message letters out diagonally over a number of rows • Then read off cipher row by row • E.g., write message out as: m e m a t r h t g p r y e t e f e t e o a a t • Giving ciphertext MEMATRHTGPRYETEFETEOAAT 37
Product Ciphers • Ciphers using substitutions or transpositions are not secure because of language characteristics • Hence consider using several ciphers in succession to make harder, but: • Two substitutions make another substitution • Two transpositions make a more complex transposition • But a substitution followed by a transposition makes a new much harder cipher • This is bridge from classical to modern ciphers 38
Rotor Machines • Before modern ciphers, rotor machines were most common complex ciphers in use • Widely used in WW2 • German Enigma, Allied Hagelin, Japanese Purple • Implemented a very complex, varying substitution cipher 39
Outline • Overview of Cryptography • Classical Symmetric Cipher • Modern Symmetric Ciphers (DES/AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 40
Block vs Stream Ciphers • Block ciphers process messages in into blocks, each of which is then en/decrypted • Like a substitution on very big characters • 64-bits or more • Stream ciphers process messages a bit or byte at a time when en/decrypting • Many current ciphers are block ciphers, one of the most widely used types of cryptographic algorithms 41
Block Cipher Principles • Most symmetric block ciphers are based on a Feistel Cipher Structure • Block ciphers look like an extremely large substitution • Would need table of 264 entries for a 64-bit block • Instead create from smaller building blocks • Using idea of a product cipher 42
Substitution-Permutation Ciphers • Substitution-permutation (S-P) networks [Shannon, 1949] • modern substitution-transposition product cipher • These form the basis of modern block ciphers • S-P networks are based on the two primitive cryptographic operations • substitution (S-box) • permutation (P-box) • provide confusion and diffusion of message 44
Feistel Cipher Structure • Feistel cipher implements Shannon’s S-P network concept • based on invertible product cipher • Process through multiple rounds which • partitions input block into two halves • perform a substitution on left data half • based on round function of right half & subkey • then have permutation swapping halves 45
DES (Data Encryption Standard) • Published in 1977, standardized in 1979. • Key: 64 bit quantity=8-bit parity+56-bit key • Every 8th bit is a parity bit. • 64 bit input, 64 bit output. 64 bit M 64 bit C DES Encryption 56 bits 48
DES Top View 56-bit Key 64-bit Input 48-bit K1 Generate keys Permutation Initial Permutation 48-bit K1 Round 1 48-bit K2 Round 2 …... 48-bit K16 Round 16 Swap 32-bit halves Swap Final Permutation Permutation 64-bit Output 49
DES Summary • Simple, easy to implement: • Hardware/gigabits/second, software/megabits/second • 56-bit key DES may be acceptable for non-critical applications but triple DES (DES3) should be secure for most applications today • Supports several operation modes (ECB CBC, OFB, CFB) for different applications 50