La thématique de protection des données personnelles prend de plus en plus d'importance tandis que nos vies réelles et nos vies numériques se confondent.
Les gouvernements commencent à prendre cette préoccupation au sérieux et des lois contraignant les acteurs du numérique émergent:
* Droit à l'oubli
* Information sur les cookies
* GDPR en Europe
On le voit bien, ces lois ont des implications techniques.
On verra quelles sont les techniques utilisées actuellement pour répondre à ces contraintes, les standards émergeants (UMA 2), ...
En un mot, comment redonner le contrôle aux utilisateurs sur leurs données.
2. DATA PRIVACY, REPRENEZ LE CONTRÔLE
LA VIE PRIVÉE À L’ÈRE DU NUMÉRIQUE
▸ Combien de comptes en lignes pour chacun?
▸ Quelles infos personnelles « en liberté »?
▸ Que recouvre la notion de vie privée ou données personnelles?
▸ Noms, adresses, téléphones, …
▸ Relations, opinions (commentaires, …)
▸ Historiques de navigation, d’achat, …
▸ Addresses IP ou identifiants quelconques
3. DATA PRIVACY, REPRENEZ LE CONTRÔLE
UNE PRÉOCCUPATION GOUVERNEMENTALE
▸ En France
▸ Loi informatique et liberté (CNIL) depuis 1978
▸ En Europe
▸ Tracking cookies
▸ GDPR (General Data Protection Regulation)
▸ Ailleurs
▸ Safe Harbor, puis Privacy Shield aux USA
▸ PIPEDA au Canada
5. DATA PRIVACY, REPRENEZ LE CONTRÔLE
GENERAL DATA PROTECTION REGULATION (GDPR)
« redonner aux citoyens le contrôle de leurs données personnelles,
tout en simplifiant l’environnement réglementaire des entreprises »
6. DATA PRIVACY, REPRENEZ LE CONTRÔLE
GENERAL DATA PROTECTION REGULATION (GDPR)
▸ Projet né en 2012, ratifié en 2016, application au 25 mai 2018
▸ Take-away:
▸ Consentement explicite et positif
▸ Droit à l’effacement
▸ Portabilité des données
▸ Privacy by design
▸ Applicable aux entreprises non-européennes
▸ Data Protection Officer
▸ Amendes significatives (4% CA mondial ou 20 M€ max)
7. DATA PRIVACY, REPRENEZ LE CONTRÔLE
CONSENTEMENT ET NOTIFICATION
▸ Consentement actif
▸ Fin du opt-out
▸ Type abonnement à la newsletter pré-coché
▸ Accord explicite pour une finalité d’utilisation des données
▸ Notification en cas de fuites de données
▸ Pour que les utilisateurs puissent prendre des mesures
9. DATA PRIVACY, REPRENEZ LE CONTRÔLE
USER-DIRECTED CONSENT MANAGEMENT
▸ Interface de gestion de profil évoluée
▸ Gestion des données personnelles de l’utilisateur
▸ Gestion des connections/permissions
▸ Qu’est ce qui est partagé
▸ Avec qui ?
▸ Possibilité de changement ou révocation
▸ Suppression
▸ Portabilité
▸ Récupération des données dans un format non-propriétaire
Articles
5, 7, 12-23
10. DATA PRIVACY, REPRENEZ LE CONTRÔLE
SYNCHRONIZATION, API CONNECTIONS
▸ Données toujours à jour
▸ Ne pas copier les données localement (dé-synchronisation)
▸ Aller les chercher à la source
▸ Utilisation d’APIs externes
▸ Partage consenti
Article 5
11. DATA PRIVACY, REPRENEZ LE CONTRÔLE
SECURITY AND ACCESS CONTROLS TO PROTECT PERSONAL DATA
▸ Encryption et hash des données à tous les niveaux
▸ Fini le stockage en clair dans les bases de données
▸ Backend sécurisé
▸ Protection des APIs servant les données personnelles
▸ Authentification
▸ Autorisation (contextuelle, roles, …)
Articles
25, 32
14. DATA PRIVACY, REPRENEZ LE CONTRÔLE
USER MANAGED ACCESS 2.0
▸ Protocol standardisant la notion de partage de ressources entres acteurs
▸ Basé sur OAuth 2.0, le consentement est au coeur de UMA
▸ Distinction entre le propriétaire des ressources et leur consommateur
▸ Le RO va consentir à donner à quelqu’un des permissions
▸ Avec OAuth 2.0 on donne des permissions à son application
▸ Contrôle des autorisations est donné à l’utilisateur
▸ Non plus juste à l’administrateur
16. DATA PRIVACY, REPRENEZ LE CONTRÔLE
LES ACTEURS
RESOURCE
OWNER
RESOURCE
SERVER
CLIENT REQUESTING
PARTY
AUTHORIZATION
SERVER
17. DATA PRIVACY, REPRENEZ LE CONTRÔLE
PARTAGE DES RESSOURCES
▸ Etape préalable durant laquelle le RO partage ses ressources
▸ Identification des ressources
▸ Configuration des permissions (qui, quoi)
RESOURCE
OWNER
RESOURCE
SERVER
Controle les
permissions
AUTHORIZATION
SERVER
Gère les
partages
18. DATA PRIVACY, REPRENEZ LE CONTRÔLE
PARTAGE DES RESSOURCES 1/2
RESOURCE
OWNER
RESOURCE
SERVER
AUTHORIZATION
SERVER
OPENID CONNECT API
PROTECTION API TOKEN
‣ OPENID, UMA_PROTECTION
19. DATA PRIVACY, REPRENEZ LE CONTRÔLE
PARTAGE DES RESSOURCES 2/2
RESOURCE
OWNER
RESOURCE
SERVER
AUTHORIZATION
SERVER
PROTECTION APISHARE API*
Création du
partage
Configuration des
permissions
20. DATA PRIVACY, REPRENEZ LE CONTRÔLE
ACCÈS AUX RESSOURCES
▸ Enregistrement d’un ticket d’accès
▸ Authentification / Collecte des claims
▸ Validation
RESOURCE
SERVER
Identification
AUTHORIZATION
SERVER
Accede
REQUESTING
PARTY
Protège
CLIENT
21. DATA PRIVACY, REPRENEZ LE CONTRÔLE
ACCÈS AUX RESSOURCES (INITIALISATION)
RESOURCE
SERVER
AUTHORIZATION
SERVER
RESOURCES API
CLIENTREQUESTING
PARTY
PROTECTION API
Utilise son application
pour accéder aux resources
Tente l’accès
Enregistre une demande d’accès
22. DATA PRIVACY, REPRENEZ LE CONTRÔLE
ACCÈS AUX RESSOURCES (AUTHENTICATION)
AUTHORIZATION
SERVER *
OPENID CONNECT API
CLIENTREQUESTING
PARTY
ID_TOKEN
‣ CLAIMS
Log in
Authentification
23. DATA PRIVACY, REPRENEZ LE CONTRÔLE
ACCÈS AUX RESSOURCES (CLAIMS GATHERING), OPTIONNEL
AUTHORIZATION
SERVER
OAUTH 2.0 API
PERSISTED CLAIMS TOKEN
‣ INFO
CLIENTREQUESTING
PARTY
CLAIMS REDIRECT ENDPOINT
UMA Specific Grant Flow
CLAIMS
Need Info
REQUESTING PARTY TOKEN
‣ APP’S SCOPES
24. DATA PRIVACY, REPRENEZ LE CONTRÔLE
ACCÈS AUX RESSOURCES (AVEC TOKEN)
RESOURCE
SERVER
AUTHORIZATION
SERVER
RESOURCES API INTROSPECTION API
CLIENTREQUESTING
PARTY
25. DATA PRIVACY, REPRENEZ LE CONTRÔLE
WRAP UP
▸ Partage et accès sont des étapes clairement séparées
▸ AS du propriétaire, potentiellement différent de celui du consommateur
▸ Autorisation en fonction des claims fournis
▸ Le propriétaire a le contrôle a tout moment
26. DATA PRIVACY, REPRENEZ LE CONTRÔLE
EN CONCLUSION
▸ La protection de vos données personnelles et de leurs utilisation est en bonne
voie
▸ Les gouvernements légifèrent
▸ GDPR a un impact sérieux sur vos applications
▸ Si tant est que vous manipulez des données personnelles
▸ Des solutions existent pour remettre l’utilisateur au coeur de la mécanique
▸ Ce n’est pas aussi simple que de rajouter une brique dans votre SI