CS 5950/6030 Network Security Class 10 (F, 9/23/05) Leszek Lilien Department of Computer Science Western Michigan University [Using some slides courtesy.

Slides:



Advertisements
Similar presentations
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Advertisements

Lecture4 – Introduction to Cryptography 2 Rice ELEC 528/ COMP 538 Farinaz Koushanfar Spring 2009.
CS 5700 Computer Security and Information Assurance Section 4: Introduction to Cryptology - Part 2 Dr. Leszek Lilien Department of Computer Science Western.
Computer Science CSC 474By Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.1 Introduction to Cryptography.
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Digital Signatures and Hash Functions. Digital Signatures.
CS 5950/6030 Network Security Class 11 (M, 9/26/05) Leszek Lilien Department of Computer Science Western Michigan University [Based on Security in Computing.
CS 5950/6030 – Computer Security and Information Assurance Section 2: Introduction to Cryptology (Part 2) Dr. Leszek Lilien Department of Computer Science.
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
CSE331: Introduction to Networks and Security Lecture 21 Fall 2002.
Cryptographic Technologies
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
CS 5950/6030 Network Security Class 9 (W, 9/21/05) Leszek Lilien Department of Computer Science Western Michigan University [Using some slides prepared.
Csci5233 Computer Security & Integrity 1 Cryptography: Basics (2)
Cryptography April 20, 2010 MIS 4600 – MBA © Abdou Illia.
Cryptography1 CPSC 3730 Cryptography Chapter 11, 12 Message Authentication and Hash Functions.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
E- Business Digital Signature Varna Free University Prof. Teodora Bakardjieva.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Computer Science Public Key Management Lecture 5.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography 101 Frank Hecker
Sorting Out Digital Certificates Bill blog.codingoutloud.com ··· Boston Azure ··· 13·Dec·2012 ···
Chapter 31 Network Security
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Lecture 15 Lecture’s outline Public algorithms (usually) that are each other’s inverse.
Cryptology Digital Signatures and Digital Certificates Prof. David Singer Dept. of Mathematics Case Western Reserve University.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Network Security (A Very Brief Introduction)
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.
Message Authentication  message authentication is concerned with: protecting the integrity of a message protecting the integrity of a message validating.
8-1Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity, authentication.
Hash Functions A hash function H accepts a variable-length block of data M as input and produces a fixed-size hash value h = H(M) Principal object is.
Cryptography, Authentication and Digital Signatures
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 31 Omar Meqdadi Department of Computer Science and Software Engineering.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Chapter 16 Security Introduction to CS 1 st Semester, 2012 Sanghyun Park.
Network Security7-1 CIS3360: Chapter 8: Cryptography Application of Public Cryptography Cliff Zou Spring 2012 TexPoint fonts used in EMF. Read the TexPoint.
Chapter 4 Using Encryption in Cryptographic Protocols & Practices (Part B)
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.
Csci5233 computer security & integrity 1 Cryptography: an overview.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 part 2: Message integrity.
Encryption No. 1  Seattle Pacific University Encryption: Protecting Your Data While in Transit Kevin Bolding Electrical Engineering Seattle Pacific University.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Modern Cryptography.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Authentication. Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” Failure scenario?? “I am Alice”
14-1 Last time Internet Application Security and Privacy Basics of cryptography Symmetric-key encryption.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Security By Meenal Mandalia. What is ? stands for Electronic Mail. much the same as a letter, only that it is exchanged in a different.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Security. Security Needs Computers and data are used by the authorized persons Computers and their accessories, data, and information are available to.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Computer Communication & Networks
Cryptographic Hash Function
NET 311 Information Security
Cryptography: Basics (2)
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Chapter 3 - Public-Key Cryptography & Authentication
Security: Integrity, Authentication, Non-repudiation
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

CS 5950/6030 Network Security Class 10 (F, 9/23/05) Leszek Lilien Department of Computer Science Western Michigan University [Using some slides courtesy of: Prof. Aaron Striegel — at U. of Notre Dame Prof. Barbara Endicott-Popovsky and Prof. Deborah Frincke — at U. Washington Prof. Jussipekka Leiwo — at Vrije Universiteit (Free U.), Amsterdam, The Netherlands]

2 2. Cryptology... 2F. The AES (Advanced Encryption Standard) Algorithm 2F.1. The AES Contest 2F.2. Overview of Rijndael 2F.3. Strength of AES 2F.4. Comparison of DES and AES 2G. Public Key Encryption 2G.1. Motivation for PKE 2G.2. Characteristics of PKE 2G.3. RSA Encryption 2H. The Uses of Encryption 2H.1. Cryptographic Hash Functions – PART 1 Class 9

3 2H.1. Cryptographic Hash Functions (1) Integrity: How can you be sure that a recived msg/doc was not modified by an attacker or malfunction? Answer: use cryptography to ensure integrity Idea: Wax seals on letters in Middle Ages — easy to see if broken Cryptographic „seal” on doc/msg — so that any change to it will be readily detected

4 Cryptographic Hash Functions (2) A technique: compute a hash fcn / checksum / msg digest More formally: Problem: How to send n-bit msg so that R can easily verify that it is intact Solution: Send a msg of n+k bits n bits — original msg k bits — checksum / msg digest Generated based on the n bits

5 Cryptographic Hash Fcns (3) Simple Parity for Error Detection (1) Simple (non-cryptographic) technique: parity Add a single parity bit to detect if a message is correct Example 1: odd parity Force the block of data to have an odd # of 1’s Data = 1011— n = 4 Sent block = 10110— n+k = 4+1 — looked at ‘1011’, added 0 to have odd # of 1’s Data = 0110 Sent block= — looked at ‘0110’, added 1 to have odd # of 1’s Example 2: ASCII parity bit ASCII has 7 bits for data, 8th bit is single parity bit Either odd or even parity used [cf. A. Striegel, U. Notre Dame]

6 Cryptographic Hash Fcns (4) Simple Parity for Error Detection (2) How parity enhances msg integrity? Can detect error in 1 bit (or in odd # of bits) e,.g, if R gets 01001, R knows it’s wrong (S sent 01101) Cannot detect error in 2 bits (or in even # of bits) Bec. parity stays OK -> undetectable integrity violation e.g, if R gets 01011, R knows it’s wrong (S sent 01101) Cannot repair errors either E.g., R doesn’t know which bit in is wrong [cf. A. Striegel, U. Notre Dame]

7 Cryptographic Hash Fcns (5) Better Checksums against Errors & Attacks There are better checksums than simple odd/even parity Can detect multiple errors Can even repair multiple errors These checksums are to fix errors, not deal with attacks For attacks need cryptographic checksums / strong hash functions

8 Cryptographic Hash Fcns (6) Strong Hash Function Formal definition: strong hash function (cryptographic checksum) is h: A -> B such that: 1)For any x  A, h(x) is easy to compute 2)For any y  B, it is computationally infeasible to find inverse of y, i.e., x  A such that h(x) = y 3)It is computationally infeasible to find a pair of colliding input values, i.e. x, x’  A such that x ≠ x’ and h(x) = h(x’) Alternate (stronger) form for (3): Given any x  A, it is computationally infeasible to find x’  A such that x ≠ x’ and h(x) = h(x’)  Due to (1) and (2), hash fcn is a one-way function [cf. A. Striegel, U. Notre Dame, Barbara Endicott-Popovsky, U. Washington]

9 Cryptographic Hash Fcns (7) Collisions & Attacks on Msg Integrity (1) Note: n bits of msg (x) mapped into k bits of its checksum (y) k collisions must exist But it is computationally infeasible to find collisions for good hash fcns Goal of a successful attack on msg integrity: Change msg1 in such a way that checksum remains unchanged (so R doesn’t detect the forgery) I.e., find msg2 that collides with the original msg1 w.r.t. checksum value Finding msg2 is computationally infeasible (for good hash) => forging msg1 undetectably is computationally infeasible [cf. A. Striegel, U. Notre Dame]

10 Cryptographic Hash Fcns (9) File Checksum File checksum Calculated, a fcn defined on all bits of the file Result encrypted and stored with the file Each time file used by legitimate users, checksum recalculated, encrypted, stored with the file File sent to R When file received by R: R decrypts checksum c1 received in the file R independently calculates file checksum c2 If c1 = c2 => file integrity is OK Otherwise – file integrity violated

11 Class 9 ended here

12 2. Cryptology... 2F. The AES (Advanced Encryption Standard) Algorithm 2F.1. The AES Contest 2F.2. Overview of Rijndael 2F.3. Strength of AES 2F.4. Comparison of DES and AES 2G. Public Key Encryption 2G.1. Motivation for PKE 2G.2. Characteristics of PKE 2G.3. RSA Encryption 2H. The Uses of Encryption 2H.1. Cryptographic Hash Functions – PART 1 2H.1. Cryptographic Hash Functions – PART 2 2H.2. Key Exchange 2H.3. Digital Signatures 2H.4. Certificates – PART 1 Class 9 Class 10

13 Cryptographic Hash Fcns (10) Keyed vs. Keyless Crypto Checksum (1) Keyed crypto checksum Key needed to compute checksum Keyed hash fcns DES, AES Use it in chaining mode: link next msg block to value of the previous msg block Example chaining: E(current block) XOR E(previous block) => connects block to all previous blocks  If file sent, file’s checksum could be the last block  If chaining used, file checksum (=last block) depends on all previous blocks => depends on all bits of the file

14 Cryptographic Hash Fcns (11) Keyed vs. Keyless Crypto Checksum (2) Keyed crypto checksum – CONT. Used for integrity + authentication Integrity: checksum makes msg modification difficult Authentication: only S and R know symmetric key R: if msg integrity is OK, it must have been sent by S

15 Cryptographic Hash Fcns (12) Keyed vs. Keyless Crypto Checksum (3) Keyless crypto checksum No key required to compute checksum Keyless hash functions MD5/MD4: any msg  128-bit digest (hash, checksum) SHA/SHS: any msg  160-bit digest Other: MD2, HAVAL, Snefru,... Used for integrity (not authentication) Integrity: checksum makes msg modification difficult (with truly public key anybody can send msg, but nobody but S can easily modify this msg) No authentication: n (or all) people know public key – R can’t prove which one of them sent a given msg [cf. A. Striegel, U. Notre Dame, Barbara Endicott-Popovsky, U. Washington]

16 2H.2. Key Exchange (1) Motivation: X and Y don’t know each other X needs to send protected msg to Y E.g., shopping on a web site  can do it if can securely exchange K E This is the problem of key exchange Important Hard Circular (chicken-’n-egg) problem? „To establish secure session need secure channel” Circle can be broken – by public key cryptography Can send public key even on insecure channel

17 Key Exchange (2) Deriving Symmetric Key via PKE (1) Given S and R / k PRIV-S, k PUB-S -- k PRIV-R, k PUB-R Solution 1: S determines secret key K S encrypts K with k PRIV-S : C = E(k PRIV-S, K) S sends C to R R decrypts C to get K: D(k PUB-S, C) = K S & R communicate using secret (symmetric) key K BUT: Solution 1 is not good!!! Question: Why?

18 Key Exchange (3) Deriving Symmetric Key via PKE (2) Given S and R / k PRIV-S, k PUB-S -- k PRIV-R, k PUB-R Solution 1: S determines secret key K S encrypts K with k PRIV-S : C = E(k PRIV-S, K) S sends C to R R decrypts C to get K: D(k PUB-S, C) = K S & R communicate using secret (symmetric) key K BUT: Solution 1 is not good !!! Answer: Attacker who has k PUB-S can also perform decryption! The easier the more people know k PUB-S Trivial if k PUB-S is truly public

19 Key Exchange (4) Deriving Symmetric Key via PKE (3) Solution 2: S determines secret key K S encrypts K with k PUB-R : C = E(k PUB-R, K) S sends C to R R decrypts C to get K: D(k PRIV-R, C) = K S & R communicate using secret (symmetric) key K Solution 2 is better Only R can decode K (only R knows k PRIV-R )...but Solution 2 still is not quite good Question: Why? Hint: what about msg authentication?

20 Key Exchange (5) Deriving Symmetric Key via PKE (4) Solution 2: S determines secret key K S encrypts K with k PUB-R : C = E(k PUB-R, K) S send C to R R decrypts C to get K: D(k PRIV-R, C) = K S & R communicate using secret (symmetric) key K Solution 2 is better Only R can decode K (only R knows k PRIV-R )...but Solution 2 still is not quite good Answer: No msg authentication (R has no assurance that msg was sent by S – anybody could have encoded with k PUB-R )

21 Key Exchange (6) Deriving Symmetric Key via PKE (5) Solution 3: S determines secret key K S encrypts K with both k PRIV-S & k PUB-R : C = E(k PUB-R, E(k PRIV-S, K)) S sends C to R R decrypts C to get K: D( k PUB-S, D(k PRIV-R, C) ) -- order important ! make sure you see this (see Fig p.78) Solution 3 is good! Only R can decode K (only R knows k PRIV-R ) Authentication: R is assured that S sent C Only S could have encoded K with k PRIV-S

22 2H.3. Digital Signatures (1) Outline: a. Problem Definition b. Properties of Electronic Signatures c. Using PKE for Digital Signatures d. Using Hash Fcns for Digital Signatures

23 Digital Signatures (2) a. Problem Definition (1) Motivation: Need to sign and transmit electronic doc’s or msgs, incl. checks Analogous to signing & transmitting „paper” letters, doc’s, etc., incl. checks Roles of signatures (for both paper a& electronic) Proves unforgeability of doc/letter/check Authenticates person S who signed doc/letter/check Provides non-repudiation: S cannot say sb else signed it Facilitates proving integrity (e.g., 2 signed legal copies for 2 parties) Note: signature might not identify the signing person if not legible

24 Digital Signatures (3) Problem Definition (2) Security requirements for digital signatures: Signature will not reveal signer’s private key Only owner of private key can produce a valid signature Verification of a correct signature succeeds Modification of a signed message can be detected [cf. J. Leiwo]

25 Digital Signatures (4) b. Properties of Electronic Signatures (1) M – msg / Sg(S, M) – signature of S on M Note: M = C or M = P M = P – if authentication but no secrecy needed Required properties for electronic signatures: Unforgeable: Only S can produce the pair [M, Sg(S, M)] Authenticable (can verify authenticity)/ non-repudiable: R can verify that Sg(S,M) in [M, Sg(S, M)] comes from S  Only S could have produced M”+”Sg(S,M)  Sg(S, M) is firmly attached to M M Sg(S, M)

26 Digital Signatures (5) Properties of Electronic Signatures (2) Desirable properties for electr. signatures: Not alterable (assures „integrity”) : Once sent, M”+”Sg(S,M) cannot be undetectably altered by S, R, or interceptor [I’d rather consider this a part of „unforgeability” above] Not reusable: If M is received again, S detects that M is „old” E.g., can’t deposit a copy of a check to „double-deposit” Digital signature is a protocol that mimics effect of signature on paper M Sg(S, M)

27 Digital Signatures (6) c. Using PKE for Digital Signatures (1) Transmitting signed msgs with PKE Original message: Privacy transformation: C = E(P, K PUB-R ) Only R can decrypt it (with K PRIV-R ) Authenticity transformation = signing: Sg = Sg(S, C) = D(C, K PRIV-S ) Only S can produce Sg(S, C) (with K PRIV-S ) Sent message:  Note: Remember that for some PKE algorithms (incl RSA): D( E(M, _), _ ) = E( D(M, _), _ ) = M (commutativity of E-D) C Sg P

28 Digital Signatures (7) Using PKE for Digital Signatures (2) Transmitting signed msgs with PKE - cont. Received msg: [ C = E(P, K PUB-R ) ] [Sg = Sg(S, C) = D(C, K PRIV-S )] R verifies Sg with S’s public key K PUB-S : If E( Sg, K PUB-S ) = C, then signature is valid bec. E( Sg, K PUB-S ) = E( D(C, K PRIV-S ), K PUB-S ) = C R decodes C with R’s private key K PRIV-R : P = D(C, K PRIV-R ) C Sg

29 Digital Signatures (8) Using PKE for Digital Signatures (3) Properties: [ C = E(P, K PUB-R ) ] [Sg = Sg(S, C) = D(C, K PRIV-S )] Unforgeability: If C is forged, it will not „correspond” to Sg ( i.e., E( Sg, K PUB-S ) ≠ C ) Authenticity: If Sg is valid, S is authenticated (only S can produce valid S’s signature) Non-repudiation (undeniability): If Sg is valid, only S could have produced it, and have sent C”+”Sg C Sg

30 Digital Signatures (9) d. Using Hash Fcns for Digital Signatures Using hash fcn H in digital signatures — signature over H(m), not over m length H(m) << length (m) Before: Now: [Fig — cf. J. Leiwo] s = Sg D A (x) = D(x, K PRIV-A ) E A (x) = E(x, K PUB-A ) Note: Any alteration of m is detected by B’s „Verify” step even if m is not encoded with K PUB-B —due to use of H(m) m Sg(S, H(m)) m Sg(S, m) m = P or m = C

31 2H.4. Certificates (1) Outline a. Introduction b. Trust Through a Common Respected Individual c. Certificates for Identity Authentication d. Trust Without a Single Hierarchy

32 Certificates (2) a. Introduction (1) Need for trust in human interactions Trust w.r.t.: Individuals Institutions (e.g., bank, hospital, car dealer) Artifacts (e.g., car, Internet browser, software house) Trust in small village vs. big city Small village: implicit trust Everybody knows everybody Mr. X „feels” how much to trust Ms. Y Big city: need to consider trust explicitly Ask around to find trusted entities Inquire friends, office mates, etc. about good car dealer, dentist, etc. Check „reputation databases” E.g., BBB=Better Business Bureau

33 Certificates (3) Introduction (2) Selected trust characteristics Trust comes in degrees of trust Vs. binary trust (with a single trust threshold) Ubiquity of trust in social and artificial systems Many users/computer systems err by trusting blindly (trust without evidence or verification!) E.g., OS trusts all application pgms – any allowed to run E.g., sers trust unknown web sites with personal data

34 End of Class 10