Question:
Stratégies de chiffrement pour l'accès multi-utilisateurs dans les systèmes de production
joecks
2011-06-15 19:34:46 UTC
view on stackexchange narkive permalink

Je suis assez inconnu des stratégies de chiffrement dans les environnements de production. Mon souci est donc de trouver une solution pour crypter fortement les données, mais de les rendre disponibles à plusieurs utilisateurs avec des clés différentes.

Plus spécifique, il s'agit d'un scénario patient - médical, où les données du patient sont stockées cryptées sur un serveur et ne peuvent être accédées, donc décryptées, que par la clé du patient ou sa clé de médecin ou tout autre entité autorisée.

Quels concepts sont disponibles? Et lesquelles sont utilisées dans les systèmes de production, c'est-à-dire implémentées pour les bases de données (comme mysql) ou le stockage de fichiers, etc. Quelles bibliothèques sont disponibles (java, c / c ++), ou quels concepts similaires sont connus.

J'espère que ma question n'était pas trop spécifique, si oui, veuillez demander.

Deux réponses:
user185
2011-06-15 19:56:26 UTC
view on stackexchange narkive permalink

Une manière courante de travailler pour l'accès multi-utilisateur aux données chiffrées est celle-ci, qui est une description simplifiée d'un scénario de chiffrement de disque complet (un système réel peut avoir plus de niveaux que ce qui est décrit ici).

  • Les données elles-mêmes sont chiffrées avec une clé de contenu , K c .
  • K c est stockée sur l'ordinateur n temps séparés, un par utilisateur. Chaque instance est chiffrée par une clé utilisateur K u1 ... K u n différente.
  • Chacune des i clés utilisateur K u i est dérivée des informations d'identification de l'utilisateur i .
  • / li>

Ce que vous obtenez, c'est qu'il est facile de modifier les informations d'identification d'un utilisateur ou de révoquer l'accès de cet utilisateur sans affecter tout le monde.

Une autre méthode est disponible pour des éléments comme les bases de données MySQL ( et est proche du fonctionnement de la protection des fichiers sous iOS) est la suivante:

  • Données chiffrées par la clé de contenu.
  • Clé de contenu protégée par une clé d'accès, dérivée des informations d'identification de l'utilisateur.
  • mysqld reçoit la clé d'accès et fournit tout le contrôle d'accès aux données utilisateur.

Dans ce cas, vous devez être sûr que votre contrôle d'accès ne peut pas être contourné.

Ce type de cryptage indirect est en fait ce qui se passe dans PGP lors de l'envoi d'un e-mail crypté à plusieurs personnes: la clé de contenu est cryptée par la clé publique de chaque destinataire.
Pour être précis: si vous souhaitez révoquer l'accès de l'utilisateur u1, vous devez théoriquement choisir une nouvelle clé de contenu, rechiffrer les données avec la nouvelle clé de contenu, et crypter la nouvelle clé de contenu avec Ku2, Ku3 ... mais pas Ku1 .
C'est très utile et là plus j'y pense, je peux imaginer comment ce genre de service pourrait fonctionner. Connaissez-vous un système de production capable d'une telle configuration ou d'un tel cadre?
@joecks, comme l'a dit Thomas, c'est ainsi que fonctionne PGP. Vous pouvez regarder les implémentations open source de cela pour obtenir plus d'informations.
user502
2011-06-16 23:17:50 UTC
view on stackexchange narkive permalink

Si vous développez ou achetez un système destiné à être utilisé avec les données des patients aux États-Unis, vous devez vous en occuper bien plus que le chiffrement des données au repos. Si vous êtes une entité couverte, vous avez beaucoup d’études à faire, avec de lourdes sanctions en cas de non-conformité dans votre base de données.

Eh bien merci pour votre commentaire, je vais considérer cela, mais ce n'est pas très lié à ma question. Merci encore.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...