details (doc)
This commit is contained in:
parent
97a5b11ce6
commit
b666b2a0ee
@ -64,16 +64,6 @@ Les messages contiennent des `RequestPrd` ou des `RequestPcd` encapsulés dans l
|
|||||||
|
|
||||||
**Création du message et envoi**: voir [Message-SP-Specs.md](Message-SP-Specs.md).
|
**Création du message et envoi**: voir [Message-SP-Specs.md](Message-SP-Specs.md).
|
||||||
|
|
||||||
| `request_type` | transaction SP | RequestPcd to send | send to | RequestPcd waiting | RequestPrdResponse waiting |
|
|
||||||
|-----------------------|------------------------------|--------------------|---------------------------------------------------------------|--------------------|----------------------------|
|
|
||||||
| `RequestPrdList` | Yes | No | all the members of the `item_name` role into to `ItemProcess` | Yes | Yes |
|
|
||||||
| `RequestPrdUpdate` | Yes | Yes | all the members of all role into to `ItemProcess` | No | Yes |
|
|
||||||
| `RequestPrdMessage` | if no `raw_transaction_list` | No | a member of the `ItemProcess` | No | No |
|
|
||||||
| `RequestPrdResponse` | Yes | No | See Received | No | No |
|
|
||||||
| `RequestPrdConfirm` | Yes | No | See Received | No | No |
|
|
||||||
| `RequestPrdKeyBackup` | No | No | all the members of the `SharedProcess` | No | Yes |
|
|
||||||
| `RequestPrdKeyHello` | Yes | No | all the members of all role into to `ItemProcess` | Yes | Yes |
|
|
||||||
|
|
||||||
### 4.2. <a name='Rception'></a>Réception
|
### 4.2. <a name='Rception'></a>Réception
|
||||||
|
|
||||||
Les `RequestPcd` et les `RequestPrd` sont reçus sous forme de `message` (JSON) depuis les websockets des relais.
|
Les `RequestPcd` et les `RequestPrd` sont reçus sous forme de `message` (JSON) depuis les websockets des relais.
|
||||||
@ -88,16 +78,6 @@ Les types `RequestPrd` et `RequestPcd` sont distingués par l'attribut `request_
|
|||||||
|
|
||||||
En cas de `RequestPcd` ou `RequestPrd` en relation via `RequestPcd_reference_hash` ou `request_prd_reference_hash` ou `RequestPcd_origin_hash` ou `request_prd_origin_hash` ou `item_reference_hash` (dans des RequestPcd), il avoir reçu ou attendre ces documents pour traiter le message.
|
En cas de `RequestPcd` ou `RequestPrd` en relation via `RequestPcd_reference_hash` ou `request_prd_reference_hash` ou `RequestPcd_origin_hash` ou `request_prd_origin_hash` ou `item_reference_hash` (dans des RequestPcd), il avoir reçu ou attendre ces documents pour traiter le message.
|
||||||
|
|
||||||
| `request_type` | RequestPrdConfirm | RequestPcd to send | RequestPrdResponse to send |
|
|
||||||
|-----------------------|------------------------------|--------------------|---------------------------------------------------------------|
|
|
||||||
| `RequestPrdList` | Yes | Yes | all the members of the `item_name` role into to `ItemProcess` |
|
|
||||||
| `RequestPrdUpdate` | Yes | Yes | all the members of all role into to `ItemProcess` |
|
|
||||||
| `RequestPrdMessage` | if no `raw_transaction_list` | No | a member or reply |
|
|
||||||
| `RequestPrdResponse` | Yes | No | No |
|
|
||||||
| `RequestPrdConfirm` | No | No | No |
|
|
||||||
| `RequestPrdKeyBackup` | No | No | reply |
|
|
||||||
| `RequestPrdKeyHello` | Yes | Yes | reply |
|
|
||||||
|
|
||||||
**Réception du message**: voir [Message-SP-Specs.md](Message-SP-Specs.md).
|
**Réception du message**: voir [Message-SP-Specs.md](Message-SP-Specs.md).
|
||||||
|
|
||||||
Pour les `RequestPcd` et les `RequestPrd` il faut vérifier que le hash du document n'est pas déjà en cas, si c'est le cas, le message est ignoré.
|
Pour les `RequestPcd` et les `RequestPrd` il faut vérifier que le hash du document n'est pas déjà en cas, si c'est le cas, le message est ignoré.
|
||||||
@ -118,6 +98,16 @@ La création d'un `RequestPcd` suit plusieurs étapes :
|
|||||||
4. Chiffrement du `RequestPcd` avec la clé `ProcessKey` du `ItemProcess` concerné.
|
4. Chiffrement du `RequestPcd` avec la clé `ProcessKey` du `ItemProcess` concerné.
|
||||||
5. Traitements communs aux `RequestPcd` et RequestPrd
|
5. Traitements communs aux `RequestPcd` et RequestPrd
|
||||||
|
|
||||||
|
| `request_type` | `transaction SP` + `RequestPrdMessage` | `RequestPcd` to send | send to | `RequestPcd` reply waiting | `RequestPrdResponse` reply waiting | `RequestPrdConfirm` reply waiting |
|
||||||
|
|-----------------------|----------------------------------------|----------------------|---------------------------------------------------------------|----------------------------|------------------------------------|-----------------------------------|
|
||||||
|
| `RequestPrdList` | Yes | No | all the members of the `item_name` role into to `ItemProcess` | Yes | Yes | Yes |
|
||||||
|
| `RequestPrdUpdate` | Yes | Yes | all the members of all role into to `ItemProcess` | No | Yes | Yes |
|
||||||
|
| `RequestPrdMessage` | if no `raw_transaction_list` | No | a member of the `ItemProcess` | No | No | if no `raw_transaction_list` |
|
||||||
|
| `RequestPrdResponse` | Yes | No | See Received | No | No | Yes |
|
||||||
|
| `RequestPrdConfirm` | Yes | No | See Received | No | No | No |
|
||||||
|
| `RequestPrdKeyBackup` | No | No | all the members of the `SharedProcess` | No | Yes | No |
|
||||||
|
| `RequestPrdKeyHello` | Yes | No | all the members of all role into to `ItemProcess` | Yes | Yes | Yes |
|
||||||
|
|
||||||
### 5.2. <a name='Rception-1'></a>Réception
|
### 5.2. <a name='Rception-1'></a>Réception
|
||||||
|
|
||||||
La réception d'un `RequestPcd` suit plusieurs étapes :
|
La réception d'un `RequestPcd` suit plusieurs étapes :
|
||||||
@ -129,6 +119,16 @@ La réception d'un `RequestPcd` suit plusieurs étapes :
|
|||||||
5. Déchiffrage des attributs privés des `Item` des `RequestPcd` avec la clé privée `KeyRecover`
|
5. Déchiffrage des attributs privés des `Item` des `RequestPcd` avec la clé privée `KeyRecover`
|
||||||
6. Mise à jour du cache pour les traitement des RequestPrd.
|
6. Mise à jour du cache pour les traitement des RequestPrd.
|
||||||
|
|
||||||
|
| `request_type` | `RequestPrdConfirm` to send | `RequestPcd` to send | `RequestPrdResponse` to send | `RequestPrdResponse` reply waiting |
|
||||||
|
|-----------------------|------------------------------|----------------------|---------------------------------------------------------------|------------------------------------|
|
||||||
|
| `RequestPrdList` | Yes | Yes | all the members of the `item_name` role into to `ItemProcess` | No |
|
||||||
|
| `RequestPrdUpdate` | Yes | No | all the members of all role into to `ItemProcess` | Yes (other members) |
|
||||||
|
| `RequestPrdMessage` | if no `raw_transaction_list` | No | No | No |
|
||||||
|
| `RequestPrdResponse` | Yes | No | No | No |
|
||||||
|
| `RequestPrdConfirm` | No | No | No | No |
|
||||||
|
| `RequestPrdKeyBackup` | No | No | reply | No |
|
||||||
|
| `RequestPrdKeyHello` | Yes | Yes | reply | No |
|
||||||
|
|
||||||
## 6. <a name='FonctiondesRequestPrd'></a>Fonction des RequestPrd
|
## 6. <a name='FonctiondesRequestPrd'></a>Fonction des RequestPrd
|
||||||
|
|
||||||
Les Portable Request Documents ( RequestPrd) sont des documents JSON qui encapsulent les valeurs de signatures et les clés de déchiffrement nécessaires à l'interprétation des `RequestPcd` via l'attribut `RequestPcd_keys_role_confidential_list_enc_by_shared_secret`. Ils sont utilisés pour demander des actions spécifiques, telles que l'envoi de messages, la mise à jour des informations contractuelles, ou la confirmation de transactions.
|
Les Portable Request Documents ( RequestPrd) sont des documents JSON qui encapsulent les valeurs de signatures et les clés de déchiffrement nécessaires à l'interprétation des `RequestPcd` via l'attribut `RequestPcd_keys_role_confidential_list_enc_by_shared_secret`. Ils sont utilisés pour demander des actions spécifiques, telles que l'envoi de messages, la mise à jour des informations contractuelles, ou la confirmation de transactions.
|
||||||
@ -199,14 +199,14 @@ La réception d'un `RequestPcd` suit plusieurs étapes :
|
|||||||
|
|
||||||
Utile pour les utilisateurs cherchant à consulter ou à explorer des listes de contrats, de membres, ou d'autres items dans le réseau. Chaque `RequestPcd` liste des `Item` d'un même type, par exemple les `ItemProcess`, les `ItemMember`, les `ItemPeer`, les `ItemPayment`, etc.
|
Utile pour les utilisateurs cherchant à consulter ou à explorer des listes de contrats, de membres, ou d'autres items dans le réseau. Chaque `RequestPcd` liste des `Item` d'un même type, par exemple les `ItemProcess`, les `ItemMember`, les `ItemPeer`, les `ItemPayment`, etc.
|
||||||
|
|
||||||
### 7.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 7.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Traitements des `RequestPrd`, avec le `type_request` spécifique à `RequestPrdList` et envoi vers tous les `members` concernés par le `ItemProcess` pour le `Role` correspondant dans le `item_name`
|
1. Traitements des `RequestPrd`, avec le `type_request` spécifique à `RequestPrdList` et envoi vers tous les `members` concernés par le `ItemProcess` pour le `Role` correspondant dans le `item_name`
|
||||||
2. Attente du `RequestPrdResponse` avec le `RequestPcd` demandés.
|
2. Attente du `RequestPrdResponse` avec le `RequestPcd` demandés.
|
||||||
3. voir `RequestPrdResponse` réception.
|
3. voir `RequestPrdResponse` réception.
|
||||||
4. Voir `RequestPcd` réception.
|
4. Voir `RequestPcd` réception.
|
||||||
|
|
||||||
### 7.2. <a name='Rception-1'></a>Réception
|
### 7.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
La réception d'un `RequestPrdList` suit plusieurs étapes :
|
La réception d'un `RequestPrdList` suit plusieurs étapes :
|
||||||
|
|
||||||
@ -214,10 +214,6 @@ La réception d'un `RequestPrdList` suit plusieurs étapes :
|
|||||||
2. Recherche en cache de la dernière version de la liste du type d'`Item` concerné.
|
2. Recherche en cache de la dernière version de la liste du type d'`Item` concerné.
|
||||||
3. Voir `RequestPcd` Création et envoi vers l'émetteur du `RequestPrdList`.
|
3. Voir `RequestPcd` Création et envoi vers l'émetteur du `RequestPrdList`.
|
||||||
|
|
||||||
| transaction SP | RequestPrdConfirm to send | RequestPcd to send | RequestPrdResponse to send |
|
|
||||||
|----------------|---------------------------|--------------------|----------------------------|
|
|
||||||
| Yes | Yes | Yes | to the sender |
|
|
||||||
|
|
||||||
## 8. <a name='RequestPrdMessage-EnvoideMessages'></a>RequestPrdMessage - Envoi de Messages
|
## 8. <a name='RequestPrdMessage-EnvoideMessages'></a>RequestPrdMessage - Envoi de Messages
|
||||||
|
|
||||||
Le `RequestPrdMessage` facilite l'envoi de messages sécurisés entre utilisateurs ou entre utilisateurs et processus/contrats.
|
Le `RequestPrdMessage` facilite l'envoi de messages sécurisés entre utilisateurs ou entre utilisateurs et processus/contrats.
|
||||||
@ -228,13 +224,13 @@ Permet la communication des`transaction SP` au format `raw` dans l'attribut `raw
|
|||||||
|
|
||||||
Les `RequestPrdMessage` répondent aux `RequestPrdMessage` sauf en cas d'envoi de `raw_transaction_list`.
|
Les `RequestPrdMessage` répondent aux `RequestPrdMessage` sauf en cas d'envoi de `raw_transaction_list`.
|
||||||
|
|
||||||
### 8.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 8.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Traitements des `RequestPrd`, avec le `type_request` spécifique à `RequestPrdMessage` vers l'emméteur du `RequestPrdMessage`.
|
1. Traitements des `RequestPrd`, avec le `type_request` spécifique à `RequestPrdMessage` vers l'emméteur du `RequestPrdMessage`.
|
||||||
2. Attente du `RequestPrdMessage` éventuel (sauf en cas d'envoi d'une `transaction SP`).
|
2. Attente du `RequestPrdMessage` éventuel (sauf en cas d'envoi d'une `transaction SP`).
|
||||||
3. Le cas échéant : voir `RequestPrdMessage` Réception
|
3. Le cas échéant : voir `RequestPrdMessage` Réception
|
||||||
|
|
||||||
### 8.2. <a name='Rception-1'></a>Réception
|
### 8.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
La réception d'un `RequestPrdMessage` suit plusieurs étapes :
|
La réception d'un `RequestPrdMessage` suit plusieurs étapes :
|
||||||
|
|
||||||
@ -254,7 +250,7 @@ Par exemple, mettre à jour la liste des membres permet d'ajouter de nouveaux ut
|
|||||||
|
|
||||||
Les `RequestPrdUpdate` signalent au réseau via l'attribut `RequestPcd_new_version_hash` les nouvelles version des RequestPcd.
|
Les `RequestPrdUpdate` signalent au réseau via l'attribut `RequestPcd_new_version_hash` les nouvelles version des RequestPcd.
|
||||||
|
|
||||||
### 9.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 9.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Création d'un nouveau `RequestPcd` avec les modifications demandées.
|
1. Création d'un nouveau `RequestPcd` avec les modifications demandées.
|
||||||
2. Envoi du `RequestPcd` vers les `members` concernés par le `ItemProcess` pour le `Role` correspondant dans le `item_name`.
|
2. Envoi du `RequestPcd` vers les `members` concernés par le `ItemProcess` pour le `Role` correspondant dans le `item_name`.
|
||||||
@ -263,7 +259,7 @@ Les `RequestPrdUpdate` signalent au réseau via l'attribut `RequestPcd_new_versi
|
|||||||
5. Voir `RequestPrdResponse` Réception
|
5. Voir `RequestPrdResponse` Réception
|
||||||
6. Voir `RequestPcd` Réception.
|
6. Voir `RequestPcd` Réception.
|
||||||
|
|
||||||
### 9.2. <a name='Rception-1'></a>Réception
|
### 9.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
La réception d'un `RequestPrdUpdate` suit plusieurs étapes :
|
La réception d'un `RequestPrdUpdate` suit plusieurs étapes :
|
||||||
|
|
||||||
@ -279,11 +275,11 @@ Les `RequestPrdList`, `RequestPrdUpdate`, `RequestPrdMessage`, `RequestPrdRespon
|
|||||||
|
|
||||||
`code_confirm_enc_by_shared_secret`: Un code de confirmation chiffré qui valide l'authenticité et l'intégrité de la réponse, assurant que la confirmation est sécurisée et provient de la source attendue. Dans ce cas un output spécifique chiffré par la clé `KeyConfidential` précise ce code, à confirmer dans le RequestPrdConfirm.
|
`code_confirm_enc_by_shared_secret`: Un code de confirmation chiffré qui valide l'authenticité et l'intégrité de la réponse, assurant que la confirmation est sécurisée et provient de la source attendue. Dans ce cas un output spécifique chiffré par la clé `KeyConfidential` précise ce code, à confirmer dans le RequestPrdConfirm.
|
||||||
|
|
||||||
### 10.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 10.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdConfirm` envoi vers l'emméteur du `RequestPrd`.
|
1. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdConfirm` envoi vers l'emméteur du `RequestPrd`.
|
||||||
|
|
||||||
### 10.2. <a name='Rception-1'></a>Réception
|
### 10.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
Traitements des `RequestPrd`, pas de traitement suppplémentaire.
|
Traitements des `RequestPrd`, pas de traitement suppplémentaire.
|
||||||
|
|
||||||
@ -297,12 +293,12 @@ Utilisé pour fournir des feedbacks, des confirmations, ou des instructions supp
|
|||||||
|
|
||||||
Aussi le moyen de demander des moyens de paiement ou de dépot ou de preuve, puis de partager le payload de ces actions.
|
Aussi le moyen de demander des moyens de paiement ou de dépot ou de preuve, puis de partager le payload de ces actions.
|
||||||
|
|
||||||
### 11.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 11.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdResponse` et envoi en fonction du type de `RequestPrd` d'origine.
|
1. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdResponse` et envoi en fonction du type de `RequestPrd` d'origine.
|
||||||
2. Pas de traitement supplémentaire.
|
2. Pas de traitement supplémentaire.
|
||||||
|
|
||||||
### 11.2. <a name='Rception-1'></a>Réception
|
### 11.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
1. Traitements des `RequestPrd`
|
1. Traitements des `RequestPrd`
|
||||||
2. Notification de l'utilisateur.
|
2. Notification de l'utilisateur.
|
||||||
@ -311,7 +307,7 @@ Aussi le moyen de demander des moyens de paiement ou de dépot ou de preuve, pui
|
|||||||
|
|
||||||
Le RequestPrdKeyHelloBakcup permet de demander la stockage de nouveaux shards associés à une `pre-id` .
|
Le RequestPrdKeyHelloBakcup permet de demander la stockage de nouveaux shards associés à une `pre-id` .
|
||||||
|
|
||||||
### 12.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 12.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Voir [Auth-Specs.md](Auth-Specs.md) pour la création des shards et de la pré-image
|
1. Voir [Auth-Specs.md](Auth-Specs.md) pour la création des shards et de la pré-image
|
||||||
2. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdKeyBakcup`
|
2. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdKeyBakcup`
|
||||||
@ -322,7 +318,7 @@ Le RequestPrdKeyHelloBakcup permet de demander la stockage de nouveaux shards as
|
|||||||
7. Voir `RequestPrdKeyHello` création et envoi
|
7. Voir `RequestPrdKeyHello` création et envoi
|
||||||
8. Mise à jour du cache
|
8. Mise à jour du cache
|
||||||
|
|
||||||
### 12.2. <a name='Rception-1'></a>Réception
|
### 12.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
1. Traitements des `RequestPrd`
|
1. Traitements des `RequestPrd`
|
||||||
2. Récupération en cache des shards et de la pré-image
|
2. Récupération en cache des shards et de la pré-image
|
||||||
@ -335,13 +331,13 @@ RequestPrdKeyHello est conçu pour initier ou répondre à des demandes d'échan
|
|||||||
|
|
||||||
Important pour les processus d'onboarding de nouveaux membres, de réinitialisation des accès, ou de renouvellement des clés, facilitant une intégration sécurisée et la mise à jour des identités dans le réseau.
|
Important pour les processus d'onboarding de nouveaux membres, de réinitialisation des accès, ou de renouvellement des clés, facilitant une intégration sécurisée et la mise à jour des identités dans le réseau.
|
||||||
|
|
||||||
### 13.1. <a name='Crationetenvoi-1'></a>Création et envoi
|
### 13.1. <a name='Crationetenvoi-1'></a>Création : Datas spécifiques
|
||||||
|
|
||||||
1. Voir [Auth-Specs.md](Auth-Specs.md) pour la création des shards et de la pré-image
|
1. Voir [Auth-Specs.md](Auth-Specs.md) pour la création des shards et de la pré-image
|
||||||
2. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdKeyHello`
|
2. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdKeyHello`
|
||||||
3. Envoi vers tous les membres de décrits dans `SharedProcess` ou vers tous les membres de tous les roles du `ItemProcess` si celui ci est présent en cache.
|
3. Envoi vers tous les membres de décrits dans `SharedProcess` ou vers tous les membres de tous les roles du `ItemProcess` si celui ci est présent en cache.
|
||||||
|
|
||||||
### 13.2. <a name='Rception-1'></a>Réception
|
### 13.2. <a name='Rception-1'></a>Réception : Datas spécifiques
|
||||||
|
|
||||||
1. Voir [Auth-Specs.md](Auth-Specs.md) pour la récupération des shards et de la pré-image
|
1. Voir [Auth-Specs.md](Auth-Specs.md) pour la récupération des shards et de la pré-image
|
||||||
2. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdKeyHello`
|
2. Traitements des RequestPrd, avec le `type_request` spécifique à `RequestPrdKeyHello`
|
||||||
@ -352,5 +348,4 @@ Important pour les processus d'onboarding de nouveaux membres, de réinitialisat
|
|||||||
|
|
||||||
## 15. <a name='Todo'></a>Todo
|
## 15. <a name='Todo'></a>Todo
|
||||||
|
|
||||||
* [ ] Ajouter un tableau : transaction SP, confirmation attendue, réponse attendue, création vers, réponse vers.
|
|
||||||
* [ ] Diagrammes de séquences
|
* [ ] Diagrammes de séquences
|
||||||
|
Loading…
x
Reference in New Issue
Block a user