Pour autant que je sache, Firebase envoie des données via une connexion HTTPS, de sorte que les données sont déjà cryptées. Bien que Firebase fournisse des règles de sécurité pour protéger ma structure de données, je peux toujours voir les messages de chaîne dans la base de données.
Je suis simplement curieux de savoir si c'est une bonne idée de chiffrer les messages avant de pousser les données vers Firebase ou non. Dois-je simplement passer de ce sujet à autre chose?
Je vous remercie.
Vous semblez avoir une bonne compréhension du fonctionnement de la base de données Firebase: le les données sont chiffrées en transit , et c'est stocké sur des disques chiffrés sur les serveurs . Si vous activez la persistance locale sur l'appareil, le sur les données de l'appareil n'est pas chiffré .
Mais les administrateurs de l'application peuvent voir les données dans la console Firebase. Si votre application exige que les administrateurs ne puissent pas lire ces données, vous devrez les crypter sur le client avant de les envoyer à Firebase. Il y a quelque temps, un développeur a expliqué son chat chiffré de bout en bout sur la liste de diffusion Firebase-talk .
Hey Jeff: vous avez raison de dire que lorsque vous écrivez des données dans Firebase/Firestore, les données:
Le chiffrement côté client des données (chiffrement de bout en bout) interdit à tous ces participants/rôles de voir vos données.
Le chiffrement des données côté client est assez simple (la compatibilité entre les plates-formes mobiles et les navigateurs est délicate). L'autre partie délicate est la gestion des clés pour permettre à un utilisateur d'accéder à la clé de déchiffrement sans que l'autre utilisateur n'envoie la clé dans un canal non sécurisé.
La façon dont vous pouvez implémenter ceci est:
Découvrez cet exemple de discussion Firebase E2EE sur GitHub pour iOS: https://github.com/VirgilSecurity/demo-firebase-ios et Android: https://github.com/VirgilSecurity/demo-firebase-Android
HTH, David