COMP 416 :: Fall 2010 Security Lecture 17 COMP 416 Fall 2010.

Slides:



Advertisements
Similar presentations
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Advertisements

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.
More on SSL/TLS. Internet security: TLS TLS is one of the more prominent internet security protocols. TLS is one of the more prominent internet security.
Digital Signatures. Anononymity and the Internet.
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
Cryptography in World War II Jefferson Institute for Lifelong Learning at UVa Spring 2006 David Evans Class 4: Modern Cryptography
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
Dr Alejandra Flores-Mosri Message Authentication Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
Cryptographic Techniques Instructor: Jerry Gao Ph.D. San Jose State University URL: May,
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Cryptographic Technologies
Encryption An Overview. Fundamental problems Internet traffic goes through many networks and routers Many of those networks are broadcast media Sniffing.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Topic 11: Key Distribution and Agreement 1 Information Security CS 526 Topic 11: Key Distribution & Agreement, Secure Communication.
1 Pertemuan 08 Public Key Cryptography Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Public Key Cryptography RSA Diffie Hellman Key Management Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College,
Computer Science Public Key Management Lecture 5.
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
Cryptography 101 Frank Hecker
CSCI 6962: Server-side Design and Programming
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
How HTTPS Works J. David Giese. Hyper Text Transfer Protocol BrowserHTTP Server GET / HTTP/1.1 HOST: edge-effect.github.io HEADERS BODY HTTP/ OK.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
RSA Implementation. What is Encryption ? Encryption is the transformation of data into a form that is as close to impossible as possible to read without.
Information Security Fundamentals Major Information Security Problems and Solutions Department of Computer Science Southern Illinois University Edwardsville.
Pertemuan-13 Enkripsi and Authentication. Symmetric-key Cryptography  Data encrypted and decrypted with same key  Classical examples: Caesar cipher,
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
E-Commerce Security Professor: Morteza Anvari Student: Xiaoli Li Student ID: March 10, 2001.
Public-Key Cryptography CS110 Fall Conventional Encryption.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
David Evans CS200: Computer Science University of Virginia Computer Science Class 36: Public-Key Cryptography If you want.
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
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.
Public Key Encryption CS432 – Security in Computing Copyright © 2005, 2008 by Scott Orr and the Trustees of Indiana University.
Digital Envelopes, Secure Socket Layer and Digital Certificates By: Anthony and James.
Cryptography and Network Security (CS435) Part Eight (Key Management)
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Public-Key Cryptography and Message Authentication.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
Internet-security.ppt-1 ( ) 2000 © Maximilian Riegel Maximilian Riegel Kommunikationsnetz Franken e.V. Internet Security Putting together the.
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.
Cryptography (2) University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Fall 2010/Lecture 321 CS 426 (Fall 2010) Key Distribution & Agreement.
Encryption Questions answered in this lecture: How does encryption provide privacy? How does encryption provide authentication? What is public key encryption?
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
CS 4244: Internet Programming Security 1.0. Introduction Client identification and cookies Basic Authentication Digest Authentication Secure HTTP.
Washington System Center © 2005 IBM Corporation August 25, 2005 RDS Training Secure Socket Layer (SSL) Overview z/Series Security (Mary Sweat, Greg Boyd)
Topic 14: Secure Communication1 Information Security CS 526 Topic 14: Key Distribution & Agreement, Secure Communication.
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
Encryption. Introduction The incredible growth of the Internet has excited businesses and consumers alike with its promise of changing the way we live.
Chapter 9 Public Key Cryptography and RSA. Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Computer and Network Security - Message Digests, Kerberos, PKI –
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
EE 122: Lecture 24 (Security) Ion Stoica December 4, 2001.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
CPIS 312 Chapter Four: PUBLIC KEY CRYPTO. Index 2 A.Introduction A.1 Asymmetric Key Cryptography- Introduction A.2 General ideas about the Public Key.
1 Internet data security (HTTPS and SSL) Ruiwu Chen.
Digital Signatures.
Presentation transcript:

COMP 416 :: Fall 2010 Security Lecture 17 COMP 416 Fall 2010

COMP 416 :: Fall 2009 Security Often the most overlooked and misunderstood part of computer science. We will not even attempt to be comprehensive. For more: –Mike Reiter UNC Undergrad / Ph.D from Cornell Director of cyber-security lab at CMU Now kicking ass at UNC –Fabian Monrose Shamelessly stolen from Johns Hopkins

COMP 416 :: Fall 2009 Where we need security Model situation: Where do we need security? –Protect client from script. In this case, server is the “bad” guy –Protect communication between client and server. In this case, anyone can be the “bad” guy. Client Server Script Browser CGI Web Server Data

COMP 416 :: Fall 2009 Basic Security Needs What are the basic security questions (or needs) of the client and the server: –Client: Is the server who the server says it is? Is the script safe to run? Is the data correct? Is the data private? In other words, are we sure that no one else can get/use this data? –Server: Is the client who the client says it is? Is the data correct and private?

COMP 416 :: Fall 2009 Categories of Security Needs Authentication –Make sure that you are talking to who you think you are talking to. Privacy –Ensure that no one else can use or get the data. Safety –Feel safe executing programs that were written by strangers.

COMP 416 :: Fall 2009 Authentication Fundamental fact: –You have to trust something or someone eventually. Establishing trust: –Challenge/Response Ask the other party questions that only it should know. What are some human context examples? Call your bank, they ask you for your SS#, maiden name, address, etc. –Third party authentication Ask someone else to vouch for the other party.

COMP 416 :: Fall 2009 Certificates A certificate is used to make a claim of identity and/or authenticity. –Parts of a certificate: Name of party and any other information about themselves that they want to present as authentic. Name of certificate authority Digital signature of certificate authority (CA) –If you trust the CA, you can trust the info. –Key to the trust is in the signature.

COMP 416 :: Fall 2009 Digital Signatures Certificate authority issues certificates and “signs” them digitally for authenticity. What functions must the signature provide? –Info. presented in certificate is the same info. originally presented to the CA in the first place. –Verify that signature is really from CA. Digital signatures work by using “public-key cryptography”

COMP 416 :: Fall 2009 Public-key Cryptography Diffie-Hellman, 1976 Trap-door function –A function with that can be used with two pieces of information (numbers) with the following property: Call the two pieces of information PUB_KEY and PRIV_KEY Message to be encrypted: P E(P, PUB_KEY) => C, where C is encrypted message. D(C, PRIV_KEY) => P PRIV_KEY can’t be calculated from PUB_KEY

COMP 416 :: Fall 2009 Using public key crypto Bob Alice 1) Alice generates a key-pair.

COMP 416 :: Fall 2009 Using public key crypto Bob Alice 2) Alice gives Bob the public key

COMP 416 :: Fall 2009 Using public key crypto Bob Alice 3) Bob encodes message using public key Hello gekdisa3

COMP 416 :: Fall 2009 Using public key crypto Bob Alice 3) Alice decodes with private key gekdisa3 Hello

COMP 416 :: Fall 2009 Symmetric Keys Public-key systems are symmetric –Only the private key can decode message encoded by the public key. –Only public key can decode messages encoded by the private key. A => f(private_key) => A` A` => f(public_key) => A

COMP 416 :: Fall 2009 Back to authentication. Quick review: –Server presents certificate with lots of info signed by trusted certificate authority. –Client must be assured that signature vouches for the info and that signature is from the CA. How does public-key cryptography help? –Trusted CA publishes its public key. What are the issues here? –Signature is simply a digest of the certificate encoded with CA’s private key. –Client uses public key to decode signature and check digest against the info.

COMP 416 :: Fall 2009 Digests What does “digest” mean? –A smaller version of the same information. In security: a small message that is generated mathematically from a larger one. What properties do we want from digest function? –Easy to calculate. –Hard to predict. –Sensitive to initial conditions.

COMP 416 :: Fall 2009 RSA RSA is one specific public-key system –Patent expired. –RSA stands for Rivest, Shamir, and Adleman Based on numerical properties of... –Modular arithmetic –Prime numbers –Factorization

COMP 416 :: Fall 2009 How RSA works. Pick two prime numbers. –p, q –Roughly equal size in bits. –The number p*q is called the modulus m. Now find two numbers e and d. –Relationship: e*d-1 = k * (p-1) (q-1) Public key is (e, pq) Private key is (d, pq)

COMP 416 :: Fall 2009 How RSA works To encode: –Break up message into fixed-size blocks. –Treat each block as one big number. Must be sure that max. value is less than pq. –For each block b i, calculate c i = b i e mod pq To decode: –From c i calculate b i = c i d mod pq –Notice the symmetry.

COMP 416 :: Fall 2009 RSA cont’d. Large number exponentiation. –Whenever intermediate results get larger than the modulus, simply mod them back into range. int mod_exp (int b, int e, int m) { int res = 1; while (e != 0) { if (e % 2 == 1) res = (res * b) % m; b = (b * b) % m; e = e >> 1; } return res; }

COMP 416 :: Fall 2009 Breaking RSA Inverting this is hard –c i = b i e mod pq –That’s the “one-way” part. Key to breaking RSA is figuring out p and q from p*q. –Then, given public key (e, pq), you can derive what d (the private key) is. –Fortunately, factorization is hard.

COMP 416 :: Fall 2009 Private communication Public-key systems are slow. –OK for things like digital signatures –Not so good for long streams of communication. Private key systems –Both endpoints have the same key which is used to encrypt/decrypt the message. –Lots of algorithms (DES is very famous) –What’s the problem? Key exchange –What’s the solution? Use public-key system to exchange a “session” key and then use the session key for crypto.

COMP 416 :: Fall 2009 SSL Secure Sockets Layer –URL starts with “https” –Sits between HTTP and TCP. –SSL Handshake Server provides certificate to client with public key Client uses key to exchange info. with server and generate a session key. –HTTP works just the same. –TCP works just the same. –SSL acts like a filter between them encrypting/decrypting everything.

COMP 416 :: Fall 2009 Client-side Programming Sandbox –Limit execution privileges of scripts. Same origin policy. No local filesystem privileges. Signed Scripts –Present a certificate that vouches for the script. –Expanded privileges granted to signed script either by policy or by user via dialog.

COMP 416 :: Fall 2009 Discussion Everything ties back to authentication. –Specifically, you need a way to trust that the public key for someone is really their public key. Why should we trust a particular certificate? –Web of trust. If enough people say that the certificate is valid, then we trust that it is valid. Key point: no central point of failure. Implication: centralized security (gov’t or otherwise) very vulnerable and highly suspect.

COMP 416 :: Fall 2009 Last points Trade-off between flexibility and modes of failure. Security based on secret algorithms almost always fails.