Subject: [Lurk] comments on draft-mglt-lurk-tls-requirements-00

From: "Mishra, Sanjay" <[email-masked]>
Date: Mon, 28 Mar 2016 16:41:22 -0400

Hi Daniel - I have reviewed the draft-mglt-lurk-tls-requirements-00 and have the following editorial comments/suggestions.

1.       Abstract

a.       "Client uses TLS/DTLS to authenticates" -> "Client uses TLS/DTLS to authenticate"

b.      Remove the word "Like" from "but instead to a third party like, for example," -> "but instead to a third party, for example,"

c.       "As a result, the Content Provider and the Edge Server must be able to interact and/or share some information." -> "As a result, the Content Provider and the Edge Server must be able to interact and/or share information as needed."

d.      "Interactions and shared information constitutes a split Authentication model varies with the authentication method involved in the TLS session." -> "The above described scenario constitutes a split authentication model and it varies with the authentication method involved in the TLS session."

e.      "For each TLS/DTLS authentication method, the document provides the associated split authentication model that makes possible a split authentication." -> "For each TLS/DTLS authentication method, the document provides the corresponding split authentication model."

f.        "The split authentication model is associated to security requirements" -> "The split authentication model is subject to security requirements"

2.       Introduction

a.       "TLS is commonly used by applications to authenticate their counter part." -> "TLS is commonly used by applications to authenticate servers hosting the requested content"

b.      "How split authentication can be performed varies on the TLS authentication method involved between the TLS Client and the Edge Server." -> "How split authentication can be performed varies than the TLS authentication method involved between the TLS Client and the Edge Server."

c.       "The requirements on the information that can be shared" -> "The requirements for the information that can be shared"

d.      "This document provides a split authentication model for each TLS method." -> "This document describes a corresponding split authentication model for each TLS method."

e.      "The model is often expresses" -> "The model is often expressed"

f.        "These split authentication models are designed to avoid the leak of secret authentication credentials of the Content Provider, and matched against the standard TLS/DTLS authentication model." -> "The split authentication models are designed to avoid leaking of secret authentication of the Content Provider, and also compared with the standard TLS/DTLS authentication method"

g.       "More especially, the split authentication models are designed not to introduce vulnerabilities or weakness compared to the standard TLS authentication model. -> "Specifically, the split authentication models are designed to not introduce vulnerabilities or weakness compared to the standard TLS authentication method."

3.       Terminology

a.       Split Authentication

                                                               i.      "with a Edge Server." -> "with an Edge Server."

                                                             ii.      "nor share authentication credentials - like private keys for example - with the Content Provider." -> "nor share authentication credentials - private keys - with the Content Provider."

b.      Split Authentication Model

                                                               i.      "Content Provider in order to enable the split authentication." -> "Content Provider to enable the split authentication."

4.       Handshake Authentication Methods for DTLS 1.2/TLS 1.2

a.       2nd paragraph, lines 2/3, "methods for DTLS 1.2 [RFC6347] TLS 1.2 [RFC5246] are..." ->"methods for DTLS 1.2 [RFC6347] and TLS 1.2 [RFC5246] are..."

b.      3rd paragraph, lines 1/2, "For each authentication method, this section provides a brief description of the authentication method." -> "This section provides a brief description of each authentication method."

c.       3rd paragraph, line 3, "usually associated to the Content" -> "usually associated with the Content"

d.      3rd paragraph, line 4, "For each of these credential" -> "For each of these credentials"

e.      3rd paragraph, lines 5/6, "and if not what information the Content Provider needs" -> "and if not, what information Content Provider needs"

f.        4th paragraph, line 7, "Figure 1 illustrates the various messages exchanges" -> "Figure 1 illustrates various messages exchanged"

5.       (Sec 4.1) RSA Authentication

a.       Sec 4.1.1. heading, " Standard TLS Authentication Description" -> "Standard TLS Authentication Model"

b.      1st paragraph, line 7, "This later" -> "The latter"

c.       3rd paragraph, line 8, "not be able to agree with the TLS Client the session keys" -> "not be able to agree with the TLS Client for the session keys"

6.       (Sec 4.1.2) Split Authentication Model

a.       First paragraph, "This section lists the requirements to use the RSA authentication in a split authentication model." -> This section lists the requirements for the RSA authentication in a split authentication model."

b.      (REQ2), "The RSA private key is associated to the Content Provider and SHOULD be kept in a secure place." -> "The RSA private key is associated with the Content Provider and therefore MUST not be shared with the Edge Server. [I believe the REQ should not say (as it does not know) how "securely" or not Content Provider store the private key]

c.       4th paragraph, line 1, "The RSA private key is necessary to the Edge Server to decrypt" -> "The RSA private key is necessary for the Edge Server to decrypt"

d.      4th paragraph line 4, "that is in our case the Content Provider." -> "That is, in our case the Content Provider."

e.      (REQ 3): "The Edge Server SHOULD be able to provide the EncryptedPremasterSecret - as well as additional necessary parameters - and be returned the clear text premaster" -> "The Edge Server SHOULD be able to provide the EncryptedPremasterSecret - as well as additional necessary parameters - and in exchange, the Content Provider return the premaster in clear text"

7.       (Sec 4.1.3) Security Analysis

a.       3rd paragraph, line 1, "The Edge Server can perform a chosen cipher text attack" -> "The Edge Server can perform an attack on chosen cipher text"

b.      3rd paragraph, line 6, "believe" -> "believed"

c.       4th paragraph, line 8, "some of the discussion are discussed in the architecture document, on a model comparison one can say " -> "some of the points are discussed in the architecture document, including the model comparison can say"

d.      (REQ 5), line 3, "believe' -> "believed"

e.      (Paragraph above REQ 7), line 3, " Follows" -> "Following is"

8.       (Section 4.2.1)

a.       Heading, "Standard TLS Authentication Description" -> "Standard TLS Authentication Model"

b.      1st paragraph, Line2, "contains a certificate that contains the fixed DH or ECDH value." -> "contains a certificate with fixed DH or ECDH value."

c.       1st paragraph, line 3, "DH or ECDH fix value" -> "The DH or ECDH fixed value"

d.      2nd paragraph, line 2, "counter part fix value" -> "counterpart fixed value"

9.       (Section 4.2.2) Split Authentication Model

a.       Paragraph 1, line 1, "lists the requirements to use" -> "lists the requirements when using either"

b.      (REQ 9), line 3, "associated to" -> "associated with"

c.       (line after REQ 9), "key is necessary to the Edge Server" -> "key is necessary for the Edge Server"

d.      (line after REQ 9, line 3, "These operations can only be performed by the owner of the private key, that is in our case the Content Provider. Thus, the requirements regarding interactions between the Content Provider and the Edge Server are:" -> "This operation can only be performed by the owner of the private key, that is,  in our case the Content Provider. Thus, the requirement regarding interaction between the Content Provider and the Edge Server is:"

e.      (REQ 10), "The Content Provider SHOULD provide the Edge Server facilities...."Could you be more specific here with what you mean by "facilities"?

10.   (Section 4.2.3) Security Analysis

a.       1st paragraph, line 5, ""does not leak more information" -> "does not leak any more information"

b.      2nd paragraph, line 7, "such information are" -> "such information is"

c.       3rd paragraph, line 2, Should you say "is not expected to share any more information than the TLS Server shares information to the TLS Client" instead of "leak" a word that represents making information available unintentionally whereas, in this example, "share"  is a more deliberate action to show interchange of information between a TLS server/client and/or CP and the Edge Server.

d.      4th paragraph, line 2, "the Content Provider can hardly distinguish the premaster that are being requested in order to" -> "the Content Provider can hardly distinguish the premaster that is being requested either legitimately by a TLS client or an authorized server or an attacker in order to"

e.      4th paragraph, last line, just add "following requirements are identified" after "As a result"

f.        (REQ 12), line 3 -> "believe" -> "believed"

g.       (Paragraph after REQ 12, line 3), "Follows the security requirements...." -> As a result, following requirements on the Content Provider/Edge Server Channel can be specified"

h.      (Paragraph after REQ 13, line 1), "As a result, ... to leak" -> "Therefore, ...to expose"

11.   (Section 4.3.3) Security Analysis

a.       1st paragraph, line 5, "does not leak more" -> "does not expose any more information"

b.      2nd  paragraph, line 3, "leakage" -> "exposure"

c.       3rd paragraph, line 1, " is not expected to leak more information" -> "is not expected to share any more information"

12.   (Section 4.4.1) Heading

a.       Standard TLS Authentication Description" -> "Standard TLS Authentication Model"

13.   (Section 4.4.2) Split Authentication Model

a.       "requirements to use" -> "requirements using"

b.      (REQ 15), line 5, " "or a ECDSA public key" -> "or an ECDSA public key"

c.       (REQ 16), "associated to the Content Provider" -> "associated with the Content Provider"

d.      (paragraph after REQ 16), lines 1 to 4, "key is necessary to the Edge Server...These operations...that is...Thus the requirements...are:" -> "key is necessary for the Edge Server...This operation...that is,...Thus the requirement is:"

14.   (Section 4.4.3) Security Analysis

a.       "leak more information" -> "expose any more information "

b.      (REQ 19), lines 3 to 6, "opportunity of the Content Provider...it is believe...has a very low probability" -> "opportunity to the Content Provider...it is believed...is a very low probability"

c.       (Paragraph after REQ 19), lines 3 to 6, "provides...has no ways..." -> "provide...has no way..."

d.      (Paragraph after REQ 19), enum a), lines 5 to 10, "the content that are signed...text is provide...its sign....On the other hand...corresponds to an effective and legitimate TLS session" -> "the content that it signs...text is provided...it signs....On the other hand,...corresponds to an in-effect and legitimate TLS session"

e.      Enum b, line 2, "such attack" -> "such an attack"

f.        Enum c, line 1, Should you say "given the correlation between clear text and their corresponding signatures" instead of "given the corresponding between clear text and their corresponding signatures"?

g.       Paragraph after enum c, line 3, "that is not anymore always true" -> "that is not almost always true"

h.      (REQ 20), line 3, "as input" -> "as an input"

i.         (REQ 21), line 2, "chose" -> "chooses"

j.        (Paragraph after REQ21), line 1, "to be secret" -> "to be a secret"

k.       (Paragraph after REQ 22), line 2 "leak more information" -> "expose any more information"

15.   (Section 4.5.1)

a.       Heading, "Standard TLS Authentication Description" -> "Standard TLS Authentication Model"

b.      1st paragraph, line 4, "the PSK to select" -> "select the PSK"

c.       4th paragraph, lines 4 to 6, "informations...check the validity....To sum up" -> "information...checks the validity....To sum up,"

16.   (Section 4.5.2)

a.       1st paragraph, line 1, "requirements to use" -> "requirements when using"

b.      (REQ 23), line 4, "leak" -> "expose"

c.       (REQ 24), line 2, "more especially" -> "more specifically" (also see paragraph after REQ 26 for similar use)

d.      (REQ 29), line 4, "be returned" -> "shall be returned"

17.   (Section 4.5.3) Security Analysis

a.       2nd paragraph, line 9, "whether" -> "whereas"

b.      3rd paragraph, line 4 "leak information" -> "exposes any more information"

c.       (Paragraph after REQ 35), line 3, "Follows the security requirements" -> "Following is the security requirement"

d.      (Paragraph after REQ 36), line 1, "leak more information" -> "expose any more information"

18.   (Section 5) Security Considerations

a.       1st paragraph, line 6, "own by" -> "owned by"

Thanks
Sanjay

-----Original Message-----
From: Lurk [mailto:[email-masked]] On Behalf Of Daniel Migault
Sent: Tuesday, January 19, 2016 5:12 PM
To: Stephen Farrell; [email-masked]<mailto:[email-masked]>
Subject: Re: [Lurk] getting started with lurking

Hi ,

I support the BoF and would like the "offload TLS without giving the CDN my private key" use-case being solved by a standard track RFC.

We have already published a an architecture draft [1], a use-case draft [2] and a requirement draft [3]. I am planning to provide an abstract API draft soon too.

Feel free to provide feed backs! Comments are more than welcome!

BR,
Daniel

[1] https://tools.ietf.org/html/draft-cairns-tls-session-key-interface-01
[2] https://tools.ietf.org/html/draft-mglt-lurk-tls-use-cases-00
[3] https://tools.ietf.org/html/draft-mglt-lurk-tls-requirements-00