Homework #5 Solutions Brian A. LaMacchia

Slides:



Advertisements
Similar presentations
Hash Functions A hash function takes data of arbitrary size and returns a value in a fixed range. If you compute the hash of the same data at different.
Advertisements

Chapter 14 – Authentication Applications
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
Homework #4 Solutions Brian A. LaMacchia Portions © , Brian A. LaMacchia. This material is provided without.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
EECC694 - Shaaban #1 lec #16 Spring Properties of Secure Network Communication Secrecy: Only the sender and intended receiver should be able.
Homework #8 Solutions Brian A. LaMacchia Portions © , Brian A. LaMacchia. This material is provided without.
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.
Homework #5 Solutions Brian A. LaMacchia Portions © , Brian A. LaMacchia. This material is provided without.
Long-term Archive Service Requirements draft-ietf-ltans-reqs-00.txt.
TrustPort Public Key Infrastructure. Keep It Secure Table of contents  Security of electronic communications  Using asymmetric cryptography.
E- Business Digital Signature Varna Free University Prof. Teodora Bakardjieva.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Masud Hasan Secure Project 1. Secure It uses Digital Certificate combined with S/MIME capable clients to digitally sign and.
Cryptography 101 Frank Hecker
Bob can sign a message using a digital signature generation algorithm
Secure Electronic Transaction (SET)
Network Security – Part 2 (Continued) Lecture Notes for May 8, 2006 V.T. Raja, Ph.D., Oregon State University.
Information Security Fundamentals Major Information Security Problems and Solutions Department of Computer Science Southern Illinois University Edwardsville.
Unit 1: Protection and Security for Grid Computing Part 2
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
X.509 Topics PGP S/MIME Kerberos. Directory Authentication Framework X.509 is part of the ISO X.500 directory standard. used by S/MIME, SSL, IPSec, and.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 8 (Chapter 18) Electronic Mail Security Prepared by Dr. Lamiaa M. Elshenawy 1.
 Introduction  History  What is Digital Signature  Why Digital Signature  Basic Requirements  How the Technology Works  Approaches.
Security Outline Encryption Algorithms Authentication Protocols
Unit 3 Section 6.4: Internet Security
Symmetric and Asymmetric Encryption
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Computer Communication & Networks
Cryptography and Network Security
Cryptographic Hash Function
Public Key Encryption Systems
e-Health Platform End 2 End encryption
Authentication Applications
S/MIME T ANANDHAN.
Digital Signature.
The TESLA Broadcast Authentication Protocol CS 218 Fall 2017
NET 311 Information Security
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 7 STRENGTH OF ENCRYPTION & Public Key Infrastructure
Pooja programmer,cse department
ELECTRONIC MAIL SECURITY
Digital Certificates and X.509
Lecture 4 - Cryptography
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
The Secure Sockets Layer (SSL) Protocol
Protocol ap1.0: Alice says “I am Alice”
Digital Signatures…!.
Homework #4 Solutions Brian A. LaMacchia
Best Digital Signature Service in Noida. Electronic Record 1.Very easy to make copies 2.Very fast distribution 3.Easy archiving and retrieval 4.Copies.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
CDK: Chapter 7 TvS: Chapter 9
Secure How do you do it? Need to worry about sniffing, modifying, end-user masquerading, replaying. If sender and receiver have shared secret keys,
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 3 - Public-Key Cryptography & Authentication
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Public Key Encryption Systems
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 8 roadmap 8.1 What is network security?
….for authentication and confidentiality PGP
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Presentation transcript:

Homework #5 Solutions Brian A. LaMacchia bal@cs.washington.edu bal@microsoft.com Portions © 2002-2006, Brian A. LaMacchia. This material is provided without warranty of any kind including, without limitation, warranty of non-infringement or suitability for any purpose. This material is not guaranteed to be error free and is intended for instructional use only.

Question 1 - Timestamping Clients send the timestamping service a hash value. The service signs the hash value together with the current time, producing a timestamping receipt. The timestamping receipt is then sent back to the client, who can do whatever he wants with it (typically, archive it and/or send it along with the signature). February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 1a What information would you include in the receipt? Why are you including it? What’s the minimum size in bytes of the information you have to include? Assumptions: Hash values sent to you by clients are all SHA2-256 hashes and are thus 32 bytes in size. Time is expressed using the GeneralizedTime structure, which is 15 bytes in length. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 1a Minimum set: The hash value the client submitted to the timestamp service (32 bytes) The timestamping time (15 bytes) An identifier for the signature algorithm the timestamp service is going to use to sign the receipt This includes the algorithm the service uses to hash the receipt contents (e.g. “RSA-SHA2-256”) Variable length, could be as small as 1 byte, but is probably at least 4 bytes. Anything reasonable is OK so long as you justified it. The timestamp server’s signature will take another 256 bytes (assuming RSA with 2048-bit keys) Per my e-mail, since by “included” I had intended “included in the to-be-signed part”, you didn’t have to include the signature (it’s OK if you did) February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 1a What additional information would you include? Some possibilities: Version numbers E.g. For the receipt format (~4 bytes typically) Public key of the timestamp authority Assume ~260 bytes (256 bytes for a 2048-bit public key, 4 bytes for e if it’s short) Certificates for the timestamp authority These would be at least 512 bytes each (subject public key + issuer signature), probably 1K or more in practice. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 1b Describe how you could modify the operation of your timestamping service to defend against fraudulent insertion of timestamps “after the fact”. What additional information do you have to add to the timestamping receipt to effect this change? February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 1b One way to do this is to link the timestamping receipts together by “hash chaining” Include the hash of the nth receipt within the to-be-signed info of the (n+1)st receipt. Every so often (daily, weekly) widely publish (e.g. NYT classifieds) the hash of the last issued timestamp. Only adds 32 bytes to the receipt (size of a SHA2-256 hash) "How to Timestamp a Digital Document," S. Haber, W. Stornetta, Journal of Cryptology, Vol. 3, No. 2, pp. 99-111, 1991. Available at http://www.surety.com/dataintegrity.php February 7, 2006 Practical Aspects of Modern Cryptography

Question 2 – Encrypting Mail to Mailing Lists February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2a What information does the sender have to know about each mailing list recipient if it wants to be able to send them encrypted messages? Nothing—in this scenario the sender doesn’t need to know anything about the ultimate recipients of mailing list messages. The sender just has to know the public encryption key of the central mailing list server. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2a What information does each recipient have to know about the mailing list server? Nothing in order to decrypt messages sent to them. If the server signs messages in any of your protocols, then recipients would have to know the public part of the server’s signing key pair. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2a If there are M members of the mailing list, how many public keys does each member need to know and how many keys does the server need to know? Each member needs to know 1 public encryption key (the public key of the server). They also need to know their own public & private key. The central server needs to know M public encryption keys (one per subscriber), plus his own private key pair February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2b When the sender encrypts a message that he wants to send to the mailing list, how many RecipientInfos will his S/MIME message have? One (for the mailing list server) Does it make a difference if the sender wants to archive a copy of his encrypted message in his “Sent Items” folder in case he wants to look at it later? Yes, in this case the sender needs to include a second RecipientInfo for himself. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2c Describe one way that the server could verify that the message came from a mailing list subscriber. The server could maintain a database of members public signing keys along with their e-mail addresses and require that senders digitally sign all messages sent to the mailing list. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2c Does the server need to know any additional information about the sender beyond what you already indicated in you answer to Question 2(a)? Yes, in the general case. The server would need to know a public signature key for each mailing list participant. While this could conceivably be the same as the encryption key if RSA is being used, in general subscribers would have separate signing and encryption keys. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2d If the mailing list has M members, how many public key encryptions does the server have to perform to prepare the message for sending? The server needs to perform at least M-1 public key encryptions – one for every recipient except the sender (assuming the sender included a second RecipientInfo for himself). If the sender didn’t do that then it’s M encryptions. For each recipient the server needs to create a RecipientInfo (content encryption key encrypted with the recipient’s public key). February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2d Does it make a difference if the server prepares one message with many RecipientInfos vs. a separate message for every recipient? No, not in terms of the number of public key encryptions required. The server has to perform the same number of PK encryptions whether it’s one message to M recipients or M separate messages. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2e How much symmetric key decryption and encryption does the server need to do in order to properly relay the message? This depends on your answer to 2(c). If you said in 2(c) “have the signer sign the message”, then the server is going to have to decrypt the message once in order to reveal and verify the signer’s signature. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 2e Re-encryption of the message body: If the mailing list is not anonymous, then the server can re-use the encrypted content from the inbound message, and no further symmetric operations are required. If the mailing list *is* anonymous, then the server will have to re-encrypt the message body after removing the signature, so one symmetric encryption of the content will be required. February 7, 2006 Practical Aspects of Modern Cryptography

Question 3 – Subscribe Protocol Describe a protocol that the new subscribing user and the server can use to send this information to the server and authenticate that it came from the entity that receives e-mail at the subscribing address. That is, the server needs to know that the subscriber isn’t maliciously signing someone else up to the mailing list. February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 3 – Solution Subscribing client C randomly generates a new public/private encryption key pair (KPub, KPriv) C  Server S: KPub along with his subscribing e-mail address S randomly generates a nonce N S  C the nonce encrypted with the public key KPub: {N}KPub February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 3 – Solution C decrypts {N}KPub to obtain N. C encrypts the hash H(N) to S using S’s public key KSPub C  S: {H(N)}KSPub S decrypts {H(N)}KSPub to obtain H(N) and verifies that H(N) is the hash of the nonce originally sent to C. February 7, 2006 Practical Aspects of Modern Cryptography

Question 4 – Group Symmetric Key Design the “group symmetric key” system. Describe how: The server can ensure that new subscribers get the current group symmetric key The group symmetric key is used to encrypt a particular message What happens to the current group symmetric key when a member unsubscribes from the mailing list. February 7, 2006 Practical Aspects of Modern Cryptography

Question 4 – Group Symmetric Key Describe how the server can ensure that new subscribers get the current group symmetric key The server can communicate the GSK as part of the registration process. We can modify the solution to Q3 above as follows February 7, 2006 Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Question 4 [Steps 1-6 same as in Q3] C  S: {H(N)}KSPub S decrypts {H(N)}KSPub to obtain H(N) and verifies that H(N) is the hash of the nonce originally sent to C. S  C: {GSK}KPub If we want confirmation, C  S: H(GSK,N), or C  S: {H(GSK)}KSPub February 7, 2006 Practical Aspects of Modern Cryptography

Question 4 – Group Symmetric Key Describe how the group symmetric key is used to encrypt a particular message. When the server receives an inbound message, it will decrypt the RecipientInfo addressed to it to obtain the content encryption key (CEK). Now, instead of performing a public key encryption for each recipient, the server encrypts the content encryption key with the group symmetric key. The result is stored in a RecipientInfo that’s common to all recipients. We use the “KEKRecipientInfo” form of RecipientInfo in S/MIME, which allows us to encrypt a content encryption key with another symmetric key. February 7, 2006 Practical Aspects of Modern Cryptography

Question 4 – Group Symmetric Key What happens to the current group symmetric key when a member unsubscribes from the mailing list. When a user unsubscribes, the current GSK becomes invalid and the server has to generate a new GSK and send it to the remaining list members. One way to do this is to have the server send a separate message to each list member containing the new GSK encrypted with their respective public encryption keys. Clients could then send a confirmatory message to the server to indicate that they’ve received the new GSK. [Optional step] February 7, 2006 Practical Aspects of Modern Cryptography

Question 4 – Group Symmetric Key Another possibility is to have the server send the GSK (encrypted to each recipient) as part of the next mailing list message. Form the S/MIME message using the GSK to encrypt the CEK. Include the KEKRecipientInfo with {CEK}GSK (CEK encrypted with GSK) Include M additional RecipientInfos, one per member i, containing {GSK}KPub,i February 7, 2006 Practical Aspects of Modern Cryptography