2016-03-29 28 views
-1

Ich muss Web-Server (Windows-Server) mit einer tokenization Engine für die Verschlüsselung sensibler Daten erstellen. Wie pro Client Anforderung:Tokenisierungs-Engine | Verschlüsselung-Entschlüsselung mit Seed-Datei

  • Der Server sollte mit einer eindeutigen Verschlüsselung/hash „seed“ Datei konfiguriert werden, dass
  • Der Server sollte die Seed-Datei verwenden, um tokenize (dh Maske/hash/encrypt gesichert werden kann) sensible Datenfelder
  • Der Server sollte die Token-Werte für den Sicherungsvorgang an die Datenbank (MySQL) übergeben.
  • Der Server soll die Daten un-tokenize, wenn aus der Datenbank für die Anzeige auf der
  • Website abgerufen

Meine Frage ist - wie Seed-Datei erstellen? - Wenn die Daten mit der Seed-Datei verschlüsselt werden und dann jemand die Seed-Datei ändert/aktualisiert. In diesem Fall können wir Daten entschlüsseln

Bitte beraten Sie Ansatz, um obige Anforderung zu erfüllen.

+1

Tokenization ist keine Verschlüsselung, so der Titel ist unklar, die Frage braucht mehr Klarheit. Ist das mit Zahlungen zu tun? Enthält die "Seed" Datei nur einen "Seed" Eintrag? Ist der "Seed" wirklich nur ein Verschlüsselungsschlüssel? Wenn Sie "Verschlüsselung/Hash" sagen, verstehen Sie den Unterschied, dass ein (kryptografischer) Hash eine Einwegfunktion ist, die nicht reversibel ist? Wenn Sie "Tokenization" sagen, bedeutet das wirklich nur verschlüsselte Daten? – zaph

Antwort

0

Man kann einen "Seed" mit einem kryptographischen PRNG (Pseudo Random Number Generator) oder einem HRNG (Hardware Random Number Generator) erzeugen. Die meisten Computersysteme enthalten ein kryptographisches PRNG, und HRNGs mit einer begrenzten Entropierate können in USB-Konfigurationen günstig gekauft werden.

Speichern Sie den generierten Seed in einem sicheren (möglicherweise Bank-) Safe auf Papier und/oder einem USB-Laufwerk für die Wiederherstellung.

Verwenden Sie für die hohe Sicherheit ein HSM (Hardware Security Module).

Der Server muss sicher sein, einschließlich einer guten Zwei-Faktor-Authentifizierung.

Dies scheint die letzte Frage zu beantworten, aber die ganze Frage ist unklar. Wenn Sie sich mit CC-Zahlungen beschäftigen, müssen Sie sich mit PCI (Payment Card Industry) vertraut machen.

+0

Danke .. ja Seed wird Verschlüsselungsschlüssel enthalten. Hash ist in meinem Fall nicht relevant, da es nur eine Möglichkeit ist. wenn ich Tokenisierung sage, meinte ich nur Verschlüsselung und Entschlüsselung von sensiblen Daten unter Verwendung der Seed-Datei .... NEIN diese Anforderung ist nicht für irgendeinen Zahlungszweck .. dies ist nur Benutzer sensible Daten für die Länderregulierung Zweck speichern – user2745580

+0

Sie könnten die Frage umformulieren Ersetzen von Seed/Hash/Tokenization durch einen geheimen Schlüssel. Im Falle eines einfachen Schlüssels mit einem kryptografischen PRNG erstellen und einfach auf ein Blatt Papier aufschreiben und in einen Banktresor legen. – zaph

+0

Wenn mein Verständnis stimmt, dann würden alle Daten, die mit dem geheimen Schlüssel verschlüsselt wurden, nur mit dem gleichen geheimen Schlüssel entschlüsselt werden. Wenn der geheime Schlüssel geändert oder verloren wird, dann wären bereits verschlüsselte Daten beschädigt. Bitte lassen Sie mich wissen, wenn ich hier falsch liege. Würden Sie auch vorschlagen, keine Kollision Algorithmus wie RIJNDAEL, DES etc .. – user2745580