[Acme] Entity authenticator URI
Phillip Hallam-Baker <phill@hallambaker.com> Wed, 07 January 2015 15:42 UTC
Return-Path: <hallam@gmail.com>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 876351A90EC; Wed, 7 Jan 2015 07:42:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
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 PwRP8elXIaw9; Wed, 7 Jan 2015 07:42:42 -0800 (PST)
Received: from mail-lb0-x22b.google.com (mail-lb0-x22b.google.com [IPv6:2a00:1450:4010:c04::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B00371A8858; Wed, 7 Jan 2015 07:42:41 -0800 (PST)
Received: by mail-lb0-f171.google.com with SMTP id w7so1293711lbi.2; Wed, 07 Jan 2015 07:42:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=+9qVMb5CBGk7/OhUuWcPIS93ykcZ1ZQLCDjPzncn+/U=; b=s15AXaa4DOyUac4wc0Ki4jteP86TeggfBayYZ8ZxIAXKoNfp+cOAn+jJ8N3q0BcMlH 6MjcQNA/BdV5e+HAXWNYbu9X09iTR2GfozFOGazprW//gyPCBrSuKF03HR8j0VJ6M843 lJyXbb+ClegWp+NkIyRJ6uRWfdPNldA8WQgM3yR0wXQN+A3yUwyp8mOGbc2ybsM956IY /dsyyy6PCwp0D/CjV50WshQP1/gJW68Z1yhy/tySdXho4076Y44XDpweZ1T2dfmyn832 RkFMOGylR6/XNlPmXGsUeadp9tZGhi4XpgT1ttO57CN8cpaL11EGR5LmFMmR2wzH0Hfd +GWg==
MIME-Version: 1.0
X-Received: by 10.112.209.40 with SMTP id mj8mr5538602lbc.49.1420645358125; Wed, 07 Jan 2015 07:42:38 -0800 (PST)
Sender: hallam@gmail.com
Received: by 10.112.19.42 with HTTP; Wed, 7 Jan 2015 07:42:38 -0800 (PST)
Date: Wed, 07 Jan 2015 10:42:38 -0500
X-Google-Sender-Auth: dKvR4vzKju3XJYefbjRN3tPxwH8
Message-ID: <CAMm+Lwh1TWaaNMJ4wXQFih+1EbZ0f8kLuYxyB_ak4fGHCjS9Lg@mail.gmail.com>
From: Phillip Hallam-Baker <phill@hallambaker.com>
To: "dns-privacy@ietf.org" <dns-privacy@ietf.org>, "acme@ietf.org" <acme@ietf.org>
Content-Type: multipart/alternative; boundary="001a11c26218ec4a8e050c11c545"
Archived-At: http://mailarchive.ietf.org/arch/msg/acme/FYgmkvUiqWb4RoJfFtG11D9oLJc
Subject: [Acme] Entity authenticator URI
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jan 2015 15:42:45 -0000
Right now I am working on three separate projects: end-to-end secure email (EndyMail *), private DNS (DPRIV) and PKI cert lifecycle management (DPRIV). A building block that would be tremendously useful in all three areas is a uri that combines an account or service identifier and authenticator for that entity. This would be a generalization of the 'strong email address' concept I introduced last year: draft-hallambaker-prismproof-key-01 First, what the URI would be, next how it solves real world problems in the three application areas. The simplest URI would simply be either a base64URI or Base32 encoding of a kerberos ticket, a public key or a digest of a public key. In many applications we do not need to identify the service provider or account holder but we do need to determine that they are the same party we contacted earlier. So using the digest key identifier scheme, our URI might be: TBS::ABAHEA-BI4AAJ-6ACOXQA-A7AHPD-KAHDAES-NZACVA-HGWMAJ-DAA [Note that the algorithm is encoded into the key identifier digest already so an external algorithm ID isn't needed. But we can add to taste.] This scheme is obviously and pathetically unworkable for RSA2408 keys but 256 bit ECC keys would be practical. A digest alone isn't very useful unless there is a way to resolve it to the key. But this isn't much of a problem as in many cases we can pass the key in band in a protocol. We could have an argument as to whether we need to have tickets, keys and key digests, but they all have uses. Keys and digests are really useful for establishing long term secrets. Tickets are much better for short term interactions with a single host. We can add in an account identifier: TBS:alice@example.com:ABAHEA-BI4AAJ-6ACOXQA-A7AHPD-KAHDAES-NZACVA-HGWMAJ-DAA We can also add in a service identifier using the SRV prefix convention: TBS:_acme._tcp.example.com: ABAHEA-BI4AAJ-6ACOXQA-A7AHPD-KAHDAES-NZACVA-HGWMAJ-DAA The important thing here is that we now have some identifiers that can be used to establish the foundation of trust relationships that don't depend on external parties to resolve. And that is really useful when working at the level of DPRIV or ACME. Lets say you decide to use a confidential DNS service provided by Comodo for public (i.e. anonymous) use. For DPRIV, the initial contact with the DNS service would be via legacy DNS and TLS using the Web PKI (hopefully requiring an EV cert). That contact can then establish a number of host/protocol combinations, each of which is represented by a service URI. Since this is a DNS client protocol, the service identifier might have an IP address rather than a DNS name but any other service would be a DNS name. The choice of using tickets or public keys as the authentication basis can be left to deployment choice. If I am binding a $965 iPhone to a DNS service for its service life then I probably want a public key. If I am binding a lightbulb to my home network hub then I probably want a ticket as the thing probably can't usefully rekey (i.e. it could do the math but would leak its key in doing so). Connecting to a private service there would be two entity URIs, one for the service, the other for the user. So when I bind my machine to the corporate Comodo network I can get access to the internal DNS service that will provide resolution for internal services. The way I would use this in Acme is that I would have the (Web) host generate a public/private keypair that would be used to identify that machine for cert issue and for no other purpose. I now have an identifier that I can put in a CA database or the config file of an LRA.
- [Acme] Entity authenticator URI Phillip Hallam-Baker
- Re: [Acme] Entity authenticator URI Tony Arcieri
- Re: [Acme] [dns-privacy] Entity authenticator URI Phillip Hallam-Baker
- Re: [Acme] [dns-privacy] Entity authenticator URI Tony Arcieri