[dmarc-ietf] LSAP - Lightweight Signer Authorization Protocol methodology

Hector Santos <hsantos@isdg.net> Fri, 31 July 2020 16:57 UTC

Return-Path: <hsantos@isdg.net>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 00A093A09EF for <dmarc@ietfa.amsl.com>; Fri, 31 Jul 2020 09:57:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, SPOOF_COM2COM=0.001, SPOOF_COM2OTH=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isdg.net header.b=jECG7PVE; dkim=pass (1024-bit key) header.d=beta.winserver.com header.b=MLfgTVhc
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id l5fSzpFKhEI3 for <dmarc@ietfa.amsl.com>; Fri, 31 Jul 2020 09:57:56 -0700 (PDT)
Received: from mail.winserver.com (mail.catinthebox.net [76.245.57.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4BEA93A090B for <dmarc@ietf.org>; Fri, 31 Jul 2020 09:57:55 -0700 (PDT)
DKIM-Signature: v=1; d=isdg.net; s=tms1; a=rsa-sha1; c=simple/relaxed; l=3965; t=1596214667; atps=ietf.org; atpsh=sha1; h=Received:Received:Received:Received:Message-ID:Date:From: Organization:To:Subject:List-ID; bh=QFOdK8yL8x/7yZa9YrwPQjWESDo=; b=jECG7PVEttQU1d8hNb7jELeJg9A8MH5gKqGHSCVibf5k+ztdwvQG+hxTPSjviO /qlD+AN0exXBD4CZSt3oXI2oG2BifLfyp41+GcEjeyNHT3j6N7YyDsjiRlw1Xmyb kk9HiaOByZLpULT6aNF08BdLbaQg3SVfmS/oHA+Jv2aUc=
Received: by mail.winserver.com (Wildcat! SMTP Router v8.0.454.10) for dmarc@ietf.org; Fri, 31 Jul 2020 12:57:47 -0400
Authentication-Results: dkim.winserver.com; dkim=pass header.d=beta.winserver.com header.s=tms1 header.i=beta.winserver.com; dmarc=pass policy=reject author.d=isdg.net signer.d=beta.winserver.com (atps signer);
Received: from beta.winserver.com ([76.245.57.74]) by mail.winserver.com (Wildcat! SMTP v8.0.454.10) with ESMTP id 2646957274.1.4280; Fri, 31 Jul 2020 12:57:47 -0400
DKIM-Signature: v=1; d=beta.winserver.com; s=tms1; a=rsa-sha256; c=simple/relaxed; l=3965; t=1596214552; h=Received:Received: Message-ID:Date:From:Organization:To:Subject:List-ID; bh=10iV7rW kslISePbVapDWVGooGxNf8LEVdETeALJFtIc=; b=MLfgTVhcV4VHjwUoUIBwyPT oaPWFllHlBeLE6L9x6abHmQBG/T2uwf0U1FM7X5xpJKP3G3g6ArAKA4LZs3i+cai pOFUUx2pMgKfLvn5s5HMua2jIDcgfD+QrGQFlgEDJj7mNitR9/TIOjCBhZHk+obw /AjVnC9e3/TfnGFnKObE=
Received: by beta.winserver.com (Wildcat! SMTP Router v8.0.454.10) for dmarc@ietf.org; Fri, 31 Jul 2020 12:55:52 -0400
Received: from [192.168.1.68] ([75.26.216.248]) by beta.winserver.com (Wildcat! SMTP v8.0.454.10) with ESMTP id 2357727109.1.62476; Fri, 31 Jul 2020 12:55:51 -0400
Message-ID: <5F244D90.4040201@isdg.net>
Date: Fri, 31 Jul 2020 12:57:52 -0400
From: Hector Santos <hsantos@isdg.net>
Reply-To: hsantos@isdg.net
Organization: Santronics Software, Inc.
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.8.1
MIME-Version: 1.0
To: dmarc@ietf.org
References: <BY5PR13MB29998094418C8A6C25902569D7730@BY5PR13MB2999.namprd13.prod.outlook.com> <c0361cb2-b25b-5d75-cb1f-f9c87e3ecccc@tana.it> <AE9A3A9F-27FC-4935-B8E6-AB0CE1A6D5E2@wordtothewise.com> <5F204CB3.7080404@isdg.net> <000001d66503$4d447e50$e7cd7af0$@bayviewphysicians.com> <5F21B338.8000700@isdg.net> <5d3dc8f8-2b89-54df-7698-b5c2ab341ab9@tana.it>
In-Reply-To: <5d3dc8f8-2b89-54df-7698-b5c2ab341ab9@tana.it>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/3UdF1_ZHaxZjx3zPHMTfGPDIvtM>
Subject: [dmarc-ietf] LSAP - Lightweight Signer Authorization Protocol methodology
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 31 Jul 2020 16:57:59 -0000

On 7/31/2020 4:06 AM, Alessandro Vesely wrote:
>> hector wrote:
>>
>>     base32(sha1(SIGNER-DOMAIN))._atps.isdg.net

> Isn't that overly complicated?

I don't think so, but sure, it is not 100% "Low Code."  A hash 
"calculator" is needed.

> Why SHA1?

The intent was for a lightweight hashing that won't produce long 
hashing tags or labels or subdomains. Whats the maximum length of a 
domain?

But mainly because Murray's ATPS was based off Doug Otis's TPA-LABEL 
which used the same hashing algorithm.

   DKIM Third-Party Authorization Label
   https://tools.ietf.org/html/draft-otis-dkim-tpa-label-06

Doug provided a portable C-based TPA-Label calculator source code in 
Appendix B.

ATPS was the "simpler" version of TPA-Label. TPA-label was a little 
complex for a period when it was extremely challenging in the DKIM WG 
to get a Author::Signer relationship endorsed. Remember, we were 
dealing with push back even the 1st party DNS lookup policy.

There was general agreement TPA-Label offer more scalability. ATPS was 
just simpler to plug and play, explore and test the proof of concept 
and that it did.

> An alternative method to authorize 3rd parties is RHSWLs,

Let me (re)state I believe in a "Black Box" functional design and 
engineering.  I am not stuck on ATPS.  It is about the functional 
methodology for an Author::Signer association, a "Lightweight Signer 
Authorization Protocol" or LSAP.  We had the same with LMAP 
"Lightweight MTA Authorization Protocol."  Maybe LSAP can do for 
DMARC, what LMAP did for SPF.  But imo, we need to get consensus with 
a LSAP methodology.  With consensus, a specific method can be worked out.

> see my previous post[*].  By
> comparison with the above quote, assume we have:
>
>      From: someone@example.com
>      Sender: auto@example.net
>
> The DMARC record at example.com:
>
>    v=DMARC1; p=reject; snd=lst.rhswl.example; rua=mailto:rua@example.com;
>
> The snd=lst.rhswl.example tells a compliant receiver that if it sees a
> 3rd party authentication (either SPF or DKIM) of the Sender domain:,
> where:
>
>      From: domain IS NOT EQUAL TO Sender: domain
>
> Then it can do a right-hand side whitelist lookup:
>
>      example.net.lst.rhswl.example
>
> If the record exists, then example.net is authorized to send on behalf
> of example.com.

Sure, again, imo, we need a BLACK BOX "LSAP" methodology to be work 
out. see below.

> Features:
>
> * Absence of cryptographic stuff (sha1) makes it simpler.
>
> * A multi-domain bank (Autumn's example) can easily build its own
> RHSWL containing all and only their domains, e.g.:
>
>    firstbrand.com.lst.mainbrand.com  IN A 127.0.0.2
>    secondbrand.com.lst.mainbrand.com IN A 127.0.0.2
>
> * Large free-email domains can build their own RHSWL so as to avoid
> the MLM problem.
>
> * Lazy mail domains can easily point to a public RHSWL which lists
> almost all the legitimate Internet.
>
> * Strictly transactional domains can still keep snd=none (the default).
>
> * Experimenting domains can have p=none; snd=lst.in-progress.example;
> while they monitor aggregate reports to see how their list is doing.

Do you have a I-D? If not, why not write up the draft proposal so it 
can better reviewed and maybe even explored?

Based on discussions, it sounds this LSAP model would include author, 
signer, sender identities:

     Authorized := LSAP(Author, Signer, Sender)

This was the same idea with LMAP for SPF.

     Authorized := LMAP(IP, Domain)

In SPF, the LMAP function is called Check_Host() with arguments:

    <ip>     - the IP address of the SMTP client that is emitting
               the mail, either IPv4 or IPv6.

    <domain> - the domain that provides the sought-after authorization
               information; initially, the domain portion of the
               "MAIL FROM" or "HELO" identity.

    <sender> - the "MAIL FROM" or "HELO" identity.


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