|
 |
 |
2007-03-15 17:16:43
Neues von der RTR-Liste
Ab 19.4.2007 wird die ECG-Liste (bsser bekannt als "RTR-Liste") nur
noch verschlüsselt abrufbar sein. So lautet der Inhalt der heutigen Aussendung der Rundfunk und Telekom Regulierungs-GmbH kurz RTR.
Die RTR führt eine Liste in die sich jeder eintragen kann, der keine unverlangte Werbemail per Email erhalten will. Ein Email-Versender ist lt. ECG dazu verpflichtet die RTR-Liste zu beachten.
Neu ist, dass es ab sofort auch möglich ist, dass ganze Domains gesperrt werden.
Verschlüsselt heisst in diesem Zusammenhang, dass ab 19. April statt der Emailadressen Hashes im SHA1 Format übertragen werden. An der Übertragung per Email wird sich nichts ändern.
Was heisst nun SHA1? Der Begriff sicherer Hash-Algorithmus (englisch secure hash algorithm), kurz SHA, bezeichnet eine Gruppe standardisierter kryptographischer Hash-Funktionen. Diese dienen zur Berechnung eines eindeutigen Prüfwerts für beliebige elektronische Daten. Meist handelt es sich dabei um Nachrichten. (Quelle: http://de.wikipedia.org/wiki/SHA1)
Konkret wird aus jeder Emailadressein ein 160 Bit Hash generiert. Dies geschieht mit einer sehr komplizierten Formel, die eine Entschlüsselung unmöglich machen soll.
Wozu das Ganze? Mit dieser neuen Methode kann man Emailadressen gegen die RTR-Liste prüfen ohne die Adressen selbst zu erhalten.
So fängt die Datei an, die man von der RTR bekommt:

Wie funktioniert der Datenabgleich? Dieses Perl-Script stellt die RTR auf der RTR-Website zum Download zur Verfügung. Das Script liest zuerst die Hash-Tabelle in das assoziiert Array "verboten" ein. Danach wird sowohl jede Emailadresse wie auch jede Domain mittels "sha1" in einen Hash verwandelt und gegen die Hash-Liste geprüft. Das Script gibt nur gültige Adressen aus.
#!/usr/bin/perl -w use Digest::SHA1 qw(sha1 sha1_hex sha1_base64); $hashwertdatei = shift || './ecg-liste.hash'; open(HASH, "<$hashwertdatei") || die "Fehler bei Zuriff auf $hashwertdatei"; do { $bytes = read(HASH, $hashwert, 20); $verboten{$hashwert} = 1; } while ($bytes == 20); close(HASH); while ($zeile = ) { chomp($zeile); $email=lc($zeile); $domain=$email; $domain=~s/.*\@//; if ((! $verboten{sha1($email)}) && (! $verboten{sha1("\@".$domain)})) { print "$zeile\n"; } }
|
|
 |
 |
![]()
|