-
Notifications
You must be signed in to change notification settings - Fork 10
Clarify how TLS works and when sensitive information in URIs should not be used #277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Clarify how TLS works and when sensitive information in URIs should not be used #277
Conversation
|
@TimvdLippe Te overwegen om ook als noot toe te voegen: bij TLS worden het URL-pad en de query strings ook versleuteld, dus elke tussenliggend component kan eventuele gevoelige gegevens hierin niet zien en niet loggen. Met name een relevante kanttekening bij system-to-system-integraties. |
|
@diderikvw Kun je deze PR updaten met jouw voorstel? Dat kunnen we dat voorleggen aan de TO-leden om te kijken wat ze daarvan denken. |
|
@TimvdLippe Ja, heb ik gedaan. Hoe ik TLS begrijp, klopt dit gedeelte niet:
Daarom heb ik de tekst wat rigoreuzer aangepast. |
|
Thanks voor de cleanup! |
TimvdLippe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wat kleine tekstuele nits. De HTML heb ik zelf niet getest, maar zou gewoon moeten werken.
| <p>When using TLS connections, the path and query information in URIs are secured just like the message headers and body. However, before the TLS connection starts on the server, after the TLS connection ends on the client and whenever the TLS protocol is terminated and newly initiatied in between, URIs can be cached and logged, as can headers and bodies. For REST API's that are accessed directly from user devices, like web browsers, do not put client secrets used for authentication, privacy sensitive information or any other information which should not be shared in the URI, since these are directly visible to users, are stored in the web browser's history and cache and can be bookmarked and sent to others. | ||
| <p>Be aware that queries (anything after the '?' in a URI) are also part of a URI. | ||
| </dd> | ||
| <p class="note">The term sensitive is deliberatly left undefined in this document.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p class="note">The term sensitive is deliberatly left undefined in this document.</p> | |
| <p class="note">The term sensitive is deliberately left undefined in this document.</p> |
| <dt>Rationale</dt> | ||
| <dd> | ||
| <p>Even when using TLS connections, information in URIs is not secured. URIs can be cached and logged outside of the servers controlled by clients and servers. Any information contained in them should therefore be considered readable by anyone with access to the network (in the case of the internet, the whole world) and MUST NOT contain any sensitive information. This includes client secrets used for authentication, privacy sensitive information such as BSNs or any other information which should not be shared. | ||
| <p>When using TLS connections, the path and query information in URIs are secured just like the message headers and body. However, before the TLS connection starts on the server, after the TLS connection ends on the client and whenever the TLS protocol is terminated and newly initiatied in between, URIs can be cached and logged, as can headers and bodies. For REST API's that are accessed directly from user devices, like web browsers, do not put client secrets used for authentication, privacy sensitive information or any other information which should not be shared in the URI, since these are directly visible to users, are stored in the web browser's history and cache and can be bookmarked and sent to others. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Om de zinnen iets beter te laten lopen en korter te maken:
| <p>When using TLS connections, the path and query information in URIs are secured just like the message headers and body. However, before the TLS connection starts on the server, after the TLS connection ends on the client and whenever the TLS protocol is terminated and newly initiatied in between, URIs can be cached and logged, as can headers and bodies. For REST API's that are accessed directly from user devices, like web browsers, do not put client secrets used for authentication, privacy sensitive information or any other information which should not be shared in the URI, since these are directly visible to users, are stored in the web browser's history and cache and can be bookmarked and sent to others. | |
| <p>When using TLS connections, the path and query information in URIs are secured just like the message headers and body. However, URIs can be cached and logged, as can headers and bodies in the following situations: | |
| <ul> | |
| <li>before the TLS connection starts on the server | |
| <li>after the TLS connection ends on the client | |
| <li>whenever the TLS protocol is terminated and newly initiated in between | |
| </ul> | |
| <p>For REST API's that are accessed directly from user devices, like web browsers, do not put client secrets used for authentication, privacy sensitive information or any other information which should not be shared in the URI. These are directly visible to users, are stored in the web browser's history and cache and can be bookmarked and sent to others. |
Remove BSN as example of sensitive information and add note.