Meine App muss eine SSL-URL von einer Drittpartei lesen. Wie speichere ich am besten die Berechtigungsnachweise von Drittanbietern in meiner eigenen Datenbank, um die Anmeldeinformationen der Drittanbieter vor einer Kompromittierung zu schützen? Betrachten Sie sowohl absolute Sicherheit als auch Praktikabilität. One-Way-Hashing der Anmeldeinformationen ist nicht sinnvoll, da ich die Anmeldeinformationen für den SSL-Aufruf in Klartext wiederherstellen muss. Ich verwende Python in der Google App-Engine und meine App authentifiziert sich mit Google-Anmeldeinformationen.Ich * muss * Drittanbieter-Anmeldeinformationen in meiner Datenbank speichern. bester Weg?
- verschlüsseln Anmeldeinformationen mit z. AES und den Verschlüsselungsschlüssel speichern woanders (nur das Problem bewegt) oder derive it from the credentials and keep the algorithm secret (bewegt sich nur das Problem)
- verschlüsseln Anmeldeinformationen eines synchronous stream cipher, leiten die (nicht) Entropie von den Anmeldeinformationen und keep the algorithm secret (nur verschiebt das Problem)
- in einer separaten Web-Anwendung zum Speichern von Drittanbieter-Anmeldeinformationen, eine SSL-URL zum Erhalt der Drittanbieter-Anmeldeinformationen, diese URL wird mit Google-Anmeldeinformationen (wie meine app) zugreifen und authsub oder etwas, um die Autorisierung auf den anderen übertragen können Web-App. das klingt sicherer, weil es schwieriger ist, eine trivial einfache Webapp zu hacken, und wenn meine komplexe Hauptanwendung kompromittiert wird, werden die Berechtigungsnachweise von Drittanbietern nicht angezeigt.
Was denken Sie über alle Ansätze?
es ist unklar, was Sie fragen? Eine SSL-URL dient zum Verschlüsseln der über sie gesendeten Anmeldeinformationen. –
Ich habe Angst, die externen Anmeldeinformationen in meiner Datenbank zu speichern –
Ich kann nicht sehen, wie der dritte Ansatz das Problem auch nicht bewegt. Es verschiebt es einfach in eine andere App anstelle der gleichen App. –