Ich entwickle eine webbasierte Anwendung, die von zahlreichen Drittorganisationen in zahlreichen Ländern auf der ganzen Welt eingesetzt wird.Was sind Verschlüsselungs/Entschlüsselungs-Schlüsselmanagement Beste Pratiken
Der browserbasierte Client leitet vertrauliche Daten in eine gemeinsame Backend-Datenbank ein.
Alle Organisationen in allen Ländern werden Daten in derselben Datenbank lesen/schreiben.
Ich möchte die Daten in den Browser eingegeben, so dass es während der Übertragung an die Back-End-Datenbank sicher ist. z.B. clientseitige Verschlüsselung.
Ich möchte auch die Daten im Ruhezustand in meiner Datenbank verschlüsseln.
Diese Anwendung wird mit Java, Javascript (REACT.js) und Scala entwickelt.
Die Backend-Datenbank wird MongoDB sein.
Ich kann ein gutes Key Management Beispiel/Beschreibung z. wie ein Schlüssel ordnungsgemäß generiert, verteilt, gespeichert, ersetzt, gelöscht und während seiner Lebensdauer wiederhergestellt wird.
Ich habe folgende Entscheidungen/Entscheidungen zu treffen: -
Flavor von Verschlüsselung, zB TripleDES, RSA, Blowfish, Twofish, AES etc .. Taste (n) Symmetrische/Asymmetrische und seine/thier Länge Wie sollte ich die Schlüssel sicher an meine Kunden verteilen? Wie Sie meine Schlüssel auf meinen Back-End-Servern sicher aufbewahren.
Wenn Schlüssel sollten einen Lebenszyklus von generiert, verteilt, gespeichert, ersetzt, gelöscht haben. Wie kann ich Daten entschlüsseln, die mit Key0 verschlüsselt wurden, als ich jetzt Key1 oder Key2 verwende?
Wie sollte ich meine mehrere Schlüssel für meine mehrere Clients speichern, damit ich jeder Client-Daten verschlüsseln/entschlüsseln kann.
Dies ist wahrscheinlich besser für http://security.stackexchange.com geeignet. – deceze