Copyright © 2024 the document editors/authors. Text is available under the Creative Commons Attribution 4.0 International Public License
We describe a mechanism enabling Decentralised Identity and Access Management in B2B ecosystems which require a high level of legal certainty, reduced manual processes and reduced dependency in third parties for the operation of the ecosystem. It combines eIDAS X.509 certificates issued by QTSPs with advanced or qualified signatures and seals of Verifiable Credentials.
The mechanism enables authentication and access control of entities acting on behalf of a legal person with much more descriptive power and flexibility than trying to use just X.509 certificates of representation, and in a more efficient and automated way than using just signed PDFs.
The mechanism is aligned with the upcoming EDIW (European Digital Identity Wallet) and its supporting eIDAS2 regulation, but it advances the state of the art by focusing entirely on legal persons with an implementation that can be used today without the need to wait for future supporting regulation.
In particular, we support natural persons acting on behalf of legal entities (e.g., employees or contractors of a business), interacting with other legal entities. The mechanism is not recommended for natural persons acting as citizens, even if technically the mechanism could be adapted. For citizens we recommend to wait for eIDAS2 and EDIW.
The mechanism leverages Verifiable Credentials and the existing eIDAS framework by:
In this way, the credential is a legally binding machine-readable document where the issuer attests that it delegates the set of powers specified in the credential to the user identified as the subject of the credential.
The subject can then use the credential to authenticate to a Relying Party because the identities of holder and subject of the credential are bound.
This mechanism leverages the eIDAS trust framework using advanced or qualified signatures and seals to provide a high level of legal certainty and enjoying the presumption of non-repudiation in the courts, something that does not happen when using other types of basic signatures.
At the top of the Trust Framework we have the [[[EU_Trusted_Lists]]]. Member States have the obligation to establish, maintain and publish trusted lists with each qualified trust service provider under their control and the services provided by them.
In order to allow access to the trusted lists of all Member States, the Commission makes available to the public the trusted lists as notified by Member States.
Certificates for signatures and for seals are provided by QTSPs under the eIDAS legal framework. There are some 240 QTSPs, providing different Trust Services.
We focus here only on two types of certificates provided by QTSPs to organisations and legal representatives of organisations:
organisation
, when we do not require the more precise terminology.
In this purpose, electronic seals might serve as evidence that an electronic document was issued by a legal person, ensuring certainty of the document’s origin and integrity. Nevertheless, across the European Union, when a transaction requires a qualified electronic seal from a legal person, a qualified electronic signature from the authorised representative of the legal person is equally acceptable.
Like its handwritten counterpart in the offline world, an electronic signature can be used, for instance, to electronically indicate that the signatory has written the document, agreed with the content of the document, or that the signatory was present as a witness.
We are interested here in a qualified certificate for electronic signature issued to a natural person who is an authorised representative of the legal person, informally called a certificate of representation, because it is typically used by the legal representative to sign documents on behalf of the organisation that the natural person represents.
In case you want to seal a document as a legal person (e.g. as a business or organisation), you might be instead interested in an electronic seal.
The qualified certificate for electronic seal is typically installed in a server (using a hardware security module, or HSM) and used to automatically seal documents like eInvoices (typically in XML format), by automated backend processes.
The qualified certificate for electronic signature is used by the natural person who is an authorised representative of the legal person. It is used under the control of the natural person to sign documents typically in PDF format, like contracts, where the natural person acts on behalf of the organisation.
These concepts are described in the following diagram:
In DOME we use eIDAS certificates to sign/seal Verifiable Credentials, which are JSON documents. Verifiable Credentials represent several types of documents in structured format and be machine readable and machine verifiable. Advanced/qualified signatures provide the same legal validity as “traditional” PDF or XML documents.
This is represented in the following diagram, complementing the one above:
The LEAR Credential is a JSON document which requires an advanced or qualified signature or seal, using one of the certificates described above.
The credential can be sealed with a qualified certificate for seals in a similar way to how the organisation seals electronic invoices. However, we will focus here in the electronic signature performed by the natural person who is the legal representative of the organisation. The LEAR Credential is an employee credential issued to a small number of employees (maybe one), typically with the intervention of the HR department of the organisation and manual interaction of the legal representative.
In this case, the legal representative controls the qualified certificate for signatures and there are three possibilities for performing the signature:
inside
the Smart Card or token. This is typically the setup for performing a qualified signature
, which has greater legal presumptions of validity than other types of signature.
advanced signature
, even if a qualified certificate is used. This signature has a lower level of legal certainty than the qualified signature, but it is enough for most business transactions.
For the moment, we will focus just on the first and second mechanisms of signature, which we will call local signature
for obvious reasons.
We start describing at a high level a typical local signature process when the legal representative signs a PDF document, because it is very familiar and will serve as the base to describe the signature of a Verifiable Credential to generate the LEAR Credential, highlighting the similarities and differences.
An imaginary (but typical) PDF signing process goes like this:
When creating the LEAR Credential, the flow is very similar:
This section describes the components and infrastructure required by an organisation to create the LEAR Credential for one of its employees.
The LEAR Credential Issuer
is the main application that manages the credential flow. We assume here that it is specialised in creating LEAR Credentials, though it could be used for other types of credentials. In this context, we will use the term LEAR Credential Issuer
and Credential Issuer
as interchangeable.
For the explanation, we are going to assume the issuance flow described above and a given set of actors. However, the flows can be adapted to other scenarios.
The main actors are:
Before starting the process, the legal representative should have an eIDAS certificate. This is the same certificate that can be used to sign documents in PDF form. The legal representative will be signing the LEAR Credential in a similar way to signing a PDF in her machine, except she will use a special program provided by DOME instead of Acrobat Reader. The technical requirements for signing LEAR Credentials are essentially the same as for signing a PDF. More details about this later.
The HR employee uses an HTML form provided by the LEAR Credential Issuer application to input the required data about the employee. The application enables also to provide such data with a YAML file, to facilitate automation of the process.
The required data includes name, surname, contact data (phone and company email), and the roles that the employee is authorised to perform. For simplicity we assume here the role onboarder
, but the HR employee can specify a list of roles relevant for DOME.
Once the data is completed, the HR employee confirms the operation and the LEAR Credential Issuer notifies the Appointed Employee using the company email provided.
The employee receives an email from the LEAR Credential Issuer with the proper instructions, including a unique transaction code
that the employee requires to start the process for receiving the LEAR Credential.
The Appointed employee enters into the HTML portal provided by the LEAR Credential Issuer (the URL of the portal is well-known, but it is also described in the email).
The portal does not require the Appointed employee to be pre-registered in the application, because the unique transaction code
received via email is used to access its Credential Offer.
Once the employee enters the transaction code
in the portal, a QR code is displayed with the content of Credential Offer (compliant with the OpenID4VCI protocol).
The employee scans the QR code with her Wallet. She can use the Wallet provided by DOME, or any other which is compatible. This includes the possibility that the company provides employees with its own Wallet, which could even be a branded version of the DOME Wallet.
The Appointed employee should have a Wallet compatible with the OpenID4VCI specifications, in particular capable of the subset of functionalities specified in the DOME profile.
The employee uses the Wallet to scan the QR code presented by the LEAR Credential Issuer containing the Credential Offer. After the employee reviews the request in her Wallet and providing explicit confirmation, the Wallet generates a private/public key pair according to the did:key
specification, and sends this generated did:key
to the LEAR Credential Issuer following the OpenID4VCI specifications.
The LEAR Credential Issuer replies to the Wallet with an OpenID4VCI Access Token to be used later when the credential has been signed by the legal representative.
The LEAR Credential Issuer notifies via email to the legal representative (her email is pre-registered in the application, as the contact person in the organisation capable of signing the LEAR Credentials).
This is a simple program provided by DOME that should be installed locally in the PC of the legal representative and that performs the actual signing of the LEAR Credential (there are versions for Windows, Mac and Linux). Alternatively, any organisation can develop an equivalent program themselves if they wish, because it performs standard JAdES signatures and uses documented APIs of the LEAR Credential Issuer program.
The LEAR Credential Signer supports the following mechanisms to access the eIDAS certificate and sign the credential:
The functionalities of the LEAR Credential Signer are described below.
When the legal representative receives the email notification that a LEAR Credential needs her signature, she starts the LEAR Credential Signer program previously installed in her machine.
The program asks the legal representative for a unique transaction code received in the email. This transaction code is different from the one received by the Appointed employee, but it is related to the same transaction (the specific LEAR Credential being created).
The program invokes an API provided by the LEAR Credential Issuer to retrieve the LEAR CRedential that has to be signed. The API accepts the unique transaction code received from the legal representative.
The program displays the information for the retrieved LEAR Credential and requests confirmation to continue.
After confirmation, the LEAR Credential Signer uses the standard APIs (PKCS#12, MS CAPI, etc.) to perform the signature. During this process, the program requests from the legal representative the password or other authentication mechanism that the actual protocol requires to confirm the signature. For example, with PKCS#12 the legal representative has to provide the symmetrical password that protects the file containing the X.509 certificate.
After the signature is performed, the program asks for another confirmation from the legal representative to continue with the process.
Then the LEAR Credential Signer program invokes another API provided by the LEAR Credential Issuer server to send the signed credential.
When the Issuer receives the signed Credential from the LEAR Credential Signer, it makes the Credential available for retrieval by the Appointed employee. It also notifies via email to the involved parties (Appointed employee, legal representative and HR employee).
When the Appointed employee receives the notification, she uses her Wallet to restart the issuance process.
The Wallet uses the Access Token received in the first phase of the process to request the Credential using the OpenID4VCI protocol. After the protocol is executed, the Wallet has the LEAR Credential signed by the legal representative, ready to be used for authentication into DOME.
The LEAR Credential Issuer is a web application consisting of a server part, HTML interface, the APIs implementing the OpenIDVCI protocol, and the APIs required by the LEAR Credential Signer program.
The LEAR Credential Issuer does not require integration with the rest of the DOME infrastructure, so it supports different deployment scenarios.
Regardless of the other scenarios, DOME provides an instance of the LEAR Credential Issuer as a service, so organisations (especially SMEs) do not have to worry about deployment.
The application is standalone and does not require interaction with any other system except a compatible the Wallet and the LEAR Credential Signer.
The LEAR Credential Issuer can be deployed by any organisation wishing to control the full system. It can be deployed either on-premises or in any cloud environment that the organisation wants to use. The only requirements are that the HTML interface and APIs should be available to the involved actors in the company. They can even not be available through Internet, if the company so wishes.
The application is provided as a set of Docker containers that can be easily deployed in many environments.
An entity willing to provide the LEAR Credential issuance service to third-parties for whatever reason, can do so by deploying the LEAR Credential Issuer on their own system.
This is a simple program that is installed in the PC of the legal representative. It is intended for self-installation without requiring technical knowledge, though it is expected to be installed by the IT personnel taking care of the personal computer infrastructure of the employees in the organisation. The program can be installed using the typical automated installation processes in big organisations.
The only configuration required is the URL of the LEAR Credential Issuer that the organisation wants to use for Credential issuance. It may be the URL of the instance operated by DOME, or any other instance that the organisation wants.
As far as possible and in order to enhance consistency with the regulation, we use in this document the following definitions, which is essentially a subset of the definitions in Article 3 of the document [[eIDAS2.Regulation]] and in the original [[[eIDAS.Regulation]]].
This is the reason why in some definitions below the description refers to an article or section that does not exist in this document. We have decided to keep the definitions like in the original, as we think it does not limit the understanding of the concept.