[JIRA] Updated: (JSPT-1) Add support for reading and writing secure HTTP cookies
Chad La Joie (JIRA)
noreply at shibboleth.net
Tue Dec 27 12:16:27 GMT 2011
[ https://issues.shibboleth.net/jira/browse/JSPT-1?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chad La Joie updated JSPT-1:
----------------------------
Fix Version/s: 1.1.0
> Add support for reading and writing secure HTTP cookies
> -------------------------------------------------------
>
> Key: JSPT-1
> URL: https://issues.shibboleth.net/jira/browse/JSPT-1
> Project: Java Support
> Issue Type: New Feature
> Components: net
> Reporter: Chad La Joie
> Assignee: Chad La Joie
> Fix For: 1.1.0
>
> Original Estimate: 3 days
> Remaining Estimate: 3 days
>
> Add support for reading and writing secure HTTP cookies based on the following Shib dev email:
> So, an issue that comes up now and again with IdPv2 is its use of
> cookies. As the plan is to use cookies more in IdPv3, as a means of
> carrying longer-term state, I wanted to post my current thinking. I
> recommend anyone who really cares about this reads RFC6256[1] first.
> Also, most of these items are interrelated in various ways so read
> through the whole mail (probably a couple times) before commenting.
> - Cookie names will be determined by a naming strategy and will
> contain a 2-digit numeric suffix used for ordering the cookies when
> they are sent back to the server
> - If the value of a cookie would exceed 4k, the value will be chunked
> and distributed across multiple cookies
> - The cookie will use the Expires attribute (as opposed to Max-Age) to
> convey the expiration time (if any)
> - The cookie will use the server's hostname, or a configured hostname,
> as the value for the Domain attribute
> - The cookie will use the Servlet's context path, or a configured
> path, as the value of the Path attribute
> - The cookie will set the Secure attribute if the scheme of the
> request is HTTPS; a configuration option will be available to disable
> setting this attribute
> - The cookie will set the HttpOnly attribute; a configuration option
> will be available to disable setting this option
> - In addition to the value given for the cookie, the following
> information may also (indicated by configuration options) be encoded
> into the cookie value: user agent IP, cookie domain, server port,
> Servlet context path, whether the cookie was sent to the user agent
> over a secure transport, a signature.
> - If the cookie is signed the signature will be over the user supplied
> value, the previously mentioned additional data, and an indicator that
> the content was signed
> - The whole cookie value string may be encrypted
> - Upon receipt of the cookie the service may, as determined by
> configuration, check:
> - that the user agent IP address matches the IP encoded in the cookie value
> - that the server host that received the cookie matches, or is a
> subdomain, the domain encoded in the cookie value
> - that the server port that received the cookie is the same as the
> port encoded in the cookie value
> - that the request path is the same as, or a subpath, of the path
> encoded in the cookie value
> - that if the cookie was returned over HTTPS if it was provided to
> the user agent over HTTPS
> - that the cookie was signed
> - that the cookie signature is valid
> Many of the previously mentioned checks are, in theory, performed by
> the user-agent. However, as noted in RFC6265, there are ways to
> circumvent these features. When the server performs the checks, it
> can at least protect itself from some forms of attack. If there are
> additional checks that could be performed, feel free to suggest them.
> [1] http://tools.ietf.org/html/rfc6265
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the commits
mailing list