Zum Beweis:
Link veralten (gelöscht)
Einleitung
Der Pay-TV Anbieter Premiere hat seit einiger Zeit auch neue sichere Smartcards von NDS
im Einsatz. Die Receiver die kompatibel zu neuen NDS-Verschlüsselungssystem sind,
wurden über Satellit auf die neue NDS-Firmware umgestellt.
Dies ist Grund genug eine Kryptoanalyse bei diesem, bei Premiere neuen, NDS System
durchzuführen.
Gleich vorweg: Bis auf die DIREKT & Blue Movie Programme ist derzeit anscheinend eine
Entschlüsselung aller Programme über die NDS-ECMs [FONT=TimesNewRoman,Bold]ohne [/FONT]Beteiligung einer Smartcard
möglich.
Aber erstmal der Reihe nach.
Bei Premiere werden die Video und Audio Streams mit dem in Europa üblichen DVB-CSAAlgo
[2] verschlüsselt. Dieser immer noch sichere Algo ist bereits seit einigen Jahren als
Source Code verfügbar. Als Schlüssel wird ein 8 Byte (64 Bit) langer Wert, das sogenannte
„Control Word“ (CW) verwendet. In der Praxis enthält das Control Word jedoch nie 8
zufällige Bytes sondern nur 6. Zwei Bytes werden aus den restlichen Bytes berechnet. Somit
gibt es nur 248 verschiedene Schlüssel.
Ein Control Word wird bei Premiere ca. alle 15 Sekunden geändert (Cryptoperiode). Ein
bekannt gewordenes Control Word (wie weiter unten als echtes Beispiel aufgeführt) kann also
nur Video und Audio für eben diese 15 Sekunden entschlüsseln die zeitgleich zu diesem einen
Control Word übertragen worden sind.
Neben den verschlüsselten Video und Audio Streams müssen also die Control Words zum
Receiver übertragen werden. Dazu ist ein eigener Pakettyp „Entitlement Control Message“
(ECM) vorgesehen. Daneben gibt es auch noch den Pakettyp „Entitlement Management
Message“ (EMM). Diese EMM dienen z.B. dazu Updates auf Smartcards zu speichern.
Dieses Control Word wird natürlich nicht im Klartext über ein ECM übertragen, sondern
verschlüsselt. Verwendet wird dazu der NDS-Algo, der einen Schlüssel verwendet, der auf
allen freigeschalteten NDS-Smartcards von Premiere vorhanden und identisch ist. Dieser
Schlüssel kann z.B. alle paar Monate über EMMs geändert werden.
Ein ECM hat u.a. zwei Bereiche. Einen IRD-ECM (IRD = Integrated Receiver Decoder) und
einen Card-ECM Bereich. Der IRD-ECM Bereich wird vom Receiver selbst verarbeitet. Hier
werden Infos wie z.B. Datum, Uhrzeit und Channel-ID übertragen. Die Infos im Card-ECM
Bereich dagegen werden vom Receiver an die Smartcard weitergeleitet und von dieser
verarbeitet. Hier ist auch das verschlüsselte Control Word enthalten. Jede freigeschaltete
NDS-Smartcard von Premiere enthält den passenden Schlüssel und Algo zum Entschlüsseln
des Control Words. Mit diesem „Decrypted Control Word“ (DCW) kann der Receiver
wiederum die Video und Audio Streams über den DVB-CSA-Algo entschlüsseln.
Soweit ist das Verfahren auch sicher. Denn wenn sich die NDS-Smartcard nicht hacken lässt,
also die Schlüssel und Algos nicht auslesbar sind, ist das Verfahren sicher und keiner kann die
Control Words entschlüsseln.
Bis hierher wäre alles so schon sicher gewesen. Aber was hat Premiere gemacht...
Premiere überträgt das Control Word mit einem anderen Schlüssel und Algo verschlüsselt ein
zweites Mal zusätzlich im [FONT=TimesNewRoman,Bold]IRD[/FONT]-ECM Bereich. Diese Daten sind, wie oben beschrieben, für
den Receiver selbst bestimmt und können von Ihm [FONT=TimesNewRoman,Bold]ohne [/FONT]Smartcard entschlüsselt werden.
Nur bei den Premiere DIREKT & Blue Movie Programmen wird [FONT=TimesNewRoman,Bold]kein [/FONT]zweites Control Word
im IRD-ECM mit übertragen. Diese Programme sind also nur mit freigeschalteter Smartcard
zu entschlüsseln. Bei allen anderen Programmen wird anscheinend ein zweites Control Word
übertragen.
Das vorhanden sein des zusätzlichen Control Words ist offenbar kein versehentlicher Bug,
sondern anscheinend Absicht.
Ob ein Receiver das zusätzliche Control Word auswertet kann Premiere anscheinend über ein
EMM, das an die Seriennummer des Receivers gerichtet ist, steuern. Premiere kann somit
Kunden, die mitteilen Ihre Smartcard funktioniert nicht mehr, eine neue Smartcard zuschicken
und den Receiver z.B. für 14 Tage ohne Smartcard freischalten. Somit kann der Kunde
solange die neue Smartcard noch nicht bei ihm angekommen ist, weiterhin Premiere schauen
(zumindest ohne die DIREKT & Blue Movie Programme).
Dieses gravierende Sicherheitsproblem, das die sichere NDS-Smartcard „ad ab surdum“ führt,
sollte Premiere schleunigst beheben und auf die zusätzliche Übertragung des zweiten Control
Words verzichten. Premiere sollte darüber nachdenken, ob Sie den Kunden der eine nicht
funktionierende Smartcard hat, nicht lieber eine Gutschrift über 14 Tage, die der Kunde das
Programm nicht sehen kann, ausstellt.
Wie weiter unten gezeigt wird sind zur Entschlüsselung des Control Words nur Daten aus
dem ECM und der Firmware nötig. Das schlimme ist das diese Firmware (zumindest für den
Humax PR-HD1000 App-Version 1.00.39) unverschlüsselt über den Satelliten ausgestrahlt
wird. Jeder mit einer DVBs Einsteckkarte für den PC kann neben dem Video, Audio und
ECM Stream auch problemlos die Firmware aufzeichnen. Nach dem Auspacken liegt der
Entschlüsselungsalgo offen. Für die Entschlüsselung benötigt der Algo neben 3 Parametern
aus dem ECM auch zwei Parameter aus der Firmware. Auch diese zwei Parameter liegen
unverschlüsselt in der Firmware offen rum.
Auch wird Premiere dringendst empfohlen die Firmwareupdates zukünftig nur noch
verschlüsselt zu übertragen. Ein Loader im Receiver könnte dann die das Applikations-
Update vor dem Abspeichern entschlüsseln.
Das Freischaltesignal für die smartcardlose Entschlüsselung wird anscheinend über ein EMM
an den Receiver übertragen und im EEPROM gespeichert. Wie unten aus der Darstellung des
Entschlüsselungsalgos zu entnehmen ist, fließen keinerlei Daten aus dem EMM in den Algo
als Parameter mit ein. Besser wäre es im EMM zusätzlich Schlüsselmaterial, das in den Algo
als Parameter mit eingeht, mit zu übertragen. Dann könnte ein Hacker nicht einfach den Algo
aus der Firmware extrahieren und ein Entschlüsselungsprogramm für den PC schreiben.
Ein weiteres Problem besteht darin, dass zwar in der Firmware ein paar Varianten der 40h
Byte langen Parameter für den Entschlüsselungsalgo, die über ein Byte im ECM ausgewählt
werden können, vorhanden sind, aber derzeit nicht genutzt werden (das Auswahlbyte war bis
jetzt anscheinend immer 00h). Auch hier sollte Premiere diese Daten häufig wechseln um es
den Hackern nicht unnötig leicht zu machen.
Im nächsten Kapitel wird das Sicherheitsproblem, die Control Word Berechnung ohne
Smartcard anhand eines konkreten Beispiels verdeutlicht.
[FONT=Arial,Bold]Control Word Berechnung ohne Smartcard[/FONT]
Die Control Word Berechnung soll anhand eines echten Beispiels gezeigt werden.
Die Beispielpakete stammen aus einer Aufzeichnung vom 16.09.2008 vom Transponder
11798H. Das verschlüsselte Audio (PID 200h) Paket und das passende ECM Paket (PID
1B42h) stammen vom Programm Premiere 1.
ECM Paket:
Bitte keine KEYS in diesen Bereich posten
<!-- / message -->