|
Der Nagra HackTV/Videocrypt Faleraklimbimpingpong ...oder warum jetzt plötzlich alle Premiere gucken können Ende Mai geschah, was Kenner der Szene schon lange erwartet hatten. Die Zeit für den Premiere Hack war gekommen. Nicht daß es da nicht schon vorher Ansätze gegeben hätte. So kursierten einige Schaltpläne für einen Syster/Nagra Decoder im Internet (Syster oder Nagravision heisst das Verschlüsselungsverfahren mit dem auch untern anderem Premiere verschlüsselt ist). Premiere war sicherlich schon ein wenig beunruhigt, als die ersten Nachbauten auf den Markt kamen, basierte doch ein Teil der Sicherheit auf der Tatsache, daß die Decoder (fast) außschließlich vermietet wurden und somit an den Besitz des bezahlten Keys gebunden waren. Aber nun ist ein kleines Programm hinzugekommen, daß es mit Hilfe eines high-end PC und fast jeder PC Fernseh Karte, die auf dem BT848 Chip basiert, ermöglicht, Premiere in nahezu perfekter Qualität zu gucken. Erstaunlich dabei ist, daß dies sogar in Farbe funktioniert. Premiere zu hacken galt Jahrelang als DIE Herrausforderung auf dem Gebiet der Videoverschlüsselung (Ein Gerücht lautet sogar, Premiere hätte 10.000,00 DM gewettet, daß es nicht geht). Es wird wohl 1993 oder so gewesen sein, als Markus Kuhn eine interessante Idee formulierte, wie wohl die mit videocrypt verschlüsselten, brittischen Sky Kanäle dem Publikum auf dem Festland zugänglich gemacht werden könnten (die einfachste und preisgünstigste Methode ist wohl, einen Britten zu kennen, der einem die original Karte schickt). Bei Videocrypt wird jede Zeile an einer beliebigen Stelle zerhackt und die beiden Hälften werden vertauscht. Der Decoder tauscht die Zeilen gemäß der gut verschlüsselten Informationen in der Austastlücke wieder zurück. Die Decoder-Hardware kann hierbei schön billig sein, da nur RAM für jeweil eine einzige Zeile nötig ist und sich auch der Restaufwand in Grenzen hält. Der Angriff funktioniert genialerweise auf rein statistischer Basis, ohne Kentnis interner Geheimnisse. Zwei aufeinanderfolgende Videozeilen, so die Überlegung, sollten einander normalerweise sehr ähnlich sein. Schiebt man jetzt eine Zeile solange in eine Richtung (wobei man das, was hinten über ist, vorne wieder anhängt) bis sie der vorherigen am ähnlichsten ist (tolle FFT Anwendung) und macht man das für alle Zeilen, so hat man schon mal das Bild rekonstruiert, nur daß es noch irgendwie aus zwei Hälften besteht, die mitteinander vertauscht sind. Diese Stelle kann man finden und somit auch das original Bild wieder herstellen. Schade nur, man braucht ne Cray oder so, um damit realtime TV zu gucken. Das Programm heißt antisky, die sourcen finden sich...., na wo wohl. Bei Syster/Nagravision werden die Positionen der Zeilen permutiert. Der Decoder hat RAM für 32 Zeilen und da schreibt er auch erstmal die letzten 32 Zeilen eines verschlüsselten Halbbildes rein bevor irgendwas anderes passiert. Das sind nämlich die ersten 32 Zeilen des decodierten Halbbildes, was man auch sehr schön erkennt, wenn man sich das verschlüsselte Bild mal anschaut. Danach schiebt er Zeile für Zeile an den Fernseher und holt sich für jede Zeile die er rausschiebt sofort eine neue. Die Reihenfolge bestimmt, wie bei videocrypt, ein pseudo random number generator, der durch einen verschlüsselten seed gestartet wird. Der Prozessor und die gesammte restliche Hardware wird duch den Zeilentakt des Videosignals getaktet, damit eine hundertprozentige Synchronizität gewährleistet werden kann. Schon 1994 gab es ein Programm von einem Spanier (es gibt auch etliche spanische, französische, türkische usw. Programme, die syster/nagra verschlüsselt sind), daß die gemittelten Grauwerte von jeweils zwei Zeilen addiert. Das tut es für alle möglichen Zeilenpaare. Die Paare mit den kleinsten Summen liegen direkt untereinander (meistens). Damit lässt sich die korrekte Reihenfolge wieder herstellen. Das Programm heißt antinagra. Es dauerte aber nun noch 4 Jahre, bis das Performanceproblem zumindest für syster/nagra gelöst wurde. Ein pfiffiger Franzose war es wohl, der genug über den pseudo random number generator des Decoders herausfand, um festzustellen, daß dieser genau 32768 (256x128) verschiedene Permutationen erzeugen kann und wie er das macht. Er schrieb ein Programm, daß sich ein paar wenige Zeilen des verschlüsselten Bildes nach der antinagra Methode anschaut und dann prüft, welche der 32768 Permutationen am besten dazu passt. Die Permutation, die am besten korrelliert, wird auf das ganze Bild angewandt. Es reicht, sich etwa 12 Zeilen anzuschauen und von diesen auch nur jeweils 16 Punkte. Das schafft ein P133 immerhin schon 18 mal pro Sekunde, mit einigen Verbesserungen des Algorithmus, um schneller auf die Permutation schliessen zu können, als alle auszuprobieren, sogar 25 mal. Was fehlte, war, zumindest bei einem PAL Videosignal, die Farbe. Die geht nämlich verloren, da bei PAL zum Decodieren des Farbsignales zwei aufeinanderfolgende Zeilen benötigt werden (Phase Alternate Line). Da die Farbdecodierung aber in der Framegrabber Hardware passiert und zu diesem Zeitpunkt die Zeilen des verschlüsselten Bildes nicht aufeinanderfolgen, muß das schiefgehen. "Naja", könnte man sagen, "decodieren wir die Farbe halt in Software". Leider dauert das viiiieeeel zu lange. Daß es trotzdem geht, haben wir zum einen dem Umstand zu verdanken, daß bei PAL ein Burst die Phasenlage des Farbsignals der Zeile bestimmt, welcher bei der Verschlüsselung nicht permutiert wird. Normalerweise wird bei zwei aufeinanderfolgenden Zeilen die Phase durch den Burst um jeweils 180 Grad gedreht, was ja gerade zu der Farbsignalverbesserung führen soll. Zum anderen kann man glücklicherweise beim BT848 diese Farbkorrektur abschalten, so daß man die rohe Farbinformation erhält. Diese liegt in YUV vor und muß nun noch in RGB umgerechnet werden, nachdem die Zeilen in die richtige Reihenfolge gebracht wurden. Auf einem PII 266 geht nagra decodieren und Farbe umrechnen 25 mal pro sekunde, so daß man damit schon vernünftig Premiere gucken kann. Was uns allerdings am meisten freut, bei allzu homogenen Bildern, also zuviel Fußballfeld oder zuviel nackter Haut, greift der Korrellationsalgorithmus nicht :-). Aber was macht das schon, Fernsehhacken ist sowieso spannender als Fersehgucken. Weitere Infos gibts unter http://www.ccc.de/tvcrypt Und bitte löchert mich nicht mit Fragen, wo Ihr das Programm herbekommt oder daß bei euch dies oder das nicht geht. Wir werden ohnehin die Software, die nicht im Source verfügbar ist nicht weiter unterstützen. Die Linuxversion heißt NagraTV und findet sich unter wechselnder URL irgendwo auf http://www.eurosat.com. An einer Diskussion um das Verfahren und die Theorie sind wir natürlich immer interessiert. steini@ccc.de
|
[Datenschleuder]
[63]
Der Nagra Hack