From 86dbd2ec4befa7e39c5a3bdeb8e6602806c695c2 Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Tue, 19 Mar 2024 11:10:39 +0100 Subject: [PATCH] Data encryption desc added (doc) --- doc/PRD-PCD-Specs.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/PRD-PCD-Specs.md b/doc/PRD-PCD-Specs.md index 9743f4b..18efe62 100644 --- a/doc/PRD-PCD-Specs.md +++ b/doc/PRD-PCD-Specs.md @@ -57,6 +57,16 @@ Encryption : ![PCD_PRD_encryption](diagrams/PCD_PRD_encryption.png "PCD_PRD_encryption") +Les `Metadata` des `Item` des `RequestPcd` et les attributs des `RequestPcd` et `RequestPrd` sont chiffrés de la sorte : + +* **Données publiques** : Utilisent un chiffrement symétrique basé sur la `ProcessKey` de l'`ItemProcess` (cf. [Specs-Definition](SpecsDefinition.md)). Ces données sont ainsi accessibles à tous pour le déchiffrement. + +* **Données confidentielles destinées aux membres d'un `role` spécifique d'un `ItemProcess` dans les RequestPcd** : Le chiffrement est réalisé symétriquement à partir d'une clé de chiffrement générée à la volée pour chaque champ et pour chaque item d'une liste d'un `RequestPcd`. Ces clés seront ensuite ajoutées aux `RequestPrd` dans l'attribut `RequestPcd_keys_role_confidential_list_enc_by_shared_secret`; lui même alors chiffré par la `KeyConfidential`. + +* **Données confidentielles destinées aux membres d'un `role` spécifique d'un `ItemProcess` dans les RequestPrd** : Utilisent un chiffrement symétrique basé sur les clés de chiffrement AES-GCM-256, générées à la volée dans les `RequestPcd` et transmises par le `RequestPrd`, chiffrées par la `KeyConfidential` du Diffie-Hellman de la transaction Silent Payment associée à ce `RequestPrd` (cf. [Specs-Definition](SpecsDefinition.md)) d'une transaction `SP`. + +* **Données privées** : Chiffrées symétriquement en utilisant la clé de dépense de connexion (`recover`) du signet (voir Login - Specs). + ### 4.1. Création et envoi Les `RequestPcd` et les `RequestPrd` sont envoyés sous forme de messages (`JSON`) via les `websockets` des relais.