Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-profile
Jim Schaad <ietf@augustcellars.com> Thu, 23 May 2019 17:41 UTC
Return-Path: <ietf@augustcellars.com>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ABF1A120099; Thu, 23 May 2019 10:41:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yEku-y3cnIvq; Thu, 23 May 2019 10:40:58 -0700 (PDT)
Received: from mail2.augustcellars.com (augustcellars.com [50.45.239.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 95200120043; Thu, 23 May 2019 10:40:57 -0700 (PDT)
Received: from Jude (73.180.8.170) by mail2.augustcellars.com (192.168.0.56) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 23 May 2019 10:40:50 -0700
From: Jim Schaad <ietf@augustcellars.com>
To: 'Cigdem Sengul' <cigdem.sengul@gmail.com>
CC: draft-ietf-ace-mqtt-tls-profile@ietf.org, ace@ietf.org
References: <009c01d510e9$7eada030$7c08e090$@augustcellars.com> <CAA7SwCP3soOFTfKOHPAXo3eur0VrgHG81c++c=ipNKOYL2Mu6g@mail.gmail.com>
In-Reply-To: <CAA7SwCP3soOFTfKOHPAXo3eur0VrgHG81c++c=ipNKOYL2Mu6g@mail.gmail.com>
Date: Thu, 23 May 2019 10:40:48 -0700
Message-ID: <001001d5118e$aa155290$fe3ff7b0$@augustcellars.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0011_01D51153.FDB7B310"
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQEyqE6F6zu5BBD6EjCl0MEK4rN6KgGJqo9Qp7F8IcA=
X-Originating-IP: [73.180.8.170]
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/LG1a-ksyn3MXUhZT2djuv3nEM1U>
Subject: Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-profile
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <ace.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ace>, <mailto:ace-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace/>
List-Post: <mailto:ace@ietf.org>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ace>, <mailto:ace-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 May 2019 17:41:03 -0000
From: Cigdem Sengul <cigdem.sengul@gmail.com> Sent: Thursday, May 23, 2019 4:21 AM To: Jim Schaad <ietf@augustcellars.com> Cc: draft-ietf-ace-mqtt-tls-profile@ietf.org; ace@ietf.org Subject: Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-profile Thank you, Jim, for the comments. I have created issues corresponding to each one in the GitHub repository. We will start working on them, and specifically clarify the issues 1-3 around the CONNECT message. For 4, MQTT v5 can support a challenge-response; not possible with v3 indeed. Will expand the security considerations section on that. 5. We described a convention in the draft with SHOULD. Do we turn that into a MUST? [JLS] I missed this somehow. What is there is fine. 6. We thought that the AS would dictate the token expiration time. It can also be done that RS times out tokens even if they have not expired. But, security-performance trade-off should be considered. Token caching is important even if the token does not need introspection. The only time the MQTT client can push a token is with the CONNECT message (all subsequent publish/subscribe messages rely on this). In MQTT v5, a client can push a new token via reauthentication during an ongoing session (enabled by MQTT v5). If RS times out the token, this means a disconnection in MQTT v3. We mention this in Security considerations as "it is expected that AS follows a reasonable expiration strategy for access tokens" -->There may be workarounds designed especially MQTT v5 which has better support for request-response style communication. But need to think about it. [JLS] For introspection, but not for a published token, the token could be “revoked” by the RS. In this case a new introspection check would lead to that information. There may be ways to deal with this in the introspection dialog and not need to be called up here. The question would be does the exi field mean – recheck the token or discard the token. Jim 7. That is correct. Will add the clarification. Thanks, --Cigdem On Wed, May 22, 2019 at 10:58 PM Jim Schaad <ietf@augustcellars.com <mailto:ietf@augustcellars.com> > wrote: Thanks for the updates from my last message. This has helped quite a bit. 1. A discussion of the use of raw public keys rather than certificates for the server may be in order. This can refer to the same RPK issues from the current DTLS document. It may also be that this just uses normal certificate processing and that should be noted as well, but some discussion of deciding if the subject name/alt name matches the token returned from the AS. For the connect message there are a couple of issues that need to be thought about. 2. What items are required to be in the connect message. The response to my last message suggested that a client identifier is required to be present but that is not documented. 3. It is not completely clear what portions of the CONNECT message are being covered by the signature/MAC value. As an example, is the password field omitted entirely or is it set to a zero length password. In addition to this, from the couple of implementations that I have looked at the entire packet is not passed out of the base server code for authentication purposes. This might need to be taken into account in terms of what is used for the body and how it is constructed. (As a side note, the implementations that I have looked at so far also think that the password is a text string rather than a binary value which is going to be a short term issue as well.) 4. I must admit that I am disappointed that there is no challenge response mechanism in the MQTT specifications. I don't know that anything can be done at this point about it but there are some security issues that need to be highlighted because of this in the security considerations section. Only the v3 seems to have this problem. Also doing the channel binding would deal with this problem as well. Might just need some general discussions around the channel binding text. 5. Is there an intention to provide a "standard" format for the scope field or just to leave it as ad hoc? 6. It might be reasonable in section 2.1.3 to note that even if a result is cached, that cached check should be limited for a specific amount of time to recheck if the token is still active. More of an issue in terms of how long to cache for introspection. 7. In section 2.1.4 - I would presume that the last paragraph should be extended to say that the token is stored only for the length of the connection. That is the token always needs to be supplied every time a connect message is sent. Jim _______________________________________________ Ace mailing list Ace@ietf.org <mailto:Ace@ietf.org> https://www.ietf.org/mailman/listinfo/ace
- [Ace] Comments on draft-ietf-ace-mqtt-tls-profile Jim Schaad
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Ludwig Seitz
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Cigdem Sengul
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Jim Schaad
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Cigdem Sengul
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Daniel Migault
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Cigdem Sengul
- Re: [Ace] Comments on draft-ietf-ace-mqtt-tls-pro… Daniel Migault