AFAIR, they were talking about cost of this additional POST on the server side, 
which was not good for high volume traffic (millions requests per day). I'll 
try to dig it out to find more details. 


 
      From: Liyu Yi <liy...@gmail.com>
 To: John Bradley <ve7...@ve7jtb.com> 
Cc: Oleg Gryb <o...@gryb.info>; Jim Manico <j...@manicode.com>; 
"oauth@ietf.org" <oauth@ietf.org>
 Sent: Friday, July 1, 2016 1:42 PM
 Subject: Re: [OAUTH-WG] Security concern for URI fragment as Implicit grant
   
BTW, I do not see any significant performance concerns for post. Parsing and 
executing the Javascript logic for post operation will be on the client side, 
no extra server load is introduced.
Plus post will remove the size restriction of the URL length.
-- Liyu 
On Fri, Jul 1, 2016 at 1:35 PM, Liyu Yi <liy...@gmail.com> wrote:

Thanks for the great comments and advices.
I think it is a good idea for the working group to revise the fragment part in 
the spec, since there might be public available tools already implemented this 
approach and people can end up with a solution with serious security loopholes.
The re-append issue can be mitigate by a logic on Resource Server which 
carefully re-writes/removes the fragment in any redirect, if the the redirect 
can not be avoided.
-- Liyu 
On Fri, Jul 1, 2016 at 11:33 AM, John Bradley <ve7...@ve7jtb.com> wrote:

This behaviour started changing around 2011
>From HTTP/1.1See https://tools.ietf.org/html/rfc7231#section-7.1.2I      f the 
>Location value provided in a 3xx (Redirection) response does   not have a 
>fragment component, a user agent MUST process the
   redirection as if the value inherits the fragment component of the
   URI reference used to generate the request target (i.e., the
   redirection inherits the original reference's fragment, if any).

   For example, a GET request generated for the URI reference
   "http://www.example.org/~tim"; might result in a 303 (See Other)
   response containing the header field:

     Location: /People.html#tim

   which suggests that the user agent redirect to
   "http://www.example.org/People.html#tim”
   Likewise, a GET request generated for the URI reference
   "http://www.example.org/index.html#larry"; might result in a 301
   (Moved Permanently) response containing the header field:

     Location: http://www.example.net/index.html

   which suggests that the user agent redirect to
   "http://www.example.net/index.html#larry";, preserving the original
   fragment identifier.


This blog also explores the 
change.https://blogs.msdn.microsoft.com/ieinternals/2011/05/16/url-fragments-and-redirects/


On Jul 1, 2016, at 1:05 PM, Oleg Gryb <oleg_g...@yahoo.com> wrote:
"Browsers now re-append  fragments across 302 redirects unless they are 
explicitly cleared this makes fragment encoding less safe than it was  when 
originally specified" - thanks Jim. Looks like a good reason for vetting this 
flow out.
John,Please provide more details/links about re-appending fragments. 
Thanks,Oleg.

 
      From: Jim Manico <j...@manicode.com>
 To: Oleg Gryb <o...@gryb.info> 
Cc: "oauth@ietf.org" <oauth@ietf.org>; Liyu Yi <liy...@gmail.com>
 Sent: Thursday, June 30, 2016 10:25 PM
 Subject: Re: [OAUTH-WG] Security concern for URI fragment as Implicit grant
  
Oleg! Hello! Great to see you pop up here with a similar concern.
John Bradley just answered this thread with the details I was looking for 
(thanks John, hat tip your way).
He also mentioned details about fragment leakage:
"Browsers now re-append  fragments across 302 redirects unless they are 
explicitly cleared this makes fragment encoding less safe than it was when 
originally specified"
Again, I'm new here but I'm grateful for this conversation.
Aloha,--Jim Manico@Manicode
On Jul 1, 2016, at 1:24 AM, Oleg Gryb <oleg_g...@yahoo.com> wrote:


We've discussed access tokens in URI back in 2010 
(https://www.ietf.org/mail-archive/web/oauth/current/msg04043.html). There were 
two major objectives when I was saying that it's not secure:
1. Fragment is not sent to a server by a browser. When I've asked if this is 
true for every browser in the world, nobody was able to answer.2. Replacing 
with POST would mean a significant performance impact in some high volume 
implementations (I think it was Goole folks who were saying this, but I don't 
remember now).
AFAIR, nobody was arguing about browsing history, so it's valid.
So, 6 years later we're at square one with this and I hope that this time the 
community will be more successful with getting rid of secrets in URL.
BTW, Jim, if you can come up with other scenarios when fragments can leak, 
please share. It'll probably help the community with solving this problem 
faster than in 6 years.
Thanks,Oleg.

 
      From: Jim Manico <j...@manicode.com>
 To: Liyu Yi <liy...@gmail.com>; oauth@ietf.org 
 Sent: Wednesday, June 29, 2016 7:30 AM
 Subject: Re: [OAUTH-WG] Security concern for URI fragment as Implicit grant
  
 > Shouldn’t it be more secure if we change to use a post method for access 
 > token, similar to the SAML does? I say yes. But please note I'm very new at 
 > this and someone with more experience will have more to say or correct my 
 > comments. Here are a few more details to consider.
  1) OAuth is a framework and not a standard, per se. Different authorization 
servers will have different implementations that are not necessarily compatible 
with other service providers. So there is no standard to break, per se.
  2) Sensitive data in a URI is a bad idea. They leak all over the place even 
over HTTPS. Even in fragments.
  3) Break the "rules" and find a way to submit sensitive data like access 
tokens, session information or any other (even short term) sensitive data in a 
secure fashion. This includes POST, JSON data payloads over PUT/PATCH and other 
verbs - all over well configured HTTPS.
  4) If you really must submit sensitive data over GET , consider JWT/JWS/JWE 
(with limited scopes/lifetimes) to provide message level confidentiality and 
integrity.
  Aloha,
 Jim Manico
Manicode Security
https://www.manicode.com 
 On 6/27/16 9:30 PM, Liyu Yi wrote:
  
  While we are working on a project with OAuth2 implementation, one question 
arises from our engineers. We noticed at 
https://tools.ietf.org/html/draft-ietf-oauth-v2-31#page-30, it is specified 
that    (C)  Assuming the resource owner grants access, the authorization       
  server redirects the user-agent back to the client using the         
redirection URI provided earlier.  The redirection URI includes         the 
access token in the URI fragment.   For my understanding, the browser keeps the 
URI fragment in the history, and this introduces unexpected exposure of the 
access token. A user without  authorization for the resource can get the access 
token as long as he has the access to the browser. This can happen in a shared 
computer in library, or for an IT staff who works on other employee’s computer. 
  Shouldn’t it be more secure if we change to use a post method for access 
token, similar to the SAML does? I feel there might be something I missed here. 
Any advices will be appreciated.  
  
 _______________________________________________
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

Reply via email to