Lecture Topics: 11/29 Cryptography –symmetric key (secret key) –public/private key –digital signatures.

Slides:



Advertisements
Similar presentations
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Advertisements

ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
1 Network Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Netprog: Cryptgraphy1 Cryptography Reference: Network Security PRIVATE Communication in a PUBLIC World. by Kaufman, Perlman & Speciner.
NSRC Workshop Some fundamental security concerns... Confidentiality - could someone else read my data? Integrity - has my data been changed? Authentication.
1 Supplement III: Security Controls What security services should network systems provide? Confidentiality Access Control Integrity Non-repudiation Authentication.
23 Oct PKI for the Mystified Introduction to Public Key Infrastructure and Cryptography Ivaylo Kostadinov.
Http Web Authentication Web authentication is used to verify a users identity before allowing access to certain web pages On web browsers you get a login.
15-1 Last time Internet Application Security and Privacy Public-key encryption Integrity.
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
Chapter 5 Cryptography Protecting principals communication in systems.
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
Encryption An Overview. Fundamental problems Internet traffic goes through many networks and routers Many of those networks are broadcast media Sniffing.
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Spring 2003CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Cryptography April 20, 2010 MIS 4600 – MBA © Abdou Illia.
03 December 2003 Public Key Infrastructure and Authentication Mark Norman DCOCE Oxford University Computing Services.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Cryptography 101 Frank Hecker
Chapter 31 Network Security
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
DNSSEC Cryptography Review Track 2 Workshop July 3, 2010 American Samoa Hervey Allen.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
1 Cryptography Basics. 2 Cryptography Basic terminologies Symmetric key encryption Asymmetric key encryption Public Key Infrastructure Digital Certificates.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Network Security (A Very Brief Introduction)
.Net Security and Performance -has security slowed down the application By Krishnan Ganesh Madras.
Networks and Security. Types of Attacks/Security Issues  Malware  Viruses  Worms  Trojan Horse  Rootkit  Phishing  Spyware  Denial of Service.
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
Network Security. Cryptography Cryptography functions Secret key (e.g., DES) Public key (e.g., RSA) Message digest (e.g., MD5) Security services Privacy:
Network Security – Part 2 (Continued) Lecture Notes for May 8, 2006 V.T. Raja, Ph.D., Oregon State University.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
E-Commerce Security Technologies : Theft of credit card numbers Denial of service attacks (System not availability ) Consumer privacy (Confidentiality.
Dr. L. Christofi1 Local & Metropolitan Area Networks ACOE322 Lecture 8 Network Security.
Cryptography, Authentication and Digital Signatures
Day 18. Concepts Plaintext: the original message Ciphertext: the transformed message Encryption: transformation of plaintext into ciphertext Decryption:
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
11-Basic Cryptography Dr. John P. Abraham Professor UTPA.
Encryption Questions answered in this lecture: How does encryption provide privacy? How does encryption provide authentication? What is public key encryption?
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Privacy versus Authentication Confidentiality (Privacy) –Interceptors cannot read messages Authentication: proving the sender’s identity –The Problem of.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
Encryption No. 1  Seattle Pacific University Encryption: Protecting Your Data While in Transit Kevin Bolding Electrical Engineering Seattle Pacific University.
Digital Signatures, Message Digest and Authentication Week-9.
Lecture 2: Introduction to Cryptography
Authentication Issues and Solutions CSCI 5857: Encoding and Encryption.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture Topics: 12/06 SSL Final Exam HW 7 & 8 Important concepts in 410 Other references Evaluations.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Public Key Encryption, Secure WWW Transactions & Digital Signatures.
Network Security Celia Li Computer Science and Engineering York University.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Secure HTTP (HTTPS) Pat Morin COMP 2405.
Web Applications Security Cryptography 1
Computer Communication & Networks
Cryptography Reference: Network Security
Cryptography Reference: Network Security
Using SSL – Secure Socket Layer
Presentation transcript:

Lecture Topics: 11/29 Cryptography –symmetric key (secret key) –public/private key –digital signatures

Announcements Next Monday, Mike Swift will talk about operating system security Next Wednesday, I will give a wrap up of the class and hand out class evaluations –your web servers are also due Final is on Wednesday December 13th Review session –Sunday December 10th OR –Monday December 11th

Cryptography Cryptography transforms data so that it is useless to your opponent Your opponent could be –the Roman Empire –the CIA –someone eavesdropping on your network Your data could be –battle plans –credit card number Cryptography has been around for a long time, but since WWII it has really become a science

Encrypt/Decrypt Cryptography has two stages Encrypting converts plaintext data into an unusable form (known as ciphertext) Decrypting converts ciphertext back to plaintext Attack at Dawn! J#832JN8K 9#$&DFG Encryption Algorithm Attack at Dawn! Decryption Algorithm Plaintext Ciphertext

Encryption Works When… Encryption function cannot be easily inverted –"!nwaD ta kcattA" is no good Encryption and decryption can be done safely –no one is looking over your shoulder or tapping your network The keys are protected –it doesn't work if your login password is written on the monitor –you shouldn't write your PIN # on your ATM card

Bad Encryption Schemes Add 1 to every letter –e.g. attack at dawn -> buubdl bu euxo –can figure out actual letters based on their frequency (E, T, A, …) Any scheme that reassigns or swaps letters is weak Generally any encryption scheme that requires the algorithm to remain secret is bad –German's Enigma machine in WWII

Symmetric Key Encryption A good encryption scheme uses a random key (128 bit string) and a bunch of math operations to encrypt data –practically impossible to decrypt without the key The same key and the same algorithm can be used to decrypt the data This is known as symmetric key encryption because the same key is used for encryption and decryption It is also known as secret key encryption Example: DES, AES, blowfish, RC2 Attack at Dawn! J#832JN8K 9#$&DFG Encrypt Attack at Dawn! Encrypt same key same algorithm

Symmetric Key Evaluation Symmetric key encryption can be used whenever the key can be safely given to everyone who needs it –how would I safely send my credit card number to Amazon? Advantage: it's very fast –1 Gbit/sec in hardware –100 Mbit/sec in software Good for encrypting large pieces of data –files –network traffic

Eavesdropping Communication between persons or computers is inherently insecure –Your little sister might listen in on phone conversations –Someone on your Ethernet sees all of your network traffic (known as eavesdropping) Secure communication over an insecure channel requires encryption An even more severe attack occurs when communication goes through an attacker. The attacker can –see every message –discard any message –modify messages from either party –replay old messages –this is known as a man-in-the-middle attack

Public Key Encryption Public/private key encryption uses two different keys to encrypt and decrypt Data encrypted with the public key can only be decrypted with the private key Data encrypted with the private key can only be decrypted with the public key Public key is known by everyone, private key is known only to you Hello *#&!# Hello Public Key Private Key Hello Public Key Private Key

Public/Private Key Examples I want to send you a secret message –I encrypt it with your public key –Only you have the private key, so only you can decrypt it I want you to know that I sent the message –I first encrypt it with my private key –Then I encrypt it with your public key Message [Message] MyPriv [[Message] MyPriv ] YourPub Insecure channel Message [Message] MyPriv [[Message] MyPriv ] YourPub MeYou [X] KEY is notation for X being encrypted with KEY

Public/Private Key Evaluation Don’t have to share a secret to communicate securely –still need some way to get someone's public key (usually trusted third party, e.g. Verisign) Disadvantage: it's very very slow –more than 1000 times slower than secret key encryption Too slow to be used to encrypt large amounts of data –so how can network communication be secure?

Negotiating a Secret Key Frequently public/private keys are used to negotiate a shared secret key Messages used to find a secret key must be small Messages encrypted with the secret key can be any size [What secret key to use?] AmazonPub [Use SymmetricKeyXYZ] YourPub [Order form w/ credit card #] SecretKeyXYZ [Receipt w/ credit card #] SecretKeyXYZ You

Digital Signatures Need a way to "sign" messages to verify who they came from If send the message "Reminder: The final is at 8:30", I don't want someone to change it to "The final has been cancelled, everyone gets an A" I could encrypt the whole message with my private key –only I can encrypt messages with my private key so you know I sent the message –problem: too slow for large messages Solution: message digests

One-way Hashes A one-way hash function hashes data to a value, and it’s impossible to guess the original value from the hash It's almost impossible to find collisions –it's very very unlikely that two messages could produce the same hash value Example: MD5 hashes data to a 128-bit value –no MD5 collisions have ever been found Can be used to store passwords –store MD5 hash of a password in a password file –when checking a password, first hash it and then compare it to what is in the file –no way to get the password from the stored hash value

One-way Hash Continued A one-way hash is similar to a checksum, but much safer It's easy to modify a message that preserves the original checksum It's impossible to modify a message that preserves the original one-way hash value Orig. Data w/ Chksum Modified Data w/ Identical Chksum Orig. Data w/ One-way Hash “Impossible” to modified Data w/ Identical Hash value

Message Digest A message digest is a one-way hash of a message –much smaller than the original message –“impossible” to find another message that generates the same digest We the people of the United States, in order to form a more perfect union... until an election of Representatives shall have intervened. AFD4 17E9 C039 BAD3 1C84 F C 275D CA86 5ED CD72 C98C Digest of the Constitution. Cannot find another document that generates the same digest. Constitution of the United States

Digital Signatures I can digitally sign a message by –computing a digest of the message –encrypting the digest with my private key You can verify I wrote the message by –decrypting the digest using my public key –computing the digest of the message –comparing this digest with the decrypted digest Much faster than encrypting the entire message Problem: replay attacks –what if I sent the message “Class is cancelled today” and signed it –what prevents someone from retransmitting this message everyday? –Solution: don’t write ambiguous messages (i.e. use timestamps) or use challenge response

Challenge/Response To verify the server’s identity, the client challenges the server The challenge is usually to encrypt a random string (known as a nonce) with the server’s private key Only the true server can encrypt the nonce with its private key If server responds with the correct encrypted nonce, the client trusts his identity The nonce is a different random string each time so replay attacks are impossible

Simplified SSL Some additional information is transferred with each message, but this simplified version contains all of the necessary details Nonce 1 [Amazon.com, AmazonPubKey] VerisignPubKey 2 [SecretSessionKey] AmazonPubKey 3 [Nonce] SecretSessionKey 4 [Credit Card Number] SecretSessionKey 5 Establishing a secure connection with SSL You

Explanation of Simplified SSL 1.The client sends the server a nonce to prevent a replay attack, and the server stores this nonce 2.The server sends the client a certificate, which contains it’s name and public key. This certificate has been digitally signed by Verisign (a trusted third party) 3.The client chooses a secret (symmetric) session key to use for this connection. It encrypts this key with the server’s public key and sends it to the server. 4.The server decrypts the session key using it’s private key. It sends the original nonce back to the client encrypted with the session key. The client now has verified that it is actually talking with the correct server, because only the correct server can decrypt the session key sent in step 3. 5.Any remaining secret communication between the client and server can use the session key. There is much more to SSL than what is presented here. There are a vast number of options and features.