CS Introduction to Operating Systems

Slides:



Advertisements
Similar presentations
1 Key Exchange Solutions Diffie-Hellman Protocol Needham Schroeder Protocol X.509 Certification.
Advertisements

Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Digital Signatures. Anononymity and the Internet.
Public Key Algorithms …….. RAIT M. Chatterjee.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 29 Cryptography and Network.
CC3.12 Erdal KOSE Privacy & Digital Security Encryption.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
Cryptography Prof. Seth D. Bergmann Rowan University Computer Science.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Information Security Fundamentals Major Information Security Problems and Solutions Department of Computer Science Southern Illinois University Edwardsville.
Cryptography  Why Cryptography  Symmetric Encryption  Key exchange  Public-Key Cryptography  Key exchange  Certification.
Public-Key Cryptography CS110 Fall Conventional Encryption.
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
Cryptography (2) University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
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.
Network Security – Special Topic on Skype Security.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
Digital Signatures, Message Digest and Authentication Week-9.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Protocol Analysis. CSCE Farkas 2 Cryptographic Protocols Two or more parties Communication over insecure network Cryptography used to achieve goal.
Fall 2006CS 395: Computer Security1 Key Management.
9.2 SECURE CHANNELS JEJI RAMCHAND VEDULLAPALLI. Content Introduction Authentication Message Integrity and Confidentiality Secure Group Communications.
Intro to Cryptography ICS 6D Sandy Irani. Cryptography Intro Alice wants to send a message to Bob so that even if Eve can see the transmitted information,
Network Security  introduction  cryptography  authentication  key exchange  required reading: text section 7.1.
Security Handshake Pitfalls. Client Server Hello (K)
Secure HTTP (HTTPS) Pat Morin COMP 2405.
Encryption Take 2: Practical details
Public Key Cryptography
Digital Signatures.
최신정보보호기술 경일대학교 사이버보안학과 김 현성.
Cryptography CS 555 Topic 34: SSL/TLS.
Basics of Cryptography
Cryptography Much of computer security is about keeping secrets
Cryptography Why Cryptography Symmetric Encryption
Computer Communication & Networks
Vocabulary Big Data - “Big data is a broad term for datasets so large or complex that traditional data processing applications are inadequate.” Moore’s.
Cryptography Reference: Network Security
Cryptography Reference: Network Security
CS480 Cryptography and Information Security
Network Security.
MA/CSSE 473 Day 10 Data Encryption RSA.
Fundamental Concepts in Security and its Application Cloud Computing
M3: Encryption r By Andrew Stringer.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
9.2 SECURE CHANNELS Medisetty Swathy.
Security through Encryption
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
PART VII Security.
Network Security – Kerberos
Security.
Chapter 10: Key Management (Again) and other Public Key Systems
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
Network Security.
NET 311 Information Security
Diffie-Hellman key exchange/agreement algorithm
CDK: Chapter 7 TvS: Chapter 9
Chapter 3 - Public-Key Cryptography & Authentication
Chapter 29 Cryptography and Network Security
Diffie/Hellman Key Exchange
Public – Private Key Cryptography
Introduction to Cryptography
Fluency with Information Technology Lawrence Snyder
Security: Public Key Cryptography
Security in Distributed Systems
Secure Diffie-Hellman Algorithm
Key Exchange With Public Key Cryptography
Presentation transcript:

CS 537 - Introduction to Operating Systems Encryption CS 537 - Introduction to Operating Systems

Encryption Why use encryption? Can’t deny access to everything some files and/or information need to be transported across public lines anyone can view this information Encryption makes the information look like gibberish to anyone but the destination the destination can decrypt the message One important note encryption algorithms should be made public

Encryption KEY KEY plain text message encryption box encrypted message decryption box plain text message bad guy listening in

Basic Idea Given a message m and a key k use a function Ek(m) to encrypt message use a function Dk(Ek) to decrypt the message Could use exclusive OR as the function Ek = m  k Dk = Ek  k = m  k  k = m Major problem with this if m and Ek are known, can compute k

Cryptography Cryptography is the study of message encryption and decryption There exist functions Ek such that knowing Ek and m does not yield k [m]k means that message m is encrypted with key k Two major encryption algorithms conventional private key encryption public key encryption

Conventional Private Key Also called Neeham/Schroeder protocol Each of the two machines agree upon a private key that only they know this will be different for each session All messages are then encrypted and decrypted with this key One major problem how do they get the key to start with?

Key Distribution Only complete solution is “out-of-band” transmission don’t send it over a network this is expensive has other risks (watch James Bond sometime) Most systems actually use a network to get and transmit keys This requires trusting someone

Key Distribution Use a key distribution center (KDC) everyone trusts this guy Every computer has a private key that only it and the KDC know When A wants to communicate with B, it contacts the KDC and it gives a random key, kc, back to A A then transmits kc to B A and B then use this key to communicate

Conventional Private Key 3 [Kc, A]Kb 4 [random’]Kc 5 [random’ + 1]Kc A B [Kc, request, random, [Kc, A]Kb]Ka request and random number (plain text) 2 1 KDC

Conventional Private Key 1 Request a key for communication - random number will be used to prevent replay 2 KDC sends back the information for the following reasons - Kc: the key to be used by A and B - request: verifies whose key A is getting - random: prevents replay of previous session - [Kc, A]Kb: encrypted message to send to B - encrypted with A’s key so it is the only one that can decipher it 3 Send Kc to B using the encrypted response from KDC - B is the only one that can decode this message

Conventional Private Key 4 B replies with a random number encrypted using Kc - this is a challenge to A to prove it actually knows Kc 5 A replies by sending the random number + 1 back to B - this is A’s response to prove it actually sent the original message At this point, A and B can now communicate with each other using the private key, Kc

Public Key There exist some encryption algorithms that use a key pair If you encrypt with one key, you can only decrypt with the other key The way public key encryption works is that one of the pair is made public and the other is kept secret hence, a secret key is only known by a single machine everyone knows the public key

Key Distribution Now the public key can be sent unencrypted over the network it does a bad guy no good unless he has the secret key a machine will never share its secret key with anyone To actually communicate with someone encrypt the message with their public key they are the only one that can decrypt it

Public Key [IA, A]PKb [IA, IB]PKa [IB]PKb A B [[message]PKb]SKa 1 2 3 4 [[message]PKb]SKa

Public Key 1 Send a message to B indicating a desire to communicate - only B can decipher this message - IA is a random identifier that A created 2 B responds with a message that only A can decipher - by returning IA B verifies it’s really B - also includes IB as a challenge to make sure A is really A 3 A responds to B’s challenge with the identifier that B created - now both parties know the other is who they say they are

Public Key 4 All messages from A to B are encrypted with B’s public key and then again with A’s secret key - anyone can decipher the message encoded with A’s secret key - all they would get is the encrypted message that only B can decode - this is done to prevent others from injecting more into the message sent by A - need to be careful of this because anyone could encrypt a message for B and attach it to A’s message as it passes through

Public Key Cryptography So how does all of this math work? It’s actually quite simple to encode a message E(m) = me mod n = C to decode a message D(C) = Cd mod n = m

Public Key Encryption How is n computed? Everyone knows the value of n pick 2 big prime numbers (100 or more digits) these numbers will be p and q n = p x q Everyone knows the value of n very difficult to calculate p and q given n

Public Key Encryption So what is the value of d? d is a large random integer that is relatively prime to (p-1) x (q-1) hence, the greatest common divisor of d and (p-1) x (q-1) is 1 So what is the value of e? e is the multiplicative inverse of: d mod [(p-1) x (q-1)] hence e x d mod [(p-1) x (q-1)] = 1 like n, e is also made public

Public Key Encryption An example let’s say p = 5 and q = 7 n = 35 (p-1) x (q-1) = 24 several choices for d, we’ll use d = 11 this means e x 11 mod 24 = 1 ==> e = 11 if m = 3 C = me mod n = 311 mod 35 = 12 Cd mod n = 1211 mod 35 = 3 = m

Certificate One major problem how does B guarantee that A’s public key is really PA? have to trust someone again Assume there is a server C that both A and B trust this server is someone like Verisine

Certificates 3 [A, C, PA]SKc A B [A, C, PA]SKc 2 request for 1 C

Certificates 1 Send a message to C requesting a certificate 2 C replies with the certificate - A is the identity of A - C is the identity of C - PA is A’s public key - All of this info is encrypted with C’s secret K - anyone can decrypt this - used for authentication, not secrecy 3 A sends certificate to B - B then decodes it using C’s public key - B now believes that it really has A’s public key