Antworten auf deine Fragen:
Neues Thema erstellen

Versuch, Pinunsicherheit nachzuweisen richtig?

P

photoedit

Guest

Hallo @ All!

Ich habe vor ein paar Wochen das erste mal das Wirtschaftsmagazin PlusMinus gesehen. An diesem Abend ging es u. a. um die Unsicherheit der Pins bei den Banken. Für jeden Pin würde es mehrere Möglichkeiten geben, d. h. Betrueger (darf ich leider wegen der BadWord-List nicht mit "ü" schreiben ;)) würden mehr Chancen haben.

Nun hatte ich von einer anderen (privaten) Quelle gehört, dass bei Hash-Algorithmen mehrere Strings den gleichen Hashcode haben können.

Ich habe die beiden Fakten gedanklich verbunden und wollte mit einem PHP-Script der Sache auf den Grund gehen:
PHP:
<?php
$pin_hash = md5 ($_GET['pin']);
$i = 0;

for ($i = 0; $i <= 9999; $i++) {
$status = '';
$i_digits = str_pad ($i, 4, "0", STR_PAD_LEFT);
$i_hash = md5 ($i_digits);
if ($pin_hash == $i_hash) {
$color = 'green';
$status = 'Volltreffer!';
}
else {
$color = 'red';
}
echo $i_digits . ' -> <font color="' . $color . '">' . $i_hash . '</font>' . $status . '<br />';
}
?>
Das Script ist in sofern gescheitert, als dass es mir nur den Pin als, wie oben benannten, "Volltreffer!" ausgegeben hat. Ist meine Denkweise bzw. mein Ansatz richtig?

Ich hoffe Ihr habt Spass mir bei einer ungewöhnlichen (Schnapps-)Idee zu helfen!

photoedit

P. S.: Den zu prüfenden Pin über den Query-String übermitteln!
 

Duddle

Posting-Frequenz: 14µHz

AW: Versuch, Pinunsicherheit nachzuweisen richtig?

Was ist denn hier deine konkrete Frage?
Der Quellcode funktioniert und deine "Quelle" hat natürlich recht: ein zentrales Problem von Hashfunktionen sind mögliche Kollisionen. Es gibt zwar sehr viele mögliche Hashwerte (konkret bei MD5 2^128, also rund 3,4 * 10^38), aber das sind auch nur endlich viele.

Falls deine Vermutung ist, dass das doch viel zu unsicher ist (von wegen aus MD5-Hash den PIN schliessen), solltest du den verlinkten Wikipedia-Artikel und auch über Hashes mit zusätzlichem Salt lesen


Duddle
 
P

photoedit

Guest

AW: Versuch, Pinunsicherheit nachzuweisen richtig?

Nein, ich meinte nicht, dass es zu unsicher ist, weil man aus dem Hash den Pin schließen kann, sondern wegen mehreren möglichkeiten (das kommt nicht von mir, sondern eben von PlusMinus)

Ich wollte eigentlich nur ausprobieren, ob man zu einem Hash eines Pin mehrere andere Pins finden kann. Und damit wollte ich fragen, ob der Ansatz so richtig ist. Da ich jetzt weiß, dass der Quellcode richtig ist und es sehr unwahrscheinlich ist, das ein Hashwert eines Pins auf andere Pins genauso zutrifft, habe ich jetzt noch die Frage, ob man das sonst noch irgendwie herausfinden kann, welche Pins den gleichen Hashwert besitzen!
 

Duddle

Posting-Frequenz: 14µHz

AW: Versuch, Pinunsicherheit nachzuweisen richtig?

habe ich jetzt noch die Frage, ob man das sonst noch irgendwie herausfinden kann, welche Pins den gleichen Hashwert besitzen!

Dafür müssten die Hashes jedes Pins einmal berechnet und abgespeichert werden, dann kannst du diese normal gegeneinander vergleichen. Es gibt keine Möglichkeit, von der Ausgabe einer Hashfunktion auf die Eingabe(n) zu schliessen.

Auf deinem Code aufbauend kann man auch fix eine Funktion bauen, die alle 9999 Hashes gegeneinander vergleicht:

PHP:
<?php
set_time_limit(60);
$hashes = array();
$max = 9999;

for ($i = 0; $i <= $max; $i++) {
	$i_hash = md5(str_pad($i, 4, "0", STR_PAD_LEFT));
	$hashes[$i] = $i_hash;
}

for ($i = 0; $i <= $max; $i++) {
	for($j = $i + 1; $j <= $max; $j++) {
		if($hashes[$i] == $hashes[$j]) {
			echo "$i, $j : ".$hashes[$i]."<br />";
		}
	}
	flush();
}
echo "fertig";
?>


Duddle
 
P

photoedit

Guest

AW: Versuch, Pinunsicherheit nachzuweisen richtig?

Okay, danke Dir für Deine Antworten, ich werde es morgen ausprobieren!


Add: Feb., 2. 2010 (16:00):

So, habe das Script jetzt ausprobiert. Heißt das denn jetzt (wenn das Script nichts bzw. "fertig" ausgibt), das es keine mehreren Möglichkeiten für einen Pin in diesem Fall geben kann? Oder könnten das die Banken eventuell auch anders gelöst haben?
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben