Bonjour,
Quels sont les mécanismes “Tools” permettant de crypter les données avec Simplicité ?
Cordialement,
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 EncryptionTool
il faut crypter/décrypter applicativement (crypter au preSave
et décrypter au postSelect
).