17-1©2005 Raj JainCSE473sWashington University in St. LouisNetwork SecurityNetwork SecurityPart I: ConceptsPart I: ConceptsRaj Jain Washington UniversitySaint Louis, MO [email protected] slides are available on-line at:http://www.cse.wustl.edu/~jain/cse473-05/17-2©2005 Raj JainCSE473sWashington University in St. LouisOverviewOverview! Security Statistics, Attacks, Requirements! Secret Key and Public Key Encryption! Hash Functions ! Message Authentication Code (MAC)! Digital Signature and Digital Certificates! RSA Public Key Encryption17-3©2005 Raj JainCSE473sWashington University in St. LouisSecurity Threat StatisticsSecurity Threat Statistics! DoD networks were attacked 250000 times in 1995 (well before Internet popularity)! Of 38,000 friendly attacks, 65% succeeded! Only 4% of successful attacks were noticed by network administrators! Only a small fraction of those noticed were reported to authorities! FBI reports 163 organizations lost $123M in 1999! Ref: M. Markow, “VPN for Dummies,” IDG Books, 1999.17-4©2005 Raj JainCSE473sWashington University in St. LouisSecurity AttacksSecurity Attacks! Passive:! Release of message contents: Eavesdropping! Traffic analysis: monitoring frequency and length of messages, even encrypted nature of communication may be guessed! Difficult to detect! Active:! Masquerade: Pretend to be some one else! Replay: Capture and reuse for unauthorized effect! Modification of message! Denial of Service17-5©2005 Raj JainCSE473sWashington University in St. LouisSecurity RequirementsSecurity Requirements! Integrity: Received = sent?! Availability: Legal users should be able to use. Ping continuously ⇒ No useful work gets done.! Confidentiality and Privacy: No snooping or wiretapping! Authentication: You are who you say you are. A student at Dartmouth posing as a professor canceled the exam.! Authorization = Access Control Only authorized users get to the data17-6©2005 Raj JainCSE473sWashington University in St. LouisLink vs EndLink vs End--toto--End EncryptionEnd Encryption! Link ⇒All traffic secure. Vulnerable inside switches17-7©2005 Raj JainCSE473sWashington University in St. LouisSecret Key EncryptionSecret Key Encryption! Also known as symmetric encryption! Encrypted_Message = Encrypt(Key, Message)! Message = Decrypt(Key, Encrypted_Message)! Example: Encrypt = division! 433 = 48 R 1 (using divisor of 9)17-8©2005 Raj JainCSE473sWashington University in St. LouisPublic Key Public Key EncryptionEncryption! Invented in 1975 by Diffie and Hellman! Encrypted_Message = Encrypt(Key1, Message)! Message = Decrypt(Key2, Encrypted_Message)Text CiphertextCiphertext TextKey1Key217-9©2005 Raj JainCSE473sWashington University in St. LouisPublic Key EncryptionPublic Key Encryption! RSA: Encrypted_Message = m3mod 187! Message = Encrypted_Message107mod 187! Key1 = <3,187>, Key2 = <107,187>! Message = 5! Encrypted Message = 53= 125! Message = 125107mod 187 = 5= 125(64+32+8+2+1) mod 187 = {(12564mod 187)(12532mod 187)...(1252mod 187)(125 mod 187)} mod 18717-10©2005 Raj JainCSE473sWashington University in St. LouisModular ArithmeticModular Arithmetic! xy mod m = (x mod m) (y mod m)! x4mod m = (x2mod m)(x2mod m)! xijmod m = (ximod m)jmod m! 125 mod 187 = 125! 1252mod 187 = 15625 mod 187 = 104! 1254mod 187 = (1252mod 187)2mod 187 = 1042 mod 187 = 10816 mod 187 = 157! 1288mod 187 = 1572mod 187 = 152! 12816mod 187 = 1522 mod 187 = 103! 12832mod 187 = 1032mod 187 = 137! 12864 mod 187 = 1372mod 187 = 69! 12864+32+8+2+1 mod 187 = 69×137×152×104×125 mod 187 = 18679128000 mod 187 = 517-11©2005 Raj JainCSE473sWashington University in St. LouisPublic Key (Cont)Public Key (Cont)! One key is private and the other is public! Message = Decrypt(Public_Key, Encrypt(Private_Key, Message))! Message = Decrypt(Private_Key, Encrypt(Public_Key, Message))Alice’sPublic KeyMsg MsgAlice’sPrivate KeyBob’sPublic KeyMsg MsgBob’sPrivate Key17-12©2005 Raj JainCSE473sWashington University in St. LouisHash FunctionsHash FunctionsExample: CRC can be used as a hash (not recommended for security applications)Requirements:1. Applicable to any size message2. Fixed length output3. Easy to compute4. Difficult to Invert ⇒ Can’t find x given H(x) ⇒ One-way5. Difficult to find y, such that H(x) = H(y) ⇒ Can’t change msg6. Difficult to find any pair (x, y) such that H(x) = H(y)⇒ Strong hash12345678901234567Hash12345678901234767Hash17-13©2005 Raj JainCSE473sWashington University in St. LouisDigital SignatureDigital SignatureText SignatureSignature DigestPrivate KeyPublic KeyDigestTextHashHash! Message Digest = Hash(Message)! Signature = Encrypt(Private_Key, Hash)! Hash(Message) = Decrypt(Public_Key, Signature)⇒ Authentic! Also known as Message authentication code (MAC)17-14©2005 Raj JainCSE473sWashington University in St. LouisMessage Authentication Code (MAC)Message Authentication Code (MAC)! Authentic Message = Contents unchanged + Source Verified! May also want to ensure that the time of the message is correct! Encrypt({Message, CRC, Time Stamp}, Source’s secret key)! Message + Encrypt(Hash, Source’s secret key)! Message + Encrypt(Hash, Source’s private key)MessageMAC17-15©2005 Raj JainCSE473sWashington University in St. LouisMAC: Using One Way HashMAC: Using One Way Hash17-16©2005 Raj JainCSE473sWashington University in St. LouisDigital CertificatesDigital Certificates! Like driver license or passport! Digitally signed by Certificate authority (CA) - a trusted organization! Public keys are distributed with certificates! CA uses its public key to sign the certificate ⇒ Hierarchy of trusted authorities! X.509 Certificate includes: Name, organization, effective date, expiration date, public key, issuer’s CA name, Issuer’s CA signatureUser IDPublic KeyUser IDPublic KeyhashEncryptCA private key17-17©2005 Raj JainCSE473sWashington University in St. LouisKey DistributionKey Distribution1. Application requests connection2. Security service asks KDCfor session Key3. KDC distributes session keyto both hosts4. Buffered packet transmittedKeyDistributionCenterKDC shares a secret key with each Host.17-18©2005 Raj JainCSE473sWashington University in St. LouisConfidentialityConfidentiality! User 1 to User 2:! Encrypted_Message = Encrypt(Public_Key2, Encrypt(Private_Key1, Message))! Message = Decrypt(Public_Key1, Decrypt(Private_Key2, Encrypted_Message) ⇒ Authentic and PrivateMessageMy PrivateKeyYour PublicKey17-19©2005 Raj JainCSE473sWashington University
View Full Document