DOC PREVIEW
UW-Madison CS 640 - Security

This preview shows page 1-2-20-21 out of 21 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

SecurityWhy do we care about Security?OverviewIssues in SecurityPotential AttacksCrypto 101Secret Key (DES)Slide 8Slide 9Public Key (RSA)RSA contd.Slide 12Message DigestAuthentication ProtocolsSlide 15Slide 16Message Integrity ProtocolsKey Distribution – a first stepKey Distribution (cont)FirewallsProxy-Based FirewallsCS 640 1SecurityOutlineEncryption AlgorithmsAuthentication Protocols Message Integrity Protocols Key Distribution FirewallsCS 640 2Why do we care about Security?•“The art of war teaches us to rely not on the likelihood of the enemy’s not coming, but on our own readiness to receive him; not on the chance of his not attacking, but rather on the fact that we have made our position unassailable.” The Art of War, Sun Tzu•There are bad guys out there who can easily take advantage of you.•Reference: Cryptography and Network Security, Principles and Practice, William Stallings, Prentice HallCS 640 3Overview•Security services in networks–Privacy: preventing unauthorized release of information–Authentication: verifying identity of the remote participant –Integrity: making sure message has not been altered •Cryptography functions – building blocks for security –Privacy/Authentication•Secret key (e.g., Data Encryption Standard (DES))•Public key (e.g., Rivest, Shamir and Adleman (RSA))–Integrity•Message digest/hash (e.g., Message Digest version 5 (MD5))SecurityCryptographyalgorithmsPublickey(e.g., RSA)Secretkey(e.g., DES)Messagedigest(e.g., MD5)SecurityservicesAuthenticationPrivacy MessageintegrityCS 640 4Issues in Security•Threat models–How are bad guys trying to do bad things to you?•Key distribution–How do folks get their keys?•Implementation and verification–How can we be sure systems are secure?•We ignore details/proofs of crypto algorithms–If you are interested in the details, take CS 435 with Prof. BachPotential Attacks•Eavesdropping – removes confidentiality–E.g. obtaining your bank statement•Modifying data – changes data integrity–E.g. change HTTP request to return incorrect web page•Replaying data – sends extra copies of a message–E.g. submit online order multiple times•Sending new data – attacks software/configuration vulnerabilities–E.g. attempt to login to a computer using SSHCS 640 5CS 640 6Crypto 101•Cryptographic algorithms determine how to generate encoded text (ciphertext) from plaintext using keys (string of bits) –Ciphertext can only be decrypted by key holders•Algorithm requirements–Published and stable–Keys must be kept secret (in most cases)–Keys cannot be deduced–Large keys make breaking code VERY hard–Computational efficiencyCS 640 7Secret Key (DES)PlaintextEncrypt withsecret keyCiphertextPlaintextDecrypt withsecret key• Approach: Make algorithm so complicated that none of the original structure of plaintext exists in ciphertextCS 640 8•Encrypt 64 bit blocks of plaintext with 64-bit key (56-bits + 8-bit parity)•16 rounds Initial permutationRound 1Round 2Round 1656-bitkeyFinal permutation…+FLi – 1Ri – 1RiKiLi• Each Round• L,R = 32 bit halves of 64 bit block• K = 48 bits of 64 bit key• F = combiner function• + = XORCS 640 9•Encryption steps are the same as decryption•Repeat for larger messages (cipher block chaining)–IV = initialization vector = random number generated by senderBlock1IVDESCipher1Block2DESBlock3DESBlock4DES+Cipher2Cipher3Cipher4+++CS 640 10Public Key (RSA)•One of the coolest algorithms ever!•Encryption–ciphertext = c = memod n (<e, n> = public key)•Decryption–Message = m = cdmod n (<d, n> = private key)•M < n–Larger messages treated as concatenation of multiple n sized blocksPlaintextEncrypt withpublic keyCiphertextPlaintextDecrypt withprivate keyCS 640 11RSA contd.•Choose two large prime numbers p and q (each 256 bits)•Multiply p and q together to get n•Choose the encryption key e, such that e and (p - 1) x (q - 1) are relatively prime.•Two numbers are relatively prime if they have no common factor greater than one•Compute decryption key d such thatd = e-1mod ((p - 1) x (q - 1))•Construct public key as (e, n)•Construct public key as (d, n)•Discard (do not disclose) original primes p and qCS 640 12RSA contd.•See example in book for applying RSA–Many others as well•Remember – always encrypt with public key and decrypt with private key•Security based on premise that factoring is hard–The bigger the key the harder it is to factor–The bigger the key is more computationally expensive it is to encrypt/decryptCS 640 13Message Digest•Cryptographic checksum –a fixed length sequence of bits which is used to protect the receiver from accidental changes to the message; a cryptographic checksum protects the receiver from malicious changes to the message.•One-way function–given a cryptographic checksum for a message, it is virtually impossible to figure out what message produced that checksum; it is not computationally feasible to find two messages that hash to the same cryptographic checksum.•Relevance–if you are given a checksum for a message and you are able to compute exactly the same checksum for that message, then it is highly likely this message produced the checksum you were given.CS 640 14Authentication Protocols •Three-way handshake (uses secret key - eg. password)–E(m,k) = encrypt message m with key k; C/SHK = client/server handshake key; x, y = random numbers; SK = session keyClient ServerClientId, E(x, CHK)E(y + 1, CHK)E(SK, SHK)E(x + 1, SHK), E(y, SHK)Client authenticates serverServer authenticates clientCHK = SHKCS 640 15•Trusted third party (Kerberos)–A and B share secret keys (KA, KB) with trusted third party S–A,B =ID’s; T = timestamp; L = lifetime, K = session keyAS BE((T, L, K, B), KA),E((A, T), K), E((T, L, K, A), KB)A, BE(T + 1, K) E((T, L, K, A), KB)A authenticated to BB authenticated to ACS 640 16•Public key authentication (using eg. RSA) A BE(x, PublicB)x B authenticated to ACS 640 17Message Integrity Protocols•Digital signature using RSA–special case of a message integrity where the code can only have been generated by one participant –compute signature with private key and verify with public key•Keyed MD5 (uses MD5 and RSA)–sender: m + MD5(m + k) + E(k, private) where k = random number–receiver•recovers random key using the sender’s public key•applies MD5 to the concatenation of this random key message•MD5


View Full Document

UW-Madison CS 640 - Security

Documents in this Course
Mobile IP

Mobile IP

16 pages

Lecture 7

Lecture 7

36 pages

Multicast

Multicast

38 pages

Load more
Download Security
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Security and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Security 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?