Hi Steffen, Thomas, (WG),

Based on our discussion in the ANIMA design team I looked up the requirements 
for signing the PVR, and including the certificate chain in the PVR, for 
BRSKI/cBRSKI.
Just to compare. For BRSKI-PRM there may be other requirements because of the 
Registrar-Agent that sits in between.


RFC 8366 5.4 – for Vouchers only:

   The CMS structure SHOULD also contain all of the certificates leading
   up to and including the signer's trust anchor certificate known to
   the recipient.  The inclusion of the trust anchor is unusual in many
   applications, but third parties cannot accurately audit the
   transaction without it.

RFC 8995 5.2 – for the PVR, it basically copies the above requirement and 
requires signing by the Pledge’s IDevID credentials:

application/voucher-cms+json:
    [RFC8366] defines a "YANG-defined JSON document that has been signed using 
a Cryptographic Message Syntax (CMS) structure", and the voucher-request 
described in Section 3 is created in the same way. The media type is the same 
as defined in [RFC8366]. This is also used for the pledge voucher-request. The 
pledge MUST sign the request using the credentials in Section 2.3.

Now the target recipient of the PVR is the MASA. (Again for PRM this may be 
different and include Registrar as well...? But not in BRSKI I think.)
So the requirement on the Pledge is it SHOULD include in the PVR all the 
certificates needed for the MASA to build the complete chain. And by design 
(same vendor) the Pledge should know what the deployed MASA will now about the 
vendor’s Pledges i.e. what trust anchors are stored in MASA. This would I think 
need to be at least the Pledge’s own IDevID EE certificate. If “trust anchor” 
is interpreted as a “CA”, it needs to be at least this IDevID EE certificate 
and the next-in-line CA certificate, which may be a sub-CA and not a root CA.
It’s not a MUST requirement.

Next: In cBRSKI, the PVR size is reduced by completely removing any signing 
certificates: only the signature itself is included!  This works because we 
have vendor’s serial-number to uniquely identify a Pledge to MASA. And if 
serial numbers would collide in some case, we explain how to use the “key ID” 
(kid) field to  identify the signer in those cases. And an optional way to 
include the complete cert chain, if really needed for something, by including 
it in the x5bag container element.

The MASA is this solution needs to store all the cert-chains for all the 
Pledges it supports – including their IDevID EE certificates -- an extra burden 
on MASA, compared with BRSKI, but one which helps us achieve the smaller size 
of PVR.
So cBRSKI changes the “SHOULD” requirement from 8995 to a SHOULD NOT in Section 
9.2.2.

Also in cBRSKI, the Registrar obtains the IDevID of the Pledge from the DTLS 
handshake. Not from the PVR.
This seems allowed per BRSKI Section 9.3,

    A registrar accepts or declines a request to join the domain, based on the 
authenticated identity presented

It doesn’t say where the IDevID identity should come from – PVR or the (D)TLS 
handshake supplied certificates. Having only one source should be fine ... ?

Regards
Esko

_______________________________________________
Anima mailing list -- anima@ietf.org
To unsubscribe send an email to anima-le...@ietf.org

Reply via email to