From c0721fe6c91a6f21cadd3377ee9145df46b9d1fe Mon Sep 17 00:00:00 2001 From: Dave Longley Date: Wed, 24 May 2023 11:28:03 -0400 Subject: [PATCH 1/5] Add security considerations text. - Addresses #70. --- spec/index.html | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/spec/index.html b/spec/index.html index 4eb6cc1..346f915 100644 --- a/spec/index.html +++ b/spec/index.html @@ -2787,31 +2787,29 @@

Security Considerations

Dataset Poisoning

-

-Add text that warns that attackers can construct datasets which are known to -take large amounts of compute time to canonize. The algorithm has a mechanism to detect -and prevent this sort of abuse, but implementers need to ensure that they -think holistically about their system such as what happens if they don't have -rate limiting on a service exposed to the Internet and they are the subject of -a DDoS. Default mechanisms that prevent excessive use of compute when an -attacker sends a poisoned dataset might be different from system to system. +

The canonicalization algorithm examines every difference in the + information connected to blank nodes in order to ensure that each will + properly receive its own canonical identifier. This process can be + exploited by attackers to construct datasets which are known to take + large amounts of compute time to canonize, but that do not express + useful information or express it using unnecessary complexity. + Implementers of the algorithm are expected to add mitigations that will, + by default, abort canonizing problematic inputs.

-
- -
-

Formal Verification Incomplete

- -

-Add text that warns implementers that, while the algorithm has a mathematical -proof associated with it that has had peer review, and while a W3C WG -has reviewed the algorithms and that there are multiple interoperable -implementations, that a formal proof using a system such as Coq isn't available -at this time. We are highly confident of the correctness of the algorithm, -but we will not be able to say with 100% certainty that it is correct until -we have a formal, machine-based verification of the proof. Any system that -utilizes this canonicalization mechanism should have a backup canonicalization -mechanism, such as JCS, or other mitigations, such as schema-based -validation, ready in the event that an unrecoverable flaw is found in this algorithm. +

Suggested mitigations include, but are not limited to: +

From 802b17695178f472191ba0f80b2a02b12871719b Mon Sep 17 00:00:00 2001 From: Dave Longley Date: Wed, 24 May 2023 11:32:04 -0400 Subject: [PATCH 2/5] Fix closing tags in Security Considerations section. --- spec/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/index.html b/spec/index.html index 346f915..f3338f2 100644 --- a/spec/index.html +++ b/spec/index.html @@ -2799,10 +2799,10 @@

Dataset Poisoning

Suggested mitigations include, but are not limited to: