2017-06-28 2 views
1

Was ist der beste Weg, um die Authentizität der heruntergeladenen Datei im Server-zu-Server-Szenario zu überprüfen?Überprüfen Sie die Authentizität der heruntergeladenen Datei

Mögliche Option: Prüfsumme generieren und dann vergleichen. Aber wie können Server die Hashes dann sicher zum Abgleich austauschen, wenn davon ausgegangen wird, dass das Netzwerk kompromittiert ist?

Gibt es noch andere Möglichkeiten, die Echtheit zu überprüfen? Ich habe über Signaturen gelesen, aber verstehe nicht wirklich, wie sie funktionieren. Ist es etwas zu beachten?

Ich versuche sicherzustellen, dass niemand Dateien manipuliert hat. Irgendwelche Ratschläge oder Tipps sehr geschätzt!

Edit: Ich verwende HTTPS für den Verkehr zwischen Servern, sondern würde auch auf alternative Methoden verlassen.

+0

* "Ich verwende HTTPS für den Datenverkehr zwischen Servern, möchte aber auch auf alternative Methoden zurückgreifen." * - Warum? Kryptographie um der Kryptographie willen ist eine schlechte Idee. –

Antwort

0

Ich verwende HTTPS für den Datenverkehr zwischen Servern, möchte aber auch auf alternative Methoden zurückgreifen.

HTTPS schützt die Kommunikation, aber nicht die Authentizität der Nachricht. Sie tun also das Richtige, um Wege zu finden, die Nachricht zu authentifizieren.

Ich empfehle Ihnen, die Datei mit dem privaten Schlüssel des Absenders zu signieren und die Signatur am Ziel mit dem öffentlichen Schlüssel zu validieren. Stellen Sie den öffentlichen Schlüssel vor dem Produktivstart manuell auf dem Server bereit, damit er bei der Übertragung nicht gespooft werden kann.

In der Praxis wäre also eine einfache Arbeitslösung, den ECDSA- oder RSA (PSS) -Signieralgorithmus zu verwenden, um einen sicheren Hash der Datei (z. B. SHA-256) zu signieren.

Ein anderer Ansatz könnte die Verwendung von HMAC sein, wenn Sie den Schlüssel an beiden Enden schützen können.

+0

HTTPS benötigt eine Art Vertrauenswurzel, um zu funktionieren. Wenn es einen gibt, hat eine HTTPS-Verbindung zur Folge, dass der Client sicher ist, dass alles, was der Server sendet, authentisch ist. HMAC bietet Integrität und keine Authentifizierung ist im starken Sinne, da beide Parteien den symmetrischen HMAC-Schlüssel besitzen und beliebige Daten "signieren" können. –

+0

@ Artjom B. Ich muss dir nicht zustimmen. HTTPS garantiert nicht die Authentizität der Nachricht. Der Empfänger kann nicht wissen, ob die Daten vor der Übertragung in Ruhe manipuliert wurden. Wenn Ihr Kommunikationspfad mehrere Hops aufweist, müssen Sie zusätzliche Schritte unternehmen, um die Authentifizierung für jeden Hop sicherzustellen, wenn Sie Ihre Daten nicht an der Quelle signieren. – quinz

+1

Hey @quinz, danke für deine Antwort! Ich werde weiter in das Signieren der Nachricht schauen. – Ilya

Verwandte Themen