Chapter 2: Protocol Building Blocks

Slides:



Advertisements
Similar presentations
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Advertisements

CIS 725 Key Exchange Protocols. Alice ( PB Bob (M, PR Alice (hash(M))) PB Alice Confidentiality, Integrity and Authenication PR Bob M, hash(M) M, PR Alice.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Sri Lanka Institute of Information Technology
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Topic 7: Using cryptography in mobile computing. Cryptography basics: symmetric, public-key, hash function and digital signature Cryptography, describing.
Digital Signatures and Hash Functions. Digital Signatures.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Cryptography Basic (cont)
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Cryptographic Technologies
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
Protocol Building Blocks 1.Protocols are multi-agent algorithms 2.Agents know protocol 3.Protocol unambiguous, well-defined 4.Protocol complete, action.
1 Chap 1: Introduction Some background –The message is usually represented as M or P (plaintext), the encryption result is usually represented as C (ciphertext).
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Lecture 4 Cryptographic Tools (cont) modified from slides of Lawrie Brown.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
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.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Chapter 31 Network Security
Csci5233 Computer Security1 Bishop: Chapter 10 Key Management: Digital Signature.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Network Security Philadelphia UniversityAhmad Al- Ghoul Module 3 Encryption Protocols and Practices  MModified by :Ahmad Al Ghoul  PPhiladelphia.
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.
Pretty Good Privacy by Philip Zimmerman presented by: Chris Ward.
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
IT 221: Introduction to Information Security Principles Lecture 6:Digital Signatures and Authentication Protocols For Educational Purposes Only Revised:
Network Security. Security Threats 8Intercept 8Interrupt 8Modification 8Fabrication.
Chapter 4: Intermediate Protocols
Symmetric versus Asymmetric Cryptography. Why is it worth presenting cryptography? Top concern in security Fundamental knowledge in computer security.
Cryptography, Authentication and Digital Signatures
Chapter 3: Basic Protocols Dulal C. Kar. Key Exchange with Symmetric Cryptography Session key –A separate key for one particular communication session.
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.
Fall 2002CS 395: Computer Security1 Chapter 11: Message Authentication and Hash Functions.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 50 Cryptography, Privacy, and Digital Certificates.
Software Security Seminar - 1 Chapter 5. Advanced Protocols 조미성 Applied Cryptography.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Public / Private Keys was a big year… DES: Adopted as an encryption standard by the US government. It was an open standard. The NSA calls it “One.
Chapter 2 Advanced Cryptography (Part C)
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Chapter 4 Using Encryption in Cryptographic Protocols & Practices.
Based on Bruce Schneier Chapter 8: Key Management Dulal C Kar.
Digital Signatures, Message Digest and Authentication Week-9.
Protocols Chapter 2 Protocol: A series of steps, involving two or more parties, designed to accomplish a task. All parties involved must know the protocol.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Introduction to Cryptography Summarized from “ Applied Cryptography, Protocols, Algorithms, and Source Code in C ”, 2nd. Edition, Bruce Schneier, John.
A A E E D D C C B B # Symmetric Keys = n*(n-1)/2 F F
Chapter ADCS CS262/0898/V1 Chapter 3 Applied Cryptography Digital Signature "Vision without action is a daydream. Action without vision is a nightmare"
Group 9 Chapter 8.3 – 8.6. Public Key Algorithms  Symmetric Key Algorithms face an inherent problem  Keys must be distributed to all parties but kept.
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 11 September 23, 2004.
MM Clements Cryptography. Last Week Firewalls A firewall cannot protect against poor server, client or network configuration A firewall cannot.
Protocol Building Block. INTRODUCTION TO PROTOCOL Protocol? ● Def : Series of steps to accomplish a task with two or more parties Cryptographic protocol?
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
Software Security Seminar - 1 Chapter 2. Protocol Building Blocks 발표자 : 최두호 Applied Cryptography.
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.
Fourth Edition by William Stallings Lecture slides by Lawrie Brown
Basics of Cryptography
Key Exchange References: Applied Cryptography, Bruce Schneier
Computer Communication & Networks
NET 311 Information Security
Chapter 3 - Public-Key Cryptography & Authentication
Presentation transcript:

Chapter 2: Protocol Building Blocks Dulal C. Kar

Intro To Protocols A protocol is a series of steps, involving two or more parties, designed to accomplish a task Characteristics of a protocol All parties must know the protocol All parties must agree to follow it Must be unambiguous Must be complete A cryptographic protocol is a protocol that uses cryptography to prevent or detect eavesdropping and cheating

Arbitrated Protocols Arbitrator Protocol example with lawyer A disinterested third party trusted to complete a protocol Ex: lawyer, banker, notary public Protocol example with lawyer Alice gives title to lawyer Bob gives check to Alice Alice deposits check Lawyer gives title to Bob if check gets cleared within a specific time; otherwise lawyer returns title back to Alice

Problems with Computer Arbitrators Two parties are likely to be suspicious of a faceless arbitrator Computer network must bear the cost of maintaining an arbitrator Delay inherent in any arbitrated protocol Arbitrator becomes a vulnerable point for attackers Trent Arbitrator Bob Alice

Adjudicated Protocols Arbitrated protocols are costly Arbitrated protocols can be subdivided into two lower-level subprotocols Non-arbitrated subprotocol Arbitrated subprotocol Executed only in exceptional cases when there is a dispute. Special arbitrator – called adjudicator

Adjudicated Protocols (cont’d) Non-arbitrated subprotocol (executed every time) Alice and Bob negotiate the terms of the contract Alice signs the contract Bob signs the contract Adjudicated subprotocol (executed only in case of a dispute): Alice and Bob appear before a judge Alice presents her evidence Bob presents his evidence The judge rules on the evidence

Adjudicated Computer Protocols Rely on parties to be honest A body of data exists so that a trusted third party could determine if someone cheated Cheater’s identity can be detected Inevitability of detection acts as a preventive and discourages cheating

Self-Enforcing Protocols No arbitrator required Protocol itself guarantees fairness A party can detect whether other party is trying to cheat and therefore, can stop immediately Unfortunately, there is not a self-enforcing protocol for every situation

Attacks Against Protocols Cryptographic attacks Attacks against cryptographic algorithms used in protocols Attacks against cryptographic techniques used to implement the algorithms and protocols Attacks against the protocols themselves Passive attacks Eavesdrop on some or all of the protocol Active attacks Introduce new messages, delete messages, interrupt, alter, reply Passive cheaters Follow protocol, but try to obtain more info Active cheaters Disrupt protocol in progress in an attempt to cheat

Communications Using Symmetric Cryptography Alice and Bob agree on a cryptosystem Alice and Bob agree on a key Alice encrypts her plaintext using the key and the algorithm Alice sends ciphertext to Bob Bob decrypts ciphertext with the same key and the algorithm Problems Keys must be distributed in secret In case of compromise, not only messages can be decrypted but false messages can be produced Total number of keys increases rapidly as the number of users increases. For n users, we need n(n-1)/2 keys Note: A good cryptosystem is one in which all the security is inherent in knowledge of the key and none is inherent in knowledge of the algorithm

One-Way Functions Central to public-key cryptography Relatively easy to compute, but significantly harder to reverse. That is. given x it is easy to compute f(x), but given f(x) it is hard to compute x. Meaning of “hard” in cryptographic sense Would take millions of years to compute x from f(x) with world’s all computers Note One-way functions are not useful for encryption because a message encrypted with a one-way function cannot be decrypted Trapdoor one-way function Special type of one-way function It is easy compute f(x) given x, and hard to compute x given f(x) However, given f(x) and some secret information y, it is easy to compute x

One-Way Hash Functions Building block of many protocols Also called compression functions, contraction functions, message digests, fingerprints, cryptographic checksums, message integrity checks (MIC), manipulation detection codes (MDC) A hash function takes a variable-length input string (called a pre-image) and converts it to a fixed-length, smaller output string (called a hash value) A good one-way hash function is also collision-free It is hard to generate two pre-images with the same hash value

Message Authentication Codes (MAC) Also known as data authentication codes (DAC) One-way hash functions with addition of a secret key Hash value is a function of both the pre-image and the key Exactly same as hash functions except only someone with the key can verify the hash value

Communications Using Public-Key Cryptography 1976, Whitfield Diffie and Martin Hellman first described public-key cryptography Two different keys – one public and the other private Computationally hard to deduce the private key from the public key Mathematically, process is based on trap-door one-way functions previously discussed Secret or trapdoor is the private key Public-key cryptography solves the key management problem with symmetric cryptosystems

Sending Message Using Public-Key Cryptography Alice sending a message to Bob Alice and Bob agree on a public-key cryptosystem Bob sends Alice his public key Alice encrypts her message using Bob’s public key and sends it to Bob Bob decrypts Alice’s message using his private key

Public-key Cryptosystem A database of the public keys of all users is to be maintained for public access Protocol Alice gets Bob’s public key from the database Alice encrypts her message using Bob’s public key and sends it to Bob Bob then decrypts Alice’s message using his private key

Problems with Public-key Cryptography In the real world, public-key algorithms are not used to encrypt messages but to encrypt keys. Why? Public-key algorithms are slow Public-key cryptosystems are vulnerable to chosen-plaintext attacks. If C = E(P), when P is one plaintext out of n possible plaintexts, one has to encrypt all n possible plaintexts and compare with C. Cryptanalyst doesn’t need to know the private key to determine P this way

Hybrid Cryptosystems Public-key cryptography is used to secure and distribute session keys Session keys are used with symmetric algorithms Example Protocol Bob sends Alice his public key Alice generates a random session key, K, encrypts it using Bob’s public key, and sends it to Bob. EB(K). Bob decrypts Alice’s message using his private key to recover the session key. DB(EB(K)) = K Both of them encrypt their communications using the same session key

Signatures Handwritten Signatures’ characteristics Authentic Unforgeable Not reusable Unalterable Cannot be repudiated In reality, none of these characteristics about signatures is completely true

Signing Documents with Symmetric Cryptosystems and an Arbitrator Example: Alice: signer; Bob: Receiver; Trent: Arbitrator Trent shares secret keys KA with Alice and KB with Bob Alice encrypts her message to Bob with KA and sends it to Trent Trent decrypts the message with KA Using KB ,Trent encrypts the decrypted message and a statement that he has received this message from Alice Bob decrypts the bundle with KB. He reads Alice’s message and Trent’s certification Check above protocol for five characteristics in the previous slide

Problems with the Protocol Time-consuming for Trent Trent is a bottleneck in the communication systems A trust-worthy computer system like Trent is difficult to maintain on the network (Trust) Trent has to be completely secure (Security)

Signing Documents with Public-Key Cryptography First invented by Diffie and Hellman Examples: RSA and DSA Basic protocol Alice encrypts the document with her private key, thereby signing the document Alice sends the signed document to Bob Bob decrypts the document with Alice’s public key, thereby verifying the signature Check the protocol for five characteristics in the previous slide

Signing Documents and Timestamps Previous protocol has at least one problem: Bob can cheat Alice in some circumstances. How? Problem with signed digital check: Copies of the digital check maybe used repeatedly Solution: Include timestamps in digital signatures Date and time of the signature are attached to message and signed along the rest of the message

Signing Documents with Public-Key Cryptography and One-Way Hash Functions In practical implementations, public-key algorithms are inefficient to sign long documents Protocol example Alice produces a one-way hash of a document Alice encrypts the hash with her private key, thereby signing the document Alice sends the document and the signed hash to Bob Bob produces one-way hash of the document. He decrypts the signed hash with Alice’s public key for matching and signature verification

Benefits of the Protocol Speed increases. Signature of the hash is the signature of the document Signature can be kept separate from the document Recipient’s storage requirements for document and signature are much smaller An archival system can use this type of protocol to verify the existence of documents without storing their contents

Algorithms and Terminology All digital signature algorithms are public-key algorithms with secret information (private key) to sign documents and public information (public key) to verify signatures. Notation for signing a message with private key K is: Sk(M) Notation for verifying a signature with the corresponding public key is: Vk(M) Digital signature Bit string attached to the document when signed Authentication The protocol by which the receiver is convinced of the identity of the sender and the integrity of the message

Multiple Signatures With one-way hash functions: Alice signs the hash of the document Bob signs the hash of the document Bob sends his signature to Alice Alice sends the document, her signature, and Bob’s signature to Carol Carol verifies both Alice’s signature and Bob’s signature Carol can verify both signatures independently

Non-Repudiation and Digital Signatures Problem with digital signature protocol Alice can sign a document and later claim she did not. She can lie telling that someone has stolen her private key Nothing can be done in this case

Non-Repudiation and Digital Signatures (cont’d) Preserving validity of old signatures using timestamps Alice signs a message Alice includes a signed identified header with the signed message and sends it to Trent Trent verifies Alice’s identity, adds a timestamp, signs it all, and sends it to both Alice and Bob. Bob verifies Trent’s signature, the identifying information, Alice’s signature Alice verifies the message Trent sent to Bob. If she did not originate the message, she speaks up quickly.

Digital Signatures With Encryption Combining digital signatures with public-key cryptography (Authentication + privacy) Alice signs the message with her private key. SA(M) Alice encrypts the signed message with Bob’s public key and sends it to Bob. EB(SA(M)) Bob decrypts the message with his private key. DB(EB(SA(M))) = SA(M) Bob verifies with Alice’s public key and recovers the message. VA(SA(M)) = M Timestamps should be used in this protocol to prevent reuse of messages

Resending the Message as a Receipt Whenever Bob receives a message, he returns it as a confirmation of receipt Alice signs a message with her private key, encrypts it with Bob’s public key and sends it to Bob. EB(SA(M)) Bob decrypts the message with his private key and verifies the signature with Alice’s public key. VA(DB(EB(SA(M)))) = M Bob signs the message with his private key, encrypts it with Alice’s public key, and sends it back to Alice. EA(SB(M)) Alice decrypts the message with private key and verifies signature with Bob’s public key Digital signature verification is subject to possible attack! How? Refer to text.

Attacks Against Public-Key Cryptography A secured but publicly accessible database maintains all public keys Attacker can substitute a public key during transmission To prevent this, a key certification authority or key distribution center (KDC) can sign the public key with its private key

Random and Pseudo-Random-Sequence Generation Problem A random-number generator does not really produce a random sequence The best a computer can produce is a pseudo-random-sequence generator Cryptographically Secure Pseudo-Random Sequences Must be computationally infeasible to predict