Règlement général sur la protection des données (RGPD) de l'Union européenne
Commençons par présenter brièvement le Règlement général sur la protection des données mis en place par l'Union européenne. Aussi appelé RGPD, il s'agit pour certaines personnes de la plus importante avancée des 20 dernières années en matière de protection des données.
Le RGPD est un ensemble de règles et de lois régissant le traitement et la protection des données personnelles des citoyens de l'UE par les particuliers, les entreprises et d'autres types d'organisations. Si vous manipulez des données personnelles dans le cadre d'activités sociales, culturelles ou financières, vous devez respecter la loi sur la protection des données. Si vous envisagez de créer une technologie qui gère des données personnelles sensibles, vous devrez également respecter les règles et lois du RGPD.
Conformité d'ASP.NET Core
En tant que leader mondial, Microsoft a conçu ses outils de développement de manière à aider les autres développeurs à se conformer au RGPD. Plus précisément, les modèles de projet d'ASP.NET Core incluent des points d'extension et un début de balisage indiquant à quels endroits vous devez inclure vos politiques de confidentialité et d'utilisation des cookies ainsi que d'autres fonctionnalités clés.
Vous pouvez marquer les cookies comme essentiels ou non essentiels pour déterminer lesquels sont envoyés sur le navigateur d'un utilisateur selon qu'il accepte ou non votre politique d'utilisation des cookies.
La fonction de consentement aux cookies de .NET Core vous permet de demander et suivre le consentement de vos utilisateurs pour stocker leurs données personnelles. Si un utilisateur ne donne pas son consentement et que votre application donne la valeur true à l'indicateur CheckConsentNeeded, les cookies non essentiels ne seront jamais envoyés au navigateur de cet utilisateur.
En plus de la gestion des cookies, la page Identity Manage inclut des liens permettant de télécharger et supprimer les données des utilisateurs. Cela permet aussi de se conformer au RGPD.
Découvrez l'anatomie du système de protection des données
Le système de protection des données (DPS) d'ASP.NET Core offre un moyen relativement simple d'utiliser une API cryptographique pour protéger les données. Il a été conçu pour répondre à un problème bien précis : la nécessité de transmettre et récupérer un état approuvé pour mes données via un client non approuvé.
Pour y répondre, Microsoft a créé un DPS composé de cinq packages, dont les API ciblent trois audiences distinctes :
Des API utilisateur pour les développeurs d'applications et de frameworks.
Il s'agit de développeurs qui ne veulent pas savoir comment fonctionne et comment se configure le système. Ou ils n'ont simplement pas besoin de le savoir. Ils veulent effectuer leurs opérations de la manière la plus simple possible, avec un risque d'erreur limité. Il y a des chances que vous fassiez partie de cette catégorie.
Des API de configuration pour les développeurs d'applications et les administrateurs système.
Il s'agit de développeurs qui ont besoin de personnaliser certains comportements et paramètres, et doivent donc modifier les paramètres par défaut du DPS. Peu de chances que vous fassiez partie de cette catégorie, pour le moment tout au moins.
Des API d'extension pour les développeurs chargés de l'implémentation d'une stratégie personnalisée.
Il s'agit de développeurs très expérimentés qui peuvent avoir besoin de remplacer des parties entières du système, car ils ont des besoins uniques et très spécifiques. Vous ne faites absolument pas partie de cette catégorie (et moi non plus).
Les cinq packages du DSP sont les suivants :
Microsoft.AspNetCore.DataProtection.Abstractions
Contient les interfaces IDataProtectionProvider et IDataProtector permettant de créer des services de protection des données.
Microsoft.AspNetCore.DataProtection
Contient l'implémentation centrale du DPS. Pour instancier le DPS, modifier ou étendre son comportement, faites appel à
Microsoft.AspNetCore.DataProtection
.
Microsoft.AspNetCore.DataProtection.Extensions
Contient des API qui ne font pas partie du package principal et peuvent être utiles aux développeurs expérimentés.
Microsoft.AspNetCore.DataProtection.SystemWeb
Ce package est destiné à assurer la rétrocompatibilité. En d'autres termes, il est indispensable pour qu'une application ASP.NET 4.x puisse utiliser le nouveau DPS.
Microsoft.AspNetCore.Cryptography.KeyDerivation
Fournit une implémentation de la routine de hachage des mots de passe PBKDF2 et peut être utilisé par des systèmes qui doivent gérer de manière sécurisée des mots de passe utilisateurs.
En résumé
L'objectif du RGPD est d'assurer la protection des données personnelles.
.NET Core se conforme au RGPD dans ses applications générées automatiquement.
Le système de protection des données de .NET Core cible trois audiences différentes et se compose de cinq packages de fonctionnalités.
Dans le chapitre suivant, nous allons voir comment utiliser les API utilisateur du DPS pour protéger les données. Spoiler : cela n'a rien de compliqué !