Laden...

Wie Datenintegrität [bezüglich Übertragungsfehlern] sicherstellen ? (Prüfsumme, Hash)

Erstellt von NSU-Ulli vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.529 Views
N
NSU-Ulli Themenstarter:in
9 Beiträge seit 2011
vor 13 Jahren
Wie Datenintegrität [bezüglich Übertragungsfehlern] sicherstellen ? (Prüfsumme, Hash)

Hallo,
ich wollte mich mal erkundigen welche Lösungswege es überhaupt gibt die Datenintegrität von erhaltenden Dateien sicherzustellen.

Sagen wir Komponente A schickt eine Datei an Komponente B. Wie kann B feststellen das die Daten nicht verfälscht worden sind ?

Würde ein einfaches XML Dokument reichen und dann die Validierung per XSD ?

Oder braucht man Mechanismen wie Hashtabellen oder irgendwelche Checks ?

Ich bin da leider nicht so bewandert und soll es in einem Projekt realisieren.

Danke.

SUMMMM MACHT DIE NSU!

458 Beiträge seit 2007
vor 13 Jahren

Sagen wir Komponente A schickt eine Datei an Komponente B. Wie kann B feststellen das die Daten nicht verfälscht worden sind ?

Das schreit doch geradezu nach Checksummen, schau dir dazu mal md5 oder SHA-1 an.

be the hammer, not the nail!

N
NSU-Ulli Themenstarter:in
9 Beiträge seit 2011
vor 13 Jahren

Danke für deine Antwort.
Hab nun ein wenig nachgelesen. Der MD5 scheint veraltet zu sein. Und der SHA-1 auch.

Was ist den de facto der Standard zur Zeit ?

SUMMMM MACHT DIE NSU!

S
753 Beiträge seit 2006
vor 13 Jahren

Wo hast du die Info her, dass diese veraltet sein sollen?

Life is a short

N
NSU-Ulli Themenstarter:in
9 Beiträge seit 2011
vor 13 Jahren

Wo hast du die Info her, dass diese veraltet sein sollen?

Message-Digest Algorithm 5 (MD5) ist eine weit verbreitete kryptographische Hashfunktion, die aus einer beliebigen Nachricht einen 128-Bit-Hashwert (deutsch: Prüfsumme) erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Sie gilt inzwischen nicht mehr als sicher, da es mit überschaubarem Aufwand möglich ist, unterschiedliche Nachrichten zu erzeugen, die dieselbe MD5-Prüfsumme aufweisen.

Wikipedia

SHA-1, Am 15. Februar 2005 meldete der Kryptographieexperte Bruce Schneier in seinem Blog, dass die Wissenschaftler Xiaoyun Wang, Yiqun Lisa Yin und Hongbo Yu an der Shandong University in China erfolgreich SHA-1 gebrochen hätten. Ihnen sei es gelungen, den Aufwand zur Kollisionsberechnung von 280 auf 269 zu verringern. 269 Berechnungen könnten eventuell mit Hochleistungsrechnern durchgeführt werden. Kollisionen wurden aber bis heute nicht veröffentlicht.

Wikipedia

SUMMMM MACHT DIE NSU!

S
753 Beiträge seit 2006
vor 13 Jahren

Dich interessiert ja die Integrität, du willst es nicht in einem kryptographischen Kontext einsetzen, daher ist Sha1 ok, MD5 denk ich auch.

Ansonsten such dir eins aus: http://de.wikipedia.org/wiki/Kategorie:Hash

Life is a short

2.891 Beiträge seit 2004
vor 13 Jahren

Wenn du XML-Dateien signieren und verifizieren möchtest, hilft dir die SignedXml-Klasse (System.Security.Cryptography.Xml)

N
NSU-Ulli Themenstarter:in
9 Beiträge seit 2011
vor 13 Jahren

Hallo,
ja der kryptische Teil ist nicht zu beachten. Da dieser schon intern geregelt wird.

Eine XML zu Signieren gefällt mir. Leider kann ich keine C# Klassen verwenden, da die Systeme bzw. deren Anwendungen unter C++ entwickelt sind und ich erweitern soll.

Deshalb frage ich nach dem generellen Lösungsweg und die Technologie die zur Zeit State of the Art ist.

Danke

SUMMMM MACHT DIE NSU!

F
10.010 Beiträge seit 2004
vor 13 Jahren

Signieren mit X.509 Zertificaten.
Kannst du mit jedem OS benutzen, und ist sowohl für .NET als auch für C++ unter windows einfach zu handhaben.

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo NSU-Ulli,

geht es um Übertragungsfehler oder um Angriffe auf die übertragenen Daten?

Außerdem heißt die Verringerung von 280 auf 269 keinesfalls, dass das Verfahren schon unbrauchbar oder veraltet ist. Das geht aber auch aus dem Wikipedia-Zitat direkt hervor.

Weitere Informationen, ob es bereits praktisch möglich ist, MD5 gezielt anzugreifen, gibt es in [erledigt] Wie "einmalig" ist ein MD5-Hash?.

herbivore

N
NSU-Ulli Themenstarter:in
9 Beiträge seit 2011
vor 13 Jahren

Hallo,
es geht nur darum das die Daten fehlerfrei versendet worden sind und vollständig vorhanden.

Danke

SUMMMM MACHT DIE NSU!

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo NSU-Ulli,

dafür kannst du so ziemlich jedes Prüfsummenverfahren verwenden. MD5 und SHA1 stellen Übertragungsfehler mit einer Wahrscheinlichkeit von praktisch 100% fest. Siehe auch [erledigt] MD5 vs. SHA1: Wie wahrscheinlich produzieren zwei Dateien den gleichen Hash?

Die Aussagen, dass MD5 und SHA1 nicht mehr zeitgemäß wären, beziehen sich ausschließlich auf gezielte Angriffe.

herbivore

N
NSU-Ulli Themenstarter:in
9 Beiträge seit 2011
vor 13 Jahren

Hey,
danke für die Antwort.

Lieber Gruß

SUMMMM MACHT DIE NSU!