210 likes | 241 Views
Chapter 2 - Supplement Using Encryption in Cryptographic Protocols & Practices. Outline. Protocols Use of protocols on “ real ” tasks Distribution of keys, Electronic voting, oblivious transfer Criteria of good encryption practices Other security-enhancing methods
E N D
Chapter 2 - SupplementUsing Encryption in Cryptographic Protocols & Practices
Outline • Protocols • Use of protocols on “real” tasks • Distribution of keys, Electronic voting, oblivious transfer • Criteria of good encryption practices • Other security-enhancing methods • Block chaining, one-way encryption, cryptographic sealing, time stamps V. Sawma, Computer Security
Using Encryption • Just using encryption does not guarantee secrecy, privacy, or authenticity; it is the correct use of encryption that brings about these results. • Cryptographic protocols: the appropriate ways to use encryption • Encryption is the foundation of cryptographic protocols. • A cryptographic protocol makes use of encryptions to solve a real-world problem. V. Sawma, Computer Security
Cryptographic Protocols • A protocol is an orderly sequence of steps two or more parties take to accomplish some task. • Keywords: order, steps, task • Characteristics of a protocol: • Established in advance • Mutually subscribed • Unambiguous • Complete V. Sawma, Computer Security
Advantages of Protocols • A protocol defines a high-level process of accomplishing a task. Its correctness can be verified at a high level. • A protocol separates design of a solution from implementation of the solution. • The implementation can be done in one of many ways. • The underlying implementation of a protocol can be changed without affecting the design. V. Sawma, Computer Security
Types of Protocols: Arbitrated protocols • Arbitrated protocols • An arbiter is a disinterested third party trusted to complete a transaction between two distrusting parties. • Example: Sale of a car between strangers • Another example: Credit card transaction • In a computer protocol, an arbiter is a trustworthy third party who ensures fairness. An arbiter is usually a program or a machine which forwards a message from one user to another in a computer network. • An arbiter participates in each transaction. V. Sawma, Computer Security
Arbitrated Protocols • Disadvantages • Hard to find an arbiter • Cost of maintaining an arbiter • Communication delay • Network bottleneck • Secrecy V. Sawma, Computer Security
Types of Protocols: Adjudicated protocols • An adjudicator is a third party who can judge whether a transaction was performed fairly, in case of a dispute. • Example: a notary public, who attests the authenticity of a signed document • An adjudicated protocol allows an adjudicator to examine transaction data to decide whether two disputing parties acted fairly. V. Sawma, Computer Security
Adjudicated Protocols • Advantages • less costly (compared to arbitrated protocols) • Disadvantages • after-the-fact analysis • no prevention V. Sawma, Computer Security
Types of Protocols: Self-enforcing protocols • A self-enforcing protocol guarantees fairness of a transaction, without the presence of a third party. • During the transaction, either party’s attempt to cheat becomes immediately obvious to the other party. V. Sawma, Computer Security
Self-Enforcing Protocols • Advantages • no such cost as those associated with arbitrated or adjudicated protocols • Disadvantages • There is not a self-enforcing protocol for every situation. V. Sawma, Computer Security
Arbitrated, adjudicated, and self-enforcing protocols V. Sawma, Computer Security
Using protocols to solve problems: Key distribution • The problem: Changing keys frequently to ensure good cryptographic practice • The appropriate frequency of key exchange is not simple to decide. • Sample protocols for key distribution: • Symmetric key exchange w/o server • Symmetric key exchange with server • Asymmetric key exchange w/o server • Asymmetric key exchange with server V. Sawma, Computer Security
Key distribution: (1) Symmetric key exchange w/o server • Two users share a master key, K. • A new key, Knew is sent as E(Knew, K) from one user to the other. • Disadvantage: Every two users must share a key that is unique to them. • n (n-1) / 2 keys, for n users. • Alternative solution: Use a key distribution center (next approach) V. Sawma, Computer Security
Key distribution: (2) Symmetric key exchange with server • Instead of having every two users share a master key, a key distribution center (KDC) shares a unique key with every user. • Before user A can talk to user B, user A must get a fresh session key KAB from KDC. V. Sawma, Computer Security
Key distribution: (2) Symmetric key exchange with server V. Sawma, Computer Security
Key distribution: (2) Symmetric key exchange with server • Q: How would Renee know that Pablo really got the key from the KDC? • Given: KR - the key shared between Renee and the KDC KP - the key shared between Pablo and the KDC • Pablo sends (P, R, IP) to the KDC • KDC sends KPR to Pablo, using the message E(IP, R, KPR, E((KPR,P), KR), KP). • Pablo sends to Renee E((KPR,P), KR). • Pros and Cons ? V. Sawma, Computer Security
Key distribution: Asymmetric key exchange without server • Rationale: (a) no need for individual keys; (b) no central repository of keys • Given: Pablo’s public key, EP, and private key, DP. Renee’s public key, ER, and private key, DR. • Q: Why doesn’t Pablo simply send the message M to Renee as ER(M)? • Symmetric encryption incurs less overhead than public key encryption. • The issue: Use public key encryption to exchange a symmetric key for encrypting further communications. • Figure (next slide): Pablo sends ER(DP(K)) to Renee. V. Sawma, Computer Security
Key distribution: Asymmetric key exchange without server V. Sawma, Computer Security
Key distribution: Asymmetric key exchange with server • Allows users to request each other’s public keys from a server • Steps: • Pablo sends (P, R) to the KDC. • KDC sends DD(ER, R) to Pablo. • Pablo sends ER(P, IP) to Renee. • Renee sends (R, P) to the KDC. • KDC sends DD(EP, P) to Renee. • Renee sends EP(IP, IR) to Pablo. • Pablo sends ER(M, IR) to Renee. M is a message, and is typically a symmetric key for both parties to further communicate (approach 3). V. Sawma, Computer Security
Key distribution: Asymmetric key exchange with server V. Sawma, Computer Security