Recommandations générales
Sur les motifs justifiant le recours à une API :
L'utilisation d'API est à favoriser lorsque :
- les données sont fréquemment mises à jour, et/ou les réutilisateurs ont besoin d'y accéder régulièrement ; et/ou
- leur stockage par le réutilisateur n'est pas utile (utilisation unique ou traitement en continu sans nécessité d'historique) ; et/ou
- le ou les réutilisateurs n'ont pas systématiquement besoin d'accéder à l'intégralité des données mais seulement à un sous-ensemble des données non identifiable à l'avance ; et/ou
- les méthodes utilisées pour garantir leur sécurité sont susceptibles d'être mises à jour.
Dans tous les cas de la liste précédente, la Commission recommande l'utilisation d'une API pour le partage de données à caractère personnel. Elle le recommande d'autant plus si les données sont partagées à de nombreux réutilisateurs, voire mises à disposition du public. Elle déconseille en principe, dans ces cas, le recours à une plateforme de partage de données ou à un service de communication électronique (tels que définis en annexe I). Dans les autres cas, l'utilisation d'une API peut également être pertinente, mais son opportunité doit être évaluée en comparaison avec les autres techniques de partage de données possibles.
En effet, la Commission a observé que le niveau de sécurité apporté par les API est généralement plus élevé que celui relatif à ces autres méthodes, notamment en ce qui concerne la sécurité des communications par messagerie électronique ou encore la gouvernance des données une fois que celles-ci ont été partagées par messagerie électronique ou sur une plateforme de partage, ou que ces modes d'échange nécessitaient la transmission de grandes quantités de données, parfois inutilement.
Par conséquent, le partage par le biais d'une API permet une meilleure supervision du partage des données, d'une part en contrôlant les accès, le degré de précision des données transmises et, le cas échéant, les finalités d'utilisation des données et, d'autre part, grâce à la mise en place d'une interface d'échange standardisée entre détenteur, gestionnaire et réutilisateur, en permettant la transmission sécurisée d'informations associées à l'échange de données (durée de conservation, gestion de l'exercice des droits et notamment du droit à la portabilité, etc.).
Sur les risques liés à l'utilisation d'une API :
En facilitant et en automatisant le partage de données, l'utilisation d'API présente toutefois des risques accrus de détournement de finalité, de perte de confidentialité et de contrôle des données ou encore concernant la transparence vis-à-vis des personnes concernées, qu'il est nécessaire de prendre en compte. Les objectifs suivants devraient être considérés comme prioritaires lors de la mise en œuvre de mesures visant à réduire les risques :
- la minimisation des données échangées ;
- l'exactitude des données source ;
- la traçabilité des accès ;
- la gouvernance et le respect des droits ;
- la sécurité.
Les objectifs précédents sont à considérer dans le contexte du partage de données, selon la vraisemblance et la gravité des risques associés. Les facteurs suivants, que la Commission considère comme particulièrement importants dans le cadre d'un partage de données par voie d'API, devraient être pris en compte :
- type d'accès à la base de données : en lecture seule ou en écriture ;
- délivrance des autorisations et conditions d'accès aux données : si l'accès est soumis à une autorisation, quelles vérifications sont apportées afin de valider ces demandes ? ;
- niveau de sécurité des techniques d'authentification utilisées ;
- nature des organismes impliqués dans le partage (maturité technique, gouvernance européenne ou non, capacités opérationnelles, etc.) ;
- autres mesures techniques (physiques ou logiques) et organisationnelles prévues pour améliorer le niveau de sécurité du système ;
- état des connaissances sur les techniques utilisées et les risques associés ;
- catégories de données accessibles par l'API : certaines données sensibles au sens de l'article 9 du RGPD ou encore des données à caractère hautement personnel (tels que des données bancaires ou des données de géolocalisation) sont plus susceptibles de faire l'objet d'attaques ou d'entraîner des conséquences plus graves ;
- degré de précision des données et des requêtes : possibilité d'accéder uniquement à certaines informations ciblées.
Cette liste de facteurs devrait être considérée par chacun des acteurs concernés par le partage de données, quel que soit leur rôle. Une documentation recensant les choix faits doit être constituée et conservée. Lorsqu'elles ne relèvent pas d'une obligation légale, les recommandations préconisées dans le reste de ce document seront à considérer au cas par cas, selon le niveau de risque déterminé et selon les moyens techniques susceptibles d'être mis en œuvre par l'organisme.
Lorsque le traitement de partage mis en œuvre est susceptible d'engendrer un risque élevé pour les droits et libertés des personnes concernées, cette analyse technique devra être intégrée à une analyse plus large, appelée analyse d'impact relative à la protection des données, conformément aux dispositions de l'article 35 du RGPD et aux lignes directrices en la matière (3).
Sur la coordination fonctionnelle des organismes :
Bien que la présente recommandation préconise des bonnes pratiques correspondant à chacun des rôles fonctionnels précédemment exposés (détenteur de données, gestionnaire d'API et réutilisateur des données), la mise en place d'une gouvernance efficace entre ces trois types d'acteurs représente un enjeu majeur pour le respect des grands principes « informatique et libertés ».
En particulier, et quelle que soit la répartition des responsabilités résultant des qualifications juridiques des acteurs précédemment évoquée, il est recommandé que les organismes concernés par le traitement se coordonnent sur les modalités de mise en œuvre de la présente recommandation. Cette coordination fonctionnelle devrait être formalisée sous la forme d'une documentation, définissant d'une manière générale les rôles et responsabilités de chaque acteur, et précisant les procédures mises en œuvre dans le cadre de cette recommandation afin de s'assurer de leur prise en compte par chacun des acteurs. Cette documentation, qui n'est pas nécessairement spécifique à chaque partage, devrait toutefois être suffisamment précise et complète pour prévoir et encadrer chaque cas d'usage.
Sur l'information des personnes :
Les organismes impliqués dans le partage de données devraient se coordonner pour fournir une information claire et complète aux personnes, concernant le traitement de mise à disposition de leurs données à caractère personnel. La Commission recommande que les mesures de traçabilité permises par les API, et en particulier la journalisation des accès et des actions, soient utilisées afin de collecter des informations statistiques concernant l'utilisation des données. Ces informations pourront être agrégées grâce à un procédé automatisé dont la précision devrait être adaptée notamment à la gravité des conséquences pour les personnes que pourraient entraîner une utilisation détournée de l'API ou un accès illégitime aux données. Lorsqu'une tentative d'accès illégitime aux données est particulièrement vraisemblable et qu'elle pourrait entraîner des conséquences particulièrement graves, comme cela est le cas pour certaines API accessibles par FranceConnect, les informations fournies à la personne devraient inclure la liste exhaustive des accès aux données sur la période pertinente, ainsi que leur horodatage afin de permettre à la personne concernée d'identifier un accès illégitime, en complément des autres mesures de sécurité mises en œuvre par le responsable de traitement. Dans le cas général, la Commission souligne que la liste des réutilisateurs devra être portée à la connaissance des personnes concernées, lorsqu'elle est connue. Elle considère également comme une bonne pratique le fait de rendre publics ou de fournir aux personnes, pour chacune des API et éventuellement selon plusieurs niveaux d'information dont le premier serait compréhensible pour le grand public :
- une description détaillée des données partagées, de leur fréquence d'échantillonnage, des opérations réalisées en amont de leur partage, telles que des processus de pseudonymisation ou d'anonymisation ;
- des informations concernant les accès aux données réalisés via l'API, telles que leur fréquence, leur volume ou leur profondeur historique ;
- les objectifs de sécurité visés.
Ces informations devraient être mises à jour au gré de leur évolution, de manière automatisée lorsque le dispositif le permet. Les modifications devraient être portées à la connaissance des personnes concernées de manière individuelle lorsqu'elles changent substantiellement la nature du partage, notamment lorsque les données sont partagées pour une nouvelle finalité ou lorsque les restrictions d'accès les concernant évoluent de façon significative.
La Commission recommande que les informations précédemment citées soient a minima présentées sur un site web porté à l'attention des personnes ou qu'elles leur soient communiquées directement, sous un format accessible et compréhensible. Lorsque cela est pertinent au regard du niveau de risque évalué, en particulier au regard du besoin de confidentialité des données concernées, ainsi que de la criticité du traitement, l'accès à ces informations devra être sécurisé au moyen d'une méthode d'authentification conforme aux recommandations de la Commission, telle que FranceConnect dans la sphère publique.
Sur la sélection des données :
Pour assurer le respect des textes en vigueur encadrant d'ores et déjà le partage de données, et en application du principe de minimisation, la Commission encourage le détenteur de données à mener une réflexion avec les réutilisateurs des données sur les données strictement nécessaires aux réutilisations que chacun d'eux prévoit, pour limiter le partage à ces seules données dans le respect des éventuels textes encadrant le partage, en particulier lorsque celui-ci implique des organismes publics. A cet égard, elle souligne les éléments suivants.
Les catégories de données, leur format, leur profondeur historique, leur précision, leur fréquence d'échantillonnage, leur fréquence de mise à jour et les mesures de pseudonymisation ou d'anonymisation qui leur sont appliquées, devront notamment être choisies pour répondre strictement aux besoins relatifs aux réutilisations prévues.
Le détenteur de données devrait poursuivre cette réflexion avec les réutilisateurs après l'ouverture des accès, afin de recueillir leurs retours, notamment lorsque ces derniers n'ont pas pu être inclus dans la réflexion initiale.
Les données concernées par le partage devraient être fréquemment recensées, afin d'identifier celles dont le partage ne serait plus pertinent et d'y mettre fin. Le format des données choisi devrait être pérenne, univoque et documenté pour limiter les risques liés à une erreur d'interprétation humaine ou logicielle.
Afin de garantir que les données partagées par l'API soient au format attendu, l'utilisation d'un outil de validation des données est recommandée.
L'infrastructure technique, le format des données et les modalités d'interrogation de l'API, telles que le niveau de précision autorisé dans les requêtes, devraient être choisis pour respecter au mieux les recommandations précédentes et éviter le partage de données non pertinentes vis-à-vis de chacun des réutilisateurs, qu'il s'agisse des organismes ayant à connaître des données ou des personnes physiques appartenant à l'organisme réutilisateur lorsque plusieurs niveaux d'accès sont prévus au sein de cet organisme selon le niveau d'habilitation des personnes. Ces mesures devraient être intégrées directement dans l'API.
Enfin, lorsque les catégories de données pertinentes ne peuvent pas être précisément identifiées en amont du traitement, comme cela peut être le cas en matière de recherche, la Commission recommande qu'une phase d'expérimentation préalable soit mise en œuvre afin de vérifier la pertinence de certaines catégories sur des volumes restreints de données. Cette phase d'expérimentation, menée en coopération avec le gestionnaire d'API et les réutilisateurs, devrait permettre de confirmer la pertinence des choix faits et le respect des recommandations énoncées dans les paragraphes précédents. Cette phase d'expérimentation devrait utiliser l'infrastructure technique prévue en conditions réelles dans une version « bac à sable » et se limiter, autant que possible, à des données fictives ou altérées.
Sur l'exercice des droits sur le partage des données :
Les droits des personnes concernées par un traitement consistant à partager leurs données au moyen d'une API recouvrent :
- le droit d'accès, de rectification, d'effacement et de portabilité sur la base source utilisée par l'API ;
- le droit à l'information sur les partages opérés ;
- le droit à l'opposition ou au retrait du consentement au partage, ainsi que le droit à la limitation du traitement.
Recourir à une API permet d'automatiser un certain nombre d'opérations de traitement et de faciliter les demandes d'exercice des droits sur le partage, participant à leur prise en compte effective. Il est recommandé de limiter les opérations manuelles relatives au traitement de ces demandes.
Lorsqu'une personne concernée par le partage retire son consentement, exerce son droit d'opposition ou à la limitation, l'API devrait intégrer un dispositif technique permettant d'exclure automatiquement du champ du partage les données concernées.
Dans certains cas, comme lorsque la temporalité du traitement justifie une réponse rapide à une demande d'exercice des droits ou lorsqu'une erreur dans les données pourrait avoir des conséquences graves pour les personnes, l'API devrait également intégrer un dispositif spécifique permettant au détenteur de données d'informer chaque réutilisateur auquel les données ont été communiquées, de toute rectification, effacement de données ou limitation de traitement faisant suite à l'exercice des droits par les personnes concernées, cette information pouvant être obligatoire dans certains cas en vertu de l'article 19 du RGPD. De manière plus générale, ce dispositif devrait aussi permettre au détenteur d'informer activement les réutilisateurs sur les éventuelles restrictions aux réutilisations, qui pourraient notamment résulter de l'exercice des droits (p. ex. : opposition à certaines finalités de réutilisation). Il appartiendrait à ces derniers de les prendre en compte, de préférence de manière automatisée lorsque le dispositif prévu par le détenteur le permet.
Ce dispositif spécifique peut notamment reposer sur une API dédiée à la communication d'informations relatives à l'exercice des droits, un balisage des données (voir annexe I) ou sur l'association de métadonnées aux données lors de leur communication. En effet, l'utilisation d'un fichier indiquant les restrictions de réutilisation des données afin que celles-ci soient prises en compte par les réutilisateurs n'est pas à privilégier.
Il convient de noter que la base légale qui fonde le traitement de partage de données a des conséquences sur les droits des personnes concernées, certains droits pouvant être écartés en fonction de celle-ci ou en vertu de textes réglementaires.
Sur la gestion des accès :
Lorsque l'API est soumise à une restriction d'accès (« API en accès restreint »), la Commission recommande que le mécanisme de demande d'accès mis en place exige de chaque réutilisateur qu'il apporte les informations nécessaires à la vérification de la licéité de son accès à l'API. Lorsque ce n'est pas obligatoire, il est généralement recommandé au réutilisateur d'informer le détenteur des données de la finalité pour laquelle il accède aux données, ainsi que des catégories de données nécessaires. La Commission recommande que le réutilisateur informe le détenteur du volume, de la profondeur historique, de la fréquence et du type de requêtes envisagés afin de dimensionner les moyens techniques à mettre en œuvre.
Dans le cas d'une « API ouverte », la Commission recommande, à titre de bonne pratique, qu'un système de registre public facultatif et ne restreignant pas l'accès à l'API permette de connaître ces mêmes informations et l'identité des destinataires. Ce registre pouvant porter atteinte à la vie privée ou aux données à caractère personnel des destinataires, son opportunité doit être évaluée au cas par cas.
Le détenteur de données et le gestionnaire d'API devraient se coordonner pour mettre en œuvre une procédure de gestion des accès et, le cas échéant, d'attribution des habilitations, répondant aux objectifs de sécurité, traçabilité et minimisation. Lorsque l'accès à l'API est soumis à une validation préalable, les procédures correspondantes devraient être formalisées au sein d'une politique de gestion des habilitations précisant les procédures d'attribution des secrets d'authentification, les conditions de leur transmission, de leur sauvegarde, de leur révocation et de leur renouvellement. L'authentification donnant accès à l'API devrait être réalisée par un système robuste et éprouvé de vérification de clé reposant sur des protocoles cryptographiques conformes aux recommandations de la Commission.
Les habilitations devraient être accordées selon plusieurs niveaux, ne donnant accès qu'aux données nécessaires au traitement et n'accordant que les permissions nécessaires. Cette différenciation peut avoir lieu par réutilisateur, mais aussi être mise en œuvre en interne par le réutilisateur afin de limiter les accès de ses agents ou employés aux données strictement nécessaires. Les accès devraient être donnés pour une durée déterminée, cohérente avec les besoins du réutilisateur et avec la durée de validité des données (certaines données, comme celles concernant la situation géographique ou encore financière des personnes par exemple, pouvant nécessiter des mises à jour régulières). En particulier, des accès à usage unique ou à très courte durée devraient être fournis pour réaliser des expérimentations ponctuelles. La sécurité du mécanisme d'authentification utilisé devrait être vérifiée et ses instructions d'utilisation rigoureusement suivies. Des mesures de sécurité devraient notamment être mises en place afin de protéger le système d'information des intrusions et des attaques par déni de service, par exemple en bloquant temporairement un accès après un nombre trop important de tentatives de connexions infructueuses. La possibilité devrait également être laissée aux réutilisateurs de révoquer unilatéralement leurs accès, notamment en cas de détection de compromission de leurs secrets d'authentification.
Lorsque les détenteurs de données réalisent le partage de leurs données au moyen d'une requête en écriture, les mesures de sécurité décrites dans le paragraphe précédent devraient leur être appliquées. Les droits d'écriture qui leur sont accordés devraient être limités à ce qui est strictement nécessaire, afin d'éviter la compromission de données déjà sauvegardées. Lorsque plusieurs bases coexistent, l'accès ne devrait être fourni qu'aux bases auxquelles le détenteur a besoin d'accéder. Une distinction entre les privilèges de lecture, d'ajout, de modification des données et de l'architecture de la base et d'écriture devrait être faite, afin de limiter les privilèges accordés à ceux strictement nécessaires.
Pour garantir la disponibilité des services pour les réutilisateurs de données, ces derniers devraient être notifiés à l'avance quand leur secret d'authentification arrive à expiration et un moyen de le renouveler sans interrompre leur service devrait leur être fourni.
Sur la gestion interne des API :
La Commission recommande qu'une gouvernance dédiée soit mise en place chez chacun des acteurs pour le partage de données par voie d'API. Cette démarche devrait être documentée et faire l'objet d'un suivi régulier pour garantir son effectivité.
Une documentation facilement accessible à tous les intervenants ayant à en connaître devrait formaliser les procédures et, notamment, les protocoles d'urgence à mettre en œuvre en cas de survenance d'un événement concernant la sécurité des données. Cette documentation devrait également comporter une description technique permettant l'intégration, le développement, la mise à jour et l'interruption des systèmes liés aux API.
La Commission recommande qu'un outil de gestion des versions (voir annexe I) soit utilisé afin de suivre les modifications apportées au code source du système permettant le partage. Une procédure devrait permettre de revenir à une version antérieure du système lorsqu'un risque est identifié. Une attention particulière devrait être apportée au cloisonnement du code source sauvegardé sur cet outil et des données n'ayant pas à y figurer, telles que les clés de chiffrement, dont la présence peut être détectée grâce à un outil vérifié de recherche des secrets dans le code source (voir annexe I). D'une manière générale, l'écriture pérenne, ou « en dur », de secrets dans le code source, devrait être évitée et l'utilisation d'un gestionnaire ou d'un détecteur de secrets devrait être privilégiée pour en éviter la divulgation ou pour la détecter.
Plus généralement, la gestion des API devrait s'inscrire dans la politique de sécurité des systèmes d'information de chacun des acteurs. Leur intégration devrait être prise en compte dans les procédures de sécurité existantes et ces dernières devraient être adaptées pour tenir compte des risques spécifiques aux API.