Mon application doit lire une URL SSL d'un tiers. Comment puis-je mieux stocker les informations d'identification de tiers dans ma propre base de données, ce qui protège les informations d'identification de tiers d'être compromises? Considérez à la fois la sécurité absolue et la praticité. Le hachage unidirectionnel des informations d'identification n'est pas utile car je dois restaurer les informations d'identification en texte brut pour l'appel SSL. J'utilise python sur google app engine, et mon application s'authentifie avec les informations d'identification google.i * doit * stocker les informations d'identification de tiers dans ma base de données. meilleur moyen?
- crypter les informations d'identification en utilisant par ex. AES et enregistrer la clé de chiffrement quelque part ailleurs (juste déplace le problème), ou derive it from the credentials and keep the algorithm secret (juste déplace le problème)
- informations d'identification Chiffrer à l'aide d'un synchronous stream cipher, déduire la (non) entropie des informations d'identification et keep the algorithm secret (juste déplace le problème)
- sur une application Web distincte dédiée à stocker les informations d'identification de tiers, fournir une URL SSL pour recevoir les informations d'identification de tiers, cette URL est accessible avec google credentials (même que mon application) et peut utiliser authsub ou quelque chose pour transférer l'autorisation à l'autre application web Cela semble plus sûr car il est plus difficile de pirater une application web trivialement simple, et si mon application principale complexe est compromise, les informations d'identification de tiers ne sont pas exposées.
Que pensez-vous de toutes les approches?
on ne sait pas ce que vous demandez? Une URL SSL est là pour chiffrer les informations d'identification qui y sont envoyées. –
J'ai peur de stocker les informations d'identification externes dans ma base de données –
Je ne vois pas comment la troisième approche ne déplace pas le problème aussi bien. Il suffit de le déplacer vers une application différente, au lieu de la même application. –