Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.
-
Upload
abel-gordon -
Category
Documents
-
view
220 -
download
0
description
Transcript of Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.
![Page 1: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/1.jpg)
SecuritySecurityLecture 11Lecture 11
cs193i – Internet cs193i – Internet TechnologiesTechnologiesSummer 2004Summer 2004
Stanford UniversityStanford University
![Page 2: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/2.jpg)
Administrative StuffAdministrative Stuff Lab #4 due todayLab #4 due today HW #4 due August 11HW #4 due August 11 Final exam on Friday Final exam on Friday Wednesday will be review Wednesday will be review
![Page 3: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/3.jpg)
Final ExamFinal Exam Friday (8/13) from 7-10pm in Gates Friday (8/13) from 7-10pm in Gates
B03B03 Closed bookClosed book 2 8.5x11 cheat sheets2 8.5x11 cheat sheets CumulativeCumulative
Emphasis on material after midtermEmphasis on material after midterm
![Page 4: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/4.jpg)
Global FunctionsGlobal Functions escape(string) unescape(string) Safe Strings
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890@ * - _ + . /
Unsafe Strings => %20, %5c, etc...
![Page 5: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/5.jpg)
SecuritySecurity
![Page 6: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/6.jpg)
Computer DataComputer Data File on your own hard drive (term
paper) File on networked file system
(Leland AFS) Data sent to another computer
(credit card number to Amazon)
![Page 7: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/7.jpg)
Three Considerations:Three Considerations:What do we want?What do we want?
Privacy of our data Integrity of our data Usability of our system/data
![Page 8: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/8.jpg)
Three ConceptsThree Concepts Confidentiality of data Integrity of data Authentication of users
Tom Anderson's cs162 Notes
![Page 9: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/9.jpg)
What Functionality Is What Functionality Is Needed?Needed?
Authentication -- who user is Authorization -- who is allowed to do
what Enforcement -- make sure people do
what they are supposed to do
Tom Anderson's cs162 Notes
![Page 10: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/10.jpg)
DefinitionsDefinitions Secrecy (aka Privacy,
Confidentiality) Diary Lock
Authenticity Hi it's Bob. Prove it Dude...
![Page 11: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/11.jpg)
Definition ExamplesDefinition Examples Secrecy
Alice sends message to Bob. Carl intercepts the message... but can't read
Authenticity Alice sends message to Bob. Bob can
verify that Alice is the sender.
![Page 12: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/12.jpg)
The Big PictureThe Big Picture
Alice Bob
Secrecy AuthenticityI’m sure it’sAlice and nobody else!
Carl
![Page 13: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/13.jpg)
MethodsMethods Cryptography
Converting messages to unreadable forms...Unconverting it back to the readable form
Steganography Hiding the existence of a message
![Page 14: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/14.jpg)
SteganographySteganography
![Page 15: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/15.jpg)
Null CipherNull Cipher
Fishing freshwater bends and saltwater coasts rewards anyone feeling stressed. Resourceful anglers usually find masterful leapers fun and admit swordfish rank overwhelming anyday.
Send lawyers, guns, and money.
![Page 16: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/16.jpg)
Invisible InkInvisible Ink Write with lemon juice and a
toothpick/ cotton swab. Let the paper dry.
Heat the paper with an iron to reveal the hidden message.
![Page 17: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/17.jpg)
CryptographyCryptographyGreek: kryptos + graphein → hidden
writing
![Page 18: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/18.jpg)
EncryptionEncryption Convert normal, readable data into
obscured, unreadable data
Hi There!! Encryption Algorithm m/okuGlilkdskuch
Hi There!! Encryption Algorithm alieka;wk12938*
![Page 19: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/19.jpg)
DecryptionDecryption Convert obscured, unreadable data into
normal, readable data
Hi There!!Decryption Algorithmm/okuGlilkdskuch
Hi There!!Decryption Algorithmalieka;wk12938*
alieka;wk12938*Decryption Algorithmm/okuGlilkdskuch
![Page 20: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/20.jpg)
TerminologyTerminology plaintext - clear readable text ciphertext - unreadable text cipher - algorithm(s) for encryption and
decryption
Hi There!! Encryption Algorithm alieka;wk12938*
Hi There!!Decryption Algorithmalieka;wk12938*
![Page 21: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/21.jpg)
TerminologyTerminology Security through obscurity
Don't publish some details of your algorithm... assuming people won't figure it out
Like hiding the key under the doormat Once your flaw/algorithm is leaked,
you're screwed
Optional Reading:http://slashdot.org/features/980720/0819202.shtml
![Page 22: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/22.jpg)
TerminologyTerminology Key -- a secret piece of information that
controls how the encryption algorithm works Different keys produce different encrypted
results
Hi There!! Encryption Algorithm 109291ala;dfwij?
Key: “Citizen Kane”
Hi There!! Encryption Algorithm 398jfasd;k2//ad?
Key: “Citizen Kano”
![Page 23: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/23.jpg)
Classical CiphersClassical Ciphers Monoalphabetic substitution
Caesar shift Polyalphabetic substitution
Jefferson
http://www.murky.org/cryptography/classical.shtml
![Page 24: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/24.jpg)
Caesar ShiftCaesar Shift
PLAINTEXT a b c d e f g h i j k l mCIPHERTEXT D E F G H I J K L M N O PPLAINTEXT n o p q r s t u v w x y zCIPHERTEXT Q R S T U V W X Y Z A B C
Hello There → khoorwkhuh
![Page 25: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/25.jpg)
ProblemProblem Monoalphabetic -- Same letter of
plaintext always produces same letter of ciphertext
Even though there are 26! possible substitutions, monoalphabetic solutions are easy to break!
Use frequency analysis of English language, plus some tricks...
![Page 26: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/26.jpg)
Breaking aMonoalphabetic Substitution
Yxdy pq yjc xzpvpyw ya icqdepzc ayjceq xq
yjcw qcc yjcuqcvrcq.
Xzexjxu Vpsdavs
![Page 27: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/27.jpg)
Breaking aMonoalphabetic SubstitutionYxdy pq yjc xzpvpyw ya icqdepzc ayjceq xq
yjcw qcc yjcuqcvrcq.
Xzexjxu VpsdavsCharacter Frequency: C10, Y8, Q7, X6, J5, P5, V4,
D3A3, E3, Z3, S2, U 2, I1, R1, W2
![Page 28: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/28.jpg)
Breaking aMonoalphabetic SubstitutionYxdy pq yjc xzpvpyw ya icqdepzc ayjceq xq
yjcw qcc yjcuqcvrcq.
Xzexjxu VpsdavsCharacter Frequency: C10, Y8, Q7, X6, J5, P5, V4,
D3A3, E3, Z3, S2, U 2, I1, R1, W2
Alphabet frequency: e t a o i n s r h l d c u m f p g w y b v k x j q z
![Page 29: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/29.jpg)
Breaking aMonoalphabetic SubstitutionYxdy pq yjc xzpvpyw ya icqdepzc ayjceq xqTact is the ability to describe others as
yjcw qcc yjcuqcvrcq.they see themselves.
Xzexjxu Vpsdavs
Abraham Lincoln
Character Frequency: C10, Y8, Q7, X6, J5, P5, V4, D3
A3, E3, Z3, S2, U 2, I1, R1, W2Alphabet frequency: e t a o i n s r h l d c u m f p g w y b v k x j q z
![Page 30: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/30.jpg)
Jefferson Wheel CipherJefferson Wheel Cipher
![Page 31: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/31.jpg)
Computer EraComputer Era Moore's law Keys breakable by brute force
![Page 32: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/32.jpg)
Modern CiphersModern Ciphers Bigger and bigger keys More and more complicated
algorithms Based on hardcore applied
mathematics... and the difficulty of factoring large (i.e. gargantuan) numbers
![Page 33: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/33.jpg)
TerminologyTerminology Symmetric key cryptography
Caesar shift, ..., DES, AES Asymmetric key cryptography
Public/Private key schemes
![Page 34: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/34.jpg)
Symmetric Key Symmetric Key TechnologyTechnology
p = plaintext crypt() = encryption/decryption
function c = cipher text (unreadable) k = key (secret; password)
![Page 35: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/35.jpg)
Symmetric Key Symmetric Key TechnologyTechnology
Alice wants to send a private/confidential message to Bob
Alice computes c=crypt(p,k) Sends c to Bob over unsecured wire Bob computes p=crypt(c,k)
![Page 36: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/36.jpg)
Symmetric Key Symmetric Key ApplicationApplication
Password login Alice sends password to computer to
prove identity (authenticity) Problem: Sniffing Solution: Challenge/response
![Page 37: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/37.jpg)
Shared Secret KeyShared Secret Key Shared secret is great... but how do
we distribute it?
![Page 38: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/38.jpg)
Asymmetric Key Asymmetric Key CryptographyCryptography
Instead of one key, have two public key private key
![Page 39: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/39.jpg)
Asymmetric Key Asymmetric Key TechnologyTechnology
Use one key to encode/encrypt Use other key to decode/decrypt
![Page 40: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/40.jpg)
Asymmetric Key Asymmetric Key TechnologyTechnology
Someone can know public key Computing private key from public
key is very, very difficult (factoring huge number)
![Page 41: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/41.jpg)
Application: SecrecyApplication: Secrecy Bob has Bob.pub, Bob.priv Alice has Alice.pub, Alice.priv Alice wants to send Bob a secret "I
LUV U" note
![Page 42: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/42.jpg)
Application: SecrecyApplication: Secrecy Alice finds Bob.pub from his website Alice computes c = crypt(p,
Bob.pub) Sends c to Bob over unsecured wire Bob computes p = crypt(c, Bob.priv)
![Page 43: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/43.jpg)
AdvantagesAdvantages Key distribution not a problem! Anyone can send a message to Bob Only Bob can decrypt!
![Page 44: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/44.jpg)
Application: AuthenticityApplication: Authenticity Alice wants to tell Bob the message is
really from her! Digital signature Alice computes c = crypt(p, Alice.priv) Alice sends c over unsecured wire Anyone can check that Alice is the
sender... by computing p = crypt(c, Alice.pub)
![Page 45: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/45.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U”
![Page 46: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/46.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U”
B.pub
![Page 47: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/47.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U”
B.pub
“This is from A”
![Page 48: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/48.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U”
B.pub
“This is from A”
A.priv
![Page 49: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/49.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U”
B.pub
“This is from A”
A.priv
![Page 50: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/50.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U”
B.pub
“This is from A”
A.priv
![Page 51: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/51.jpg)
Hash FunctionsHash Functions h = hash(input) Every bit in input affects output Hash function not invertible
![Page 52: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/52.jpg)
Error CheckingError Checking Alice wants to send a LONG message to
Bob Alice computes h=hash($LONG_MSG); Sends data to Bob, includes relatively
short h at the end of message Bob recomputes hash. If match, great! Data's correct! If not match, either hash or data was
corrupted. Resend.
![Page 53: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/53.jpg)
Digital SignaturesDigital Signatures Bob wants to send $data to Alice, with
assurances of his identity (authenticity) h=hash($data) Signature = crypt(h, Bob.priv)
Sends these to Alice Alice confirms Bob's identity by
h = crypt(signature, Bob.pub) h = hash($data) Compares!
![Page 54: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/54.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
![Page 55: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/55.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
hash("I LUV U ...") →12fea90897bddc
![Page 56: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/56.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
![Page 57: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/57.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
Bob.pub
![Page 58: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/58.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
Bob.pub
![Page 59: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/59.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
Bob.pub
![Page 60: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/60.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
Bob.pub
![Page 61: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/61.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
![Page 62: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/62.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddcA.priv
![Page 63: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/63.jpg)
Authenticity + SecrecyAuthenticity + SecrecyAliceA.priv
A.pub, B.pub, ... BobB.priv
Carl & EveBad People!
“I LUV U……”
“This is from A”
12fea90897bddc==hash("I LUV U ...") →12fea90897bddc
![Page 64: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/64.jpg)
CertificatesCertificates Certificate Authority: publishes that
a particular identity goes with a particular public key
Alice gets certificate (identity <=> public key), signed by CA
So if you trust CA, then you can trust the public key
![Page 65: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/65.jpg)
SSLSSL Alice connects to Bob's server Bob's server returns certificate (signed by
VeriSign), plus something encrypted w/ Bob.priv
Alice can verify certificate is valid Uses public key to decrypt token Bob authenticated Alice makes one time session key k Encrypts w/ Bob's public key, sends to Bob Now, can use symmetric key cryptography
![Page 66: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/66.jpg)
Symmetric vs. Symmetric vs. AsymmetricAsymmetric
Symmetric faster but relies on shared secret
Asymmetric slower but “solves” distribution-of-keys problem
![Page 67: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/67.jpg)
Security HistorySecurity History If you write it, they will come... to
attack it. :o) Be aware of most common attacks... Learn the basic tricks to writing
safer code.
![Page 68: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/68.jpg)
CERTCERT
![Page 69: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/69.jpg)
TerminologyTerminology Vulnerability -- some buggy code
that can allow bad guys to compromise your machine, or do other bad guy things
Exploit -- some code or method to take advantage of the vulnerability
![Page 70: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/70.jpg)
Attack: Social Attack: Social EngineeringEngineering
Tricking a naïve person into revealing sensitive data (i.e. his/her password) Hi this is your bank. We need your PIN
to fix your account ASAP! Hi this is Amazon. Your order #2333
didn't go through because your credit card was rejected. Tell us another credit card's info, and your order will be good.
Dumpster-diving for username & passwords on paper
![Page 71: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/71.jpg)
Bottom LineBottom Line People are the weakest link Educate people about
computer/Internet Security
![Page 72: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/72.jpg)
Attack: Traffic SniffingAttack: Traffic Sniffing Looking at packets on the wire,
reading off passwords, etc... Problem for authentication
mechanisms with cleartext passwords
![Page 73: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/73.jpg)
Traffic SniffingTraffic Sniffing (Somehow) compromise a machine.
This is the hard part. Set ethernet "promiscuous" mode Install a root kit
hides hacker activity key logger packet sniffer recompiled versions of programs (passwd,
ls)
![Page 74: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/74.jpg)
Attack: SpooferAttack: Spoofer One person (hacker) successfully
masquerades as another (normal user)
![Page 75: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/75.jpg)
IP SpoofingIP Spoofing Rewrite headers in IP packets to say
they are from someone else Launch some other attack. Spoofed
IPs prevent good guys from finding you.
![Page 76: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/76.jpg)
Man In the Middle AttackMan In the Middle Attack(Spoofing)(Spoofing)
Alice Carl Bob
![Page 77: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/77.jpg)
Man In the Middle AttackMan In the Middle Attack(Spoofing)(Spoofing)
Alice Carl Bob
“Hey Alice, give me your public key”
SSL-Like Example
![Page 78: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/78.jpg)
Man In the Middle AttackMan In the Middle Attack(Spoofing)(Spoofing)
AliceAlice.pub
Bob
“Ok! Alice.pub.What’s yours?”
“Ok! Carl.pub.What’s yours?”
Carl
![Page 79: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/79.jpg)
Man In the Middle AttackMan In the Middle Attack(Spoofing)(Spoofing)
AliceAlice.pubBob.pub
Bob
“Carl.pub” “Bob.pub”Carl
![Page 80: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/80.jpg)
Man In the Middle AttackMan In the Middle Attack(Spoofing)(Spoofing)
AliceAlice.pubBob.pub
Bob
crypt(“Let’s use session key K”, Carl.pub)
Carl
crypt(“Let’s use session key K”, Bob.pub)
![Page 81: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/81.jpg)
Man In the Middle AttackMan In the Middle Attack(Spoofing)(Spoofing)
AliceAlice.pubBob.pub
Bob
crypt2(“Bad HairDay”, K)
Carl
crypt2(“Greathair!”, K)
![Page 82: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/82.jpg)
Verify AuthenticityVerify Authenticity Through digital signatures And Certificate Authorities
![Page 83: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/83.jpg)
Attack: DNS PoisoningAttack: DNS Poisoning DNS server accepts and uses DNS server accepts and uses
incorrect info from host with no incorrect info from host with no authorityauthority
Future requests given the incorrect Future requests given the incorrect info from that server’s cacheinfo from that server’s cache
![Page 84: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/84.jpg)
Attack: Password Attack: Password GuessingGuessing
How long is YOUR password? Ways to break
Dictionary attack (words, names, dates) Brute force
Solutions Freeze/Turn off account if too many
incorrect logins? Wait 2 seconds before logging
in/displaying error.
![Page 85: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/85.jpg)
PasswordsPasswords What if your website froze accounts
if too many incorrect logins? Hacker can still attack your sites
users! By purposefully guessing
login/passwords incorrectly, so that your system locks all accounts!
![Page 86: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/86.jpg)
SolutionsSolutions Longer passwords Other forms of authentication
Biometric Physical key/card based
![Page 87: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/87.jpg)
Attack: Denial of ServiceAttack: Denial of Service Make the service unavailable Flood of incoming traffic
(SYN flood, Malformed Packets) Use robot to launch DOS on server.
Hard to trace identity of attacker. Distributed DOS (DDOS)
Take over many machines, launch attack simultaneously from many locations
![Page 88: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/88.jpg)
Smurf DOSSmurf DOS Bad guy sends ping packets to IP
broadcast addresses, source IP spoofed of course
All hosts on that network perform an ICMP echo reply (reply to the ping)
Potentially hundreds of replies per packet, can bring network down
![Page 89: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/89.jpg)
External ExecutablesExternal Executables Don't trust other people's code If Carl can run code on Alice's
computer... then Carl can take it over Internet Explorer, Safari
Vulnerabilities “Reflections on Trusting Trust”, Ken
Thompson (http://www.acm.org/classics/sep95/)
![Page 90: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/90.jpg)
Attack: Trojan HorseAttack: Trojan Horse Greek allusion (also, remember Monty
Python?) Innocent looking program, does
something malicious OpenSexyPics.exe, Readme.txt.exe
"recent Trojans include programs disguised as fixes to common computer viruses and those promising free pornographic images."
![Page 91: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/91.jpg)
Attack: Buffer OverflowAttack: Buffer Overflow Bad guy sends a huge, over-sized
request to a naïvely implemented (aka buggy) program, overflowing the input buffer
May overwrite data in memory (and/or) program code
May overwrite the return address on the stack of a program in C, so that the procedure call returns somewhere else
![Page 92: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/92.jpg)
How To Avoid Buffer How To Avoid Buffer OverflowOverflow
Write code carefully Limit input size; read in small
chunks as opposed to reading in whole input
Use better languages (read: Java)
![Page 93: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/93.jpg)
Attack: WormAttack: Worm Self replicating/Spreading computer
program
![Page 94: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/94.jpg)
ExampleExample Morris Worm -- buffer overflow attack on
UNIX finger and other programs... Robert Tappan Morris, Jr. (CMU student)
launched it on Nov 2, 1988 from an MIT computer
Intended to just spread, but a _bug_ in his code infected computers multiple times, so that computers FROZE after a while
Infected 6000 UNIX workstations CERT created in response to Morris Morris now a MIT faculty member
![Page 95: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/95.jpg)
Worms and their Worms and their PayloadsPayloads
Infect computer; send emails to other people... to spread the worm
Infect computer; install a backdoor program to let bad guy log in... to send mass spam, send more worms, etc
![Page 96: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/96.jpg)
Blaster WormBlaster Worm Exploited a buffer overflow in
Windows's RPC service Programmed to SYN flood
windowsupdate.com on August 15 to prevent patches
![Page 97: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/97.jpg)
Attack: Computer VirusAttack: Computer Virus Attaches itself to a host, another
computer program Tries to infect other executable files
it finds When run, it damages resources,
files, etc...
![Page 98: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/98.jpg)
Timeline of Viruses and Timeline of Viruses and WormsWorms
May 2004 -- Sasser Delta Airlines canceled many flights,
computers down from Sasser January 2004 -- MyDoom
Attacked MS & SCO Group websites with DDOS
http://en.wikipedia.org/wiki/Timeline_of_notable_computer_viruses_and_worms
![Page 99: Security Lecture 11 cs193i – Internet Technologies Summer 2004 Stanford University.](https://reader036.fdocuments.net/reader036/viewer/2022062504/5a4d1b107f8b9ab05998e920/html5/thumbnails/99.jpg)
Timeline of Viruses and Timeline of Viruses and WormsWorms
2003 August: Sobig and Blaster 2001: Code Red attacks IIS 2000: VBS/"I Love You" Worm 1999: Melissa Worm
http://en.wikipedia.org/wiki/Timeline_of_notable_computer_viruses_and_worms