as I said, it’s a recommendation for anyone using the implicit now. If there are confidential clients out there using implicit (I don’t think there are), it is applicable to them as well.
> Am 25.11.2018 um 20:55 schrieb Rifaat Shekh-Yusef <rifaat.i...@gmail.com>: > > RFC6749, Section 3.1.2.2, implies that Implicit is not limited to public > clients: > > 3.1.2.2. Registration Requirements > The authorization server MUST require the following clients to > register their redirection endpoint: > o Public clients. > o Confidential clients utilizing the implicit grant type. > > > I do not know if anybody is using Implicit with Confidential clients, but > just in case, you might want to make it clear that your recommendations are > specifically for public clients. > > Regards, > Rifaat > > > > >> On Sun, Nov 25, 2018 at 1:41 PM Torsten Lodderstedt >> <tors...@lodderstedt.net> wrote: >> Hi Rifaat, >> >> this is a recommendation to anyone using implicit now. Implicit can only be >> used with public clients, so one could interpret it that way. I could also >> envision a SPA to use a backend, which in turn is a confidential client. >> There were some posts about this topic on the list recently. >> >> Does this answer your question? >> >> kind regards, >> Torsten. >> >> > Am 25.11.2018 um 19:22 schrieb Rifaat Shekh-Yusef <rifaat.i...@gmail.com>: >> > >> > Hi Torsten, >> > >> > I am assuming that these recommendations are mainly for Public Clients, >> > not Confidential Clients; is that correct? >> > >> > Regards, >> > Rifaat >> > >> > >> > On Sun, Nov 25, 2018 at 12:33 PM Torsten Lodderstedt >> > <tors...@lodderstedt.net> wrote: >> > Hi all, >> > >> > I would like to state again what the proposal of the authors of the >> > Security BCP is: >> > >> > Here is the respective text from the draft: >> > >> > —— >> > >> > 2.1.2. Implicit Grant >> > >> > The implicit grant (response type "token") and other response types >> > causing the authorization server to issue access tokens in the >> > authorization response are vulnerable to access token leakage and >> > access token replay as described in Section 3.1, Section 3.2, Section >> > 3.3, and Section 3.6. >> > >> > Moreover, no viable mechanism exists to cryptographically bind access >> > tokens issued in the authorization response to a certain client as it >> > is recommended in Section 2.2. This makes replay detection for such >> > access tokens at resource servers impossible. >> > >> > In order to avoid these issues, Clients SHOULD NOT use the implicit >> > grant or any other response type causing the authorization server to >> > issue an access token in the authorization response. >> > >> > Clients SHOULD instead use the response type "code" (aka >> > authorization code grant type) as specified in Section 2.1.1 or any >> > other response type that causes the authorization server to issue >> > access tokens in the token response. This allows the authorization >> > server to detect replay attempts and generally reduces the attack >> > surface since access tokens are not exposed in URLs. It also allows >> > the authorization server to sender-constrain the issued tokens. >> > —— >> > >> > In my observation, discouraging implicit seems to be the less >> > controversial issue. >> > >> > „or any other response type causing the authorization server to issue an >> > access token in the authorization response.“ in the 3rd paragraph caused >> > discussions because it suggests to discourage developers from using ANY >> > response type issuing access tokens in the authorization response.. This >> > includes OIDC’s response types „token id_token“, „code token“ & „code >> > token id_token“, where at least „token id_token“ is used in the wild to >> > implement SPAs. >> > >> > Why did we come up with this proposal given at least „token id_token“ & >> > „code token id_token“ protect against injection? >> > >> > Two reasons: >> > >> > 1) „token id_token“ does not support sender constrained tokens. Also use >> > of refresh tokens to frequently issue new live-time and privilege >> > restricted access tokens is not supported. „code token id_token“ seems >> > more complex than just „code“+pkce for achieving the same goal. >> > >> > 2) Protection against token leakage is rather thin and fragile. There is >> > just a single line of defense (CSP, open redirection prevention, browser >> > history manipulation) implemented by the client. >> > >> > Daniel and I collected some more information and argument at >> > https://github.com/tlodderstedt/oauth2_spa/blob/master/README.md that you >> > might like to give a read. >> > >> > My conclusion after 2 weeks of intensive discussions with SPA developers >> > (mostly on twitter): code+pkce is the more secure, simpler, and more >> > versatile approach to (also) implement SPAs. I prefer to approach >> > developers with a clean and robust message instead of a lengthy >> > description of what needs to go right in order to secure a SPA using >> > OAuth. That’s why I think code+pkce should be the recommendation of our >> > working group. >> > >> > So please vote in favor of our proposal. I think that’s a huge improvement >> > for OAuth. >> > >> > kind regards, >> > Torsten. >> > >> > >> > > Am 25.11.2018 um 12:55 schrieb Hans Zandbelt >> > > <hans.zandb...@zmartzone..eu>: >> > > >> > > I strongly support the recommendation of using code instead of implicit. >> > > I do so based on my own experience in the field [1] and stick to that >> > > also after reading the comments and (what I would call) workarounds on >> > > this thread. >> > > >> > > Hans. >> > > >> > > [1] >> > > https://hanszandbelt.wordpress.com/2017/02/24/openid-connect-for-single-page-applications/ >> > > >> > > On Thu, Nov 22, 2018 at 5:45 AM Torsten Lodderstedt >> > > <tors...@lodderstedt.net> wrote: >> > > that’s certainly true, but that might by a web server with static >> > > content only. >> > > >> > > If the server is a real backend, there is even less reasons to use a >> > > implicit or hybrid. No even a performance gain in comparison to code. >> > > >> > > Am 21..11.2018 um 14:24 schrieb George Fletcher <gffle...@aol.com>: >> > > >> > >> An SPA has a backend because it has to be loaded from somewhere :) >> > >> >> > >> On 11/21/18 3:47 AM, Torsten Lodderstedt wrote: >> > >>> We had a discussion about this topic on Twitter >> > >>> https://twitter.com/Apl3b/status/1064854507606208513 >> > >>> >> > >>> >> > >>> Outcome is POST requires a backend to receive the request so it’s not >> > >>> a viable solution for SPAs. >> > >>> >> > >>> >> > >>>> Am 20.11.2018 um 23:29 schrieb John Bradley <ve7...@ve7jtb.com> >> > >>>> : >> > >>>> >> > >>>> Post response works OK for server based clients. I don't think POST >> > >>>> works for single page applications. >> > >>>> >> > >>>> Basically that would be something more like postmessage between two >> > >>>> JS apps. >> > >>>> >> > >>>> Postmessage also has security issues passing a access token and >> > >>>> leaking. >> > >>>> >> > >>>> Perhaps someone more familiar with SPA can comment on POST. >> > >>>> >> > >>>> John B. >> > >>>> >> > >>>> >> > >>>> >> > >>>> On Tue, Nov 20, 2018, 6:40 PM George Fletcher < >> > >>>> gffle...@aol.com >> > >>>> wrote: >> > >>>> Hi Mike, >> > >>>> >> > >>>> The Form Post Response Mode keeps the access_token out of the URL, >> > >>>> but it doesn't prevent the token from traversing through the browser. >> > >>>> So a man-in-the-browser attack may be able to intercept the values. >> > >>>> It should help with leakage in logs. >> > >>>> >> > >>>> Thanks, >> > >>>> George >> > >>>> >> > >>>> On 11/20/18 4:00 PM, Mike Jones wrote: >> > >>>> >> > >>>>> Next question – doesn’t using the Form Post Response Mode >> > >>>>> https://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html >> > >>>>> mitigate the threats you’re describing below John? If so, I >> > >>>>> believe the Security Topics draft should say this. >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> I believe we owe it to readers to present the complete picture, >> > >>>>> which is why I believe that describing profiles using ID Tokens and >> > >>>>> the Form Post Response Mode are in scope. >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> -- Mike >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> From: OAuth >> > >>>>> <oauth-boun...@ietf.org> >> > >>>>> On Behalf Of John Bradley >> > >>>>> Sent: Tuesday, November 20, 2018 7:47 AM >> > >>>>> To: >> > >>>>> oauth@ietf.org >> > >>>>> >> > >>>>> Subject: Re: [OAUTH-WG] OAuth Security Topics -- Recommend >> > >>>>> authorization code instead of implicit >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> Yes the at_hash protects the client from accepting an injected AT.. >> > >>>>> >> > >>>>> Unfortunately it doesn't do anything to protect against leakage in >> > >>>>> logs or redirects. >> > >>>>> >> > >>>>> So without the AT using some sort of POP mechanism it is hard to say >> > >>>>> sending it in a redirect is a good security practice. >> > >>>>> >> > >>>>> John B. >> > >>>>> >> > >>>>> On 11/20/2018 4:35 AM, Torsten Lodderstedt wrote: >> > >>>>> >> > >>>>> Hi Mike, >> > >>>>> >> > >>>>> I agree that OIDC hybrid flows offer additional security over the >> > >>>>> OAuth implicit grant and are used in the wild. On my slides and in >> > >>>>> the initial version of the new section, we had included the hybrid >> > >>>>> OIDC flows because of their known token injection countermeasures. >> > >>>>> >> > >>>>> I nevertheless feel very uncomfortable to recommend those flows and >> > >>>>> any flow issuing access tokens in the front channel. In the course >> > >>>>> of the detailed review of the new text we realized two issues: >> > >>>>> >> > >>>>> 1) Since the access token is exposed in the URL, such flows possess >> > >>>>> a significantly higher risk to leak the access token (e.g. through >> > >>>>> browser history, open redirection and even referrer headers) than >> > >>>>> the code grant. >> > >>>>> 2) There is no viable way to sender constrain access tokens issued >> > >>>>> in the front channel. Given the WG decided to recommend use of >> > >>>>> sender constraint tokens ( >> > >>>>> https://tools.ietf.org/html/draft-ietf-oauth-security-topics-09#section-2...2 >> > >>>>> ), it seems contradictory to recommend response types not supporting >> > >>>>> such an approach. >> > >>>>> >> > >>>>> kind regards, >> > >>>>> Torsten. >> > >>>>> >> > >>>>> Am 19.11.2018 um 23:13 schrieb Mike Jones >> > >>>>> <Michael.Jones=40microsoft....@dmarc.ietf.org> >> > >>>>> : >> > >>>>> >> > >>>>> This description of the situation is an oversimplification.. OpenID >> > >>>>> Connect secures the implicit flow against token injection attacks by >> > >>>>> including the at_hash (access token hash) in the ID Token, enabling >> > >>>>> the client to validate that the access token was created by the >> > >>>>> issuer in the ID Token (which is also the OAuth Issuer, as described >> > >>>>> in RFC 8414). (Note that this mitigation was described in >> > >>>>> draft-ietf-oauth-mix-up-mitigation.) >> > >>>>> >> > >>>>> Given the prevalence of this known-good solution for securing the >> > >>>>> implicit flow, I would request that the draft be updated to describe >> > >>>>> this mitigation. At the same time, I’m fine with the draft >> > >>>>> recommending the code flow over the implicit flow when this >> > >>>>> mitigation is not used. >> > >>>>> >> > >>>>> >> > >>>>> Thank you, >> > >>>>> -- >> > >>>>> Mike >> > >>>>> >> > >>>>> From: OAuth >> > >>>>> <oauth-boun...@ietf.org> >> > >>>>> On Behalf Of Hannes Tschofenig >> > >>>>> Sent: Monday, November 19, 2018 2:34 AM >> > >>>>> To: oauth >> > >>>>> <oauth@ietf.org> >> > >>>>> >> > >>>>> Subject: [OAUTH-WG] OAuth Security Topics -- Recommend authorization >> > >>>>> code instead of implicit >> > >>>>> >> > >>>>> Hi all, >> > >>>>> >> > >>>>> The authors of the OAuth Security Topics draft came to the >> > >>>>> conclusion that it is not possible to adequately secure the implicit >> > >>>>> flow against token injection since potential solutions like token >> > >>>>> binding or JARM are in an early stage of adoption. For this reason, >> > >>>>> and since CORS allows browser-based apps to send requests to the >> > >>>>> token endpoint, Torsten suggested to use the authorization code >> > >>>>> instead of the implicit grant in call cases in his presentation >> > >>>>> (seehttps:// >> > >>>>> datatracker.ietf.org/meeting/103/materials/slides-103-oauth-sessb-draft-ietf-oauth-security-topics-01 >> > >>>>> ). >> > >>>>> >> > >>>>> A hum in the room at IETF#103 concluded strong support for his >> > >>>>> recommendations. We would like to confirm the discussion on the list. >> > >>>>> >> > >>>>> Please provide a response by December 3rd. >> > >>>>> >> > >>>>> Ciao >> > >>>>> Hannes & Rifaat >> > >>>>> >> > >>>>> IMPORTANT NOTICE: The contents of this email and any attachments are >> > >>>>> confidential and may also be privileged. If you are not the intended >> > >>>>> recipient, please notify the sender immediately and do not disclose >> > >>>>> the contents to any other person, use it for any purpose, or store >> > >>>>> or copy the information in any medium. Thank you. >> > >>>>> _______________________________________________ >> > >>>>> OAuth mailing list >> > >>>>> >> > >>>>> OAuth@ietf.org >> > >>>>> https://www.ietf.org/mailman/listinfo/oauth >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> _______________________________________________ >> > >>>>> OAuth mailing list >> > >>>>> >> > >>>>> OAuth@ietf.org >> > >>>>> https://www.ietf.org/mailman/listinfo/oauth >> > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> _______________________________________________ >> > >>>>> OAuth mailing list >> > >>>>> >> > >>>>> >> > >>>>> OAuth@ietf.org >> > >>>>> https://www.ietf.org/mailman/listinfo/oauth >> > >>>> _______________________________________________ >> > >>>> OAuth mailing list >> > >>>> >> > >>>> OAuth@ietf.org >> > >>>> https://www.ietf.org/mailman/listinfo/oauth >> > >> >> > > _______________________________________________ >> > > OAuth mailing list >> > > OAuth@ietf.org >> > > https://www.ietf.org/mailman/listinfo/oauth >> > > >> > > >> > > -- >> > > hans.zandb...@zmartzone.eu >> > > ZmartZone IAM - www.zmartzone.eu >> > >> > _______________________________________________ >> > OAuth mailing list >> > OAuth@ietf.org >> > https://www.ietf.org/mailman/listinfo/oauth >>
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth