sub prd types added (doc)

This commit is contained in:
NicolasCantu 2024-03-08 12:28:55 +01:00
parent 46384369ca
commit 8aa316c560
2 changed files with 406 additions and 80 deletions

View File

@ -9,12 +9,21 @@
* 4.4. [Messages](#Messages)
* 4.5. [RequestPcd](#RequestPcd)
* 4.6. [RequestPrd](#RequestPrd)
* 4.6.1. [RequestPrdList](#RequestPrdList)
* 4.6.2. [RequestPrdUpdate](#RequestPrdUpdate)
* 4.6.3. [RequestPrdResponse](#RequestPrdResponse)
* 4.6.4. [RequestPrdConfirm](#RequestPrdConfirm)
* 4.6.5. [RequestPrdMessage](#RequestPrdMessage)
* 5. [Data privée](#Dataprive)
* 5.1. [Clés](#Cls-1)
* 5.2. [Peers](#Peers-1)
* 5.3. [Process](#Process-1)
* 5.4. [RequestPcd](#RequestPcd-1)
* 5.5. [RequestPrd](#RequestPrd-1)
* 5.5.1. [RequestPrdUpdate](#RequestPrdUpdate-1)
* 5.5.2. [RequestPrdResponse](#RequestPrdResponse-1)
* 5.5.3. [RequestPrdConfirm](#RequestPrdConfirm-1)
* 5.5.4. [RequestPrdMessage](#RequestPrdMessage-1)
<!-- vscode-markdown-toc-config
numbering=true
@ -705,46 +714,255 @@ pseudo-code:
### 4.6. <a name='RequestPrd'></a>RequestPrd
#### 4.6.1. <a name='RequestPrdList'></a>RequestPrdList
pseudo-code:
```json
[
{
"hash": "",
"request": {
"item_name": "",
"request_type": "",
"version": 0,
"process_hash": "",
"request_pcd_reference_hash": "",
"request_pcd_origin_hash": "",
"request_prd_reference_hash": "",
"request_prd_origin_hash": "",
"item_reference_hash": ""
"request_prd": {
"request": {
"item_name": "",
"request_type": "",
"version": 0,
"process_hash": "",
"request_pcd_reference_hash": "",
"request_pcd_origin_hash": "",
"request_prd_reference_hash": "",
"request_prd_origin_hash": "",
"item_reference_hash": ""
},
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": "",
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": "",
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [""],
"cap_request_pcd_hash_list_enc_by_shared_secret": [""],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [""],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [""],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": ""
},
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": "",
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": "",
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [""],
"cap_request_pcd_hash_list_enc_by_shared_secret": [""],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [""],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [""],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": "",
"item_member_enc_by_sp_shared_secret": "",
"pre_id_sp_enc_by_shared_secret": "",
"validation_status": "pending|ok|ko"
}
]
```
#### 4.6.2. <a name='RequestPrdUpdate'></a>RequestPrdUpdate
pseudo-code:
```json
[
{
"hash": "",
"request_prd": {
"request": {
"item_name": "",
"request_type": "",
"version": 0,
"process_hash": "",
"request_pcd_reference_hash": "",
"request_pcd_origin_hash": "",
"request_prd_reference_hash": "",
"request_prd_origin_hash": "",
"item_reference_hash": ""
},
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": "",
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": "",
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [""],
"cap_request_pcd_hash_list_enc_by_shared_secret": [""],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [""],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [""],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": ""
},
"validation_status": "pending|ok|ko"
}
]
```
#### 4.6.3. <a name='RequestPrdResponse'></a>RequestPrdResponse
pseudo-code:
```json
[
{
"hash": "",
"request_prd": {
"request": {
"item_name": "",
"request_type": "",
"version": 0,
"process_hash": "",
"request_pcd_reference_hash": "",
"request_pcd_origin_hash": "",
"request_prd_reference_hash": "",
"request_prd_origin_hash": "",
"item_reference_hash": ""
},
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": "",
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": "",
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [""],
"cap_request_pcd_hash_list_enc_by_shared_secret": [""],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [""],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [""],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": ""
},
"shared_secret_key_enc_by_sp_shared_secret": "",
"shard_enc_by_sp_shared_secret":"",
"validation_status": "pending|ok|ko"
}
]
```
#### 4.6.4. <a name='RequestPrdConfirm'></a>RequestPrdConfirm
pseudo-code:
```json
[
{
"hash": "",
"request_prd": {
"request": {
"item_name": "",
"request_type": "",
"version": 0,
"process_hash": "",
"request_pcd_reference_hash": "",
"request_pcd_origin_hash": "",
"request_prd_reference_hash": "",
"request_prd_origin_hash": "",
"item_reference_hash": ""
},
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": "",
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": "",
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [""],
"cap_request_pcd_hash_list_enc_by_shared_secret": [""],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [""],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [""],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": ""
},
"code_confirm_enc_by_shared_secret": "",
"validation_status": "pending|ok|ko"
}
]
```
#### 4.6.5. <a name='RequestPrdMessage'></a>RequestPrdMessage
pseudo-code:
```json
[
{
"hash": "",
"request_prd": {
"request": {
"item_name": "",
"request_type": "",
"version": 0,
"process_hash": "",
"request_pcd_reference_hash": "",
"request_pcd_origin_hash": "",
"request_prd_reference_hash": "",
"request_prd_origin_hash": "",
"item_reference_hash": ""
},
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": "",
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": "",
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [""],
"cap_request_pcd_hash_list_enc_by_shared_secret": [""],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [""],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [""],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": ""
},
"raw_transaction_list": [{
"raw": "",
"received": false,
}],
"validation_status": "pending|ok|ko"
}
]
@ -770,7 +988,8 @@ pseudo-code:
"process_shards_backup_list": [
{
"hash": "",
"members": []
"members": [],
"index": 0
}
]
}
@ -949,28 +1168,135 @@ pseudo-code:
### 5.5. <a name='RequestPrd-1'></a>RequestPrd
#### 5.5.1. <a name='RequestPrdUpdate-1'></a>RequestPrdUpdate
```json
[
{
"hash_public": "",
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [""],
"cap_request_pcd_hash_list_decrypted": [""],
"deposit_request_pcd_hash_list_decrypted": [""],
"commitment_request_pcd_hash_list_decrypted": [""],
"ask_payment_method_decryptedt": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
"request_prd": {
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [""],
"cap_request_pcd_hash_list_decrypted": [""],
"deposit_request_pcd_hash_list_decrypted": [""],
"commitment_request_pcd_hash_list_decrypted": [""],
"ask_payment_method_decryptedt": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
},
"item_member_decrypted": "",
"pre_id_sp_decrypted": "",
"validation_status": "pending|ok|ko"
}
]
```
#### 5.5.2. <a name='RequestPrdResponse-1'></a>RequestPrdResponse
```json
[
{
"hash_public": "",
"request_prd": {
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [""],
"cap_request_pcd_hash_list_decrypted": [""],
"deposit_request_pcd_hash_list_decrypted": [""],
"commitment_request_pcd_hash_list_decrypted": [""],
"ask_payment_method_decryptedt": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
},
"sig_value":"",
"shared_secret_key_decrypted": [
{
"attribute_name": "",
"key": "",
"algorithm": "",
}
],
"shard_decrypted":""
}
]
```
#### 5.5.3. <a name='RequestPrdConfirm-1'></a>RequestPrdConfirm
```json
[
{
"hash_public": "",
"request_prd": {
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [""],
"cap_request_pcd_hash_list_decrypted": [""],
"deposit_request_pcd_hash_list_decrypted": [""],
"commitment_request_pcd_hash_list_decrypted": [""],
"ask_payment_method_decryptedt": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
},
"code_confirm_decrypted": ""
}
]
```
#### 5.5.4. <a name='RequestPrdMessage-1'></a>RequestPrdMessage
```json
[
{
"hash_public": "",
"request_prd": {
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [""],
"cap_request_pcd_hash_list_decrypted": [""],
"deposit_request_pcd_hash_list_decrypted": [""],
"commitment_request_pcd_hash_list_decrypted": [""],
"ask_payment_method_decryptedt": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
}
}
]
```

View File

@ -749,25 +749,6 @@ Encapsulates a detailed request within the system, focusing on the interaction w
| `certif_key_enc_by_shared_secret` | ```String``` | Yes | Encrypted certification key, encrypted with a shared secret. |
| `device_footprint_enc_by_sp_shared_secret` | ```String``` | | The device footprint encrypted by a service provider's shared secret. |
### 11.1. <a name='RequestPrdResponse'></a>RequestPrdResponse
`request_prd` and its variations represent different aspects and actions related to Portable Request Documents ( RequestPrd), covering everything from confirmation to updates, key management, and messaging, essential for managing and processing RequestPrds securely and efficiently.
| Attribute Name | Type | Option | Description |
|---------------------------------------------|-------------------|--------|------------------------------------------------------------|
| `request_prd` | ```request_prd``` | | Represents a Request. |
| `sig_value` | ```String``` | | The signature value for the response. |
| `shared_secret_key_enc_by_sp_shared_secret` | ```Encryption``` | Yes | Optional encryption key used for shared secrets. |
| `shard_enc_by_sp_shared_secret` | ```String``` | Yes | The shard encrypted by a service provider's shared secret. |
### 11.2. <a name='RequestPrdConfirm'></a>RequestPrdConfirm
The `request_prdConfirm` struct is designed for confirming actions or requests within the system, utilizing a Portable Request Document ( RequestPrd) alongside an encrypted confirmation code, ensuring secure acknowledgment of operations.
| Attribute Name | Type | Option | Description |
|-------------------------------------|-------------------|--------|-----------------------------------------------------|
| `request_prd` | ```request_prd``` | | The RequestPrd (Portable Request Document) request. |
| `code_confirm_enc_by_shared_secret` | ```String``` | Yes | The confirmation code encrypted by a shared secret. |
### 11.3. <a name='RequestPrdList'></a>RequestPrdList
@ -779,6 +760,34 @@ The `request_prdConfirm` struct is designed for confirming actions or requests w
| `item_member_enc_by_sp_shared_secret` | ```String``` | Yes | (only for members manager) ItemMember to add if the `pre_id` not exist to the member list |
| `pre_id_sp_enc_by_shared_secret` | ```string``` | Yes | (only for members manager) An existing member `pre_id`. |
### 11.6. <a name='RequestPrdUpdate'></a>RequestPrdUpdate
`request_prdUpdate` struct facilitates the updating of RequestPrds, incorporating new version hashes and lists of related RequestPcd hashes, alongside requested methods for payments, deposits, and commitments, ensuring RequestPrds remain current and relevant.
| Attribute Name | Type | Option | Description |
|----------------|-------------------|--------|-----------------------------------------|
| `request_prd` | ```request_prd``` | | Represents a Portable Request Document. |
### 11.1. <a name='RequestPrdResponse'></a>RequestPrdResponse
`request_prd` and its variations represent different aspects and actions related to Portable Request Documents ( RequestPrd), covering everything from confirmation to updates, key management, and messaging, essential for managing and processing RequestPrds securely and efficiently.
| Attribute Name | Type | Option | Description |
|---------------------------------------------|-------------------|--------|------------------------------------------------------------|
| `request_prd` | ```request_prd``` | | Represents a Request. |
| `sig_value` | ```String``` | | The signature value for the response. |
| `shared_secret_key_enc_by_sp_shared_secret` | ```String``` | Yes | Optional encryption key used for shared secrets. |
| `shard_enc_by_sp_shared_secret` | ```String``` | Yes | The shard encrypted by a service provider's shared secret. |
### 11.2. <a name='RequestPrdConfirm'></a>RequestPrdConfirm
The `request_prdConfirm` struct is designed for confirming actions or requests within the system, utilizing a Portable Request Document ( RequestPrd) alongside an encrypted confirmation code, ensuring secure acknowledgment of operations.
| Attribute Name | Type | Option | Description |
|-------------------------------------|-------------------|--------|-----------------------------------------------------|
| `request_prd` | ```request_prd``` | | The RequestPrd (Portable Request Document) request. |
| `code_confirm_enc_by_shared_secret` | ```String``` | Yes | The confirmation code encrypted by a shared secret. |
### 11.4. <a name='RequestPrdMessage'></a>RequestPrdMessage
The `request_prdMessage` struct serves the purpose of encapsulating messages within RequestPrds, allowing for secure and structured communication of information wrapped in a Portable Request Document.
@ -796,15 +805,6 @@ The `request_prdMessage` struct serves the purpose of encapsulating messages wit
|----------------|-------------------|--------|-----------------------------------------|
| `request_prd` | ```request_prd``` | | Represents a Portable Request Document. |
| `sig_value` | ```String``` | | The signature value for the response. |
### 11.6. <a name='RequestPrdUpdate'></a>RequestPrdUpdate
`request_prdUpdate` struct facilitates the updating of RequestPrds, incorporating new version hashes and lists of related RequestPcd hashes, alongside requested methods for payments, deposits, and commitments, ensuring RequestPrds remain current and relevant.
| Attribute Name | Type | Option | Description |
|----------------|-------------------|--------|-----------------------------------------|
| `request_prd` | ```request_prd``` | | Represents a Portable Request Document. |
## 12. <a name='Roles'></a>Roles
The `Roles` enum defines the various roles within the system, specifying responsibilities, required security measures such as two-factor authentication, validation timeouts, and conditions for action validation, crucial for role-based access control and process flow.