-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0be6696
commit a92c53d
Showing
10 changed files
with
320 additions
and
174 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,126 @@ | ||
# SSI Data | ||
# SSI parameters | ||
|
||
Manage and store Self-Sovereign Identity (SSI) data securely within the wallet provider backend. | ||
This section allows an advanced user (admin) to specify the SSI profile of the wallets. | ||
|
||
## Choose an SSI Profile or configure your own | ||
|
||
This option allows admin to select a predefined ecosystem profiles or to define his own profiles through the tuning of parameters. Here is below the main features of the predefined profiles: | ||
|
||
|
||
| Profiles | VC format | OIDC4VCI | DID | Key | | ||
| :---------- | ------------------------ | ---------- | :-------- | ------- | | ||
| Default | ldp_vc | 11 | did:key | EdDSA | | ||
| EBSI V3.x | jwt_vc | 11 | did:key | P-256 | | ||
| EBSI V4.0 | jwt_vc_json, sd-jwt vc | 13 | did:key | P-256 | | ||
| DIIP V2.1 | jwt_vc_json | 13 | did:jwk | P-256 | | ||
| DIIP V3.0 | sd-jwt vc | 13 | did:jwk | P-256 | | ||
|
||
If admin chooses to define its own SSI profile, he must select set the following options: | ||
|
||
## Wallet identifier | ||
|
||
it can be any one of the DID methods of the list ([did:key](https://w3c-ccg.github.io/did-method-key/), [did:jwk](https://github.com/quartzjer/did-jwk/blob/main/spec.md)) associated to one of the types of keys available (EdDSA, P-256 or seck256k1). For EBSI the did:key method is specific, see specification [here](https://hub.ebsi.eu/vc-framework/did/natural-person). | ||
|
||
* cnf, | ||
* did:key with EdDSA key, | ||
* did:key with EBSI encoding and P-256 key, | ||
* did:key with secp256k1 key, | ||
* did:key with P-256 key, | ||
* did:jwk with P-256 key | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `cnf` option as the wallet identifier. | ||
|
||
### OID4VCI Client Type | ||
|
||
The client type affects how the wallet authenticates and interacts with the authorization server during credential issuance. | ||
|
||
* **did:** Decentralized Identifier, typically used for secure, decentralized identity interactions, | ||
* **urn:ietf:params:oauth:** Used when the subject is identified via a JWK thumbprint, | ||
* **confidential:** For confidential clients that require secure and private interaction with the authorization server. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `**urn:ietf:params:oauth` option. | ||
|
||
### Cryptographic Holder Binding | ||
|
||
* **Yes (default):** Keeps cryptographic binding enabled, ensuring that credentials are cryptographically tied to the holder, providing higher security, | ||
* **No:** Disables cryptographic binding, allowing credentials to be bound without cryptographic proofs for claim binding for instance. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `Yes` option. | ||
|
||
Learn more about crypto binding [here](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-claims-based-binding-of-the). | ||
|
||
### Scope parameters | ||
|
||
Scope parameters define the specific scope of the credential inside the authorization request request. If scope is not used, wallet will use an authorization details object. | ||
|
||
Enabling scope parameters provides more granular control over the credential issuance process. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `scope` option. | ||
|
||
Learn more about scope [here](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-using-scope-parameter-to-re). | ||
|
||
### Client Authentication Method | ||
|
||
Select one authentication method among the following ones: | ||
|
||
* **None:** No authentication required. | ||
* **Client ID:** Identifies the client with a unique ID, | ||
* **Client Secret Basic:** Sends ID and secret in the HTTP header, | ||
* **Client Secret Post:** Sends ID and secret in the request body, | ||
* **Wallet Attestation:** Proves authenticity via attestation, | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `wallet attestation` option. | ||
|
||
Learn more about authentication method [here](https://www.rfc-editor.org/rfc/rfc6749#section-2.3). | ||
|
||
### Choosing a VC Format | ||
|
||
Select the VC format: | ||
|
||
* **ldp_vc:** W3C verifiable credentials using Linked Data Proofs. | ||
* **jwt_vc:** EBSI compatible credentials in JWT format. | ||
* **jwt_vc_json:** Structured JSON format with JWT flexibility. | ||
* **jwt_vc_json-ld:** Linked data support with JWT. | ||
* **vc+sd-jwt:** Selective disclosure for privacy in JWTs. | ||
* **auto:** Auto-selects the format depending on issuer metadata. | ||
|
||
**auto** means the wallet displays all formats. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `vc+sd-jwt` option. | ||
|
||
Learn more about VC format [here](https://www.w3.org/TR/vc-data-model/). | ||
|
||
### OIDC4VCI Proof Type | ||
|
||
The proof type determines how the wallet proves its key ownership when presenting credentials. | ||
|
||
* **jwt:** Uses JWT to prove key ownership. | ||
* **ldp_vp:** Verifiable Presentation with linkedin data proof. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `jwt` option. | ||
|
||
Learn more about proof type [here](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-proof-types). | ||
|
||
### Proof of Possession Headers | ||
|
||
This setting determines what data to include in the header of the JWT proof type. | ||
|
||
* **kid:** Key ID, used to identify the key in the proof of possession. | ||
* **jwk:** JSON Web Key, representing the key in a structured format for proof of possession. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `jwk` option. | ||
|
||
### Push Authorization Request (PAR) | ||
|
||
PAR is an advanced feature that enhances security during the authorization process by ensuring the integrity of the request. | ||
|
||
* **Yes:** Push authorization requests to the server, | ||
* **No:** Uses traditional redirect for authorization requests. | ||
|
||
In case of the EUDI Architecture Reference Framework - ARF, choose the `Yes` option. | ||
|
||
Learn more about PAR [here](https://datatracker.ietf.org/doc/html/rfc9126). | ||
|
||
### Status List Cache | ||
|
||
The Status List cache duration controls how long the wallet stores status lists used to verify credentials (e.g., revoked or valid). Adjusting this duration can balance performance with up-to-date information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,33 @@ | ||
# Support | ||
|
||
Access the support resources available for managing and troubleshooting the wallet provider backend. | ||
## Chat and Notification for Talao and Altme Wallets users with Matrix | ||
|
||
# Chat and Notification Setup for Talao and Altme Wallets | ||
[Matrix.org](https://matrix.org/) is an open-source, decentralized, end-to-end encrypted messaging protocol. Unlike centralized services such as WhatsApp, Slack, or Telegram, Matrix ensures privacy and avoids using private, centralized services. Currently, there are over 1,000 Matrix servers. Talao operates its own server, dedicated to the authentication of its wallets | ||
|
||
Matrix.org is an open-source, decentralized, end-to-end encrypted messaging protocol. Unlike centralized services such as WhatsApp, Slack, or Telegram, Matrix ensures privacy and avoids using private, centralized services. Currently, there are over 1,000 Matrix servers. Talao operates its own server, dedicated to the authentication of its wallets. | ||
For more information about Matrix, you can visit: | ||
|
||
To create chat and notification accounts, follow these steps: | ||
- [Matrix Clients](https://matrix.org/ecosystem/clients/) | ||
- [Matrix Servers](https://servers.joinmatrix.org/) | ||
|
||
## Step 1: Installing a Web or Smartphone Client Application | ||
There are many Matrix client applications available. You can find a list [here](https://matrix.org/ecosystem/clients/). | ||
|
||
There are many Matrix client applications available. You can find a list [here](https://matrix.org/ecosystem/clients/). We recommend using the Element client, which is one of the most popular options. Element is available on iOS and Android smartphones, as well as on various web platforms like Windows and Linux. You can download it from this [Element page](https://matrix.org/ecosystem/clients/element/). | ||
We recommend using the [Element Client](https://matrix.org/ecosystem/clients/element/), which is one of the most popular options. Element is available on iOS and Android smartphones, as well as on various web platforms like Windows and Linux. You can download it from this [Element page](https://matrix.org/ecosystem/clients/element/). | ||
|
||
## Step 2: Creating an Account for Chat | ||
To configure Talao Chat and Notification with Element, follow the 3 steps below: | ||
|
||
### Step 1: Creating an Account for Chat | ||
|
||
Once you install the Element client, create an account on a public server, such as [matrix.org](https://matrix.org), or any other public server. You can view a list of available servers [here](https://servers.joinmatrix.org/). After completing this step, you will have a chat address in the format `@my_name:matrix.org`, assuming you use the matrix.org server. | ||
|
||
## Step 3: Creating a Public Room for Notifications | ||
### Step 2: Creating a Public Room for Notifications | ||
|
||
In Element, select the option to create a public room, and enter a name for your room. If you use the matrix.org server, you will receive a room address in the format `#my_room:matrix.org`. Please ensure that the room is set to "public," not "private." | ||
|
||
## Step 4: Entering Information on the Wallet Provider Backend | ||
### Step 3: Entering Information on the Wallet Provider Backend | ||
|
||
In the wallet provider backend, go to the **Support** page and enter your chat and notification addresses in forms **7.2** and **7.5**. Save the configuration. | ||
|
||
## Using Chat and Notifications | ||
|
||
If you already have a wallet, update your configuration to enable chat and notifications. | ||
|
||
- **For Chat**: You will receive an invitation in your Element client app from each wallet using your configuration. Accept the invitation, and you can privately and anonymously communicate with the wallet user in a private room. All messages are end-to-end encrypted, and you can exchange both text and images. | ||
|
||
- **For Notifications**: Any messages you post in your notification room will be sent to all wallets. Note that users cannot reply to these messages. | ||
|
||
For more information, you can visit: | ||
- [Matrix Clients](https://matrix.org/ecosystem/clients/) | ||
- [Matrix Servers](https://servers.joinmatrix.org/) | ||
- [Element Client](https://matrix.org/ecosystem/clients/element/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,36 @@ | ||
# Developer Mode | ||
|
||
Learn about the developer mode of the Talao wallet for advanced testing and customization. | ||
The developer mode allow any technical users to get internal information about the wallet data and logic. It modifies the display of verifiable credentials and it provides data of the wallet calls and responses. | ||
|
||
The developer mode can be removed from the settings menu of the wallet through the Wallet Provider Backend. | ||
|
||
Below are all the wallet features which are enhanced or modified in the developer mode. | ||
|
||
## Display of verifiable credentials | ||
|
||
Verifiable credentials are displayed in their original form as json-ld or jwt. For jwt users have an access to the header and payload of the credentials. For sd-jwt vc, jwt are displayed with all disclosures decoded. | ||
|
||
## Display of the wallet instance attestation | ||
|
||
If the wallet is used with the wallet provider backend the developer mode gives access to the wallet instance attestation which is displayed on the main screen of the wallet. | ||
|
||
## Verifiable credentials status and validity | ||
|
||
In case of signature failure or invalid status, the reasons of the problems are provided in details. | ||
|
||
## Protocol flow | ||
|
||
After scanning an OIDC4VC QR code a popup proposes to users to: | ||
|
||
* display the QR code data and the OpeinID issuer metadata, | ||
* download this information as a text file, | ||
* skip to bypass. | ||
|
||
Within the OIDC4VCI flow, the wallet proposes to display or download the data received from: | ||
|
||
- the token endpoint, | ||
- the credential endpoint. | ||
|
||
## Display of errors | ||
|
||
In case of an error response from issuers or verifiers, users have an access to the `error_description` data returned. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Getting Started | ||
|
||
Download the Talao or Altme wallet from the Apple store or Google Play Store. | ||
|
||
The links to download the wallets are: | ||
|
||
* [Altme Google store](https://play.google.com/store/apps/details?id=co.altme.alt.me.altme&hl=en-US&pli=1) | ||
* [Altme Apple store](https://apps.apple.com/fr/app/altme-wallet/id1633216869) | ||
* [Talao Google store](https://play.google.com/store/apps/details?id=co.talao.wallet&hl=fr) | ||
* [Talao Apple store](https://apps.apple.com/fr/app/talao-wallet/id1582183266?platform=iphone) | ||
|
||
Setup the PIN code if it is the first install. | ||
|
||
## Get a proof of email | ||
|
||
Let's get a proof of an email address: | ||
|
||
1. Open the wallet app, | ||
2. From main screen clic on **DISCOVER** in the bottom bar, | ||
3. Clic on **Proof of email**, clic on **GET THIS CARD**, | ||
4. Follow the process, enter your email, enter the secret code received by email, | ||
5. Choose the wallet installed Altme or Talao, | ||
6. **Allow** access to domain talao.io, | ||
7. **Select** the credential you consent to collect, | ||
8. Clic on **MY WALLET** in the bottom bar | ||
|
||
You have now your first verifiable credential, if you clic on the "card" you will get an access to the data of the credential. This credential has been issued by an issuer managed by Talao. The set of data has been signed by Talao after checking the value of the code. It is a proof of the ownership of an email address as a verifiable credential signed by Talao. | ||
|
||
## Get a proof of age (over 18) | ||
|
||
Let's get a proof of age with an instant pictrure: | ||
|
||
1. From main screen clic on **DISCOVER** in the bottom bar, | ||
2. clic on **Proof of over 18**, clic on **GET THIS CARD**, | ||
3. clic on **Quick photo of you (1 min)** | ||
4. follow the process, | ||
5. clic on **MY WALLET** in the bottom bar | ||
|
||
You have now a proof of age. The age verification has been provided by our partner [Yoti thanks to an AI](https://www.yoti.com/business/age-verification/). This credential has been issued by an issuer managed by Talao. It is a proof of age as a verifiable credntial signed by Talao. | ||
|
||
## Present a proof age | ||
|
||
Let's now present this proof of age to the age verification tool setup by our partner [Werify](https://werify.eu/): | ||
|
||
1. Clic [here]([https://staging.werify.eu/#/werify_point_kiosk/attempt+ideology+glamorous+varsity+spelling](https://staging.werify.eu/#/werify_point_kiosk/attempt+ideology+glamorous+varsity+spelling)), | ||
2. scan the QR code with the wallet scanner. | ||
|
||
You have used your credential to prove your age. This tools is a verifier managed by Werify. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.