Re: [lamps] Interest to standardize PKI REST APIs?

"Brockhaus, Hendrik" <hendrik.brockhaus@siemens.com> Wed, 12 June 2019 08:43 UTC

Return-Path: <hendrik.brockhaus@siemens.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B4BAA1200FA for <spasm@ietfa.amsl.com>; Wed, 12 Jun 2019 01:43:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=siemens.onmicrosoft.com
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 uIe_lwb2wy7Z for <spasm@ietfa.amsl.com>; Wed, 12 Jun 2019 01:43:47 -0700 (PDT)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10063.outbound.protection.outlook.com [40.107.1.63]) (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 C0D80120089 for <spasm@ietf.org>; Wed, 12 Jun 2019 01:43:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.onmicrosoft.com; s=selector2-siemens-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C5kN5eAXpg2WhBTObBOx1O+zMYF7EiTnL1CnqPj8zcM=; b=TJLwhLMH2cHVziI4UTHxaSjJsT1YbuaQ3t4m49Bbz2aF6KvTOKfHTN9zZ/tvr+uPP95Wxu7Zrisk1dEouSfXnhbn5GP2H+HTm8lnU1e7XFiQEjGLbwYkrCPPfZqHxRVTvUJMSd2gssEej22CLq61F+2Kg0Q1RfDwJ7WJa3uT730=
Received: from AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM (20.177.110.224) by AM0PR10MB2162.EURPRD10.PROD.OUTLOOK.COM (20.177.108.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.11; Wed, 12 Jun 2019 08:43:44 +0000
Received: from AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM ([fe80::a1d3:2a6c:c2ff:2fa3]) by AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM ([fe80::a1d3:2a6c:c2ff:2fa3%7]) with mapi id 15.20.1965.017; Wed, 12 Jun 2019 08:43:44 +0000
From: "Brockhaus, Hendrik" <hendrik.brockhaus@siemens.com>
To: Tomas Gustavsson <tomas.gustavsson@primekey.com>, "spasm@ietf.org" <spasm@ietf.org>
Thread-Topic: [lamps] Interest to standardize PKI REST APIs?
Thread-Index: AQHVGHCvl8HgPTUm30+9zuWHsj3AZKaQehewgAAsQgCABubnEIAAFkmAgAAY4fA=
Date: Wed, 12 Jun 2019 08:43:44 +0000
Message-ID: <AM0PR10MB2402054250E8F3F567E018BBFEEC0@AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM>
References: <AM0PR10MB24028210BCE560C64195A74EFE320@AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM> <AM0PR10MB2402B5BB06E4FB59A8ECB16BFE060@AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM> <AM0PR10MB2402C7C1AAA09EABF047F0CEFE1D0@AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM> <29FAEBF1-2D67-469F-BE78-AF58F78D055E@vigilsec.com> <BN7PR11MB2547D526E00CE7C5DDCDB3E9C91E0@BN7PR11MB2547.namprd11.prod.outlook.com> <17374.1559083024@localhost> <HE1PR0701MB24447D45A6A7461DEC49FE7B9B1F0@HE1PR0701MB2444.eurprd07.prod.outlook.com> <12129.1559329924@localhost> <7f83213b-2e63-57f5-5a1a-956d47b58683@primekey.com> <AM0PR10MB2402726EDDA7074FEDFF917DFE100@AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM> <6992.1559937612@localhost> <AM0PR10MB2402E1A22C3CB3D4507BE1E0FEEC0@AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM> <c57f4ec5-539e-554a-3dcf-2bd73a1bf552@primekey.com>
In-Reply-To: <c57f4ec5-539e-554a-3dcf-2bd73a1bf552@primekey.com>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-document-confidentiality: NotClassified
authentication-results: spf=none (sender IP is ) smtp.mailfrom=hendrik.brockhaus@siemens.com;
x-originating-ip: [80.146.228.83]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b61148a3-111f-4546-0a59-08d6ef1213f4
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:AM0PR10MB2162;
x-ms-traffictypediagnostic: AM0PR10MB2162:
x-microsoft-antispam-prvs: <AM0PR10MB2162A52C8CFD8B414B1B3327FEEC0@AM0PR10MB2162.EURPRD10.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0066D63CE6
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39860400002)(346002)(376002)(366004)(136003)(189003)(199004)(110136005)(86362001)(64756008)(76116006)(2906002)(66446008)(68736007)(66476007)(66556008)(55016002)(73956011)(66066001)(71190400001)(71200400001)(2501003)(53936002)(486006)(446003)(11346002)(476003)(8676002)(81156014)(66946007)(8936002)(81166006)(7696005)(76176011)(102836004)(25786009)(33656002)(52536014)(478600001)(7736002)(186003)(3846002)(9686003)(6506007)(74316002)(66574012)(26005)(6116002)(5660300002)(14444005)(6436002)(256004)(99286004)(316002)(305945005)(14454004)(53546011); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR10MB2162; H:AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: siemens.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: ZblmLglI9vhzDPF6ZvrH6PdFtXJ3DKB0HCxgOVZjZauoehieSDeguHTiu6ThE26/+3LVrv7siXXrq0MiOqegHw9rfB8aC7lyy8zwur5iqcHtIeogs/xgaUDszT7KhD0xIxbMvbMWEh3UtsHO50QKahH+831H95QoRWVUv7ZkllQLdFNSuuf1TtZBS6jXd+gTI5imWWvtJfNGn1ysFbXaO5aHJZdqgzEvy4rCHxdHJj7vuVH13YmwFwbFRqDrLjnYRuj4HPYy5fFa4XEljBh0kjSHs37HXRV+iQu86kutn87sTc7tPyryIlaLjKyDjj66gGiIfDM23TyMSQ+Sa7TEDW4fmaUVmjQUNLTkgNV9/ACkGnepQi/ts3DSyVCZM0eU/f4r981JBF2esLWNtCwvzt5+PMfhG/3CIAfT554HTWg=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: siemens.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b61148a3-111f-4546-0a59-08d6ef1213f4
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2019 08:43:44.1265 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hendrik.brockhaus@siemens.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB2162
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/JnXMTSYwWK_HaxWQIgw1-TBP-pQ>
Subject: Re: [lamps] Interest to standardize PKI REST APIs?
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Jun 2019 08:43:50 -0000

> Tomas Gustavsson <tomas.gustavsson@primekey.com> wrote: 
> 
> I'm not sure that properties such as self-contained protection is a good fit for
> REST API. (one of) The key point (at least for me) of REST API is the easiness
> of testing/development. You can use a Swagger web page to test the API
> directly from a browser, and get copy-paste curl commands to run in a script.
> Error responses are simple, human readable JSON.

I do not feel that this contradicts with self-contained message protection. At least integrity protection should work, or am I wrong?

> Using CMP, for example, as base will not make this possible. CMP works well
> as it is imho, and I don't think it will become easier to use with a new
> transport. The HTTP transport itself of CMP is easy enough (I like it).
> 
> Of course PKCS#10 request and certificates/CRLs are self-contained
> protected, but there is nothing similar for say revocation requests.

A CMP rr message is a self-contained revocation message. Isn't it similar to PKCS#10, certificate and CRL? May be it needs to be adapted or tailored. 

> Simple use cases can use simple protocols, but it will be hard I think to
> support complex use cases sẃith such. This is where CMP shines, for
> complex use cases, and I have no ambition to replace CMP.

Agree. That is why I like to define the use cases first :-)

Most simple use case require a trusted first hop. For many scenarios this assumption does not hold true. That is why I would like to have some end-to-end integrity protection.
In a lot of industrial environments messages need to be transported in a store-and-forward fashion due to network separation or required explicit admin approval. That is why I like self-contained message integrity protection.

Hendrik

> On 2019-06-12 07:49, Brockhaus, Hendrik wrote:
> >> Michael Richardson <mcr+ietf@sandelman.ca>  wrote:
> >>
> >> Brockhaus, Hendrik <hendrik.brockhaus@siemens.com> wrote:
> >>     > I think we need to first collect the required certificate management
> >>     > use cases and check if they are addressed by existing protocols.
> >>
> >> I don't want to do that.  It's boiling the ocean.
> >
> > IMHO knowing about the uses cases we want to address is not  'boiling the
> ocean'. If we want to come up with a solution that fits our needs, we should
> do this. Other vice we come up with a solution that looks nice, but cannot be
> used for major use cases. Like EST is an interesting approach for the last mile,
> but does not offer revocation, self-contained messages and end-to-end
> security. All are required in more complex scenarios.
> >
> > I see the following requirements.
> > - Enrollment, update und revocation
> > - Local and central key generation
> > - Confirmation of certificate enrollment/update
> > - Polling for delayed delivery
> > - Some general messages like GetCSRParam and RootCACertUpadate
> > - Approval of request by intermediate RAs, e.g. by adding additional
> > signatures
> > - Security features
> >   . Self-contained protection of requests/responses (end-to-end security)
> >   . Proof-of-possession
> >   . Proof-of-identity, e.g. signature, HMAC
> >   . Replay protection, e.g. nonces
> >   . Timeliness, e.g. timestamps
> >
> > So there is no surprise. But some features like self-contains messages
> together with approval of an RA is not available in protocols like ACME and
> EST. So we can discuss extending these, or we utilize an existing protocol like
> CMP that already offers the above and adapt its transport and messages flow
> to REST.