Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Distributed Identity is mainly used for accessing online services but there is no theoretical obstacle for to presenting a digital identity in a non-virtual setting like at a physical entry at a gate.

...

  • Better attribute aggregation: in a DI4R setting, attribute aggregation happens within the user wallet. This enables attributes from more sources with the user in perfect control of the release.
  • Easier integration for the identity and service service providers: Providers need not to federate - they can decide to provide or consume user information or stop doing that at any time and it is only up to the user whether they want to provide attributes or not. 
  • No tracking by IdP: In a SAML or OIDC setting, the Identity Provider can track in real-time where its users are logging in. In DI4R, the issuer cannot track any subsequent usage of the issued information and thus learn about the user's behaviour.
  • Easier compliance with GDPR:
    • The user holds control over cards and can easily delete them.
    • For the IdP there is not much difference, except in terms of less control - the IdP cannot know/limit what happens with the credentials once issued - they can only track their inclusion into the user's wallet (including after a claim has expired or is revoked)
    • The IdP's ability to control attribute release improves privacy and data protection.
    • Not having a proxy ! (in the long run ? we go to lengths below with proxies!-proxies are temporarily very useful) is also a big advantage.
    • The authorisation is decoupled from providing attributes.
    • The service is responsible for asking for only what it needs and whom it trusts to and is responsible for claims regarding verification, authorization and GDPR-complied handling of released information.
  • Easier in the ecosystem to exchange information without top-level trust route approval - basically a mesh-like federation. 
    • Explanation: we came up with tagging in eduGAIN so that we don’t break the trust model, while entities can still express additional content.

...

  • Implement and improve IRMA issuer in SimpleSAMLphp
  • Test verification of claims from multiple schemes

  • Explore the best way to describe the scheme

  • Discuss IRMA ‘metadata’ distribution risks

  • Investigate assurance

  • Device assurance

  • Expressing assurance from the source

  • Investigate revocation

  • Multi-valued attributes

...

  1. Usually, the session starts with the user performing some action on the website (e.g. clicking on "Log in with IRMA").
  2. The requestor sends its session request (containing the attributes to be disclosed or issued, or message to be signed) to the IRMA server. Depending on its configuration, the IRMA server accepts the session request only if the session request is authentic (e.g. a validly signed session request JWT) from an authorized requestor.
  3. The IRMA server accepts the request and assigns a session token (a random string) to it. It returns the contents of the QR code that the frontend must display: the URL to itself and the session token.
  4. The frontend (irma-frontend) receives and displays the QR code, which is scanned by the IRMA app.
  5. The IRMA app requests the session request from step 1, receiving the attributes to be disclosed or issued, or the message to be signed.
  6. The IRMA server returns the session request.
  7. The IRMA app displays the attributes to be disclosed or issued, or the message to be signed, and asks the user if she wants to proceed.
  8. The user accepts.
  9. The IRMA server performs the IRMA protocol with the IRMA app, issuing new attributes to the user, or receiving and verifying attributes from the user's IRMA app, or receiving and verifying an attribute-based signature made by the user's app.
  10. The session status (DONE, CANCELLED, TIMEOUT), along with disclosed and verified attributes or signatures depending on the session type, are returned to the requestor.

...

An obvious source of "cards" is a SAML federation. In order for a SAML attribute of a user to be converted to a card, the user needs to visit an entity that acts as a proxy. This proxy needs to behave as a SAML SP towards the user and the SAML federation. The user needs to visit the site with the intent of adding a card to their IRMA app so that the IRMA infrastructure can store the data as a card. The user will be logged in to this SAML SP which will consume the attributes from an IdP / AA then and store them to in the IRMA infrastructure.

Gliffy Diagram
macroId7ff33578-1faf-4ed1-ae22-5416a3a5ae07
displayNameIdP + AA issuers
nameSAML-to-IRMA
pagePin8

...

  1. A logs in on the web interface of the MMS, a SAML SP and an account is are created.
  2. A creates creates a Virtual Organization / Community / Group - terminology depends on the actual tool but let 's us call it (VO)
  3. A wants to invite B to his VO. In order to do this, he needs an email address to B. This email address serves as a trust anchor for the moment, therefore it needs to really belong to B and not be compromised.
  4. A sends an email invitation to B with a link containing a token. The email is sent by the MMS system.
  5. B follows the link to the web interface of the MMS, prompted for login. may already have a login (for previous participation in other VOs) or needs to create a new one. may log in with a federated account but it could be the case that there is none, and a local account is created or a VHO account is used. This scenario is made possible by the fact that really the access to the email inbox is what provides the trust for the VO membership.
  6. After creating/accessing a local account, the token sent in the link is processed and B's account is now associated with the VO
  7. will eventually access a service that needs this membership information, commonly called entitlement.
    1. The service will perform a login flow
    2. with B's user identifier queries the MMS back-end, for instance, a SAML AA or an integration. This requires the usage of the same user identifier that was used at the MMS, typically a common OIDC/SAML source.
  8. A may revoke the entitlement at any time, which will take effect at the next session: the service accessed will query the MMS and will not get the entitlement.

...

  • The "Single Blind" process is considered to be a minimum requirement - in this case, the author does not learn the identity of the reviewer. For most journals, this is considered insufficient, since the reviewers still know the identity of the author and they may be biased in one way or the other. Yet, in some cases, especially in less common language languages there is no true alternative as the content of the article drastically narrows down the set of possible authors, sometimes to one. In these cases the more anonymous methods are disingenuous.
  • The "Double Blind" process means that neither the authors learn the identity of the reviewers or nor the reviewers of the authors. This is the most common type of peer review process. But it still leaves significant control in the hands of the editor, who knows the identity of both, plus, due to the structure of the fields of science, she may personally know all parties and have their own interest. The editor may also know the review styles of particular reviewers based on previous engagements. Therefore it is possible to pick a lenient or a strict reviewer for a given paper for instance.
  • The Triple Blind method prevents this problem as the identities of the author, editor and reviewer are unknown to each other. However, this is the hardest to implementsimplement, as the editor still needs to be sure about the expertise of the reviewer, moreover, she should also know that the author does not temper with the process by being its own reviewer or bringing in friendly reviewers. At this point, the scientific process becomes somewhat analogous with to e-voting systems.
  • Furthermore, all three types of blind reviews have a common problem, which is that the work of the reviewer cannot be easily credited to them. This disincentivizes the reviewers from participating and therefore is a drawback for the entire scientific process.

...

  1. User A (the sponsor already in collaboration)sends an email invitation to user B (outside the technical collaboration). 
    1. A describes B on a form at the VHO and inputs the email address of B
    2. the email is sent out.
  2. User B visits the VHO service and receives a card that describes their identity as stated by A
    1. visits the service, and reviews the data stated about her by A, and receives a card
    2. The card gets registered to the registry
  3. User can now access services within the collaboration.
    1. B attempts to access the service
    2. the service verifies the card in the registry and allows access. 

...

Since many sources can provide IRMA attributes, the IRMA platform does not standardise levels of assurance beyond individual profiles. Assurance levels are provided by using the corresponding schema-defined credential attributes, that is, IRMA passes on the level of assurance provided by sources only if these levels are incorporated into the used schema and implemented by the IRMA issuer. 

For example, the attribute “assurancelevel” is used in schemas that provide data from passports or ID cards, and it conveys the levels set by the document issuer or an intermediate entity that collected and verified the information provided with the credential. This level is in line with eIDAS. Some other schemes use “digidlevel” to provide the level from the Duch Digital ID (digid.nl), which is the assurance with which identity is verified in the Dutch population register.

The user may select what credentials from available they want to present to the verifier. The verifier can determine which attributes it does or does not accept from which sources. It can also state the required attribute bundles by using IRMA "Condiscons" (CONjunction of DISjunctions of CONjunctions), which allow allows verifiers to specify attributes attribute sets coming from a single credential instance. With this, a service can require a composition of alternative bundles of attributes, even if they are using different schemes to provide the relevant data and corresponding LoAs. However, the use of a consistent attribute schema and semantics of levels may greatly simplify this selection, along with a mechanism informing verifiers about trustworthy issuers participating in such a schema.

...

At the same time, many factors alleviate this concern. For one, the mobile operating systems, while not being invulnerable, are much less exposed to malware according to statistics (TODO REF), probably due to their more controlled software/package management. This of course deteriorates once the operating system is no longer supported.

...

An alternative wallet in this context means a non-smartphone based implementation of a wallet. While having the ability to use alternative wallets seems a necessity as the user base grows, a non-smartphone based implementation comes with several challenges. 

One such challenge is the QR-Code reading for which the smartphone is especially well suited, but is not impossible in another architecture either, i.e. a browser extension. Another challenge is the sage (SAFE??) safe storage of the ‘cards’, but that also can be done

...

IRMA issuer consists of a small PHP server that relies on simpleSAMLphp for authentication. In the case of success, this call results in a populated attributes array that is then fed into the IRM daemon session request API for an issuance session and the result is handed over to the JavaScript handlers. The Javascript then requests the IRMA daemon using the result of the issuance session request and shows the result.

TODO figure

IRMA Verifier Setup

The IRMA verifier is based on the simpleSAMLphp framework and implemented as an "authsource". The authsource It shows a web form and creates a disclosure session request using the IRMA daemon API. The result of this request is then handed over to the Javascript handler and on receiving the successful disclosure response, the form is POST’ed POSTed back to the simpleSAMLphp authIRMA handler and further processed as a valid authentication.TODO figure

Future Work

  • Multi-valued attributes
  • Alternative wallets
  • Scalable schema definition for a size of a federation like eduGAIN (of issuers)
    • 5k or more entities
  • Peer-to-peer claims (cards)
  • Pixie dusting - claiming that someone is your co-worker, club member, etc. 
  • Conventions on prefixes for wildcards used on attribute names
  • Use of multiple schemas and schema selector
    • UX is not hard but needs to be done well
    • allows for different universes of DI4R
  • Enhanced presentation of cards
    • Since the user is in charge of exposing cards in their wallet to the service, it is important to present these cards, their content and their source in a clear but informative way. This requires further establishing of a standardised and scalable way to specify their presentation and access to supporting information which is also interoperable with existing identity infrastructures and trust frameworks.
  • Usability testing/evaluation
    • DI4R is a new concept, so it is a reasonable question whether the users understand the flow at all and the benefits that justify the adoption of changes. Should be done with appropriate early adopters such as researchers involved in Open Science.

...