Re: [stir] current draft charter - ENUM and databases

Henning Schulzrinne <hgs@cs.columbia.edu> Sun, 16 June 2013 21:39 UTC

Return-Path: <hgs@cs.columbia.edu>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5869721F9D2E for <stir@ietfa.amsl.com>; Sun, 16 Jun 2013 14:39:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.454
X-Spam-Level:
X-Spam-Status: No, score=-6.454 tagged_above=-999 required=5 tests=[AWL=0.145, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TdAPaNxQOYwP for <stir@ietfa.amsl.com>; Sun, 16 Jun 2013 14:39:22 -0700 (PDT)
Received: from salak.cc.columbia.edu (salak.cc.columbia.edu [128.59.29.6]) by ietfa.amsl.com (Postfix) with ESMTP id D166921F9C7A for <stir@ietf.org>; Sun, 16 Jun 2013 14:39:17 -0700 (PDT)
Received: from [10.0.1.2] (c-98-204-176-168.hsd1.va.comcast.net [98.204.176.168]) (user=hgs10 mech=PLAIN bits=0) by salak.cc.columbia.edu (8.14.4/8.14.3) with ESMTP id r5GLdEqm029960 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Sun, 16 Jun 2013 17:39:15 -0400 (EDT)
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="us-ascii"
From: Henning Schulzrinne <hgs@cs.columbia.edu>
In-Reply-To: <7D713C14-5B28-4BDB-8987-352CA00112EE@oracle.com>
Date: Sun, 16 Jun 2013 17:39:14 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <4C2FC962-375E-4886-A15A-100E0031FE2D@cs.columbia.edu>
References: <CDDE44D8.D939%york@isoc.org> <4758E6F6-EDA5-4A11-9E94-42C97C03118E@cs.columbia.edu> <7D713C14-5B28-4BDB-8987-352CA00112EE@oracle.com>
To: Hadriel Kaplan <hadriel.kaplan@oracle.com>
X-Mailer: Apple Mail (2.1283)
X-No-Spam-Score: Local
X-Scanned-By: MIMEDefang 2.68 on 128.59.29.6
Cc: stir@ietf.org
Subject: Re: [stir] current draft charter - ENUM and databases
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/stir>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 16 Jun 2013 21:39:28 -0000

On Jun 15, 2013, at 3:06 PM, Hadriel Kaplan wrote:

> 
> On Jun 13, 2013, at 9:12 PM, Henning Schulzrinne <hgs@cs.columbia.edu> wrote:
> 
>> Also, I suspect there would be fewer concerns if the DNS-like database mainly referred to other databases, which can then be access-controlled as needed, and can evolve.
> 
> But that's just moving the problem around, isn't it?

Yes, in the spirit of "All problems in computer science can be solved by another level of indirection". My hunch is that directories/databases/DNS that try to enforce policy are likely to fail, but relatively policy-neutral ones have a better chance.


> 
> I mean ultimately some of us might want to actually implement the signing and verification into our systems.  If it uses public-key signatures, then we need a standardized protocol by which our systems can query for a certificate signed by some authority we trust for a given E.164 number.  If DNS tells us "go look over at FOO": then what standardized protocol does FOO use that we need to implement?

Wouldn't plain HTTPS do the trick, as in 4474?


> why should we trust it for this caller-id? and how does it avoid the privacy problems and ownership problems and so on?  How do you even know we can reach FOO, if it's not necessarily publicly reachable?
> 
> I mean all I've heard is this: 
> Step-1) Some magic happens somewhere, to enable the caller to generate a HTTP URL anyone can use**
> Step-2) You get the HTTP URL in SIP from the caller through some chain of providers
> Step-3) You send a GET request to above URL
> Step-4) Some more magic happens**
> Step-5) You get back a magic certificate
> Step-6) You trust the magic was real, and use the cert to verify
> Step-7) Ta-da! You've now verified the caller-id!
> Step-8) Profit.
> 
> **note: please contact the universal magician so we can make the magic stuff happen for you and everyone else.

I don't think it's quite *that* bad. What I've heard so far is some version of:

* Very small number of entities (1-10ish per country code) sign "public key X is entitled to use TN [range] A". The cert is conveyed in some proprietary fashion to the number holder, similar to how today's web CA's deliver certs to their customers. A single entity can have any number of public keys, if they want to obscure their number holdings or for operational reasons. Working group to-do: Define appropriate X.509 content for numbers.

* Small number of "convenience" database providers host certs, including possibly carriers (if they don't care about identifying themselves). The database providers offer scaling and access control. National policy decides what kind of access needs to be granted to whom (fees, non-discrimination, etc.).

* Certs are retrieved via the HTTPS URL that's included in 4474bis header. Clearly, the entity doing the signing has to know where to find the cert, but as long as the number of entities signing is small, this seems quite manageable.

* The validator knows trusted root CAs. Future work: A DANE-like mechanism to list those, e.g., based on prefixes (e.g., +1 might list the number administrator(s) in the US and other +1 countries). As long as the number of CAs for each country code prefix is very small (which seems likely, at least initially), there's no great need to have references for each TN, while still preventing the Nigerian NRA signing +1 numbers.

It might be interesting to see how much of EPP is applicable here.

As far as I can tell, assuming 4474bis header mods and the X.509 customs, you could build a system that allows interoperable validation. The only proprietary piece, initially, would be the cert delivery to the number holder.

Is that a bit less magic?

> 
>> Also, keeping scale in mind helps: In our case, the scale for "number-holding service providers" is currently a few thousand, not millions, so management solutions that don't scale to millions are acceptable to get started. The backend process today is pretty manual (faxes, web pages and proprietary APIs), so expectations are fairly low.
> 
> See, that matches up well with DNS too! The backend management/admin process is pretty manual afaict. ;)
> 
> -hadriel
> 
>