2017-06-26 2 views
0

Je développe actuellement une application web de démarrage à ressort. C'est un proxy api REST qui se connecte à une autre API en utilisant des informations d'identification très sensibles. Les pouvoirs sont codés en dur pour le moment, mais ils ne devraient évidemment pas l'être. Quelle est la bonne façon de les cacher?Un bon moyen de cacher des informations d'identification très sensibles dans une application web

j'envisagé d'utiliser une bibliothèque, comme jasypt pour les coder et mettre les valeurs codées dans un fichier de propriétés, avec la clé cachée quelque part, peut-être dans la variable système, (mais il est juste une autre couche de faux-fuyants, ISN 't-il?)

Comment puis-je masquer correctement ces informations d'identification sensibles?

+0

Oui, vous pouvez utiliser une clé privée pour crypter et décrypter les données sensibles. –

+0

Etes-vous en train de les cacher en envoyant les informations d'identification? Dans ce cas, vous devez utiliser SSL. –

+0

Si elles sont très sensibles, utilisez un module HSM (Host Security Module) pour les stocker. – Henry

Répondre

2

Vous pouvez utiliser l'environnement de votre serveur pour masquer vos propriétés. Il suffit de stocker sur votre serveur de production application.properties avec de vraies informations d'identification et de protéger l'accès, de sorte que seule votre application aura accès au fichier de propriétés.

+0

Cela fonctionne aussi longtemps que vous avez confiance les personnes ayant un accès root ou avec un accès physique au serveur. – Henry

+0

@Henry vous devez faire confiance à ces personnes, sinon vous avez de gros problèmes – alexey28

+0

Dans les environnements de haute sécurité, vous devez toujours vous assurer que plusieurs personnes (par exemple 3) doivent coopérer pour compromettre un secret. Gardez à l'esprit que la fraude est souvent un travail d'initié. – Henry

2

Le problème fondamental est que si vous avez besoin de détenir les identifiants de sécurité dans la mémoire dans la mémoire d'un programme informatique, ET qu'il y a des personnes qui ont l'équivalent de l'accès "root" à la machine, alors possible pour l'une de ces personnes d'avoir accès aux informations d'identification.

Vous devez donc concevoir votre sécurité de manière à ce que les informations d'identification n'aient jamais besoin d'être conservées dans la mémoire du serveur.

Si vous êtes vraiment sérieux au sujet de résoudre ceci, vous devez enquêter Hardware Security Modules. Cependant, l'approche HSM va être compliquée et coûteuse, et peut vous obliger à retravailler vos protocoles d'authentification.