Skip to content

Commit c4d6d84

Browse files
diderikvwsanderkeTimvdLippePHaasnoot
authored
Verduidelijk TLS regel hoe om te gaan met gevoelige informatie in URLs (#277)
Co-authored-by: Alexander Green <alexander.green@logius.nl> Co-authored-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com> Co-authored-by: PHaasnoot <50872565+PHaasnoot@users.noreply.github.com>
1 parent 056a1aa commit c4d6d84

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

sections/designRules.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -742,12 +742,21 @@ Note: security controls for signing and encrypting of application level messages
742742
<dl>
743743
<dt>Statement</dt>
744744
<dd>
745-
Do not put any sensitive information in URIs
745+
<p>Sensitive information MUST NOT be part of URIs
746+
<p class="note">The term sensitive is deliberately left undefined in this document.</p>
747+
<p>In case of REST-API's for system to system communication on a closed network, this rule applies only when there is logging involved in systems that are not under control of the organizations involved in the exchange
746748
</dd>
747749
<dt>Rationale</dt>
748750
<dd>
749-
<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.
750-
<p>Be aware that queries (anything after the '?' in a URI) are also part of a URI.
751+
<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:
752+
<ul>
753+
<li>before the TLS connection starts on the server
754+
<li>after the TLS connection ends on the client
755+
<li>whenever the TLS protocol is terminated and newly initiated in between
756+
</ul>
757+
<p class="note">Be aware that queries (anything after the '?' in a URI) are also part of a URI.
758+
<p>For REST API's that are accessed directly from user devices, like web browsers, do not put client secrets used for authentication and other sensitive information 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.
759+
<p>For REST API's that are only used for system-to-system integration on closed networks where all systems are under control of the organizations involved in the exchange, do not put client secrets used for authentication in the URI and be careful to put sensitive information in the URI. Intermediate network components that terminate and newly initiate TLS could log or otherwise store URIs. Consider the consequences, advantages and disadvantages of using sensitive information in the URI and be deliberate about which information is logged, for which purposes and who has access.
751760
</dd>
752761
</dl>
753762
</div>

0 commit comments

Comments
 (0)