Cryptage des données

Bonjour,

Quels sont les mécanismes “Tools” permettant de crypter les données avec Simplicité ?

Cordialement,

Il n’y a pas de crypto automatique des données sur la plateforme. Seul les mots de passe peuvent être enregistrés sous forme d’emprunte MD5.

  • Soit c’est un service d’infrastruture / du SGBD qui persiste des données cryptés mais vu du driver JDBC les données sont en clair côté applicatif. A voir les impacts sur les requetes SQL (jointure, recherche like sur données cryptées, perfs…)

  • Soit il faut ajouter des traitements preSave/crypter et postSearch/decrypter pour ne crypter que certaines données “sensibles” mais il sera impossible de faire des rechrche type “like” sur ces colonnes.

com.simplicite.util.tools.EncryptionTool

String key = "Simplicite012345"; // 128 bits key
String value = "Hello World!";
String encryptedValue = EncryptionTool.encrypt(value, key);
System.out.println(value + " > " + encryptedValue + " > " + EncryptionTool.decrypt(encryptedValue, key));

En soit crypter les données dans la couche applicative est contre productif sauf à complexifier le run (perfs, intégration, dev…), il faut plutôt penser protéger la plateforme (fermer tous les ports sauf https, ssh…) et uniquement crypter les sauvegardes mises à l’extérieur.

Cf. https://www.simplicite.io/resources/documentation/01-core/advanced-code-examples.md au § “Data encryption”

Sinon on travaille avec la société SEED Protocol cf. https://www.seed-protocol.com qui ont une solution de cryptage as a service innovante et très sécurisée. On a déjà utilisé leur services pour crypter des données de santé dans un contexte cloud.

Comme pour le cryptage de base via EncryptionToolil faut crypter/décrypter applicativement (crypter au preSave et décrypter au postSelect).