Re: [dispatch] New I-D - SPIN - on voice/video interop between app providers

Jonathan Rosenberg <jdrosen@five9.com> Sat, 23 July 2022 22:18 UTC

Return-Path: <jdrosen@five9.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AC7E4C13C522 for <dispatch@ietfa.amsl.com>; Sat, 23 Jul 2022 15:18:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.81
X-Spam-Level:
X-Spam-Status: No, score=-1.81 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fivn.onmicrosoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U8_R92IpefJk for <dispatch@ietfa.amsl.com>; Sat, 23 Jul 2022 15:18:11 -0700 (PDT)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2086.outbound.protection.outlook.com [40.107.93.86]) (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 A47B8C157B3E for <dispatch@ietf.org>; Sat, 23 Jul 2022 15:18:11 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=garyRzOhtjxgg/Zw1n4iDRDm+zHkFcvdiDMHlPJTBei5GR1Csc7wRExIvQwJ5HRASKiuvf9dbCo3AQgIYYtXzB3tQ/NIDOuPYdWtx2rWRzb3KQXP08dv4glaJRVbSsAh9kXk69GZIoN68lK/nTN4pDAlg6VUg6n9Tk6jC8YwtwhK1Z6aoIh9/skY+u1JHw0RLjhIZQ7mzjtIEYwlVNGGipp//lGbuGGQ3/z7NDFQbAjismArKTdQQeBE206jY7ARFjmhL0sYwLEYuz9ASTtFe5a9nnN+3Na2SfL7X2UtsCCowmo8XT3Cv2lFv7EqAYGjj/zn1s+CVKdYjsN7ZWRGAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=p6pGKrUpU8yCpyvQgT7AHAHaPLmkXh37pD1oQ/h9Bwo=; b=kc49TY+Z2ij+EX39TT2ShwKugguSKTsaL28XonjiCUZp6LimdZrqzrLVFwZHGtYZpBEmG7NCRaPq6yWP+181fuFGtn7nQQsC/JIFVKHDPdbuniA79u6ZNUF1bwiV1qBRK2grOAF9QPAGeGwVgx97a3QOvcD6VqL7k/94svp+wSNlwwUdVjEcUTrAoZS5gZnaQ+YjpN3lHcRwo1qCFLgktV4DvLiXOdWHNaNnwkQItYO7TZq3PeldbkazjNuBIvbyre6TKkaE4Wf4XTIUYUj26llIg3vZeaYdLDHCkfXRS5SA7nMsDsRNQCd+JDLTmM2bYpOLhj6749cZBlQ1HVfQZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=five9.com; dmarc=pass action=none header.from=five9.com; dkim=pass header.d=five9.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fivn.onmicrosoft.com; s=selector2-fivn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p6pGKrUpU8yCpyvQgT7AHAHaPLmkXh37pD1oQ/h9Bwo=; b=nPTAPbrDv5nKmC60LbBaxGrCO2xvIsjkhajRW27p7ct4DOWWH4bkA/MgyyMIxw2J+Yi41YuqT3zHfY1BgGoi9uu3Hh/W4knXgdcmVXCCQ3ccoReTSKUbR1SDPWVuU7YjxigGw6V0hsuaj8rIoYmyXrESbNFfgEn/ZP1PIZQSFmI=
Received: from BL0PR06MB4499.namprd06.prod.outlook.com (2603:10b6:208:29::28) by SA1PR06MB7858.namprd06.prod.outlook.com (2603:10b6:806:1b5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.20; Sat, 23 Jul 2022 22:18:04 +0000
Received: from BL0PR06MB4499.namprd06.prod.outlook.com ([fe80::f172:6380:4215:e48f]) by BL0PR06MB4499.namprd06.prod.outlook.com ([fe80::f172:6380:4215:e48f%5]) with mapi id 15.20.5438.023; Sat, 23 Jul 2022 22:18:04 +0000
From: Jonathan Rosenberg <jdrosen@five9.com>
To: Richard Shockey <richard@shockey.us>, Eric Rescorla <ekr@rtfm.com>, Jonathan Rosenberg <jdrosen@jdrosen.net>
CC: DISPATCH <dispatch@ietf.org>
Thread-Topic: [dispatch] New I-D - SPIN - on voice/video interop between app providers
Thread-Index: AQHYlfolj50O7VjJP0OhcWzc47CP8K2KkX6AgAGDOwCAABGaAIAAQyOAgAAukcM=
Date: Sat, 23 Jul 2022 22:18:04 +0000
Message-ID: <BL0PR06MB44991E3E2770B267EA8433E2FB939@BL0PR06MB4499.namprd06.prod.outlook.com>
References: <CA+23+fFReP7fi2XmhGoxmeUph8F7HcABsFwriXPzBvuBPBXLMg@mail.gmail.com> <CABcZeBME68imZqnOqc3hE7OOHWsTgRz+c1y9NKTT6vUHfSCLsQ@mail.gmail.com> <CA+23+fECuFKC9KPiJD0rugw4TWwDEsJr6MtGPVdLmsr4iopAjQ@mail.gmail.com> <CABcZeBNWqY3z4TCwpg6f0hTdDwc_rD+ReJ0M8Nyz_v5EUcUmow@mail.gmail.com> <BD6088D2-5C18-49F6-BB01-694102749E8B@shockey.us>
In-Reply-To: <BD6088D2-5C18-49F6-BB01-694102749E8B@shockey.us>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=five9.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: cf172afc-5d0d-4d24-b1ab-08da6cf9368d
x-ms-traffictypediagnostic: SA1PR06MB7858:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: lsGRyGYJlWGSFwWK3XbP5EezVZJ003I31kqcebU9ONZZTmbuD4Pe/otYHKbF1XgyO+pP3tNwEwN/JZQeTtUzMoOUBcOrCMZJzMozonw29JX+Asa4zTy54qz7/S1CGGnqIWTbpkvhdxbBbARnwfWpS4sZB5tTTDUkU6LvmPl+yAg0Fxu6R2PLI8wpfX9NfXmCP9n00Kib2V/jOcefVVGyNU/QuSaq+Bqv54sAjpvDNYzukR7HZh+7beQfY4bAFQpv3htJYC9kNKqQitEEorQEdr75bLCgDvPL74mpeFOTritUvNj7Mf7Jv3CShNgYMl7dLOUOBdjznXppVqXpAtKdRjjrAYdXJzpds3+W5spgutJnQZqB0VkCas+OQhmT+Y5YPHIbYF9UmfjYccycIpnwV7Mq2waDnAceKqLsvvCDniRugL3PGfSM9IEsS5zvrFvZcS9Sj7B7av9Taz/dWLTANZrHZKN1rLV6rFwnQVGeOcyaCEKDTRAX6A90v4mnsRyxabSQPxjRoFpcSWqif3CwaboTt+KqRbCV+BdPbpTy+bi9nKv27JH+i7N1hZlxbeX4OPGMlYImnPl9EgJqU3BkOCamRk4kAhyFTT/rZ0YGZApgIdJZ5V9lN1v2dTZTWWqJo9eCXX3/a6EHJDbJKUGRcBcIjcxV/GH2c99OFky+10YCmtydJ+YyhK60Y2jpm95AvWWJ7qX+rBM7wBCh9YehUZ2Yxb4NY8PCUbY5mdSrselH2iQMCbTBmS6wE5hj6SXJ2KqTFLH1k9Rtd5gujij69exVIOV3WdkqvSZAZyOe244t68VUuUdcubcpOPLzmGbbQLZ0l/q94l8NY9Gjma/F45K53fLTGC8onUrsueyuKntUuv4ws+wr0Mb3zgSu4Axk
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR06MB4499.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(396003)(39850400004)(346002)(136003)(376002)(166002)(76116006)(8936002)(30864003)(38100700002)(38070700005)(52536014)(5660300002)(122000001)(66476007)(66446008)(4326008)(66946007)(66556008)(64756008)(33656002)(41300700001)(966005)(45080400002)(55016003)(8676002)(2906002)(40140700001)(19627235002)(7696005)(6506007)(110136005)(83380400001)(53546011)(316002)(71200400001)(9686003)(478600001)(186003)(66574015)(26005)(86362001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: mxfirY3A0dIPCsA/nah4Ycl0H7PvyETzoZ5yctd0I0GRzhgOxkVQvuFoWcKMWtoviQLG3SfD521SHiVxwVzpn7b+67Hr+0ycOWH0p+RRo68o69W2BqO9bN0TmULT8R3VmQW+BJ4+cPvRA7YxhAmntHLi8rTBWFM8Ujfp5ecb9LOCOiz0BbTqebto+o/TNLnVtRYUndUNR7h6Df8T9tf5hZCdJlF5xDLDxlzdsmJOc8y29+DqdVpZWZsB/MR3kJR9GExWgUaa32/tqhopOBW3YOJ+/rGeuSV8Gwh8LAFb77zaII8FwdX8/zlfTx7OmzLUlVsrq+Ftytd20XzYP+YC9dTM4yZzzHLoGdodZn/ERApruVnKhcPM0f5BlCbzxUzkhx6FjbxQDuQc8t9GzQ2DrzWfoevg6NFp0g1N1Imea1v9uEzpURRpu1i4LW9TmV8OY4my0euKwu2UglP/WDspWHtrgS5gZoQlXBJqKkUDdL7mq7o4eWNbBRtEdlfsTw72XDNMxT84c80MEtJe/Zoqd3GEAPHYwkQbPFZIE+SFY9tRdBcL6JQP5I4x21C2y7+7Vxs3NN/2TYAXgNVDTtkdGgV3LrJ0yhFF96xSqPsx+CMG57MWBdEfuptmv40IBxECyLvB7sG1Q2R+viH+dM/AqTvuh43HBw2LySsY4XnotbhRbLp3W5spCfCNy2ceTUt69o0m03u2qp0pTzyuL0LLhm6rXUl2O2MxFlR0xqjL1gP89I0GAAzsUranp9mjlBo0DtBaUEf7pDQLDw5Bkq5zTpXi/ay4/+7SMTfYNZpC8+uC2+8hCX+mFIHxu+WeCVpH4OiDvtl7a7Uzn0cX00XqDHl2TfGJpiYEJD4s8ripbzJDO/o0SiK6D/sf+E7kVaLJOyk/bNnqCZoLEVh9aX7IdO5mwwVdLKqE5imF43bXGNvHOFmCAHXg1kx3TAFEkXJYxrB3BkaUo25uae+WTTc0z7HXr/7dJIynmR43e+1WKkqN/89RKreD1HMR0jhYGtylmntkwn32WTEO13Q4ATEiFBiDn1+3xcSlGmpqfDxskdDcWjZyfM+DnB/lN1kk+Fl3xJrxj+ACG2g4C9kmN21U92w5uwdJM2oRmLZBfzsNraZJLN/BLOBFdgpjdOupRlKaeIP7o8bo84UG2CNHPvAow3uBamvs2UT8K/Z1g1ozDGN0TtyJYswrSi+OKE3XEFDaowCqVnDZ6rtpGf9Hr/qM8nhTL+ceShomAeXTG5RCVBsHpCcHWracRg9jcQku2rZ0TJxmySH59wdNEWsmfkBY9P0d8WrMcQoho+UpynVdoiQsq4vbCcNeVjT6TtztqsopzHGTihpRsLN7k8+I2QrsHHvHa/4Iw8H5rixUb1NVCuisa895o+a/hFZPl2mGGiyo9EQ27IGaUWh9+en1dyBn+uew+mqZSIUUIwDl3lt6mMtllZuK12Cvp30P555y/ReUsDgMk+Mtv+AxRU1u4YyLW/Huq0gisxcMT/R/DTIg6sWvAZ1wJJYiG9+LpIYMGt1pgn2+T48nSAw6FjzZzWmUcDNiYjpItpYO/1TRnjTGvFG8J/YeKERCRYRH/4jKP3ZcGW+xjzR66KOlmTus/u9EmA==
Content-Type: multipart/alternative; boundary="_000_BL0PR06MB44991E3E2770B267EA8433E2FB939BL0PR06MB4499namp_"
MIME-Version: 1.0
X-OriginatorOrg: five9.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL0PR06MB4499.namprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf172afc-5d0d-4d24-b1ab-08da6cf9368d
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jul 2022 22:18:04.3789 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f6c5114f-7396-4a09-af1e-98ee46f99bdb
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JEl1FKW/ORzSl/uiWDqh6zRUmFW05Ff8sCMcfAcMC2fJBBNUZZ7S9zOWNx617lcRSdR6YwXzwcqCtE4835OPwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR06MB7858
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/K96CwoSDlMjTSjfVMT6qjIuFUo4>
Subject: Re: [dispatch] New I-D - SPIN - on voice/video interop between app providers
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 23 Jul 2022 22:18:16 -0000

Not currently on dispatch agenda. I was planning to discuss it at the mimi bof on Monday.

Get Outlook for iOS<https://aka.ms/o0ukef>
________________________________
From: dispatch <dispatch-bounces@ietf.org> on behalf of Richard Shockey <richard@shockey.us>
Sent: Saturday, July 23, 2022 3:30:47 PM
To: Eric Rescorla <ekr@rtfm.com>; Jonathan Rosenberg <jdrosen@jdrosen.net>
Cc: DISPATCH <dispatch@ietf.org>
Subject: Re: [dispatch] New I-D - SPIN - on voice/video interop between app providers




This is part of dispatch on Monday right? Ok this should be fun and Jonathan I did find my Dynamicsoft cap.



Ok but I do want to make abundantly clear that I have no objections for this work to go forward.  I do have some experience in the issues involving discovery <cough cough> … BTW I’ve been anxious for Brother Peterson to chime in here. ☺



Its just I’m enough of an old curmudgeon to understand the very very significant headwinds you are going to run into.



It is a great discussion BTW.



—

Richard Shockey

Shockey Consulting LLC

Chairman of the Board SIP Forum

www.shockey.us<https://protect-us.mimecast.com/s/6uh-C5yVlksMp4LYTzsKYN?domain=shockey.us>

www.sipforum.org<https://protect-us.mimecast.com/s/V4MECjR5vjtYGPQ1hxn_5N?domain=sipforum.org>

www.sipnoc.org<https://protect-us.mimecast.com/s/EiuSCkRBwktkX1z3F0Wymz?domain=sipnoc.org>  (2022)

richard<at>shockey.us<https://protect-us.mimecast.com/s/RsxEC82WonSXPLp8UM6_rg?domain=shockey.us>

Skype-Linkedin-Facebook –Twitter  rshockey101

PSTN +1 703-593-2683





From: dispatch <dispatch-bounces@ietf.org> on behalf of Eric Rescorla <ekr@rtfm.com>
Date: Saturday, July 23, 2022 at 11:30 AM
To: Jonathan Rosenberg <jdrosen@jdrosen.net>
Cc: DISPATCH <dispatch@ietf.org>
Subject: Re: [dispatch] New I-D - SPIN - on voice/video interop between app providers



> Lots of good thoughts in here. I'll start with two initial reactions
> to your comments (and hoping we can discuss further at mimi on
> Monday):
>
> You are correct that the current SPIN protocol design does require
> both parties to be concurrently online. Since the originating party is
> the one initiating communications, this means they'll be online
> anyway. So the issue is that of the receiving party. Practically
> speaking, since this is targeted at mobile, the amount of time these
> devices are on and connected to the Internet is very high.

This rather to be fitting the problem statement to the solution
rather than the solution to the problem statement. AFAICT the
DMA doesn't limit interop requirements to mobile and there are
plenty of people connected to messengers on desktop. Similar
comments apply to the limitation to E.164 numbers and not e-mail
addresses, as sftcd observed.


> And that is my second comment - that it requires some kind of central
> authority (the RS or "Richard SHockey" ;) in your proposal). This
> central authority will have a full catalog of phone numbers for all
> users globally along with their communications applications. That is
> worrisome from a privacy perspective, but also a practical perspective
> of - who would be willing to run such a service, how does it monetize
> to justify costs, etc? With SPIN, there is no new actor that needs to
> be introduced. SPIN also doenst require the user's contact information
> to ever be stored in the cloud by Apple or Google; the real-time
> nature of the address resolution means it can be stored locally
> on-device. I think this provides a higher degree of privacy and doesnt
> require the OS vendors to do something they arent already doing,
> reducing the barrier to deployment. Apple/Google dont need to run a
> new cloud service, they just need to add another preference stored
> on-device.

I would make several points here.

First, it's a mistake to think that Google and Apple don't need to run
a new cloud service. In SPIN the originator has a credential from the
OS vendor, which effectively makes the OS vendor a CA. CAs need high
availability to handle new issuance, revocation, etc. I suppose you
could redesign the system to have two-way online SMS verification,
but that's not how it looks now, and that would come with some
new potential problems.

Second, as I observed in my email, if we're willing to deal with a
very small number of mobile device vendors--which is inherent in the
current SPIN design--then each device vendor can just run its own
database and callers can try both. Note that by assumption the device
vendor already knows your number and as a practical matter they at
least know which messaging apps you have installed, even if not which
ones you have accounts on (via the app store).

WRT the overhead of the service, I think you're rather overestimating
the investent here: we have a sense of what it costs to run something
of about this scale in the form of Let's Encrypt and we're talking on
the order of 10 million/year. If it's the OS vendors who do it, it's
not like they don't have much larger services already. It's true that
it isn't necessarily in their interest to do so, but the whole premise
of this work is that they are subject to a regulatory mandate, so I
don't think that's really dispositive. Even if it's to be third party
service, it doesn't seem like it need be that hard to fund, given
that, again, this is the result of a government mandate. One could
also imagine user fees paid by messenger apps, etc.

I do think the privacy point is a very real concern, especially if
it's not run by the device vendors, who, as I say, largely have this
information already. There are really two concerns here:

1. The existence of the database.
2. The ability of entities to query it.

The existence seems like it's addressable in a number of ways.  For
example, you could have a central service which you query which only
knows which vendor is associated with which device, and then queries
the vendor on your behalf (insert crypto handwaving here).

The existence of a query interface at all seems somewhat more
challenging.  However, I would note that many of these systems already
effectively have such an interface (for instance if you can try to add
someone to your buddy list and it behaves differently if they exist or
not), and need to have rate limiting and other anti-scraping measures.
We might be able to repurpose these techniques here. Finally, I
would note that SPIN actually provides the same interface in
the form of the phone and so will need its own anti-probing
mechanisms, except that those have to be distributed, whereas
these can be decentralized.

Anyway, looking forward to the discussion next week.

-Ekr


















On Sat, Jul 23, 2022 at 7:26 AM Jonathan Rosenberg <jdrosen@jdrosen.net<mailto:jdrosen@jdrosen.net>> wrote:

Lots of good thoughts in here. I'll start with two initial reactions to your comments (and hoping we can discuss further at mimi on Monday):



You are correct that the current SPIN protocol design does require both parties to be concurrently online. Since the originating party is the one initiating communications, this means they'll be online anyway. So the issue is that of the receiving party. Practically speaking, since this is targeted at mobile, the amount of time these devices are on and connected to the Internet is very high. As such, I dont know that its worth optimizing for the remaining small percentage when they are not. If this didnt come with tradeoffs, it certainly is a limitation worth addressing. But, I do worry about the tradeoff.



And that is my second comment - that it requires some kind of central authority (the RS or "Richard SHockey" ;) in your proposal). This central authority will have a full catalog of phone numbers for all users globally along with their communications applications. That is worrisome from a privacy perspective, but also a practical perspective of - who would be willing to run such a service, how does it monetize to justify costs, etc? With SPIN, there is no new actor that needs to be introduced. SPIN also doenst require the user's contact information to ever be stored in the cloud by Apple or Google; the real-time nature of the address resolution means it can be stored locally on-device. I think this provides a higher degree of privacy and doesnt require the OS vendors to do something they arent already doing, reducing the barrier to deployment. Apple/Google dont need to run a new cloud service, they just need to add another preference stored on-device.



Thx,

Jonathan R.





On Fri, Jul 22, 2022 at 11:22 AM Eric Rescorla <ekr@rtfm.com<mailto:ekr@rtfm.com>> wrote:

Thanks for starting this conversation.

I agree with a number of the the assumptions underlying
this proposal, specifically:

- What makes this potentially possible where previous efforts have
  failed is the force of regulation, specifically the DMA.

- Forward message routing is the most practical way
  to establish who is entitled to a specific number.

However, it seems to me that the specific design you describe
has a number of suboptimal properties. In particular:

- It requires the sending and receiving endpoints to be jointly
  online. This is not unreasonable for voice calling but is
  undesirable for messaging.

- It makes the OS vendors certificate authorities, which (a) they may
  not to be (b) gives users no real choices in their trust decisions
  (specifically, even if I am an Apple user, I need to trust Android!)
  and (c) is incompatible with purely open source systems.

- It requires each individual relying party (caller) to make their own
  verification, which makes the kinds of transparency mechanisms we
  ordinarily use to detect impersonation or misissuance/misrouting
  much more difficult, if not impossible [0].

It seems to me that there are alternative designs which do not have
this problem.

As an intuition pump, consider a system in which we have a single
central Resolution Service (RS).

- When a user installs a communications application on their device,
  that application contacts the RS, demonstrates control of the relevant
  number via SMS answerback (i.e., the RS sends them a challenge via
  SMS) [1]. The application is then able to store a record at the
  RS with the relevant contact information. If there are multiple
  applications, there would be multiple records.

- The RS issues Alice a credential (e.g., a certificate) which she can
  use to authenticate ownership of her number.

- When Alice wants to call Bob, she (or rather the calling/messaging
  application) looks up Bob's phone number in the registration
  service, retrieves the appropriate records, and is able to select
  whichever one is appropriate to complete the communication.  Alice
  uses her credential to authenticate the call.


This system addresses most of my objections above. Specifically:

- It doesn't require the endpoints to be jointly online.

- It is fully compatible with open source because it doesn't
  require trusting the OS or OS vendor on the other end.
  It doesn't give the user choices about who to trust because
  they have to trust the RS (but see below).

- It doesn't require online user verification, and so is
  compatible with Certificate Transparency type systems,
  audit of the RS, etc.

I do want to flag one potential privacy issue with this class of
design, which is that it allows the calling party to determine which
messaging/calling applications a given user uses.  By contrast, a
design like the one in SPIN allows for filitering on the receiving
side (though that doesn't seem to be in the document). I'm not sure
how big an issue this is, given that you can often join each service
and then try to connect, but it's not ideal.  I do have some handwavy
ideas for how to address this (e.g., ACLs uploaded the RS), but
they're not fully fleshed out. I do think it's possible to address,
however.

Obviously, one giant RS isn't that desirable (although as I understand
it, this is effectively how Local Number Portability works in the
NANP). With that said, one view of the current SPIN proposal is that
it has two big RSes, one run by Apple and one by Google: as described
in S 5, the originating party has already done effectively the
registration flow I describe above:

   There are two ways in which the originating OS can obtain such a
   certificate.  In one approach, the mobile OS would perform SMS
   verification (again, invisibly, by absorbing the SMS it sends to
   itself), and add an additional check of comparing it agaisnt the
   mobile numnber the user claimed they owned during provisioning time
   of the device.  The mobile OS vendor would be a valid CA, and then
   generte a certificate valid for that individual phone number.  In an
   alternative model, the telco uses certificate delegation [RFC9060],
   and generates a certificate that is handed to the phone during device
   provisioning.  The latter approach is more secure in some ways (as it
   would no longer depend on SMS forward routability for authentication
   of a user), but is much harder to deploy.

In fact, one could design something with roughly similar security
properties to the current draft by simply having Apple and Google
expose an RS API for the endpoints which had already registered as
above. The caller could then look up the target number in both Apple
and Google APIs and skip the forward SMS pieces entirely. This seems
less desirable than a single RS, but it would have a number of the
same advantages, such as not requiring both endpoints to be online
and being compatible with transparency mechanisms.


With that said, we can also do better than a single central RS.  I
don't have a complete design, but some thoughts are below.

First, it seems like authentication and discovery are separate
services, so we could have multiple CAs for telephone numbers that
each do SMS verification (a similar structure to the WebPKI) but a
single directory service. This would allow users (or really client
applications) to make their own decisions about who to trust.

One could also imagine having multiple RSes which stored phone number
records as long as there was some mechanism for determining which RS
had a given number. That mapping could then be on a single service or
just replicated to each application vendor (it's really not that
big). This would allow a diversity of RSs but with a single central
reference point so the originating party wouldn't need to poll all of
them.

At any rate, I think this type of architecture is worth considering
as an alternative to the design in this specification.

-Ekr


[0] As an example of this point, consider a nation-state attacker who
controls the PSTN and wishes to covertly intercept Alice and Bob's
communications: it reroutes the SMS messages from their communication
and then completes the call itself. In the analogous context in the
WebPKI, this creates a record in the CT log which can then be
detected, but that is not the case here.

[1] This might require some OS affordances, but I don't think
they would be that hard to design.





On Tue, Jul 12, 2022 at 7:13 AM Jonathan Rosenberg <jdrosen@jdrosen.net<mailto:jdrosen@jdrosen.net>> wrote:

Hi fellow dispatchers -



I wanted to call attention to the following draft submitted yesterday:

https://www.ietf.org/archive/id/draft-rosenberg-dispatch-spin-00.txt<https://protect-us.mimecast.com/s/zrWFC9rGpoSzN9EVCPeIjN?domain=ietf.org>



Abstract:

This document introduces a framework and a protocol for facilitating

   voice, video and messaging interoperability between application

   providers.  This work is motivated by the recent passage of

   regulation in the European Union - the Digital Markets Act (DMA) -

   which, amongst many other provisions, requires that vendors of

   applications with a large number of users enable interoperability

   with applications made by other vendors.  While such interoperability

   is broadly present within the public switched telephone network, it

   is not yet commonplace between over-the-top applications, such as

   Facetime, WhatsApp, and Facebook Messenger.  This document

   specifically defines the Simple Protocol for Inviting Numbers (SPIN)

   which is used to deliver invitations to mobile phone numbers that can

   bootstrap subsequent communications over the Internet.



Right now, we're looking to see if there is interest in working on this. Comments welcome.



Thx,

Jonathan R.



--

Jonathan Rosenberg, Ph.D.
jdrosen@jdrosen.net<mailto:jdrosen@jdrosen.net>
http://www.jdrosen.net<https://protect-us.mimecast.com/s/Vbm-C0RE2NtkgZw0F3V7Le?domain=jdrosen.net/>

_______________________________________________
dispatch mailing list
dispatch@ietf.org<mailto:dispatch@ietf.org>
https://www.ietf.org/mailman/listinfo/dispatch<https://protect-us.mimecast.com/s/J12sCgJ8xOfqwpZ5cZUHyI?domain=ietf.org>

_______________________________________________ dispatch mailing list dispatch@ietf.org https://www.ietf.org/mailman/listinfo/dispatch<https://protect-us.mimecast.com/s/J12sCgJ8xOfqwpZ5cZUHyI?domain=ietf.org>

________________________________

CONFIDENTIALITY NOTICE: This e-mail and any files attached may contain confidential information of Five9 and/or its affiliated entities. Access by the intended recipient only is authorized. Any liability arising from any party acting, or refraining from acting, on any information contained in this e-mail is hereby excluded. If you are not the intended recipient, please notify the sender immediately, destroy the original transmission and its attachments and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Copyright in this e-mail and any attachments belongs to Five9 and/or its affiliated entities.