On 1/19/2021 9:02 AM, Todd Herr wrote:>
Other concerns were raised about privacy and security issues that
might be inherent in and unique to adding this kind of functionality,
issues that may not have been fully discussed or understood by the
community over the years. There was also a question about whether or
not this is something that people are asking for.

Reporting concepts were in the each DKIM Policy proposal (SSP, DSAP, ADSP) -- a "-r" tag option to send reports. The main concerns were unsolicited report abuse. The DSAP proposal (my own) recognize it could be optional so it provided:

   https://tools.ietf.org/html/draft-santos-dkim-dsap-00        

   4.5.  DSAP Tag: r=<abuse-address>

   This tag is optional.  If not defined, the default is no abuse-
   address is available.

   <abuse-address> is either the user-part or a FQDN email address to
   optional send abuse reports.

   Examples:
      r=abuse
      [email protected]

   If only the user-part is defined, then the full address is
   established by using the originating address domain.

   DKIM verifiers have the option to honor or not honor this reporting
   address.  DKIM signers MUST be aware this reporting address may not
   be utilized by verifiers.

   Verifiers should be aware this reporting address can be a source of
   an report attack vector (Section 7.4).  One possible implementation
   considerations would to limit the report to one report only and to
   track the reception and/or response of the reporting.


but the Section 7.4 discussion was TBD.



Hatless, it seems to me that the safest implementation of this
feature, presuming the security and privacy concerns can be addressed
to the satisfaction of those who raised them, would be to add a new
tag, as John has proposed, so as to minimize interoperability issues.
I say "minimize", rather than "avoid", simply because while RFC 7489
says "Unknown tags MUST be ignored.", I don't believe we can say with
100% certainty that all implementations of DMARC policy record parsing
in the known world (both by report generators and third parties who
advise domains on how to publish DMARC records), implementations that
work now, won't "break" if a new tag is introduced. Of course, that'd
be their problem, not ours, because they weren't following the
existing rules.

We can not continue to design Internet protocols without upward design considerations. This is part of the forward and backward compatibility design concepts. Any problem would be a known tag with new functionality than originally expected. Sure, we can't say it will not happen, but its going to be a very low percentage, if any. They have to fix it.

As editor, I seek guidance from the working group on how to proceed here.

I am for a URI protocol method as part of the current tag rather than a new a separate tag.

However, in principle, I don't see any issue with adding new tags, in fact, I am still here on the basis extended protocols will emerged once the base protocol is completed. ATPS will be available to piggyback off the DMARC record as it did off ADSP. The ATPS protocol adds "atps=y" tag to the DMARC record. We have never received reports of issues related to extended tags.

There is a also a small scale version called ASL (Authorized Signer List) tag which defines a few domains authorized as resigners; for example:

asl=example1.com, example2.com, ietf.org, gmail.com

If you believe that adding a new tag is going to be a problem for DMARC, then we might as well come up with a new DKIM Policy model and a new resource record lookup name.

Imo, you guys are really missing the boat here. Extended tags is a major part of a DKIM POLICY model future simply because we have not yet imagine all the needs to make it work well and integrate with other concepts. In DSAP, for example, we had tags such as:

+============================================================+
| Description            |  DSAP Record Tag                  |
|============================================================|
| Version tag            |  v=<dsap-version>/<dkim-version>  |
|------------------------------------------------------------|
| Original party signing |  op=<signing-policy>              |
| practice               |                                   |
|------------------------------------------------------------|
| 3rd party signing      |  3p=<signing-policy>              |
| practice               |                                   |
|------------------------------------------------------------|
| Authorized List of     |  dl=<dom-list>                    |
| 3rd party domains      |                                   |
|------------------------------------------------------------|
| Signature Hashing      |  a=<hash-algorithm>               |
| Method                 |                                   |
|------------------------------------------------------------|
| Reporting address      |  r=<abuse-address>                |
|------------------------------------------------------------|
| Note or comment        |  n=<note>                         |
|------------------------------------------------------------|
| Testing flag           |  t=<testing-flag>                 |
|------------------------------------------------------------|
| Unauthorized signature |  fa=<failure-handling>            |
| failure handling       |                                   |
|------------------------------------------------------------|
| Invalid Signature      |  fs=<failure-handling>            |
| failure handling       |                                   |
|------------------------------------------------------------|
| Signature Expiration   |  fx=<failure-handling>            |
| failure handling       |                                   |
+------------------------------------------------------------+

The optional note tag (n=) allows a domain to store a human readable note or comment regarding the DSAP DNS record. Its purpose is considered to be diagnostic in nature.

The fa=, fs= and fx= tags were based on discussion to offer specific handling instructions based on specific possible errors:

4.8.  DSAP Tags: fa=<failure-handling>; fs=<failure-handling>;
      fx=<failure-handling>;

   The fa=, fs, and fx= tags define the domain preferred rejection
   action policy a verifier is recommended to perform when an
   unauthorized signature, failed signature or expired signature is
   detected, respectively.

   The fa= tag defines the handling for failed signature authorization.
   The fs= tag defines the handling for failed signature verfication,
   and the fx= tag defines the handling when a signature expired or key
   is revoked.

   Failed signature include failures related to the DKIM-Signature
   hashing, syntax and encryption verification process.

   <failure-handling> values:

   FAIL                The verifer MUST reject the transaction when
                       failure is detected.  (Default)

   SOFTFAIL            The verifer SHOULD reject the transaction when
                       failure is detected.

   IGNORE              The verifer SHOULD NOT reject the transaction
                       when failure is detected.  This value may be
                       defined by the domain to signify the domain is
                       testing DKIM and failure may occur unexpectedly.
                       Verifiers SHOULD consider tracking this handler
                       value for abuse.

   The fa= and fs= tags are optional with default values of SOFTFAIL.

   Examples:

   fa=fail;fs=fail; fx=fail;  Domain has a MUST reject immediate policy
                       for unauthorized, failed or expired signatures.

   fa=fail;            Domain has a MUST reject immediate policy for
                       unauthorized signatures and a SHOULD reject
                       immediate policy for failed and expired
                       signatures.

   undefined values;   DOMAIN has a SHOULD reject immediate policy for
                       all failures.

   fs=fail;  fx=fail;  Domain has a SHOULD reject immediate policy for
                       unauthorized signatures and a MUST reject
                       immediate policy for failed and expired
                       signatures.


My point is simple, extended tags MUST be part of the protocol's extendability. If there is evidence with 100% sureness there going to be a significant compatibility problem with legacy software that can not be corrected, then the only option is a new DMARC version 2 resource record.

I don't think we (I know I can't) can continue with DMARCbis without Extended Tag support and be hesitant to invent them because there is a compatibility problem.


--
Hector Santos,
https://secure.santronics.com
https://twitter.com/hectorsantos


_______________________________________________
dmarc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to