Intro:
I've spent quite some time analyzing the question of "relaxed" vs. "simple" canonicalization methods in respect to (2) measures:
Measure 1: Compatibility. The ability of exchanging mail servers to receive & compare data presented in a standardized format negating the need to "fix" things upon receipt...
Measure 2: Security. That security is not reduced to any degree based on the choice for Measure 1.
RFC 6376 gives express guidance on the "relaxed" & "simple" choices in turn each for the HEADER and then for the BODY.
It's important to note that any changes to formatting of either/both the header or body are made BEFORE being presented for signing.
It's further important that we agree about our understanding of how hashes work when considering this question: That ANY change to a message after it's been signed by the sending mail server will result in the hash being recomputed differently when it's tested by the receiving mail server causing it to fail. Were it otherwise there simply would be no point signing the message if subsequent changes could not change the hash.
HEADER:
RFC 6376 section 3.4 expressly directs:
3.4.1. The "simple" Header Canonicalization Algorithm ... does not change header fields in any way.
However: Section 3.4.2 DOES impose formatting requirements for "relaxed" and prescribes how and in what order such formatting will be done BEFORE the message is signed.
BODY:
3.4.3. ...the "simple" body canonicalization algorithm converts "CRLF" at the end of the body to a single "CRLF".
However: Once again, the "relaxed" method in Section 3.4.4 requires the same formatting as the "simple" method, but imposes the following additional requirements:
Analysis:
Measure 1: Compatibility:
It would appear if all mail servers used "relaxed/relaxed" that they could all expect to receive mail presented with a standardized format of both the body & headers. I would consider this a "GOOD" thing- unless somebody can provide a rationale for how the RFC could be flawed.
Measure 2 Security:
Once a message is signed- and whatever changes made by the sender to the formatting of the header and/or body are made BEFORE they sign the message- any later modifications will cause the hash to be computed differently and not match when tested by the receiving mail server.
Thus, whether "relaxed" or "simple" is chosen as the canonicalization method, once that message leaves the sender's mail server any changes to either/both the header and/or body either by the receiver or any forwarding mail server in between will cause the match of the hash to fail.
The only way the message could now pass "DKIM" validation would be to simply ignore that the hash has changed since it left the sender.
Conclusion:
The view that "relaxed" can allow a message which has been changed AFTER it has been signed and left the sender's mail server is misconstrued: Either the hash matches, or it does not. It cannot allow for any difference: "tiny" or otherwise. The hash is being tested and that is a binary test: yes or no: there are no shades of grey comparing hashes.
From reading RFC 6376, it would appear if DKIM senders all were to use "relaxed/relaxed", we would all receive messages with standarized, uniform formatting which appears to be big plus in respect to compatibility/interoperability. And since any change to a message under either canonicalization method after it leaves the sending server should fail testing, there doesn't appear to be any downside I can see to using "relaxed/relaxed" if it enhances uniformity of data being exchanged between different systems.