Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Ein paar Überlegungen zu den 90er Nanos der NDS-EMMs

Wie wir wissen, werden bei SkyDE Aktivierungen und Verlängerungen über den verschlüsselten Inhalt der unique EMMs gesteuert. Das sind die sogenannten 90er Nanos.

In diesem Beispiel wurde die 90er Nano abgetrennt.
Code:
82702741008CDE810200 1F901D44026FE4C88D1E1B0407D66DBB7CE6A6732063BD60D44FC0EBB76434F4

Die 1F ist die Gesamtlänge. Die 90 steht als Marker (Nano) für die Art des Inhaltes. Die 1D ist die Länge des Inhaltes. An "Länge + 90 + Länge-2" erkennt man sie hervorragend. Dummerweise kann man da nicht rein schauen.

Vielleicht entwickeln wir zusammen eine Idee, wie man das ändern kann. Die Chancen sind gering. Wer aber nichts probiert wird auch nichts erfahren.

Besonders gut zur Untersuchung eignen sich Verlängerer. In die kann man indirekt rein schauen. Man schreibt sie auf die Karte und bewundert anschließend den zurückgegebenen Code (9081 bei Änderung übernommen oder 9080 für keine Änderung) und natürlich die Entitlements.

Da immer der zuletzt geschriebene Verlängerer wirkt, kann man mit ihnen Ping Pong spielen. Man kann sie also abwechselnd im Kreis auf die Karte schreiben. Damit sind sie ideal zum Spielen.


0. Richtige Verschlüsselung

Für alle die da nicht so drin stecken:
  • Bei einer Verschlüsselung darf vereinfacht gesagt keine wesentliche Information nach außen dringen. Dazu gehören sämtliche Informationen zum Klartext und zum eingesetzten Schlüssel (Key).
  • Sie muss gegen Wiederholung gesichert werden (Replay Attack).
  • Sie muss unautorisierte Veränderungen von außen bemerken (MAC bzw. HMAC).
Wir legen fest, dass die NDS-Jungs ihr Handwerk verstehen und das (fast) alles berücksichtigt haben.


1. Nonce - Gegen Rückschlüsse auf den Klartext

Es gilt als Todsünde, mit dem selben Key verschiedene Klartexte zu verschlüsseln. Durch lustige XOR-Operationen bekommt man sonst einen guten Ansatz zur Erforschung des Inhaltes.

Aus diesem Grund wird ein Nonce (number used only once) verwendet. Das ist eine (Pseudo-)Zufallszahl. Die wird i. d. R. vor den Klartext gestellt. Danach wird erst verschlüsselt.

Macht NDS das? Es sieht danach aus.

Bei Kartenaktivierungen und sonstiger Randale mit Hilfe der Hotline bekommt man den gleichen Verlängerer unterschiedlich codiert.

Das sieht z. B. so aus:
Code:
82703441009046E402002C902A4402A598C36F8407FDAC8FF5A3F44F196827313DD638D01967D8DD19AE3BA45CCF3C32B85E2E3204FC55
82703441009046E402002C902A4402453B39731008AFC06D211D0C16BDBB8D0FE83BC818B819B11F80FDCD1716F3995D9FC4914E47543E

Bis zum 4402 sind sie identisch. Danach bleibt kein Bit mehr auf dem anderen. Dass diese Verlängerer intern identisch sind, beweist das abwechselnde Schreiben im Kreis mit einem dritten Abweichenden. Bei Aktivierungen bekommt man z. B. ganz zum Anfang einen "Entilöscher". Das ist ein sehr kurzer Verlängerer mit nur zwei (für uns nutzlosen) Entitlements. Dieser "Entilöscher" ist als Dritter gut geeignet.

Mit dessen Hilfe belegt man, dass beide (hier) 34er ein Verlängerer sind. Sie tragen nach dem "Entilöscher" die Entitlements wieder ein. Wenn man die (hier) 34er nacheinander schreibt, bekommt man die Antwort 9080 aka keine Änderung. Sie tragen also einen identischen Inhalt.

Es muss also ein Nonce drin stecken.


2. Komprimierung

Zu guten alten Zeiten gab es beim Kartenstart die schönen Verlängerertreppen. Das waren Gruppen von Verlängerern, bei denen der Folgende immer exakt ein Entitlement mehr beinhaltete als dessen Vorgänger.

Beispiel (Auszug):
Code:
82703041009EF2A7020028902644021D6B796B31A9ED3484860682F435A036D09C96656BEA9E67EFFC04BFFEC61577CDE50F71
82703141009EF2A70200299027440260CE2E99BD441D66E326E7F2AB9FDFE856A7AC328D7C2EA6ED582670E3425A4AF8583C494F
82703241009EF2A702002A9028440221D2CF3D1C92C96DA5ADEF0483D4B5BFBAC30420397084C31658E15C889ED6F9537F12928005
82703341009EF2A702002B9029440269BD232BE0FBFE77ED76C59E1ED93DF1F9C0FE607303AD7DDA5D0A4305AE25271FF74CF8195FE9
82703341009EF2A702002B90294402BB753E75F41079409FD4AA2C4A70334784E5A1B91237FCE207782BA81AD23002334FA5A21DE905
82703341009EF2A702002B90294402773633DC9C433C56BE93C05B827761DF7648C7AD5060C9FB4B2FD3537FCE7BDB103CE69536D71A
82703441009EF2A702002C902A440254FE5C90FBEB06A694162BB67542C36BCF8AD683C293F63B61B9143077C5617A8BD3E04CF803B76D
82703441009EF2A702002C902A4402B5E56BF69A5812589A2EB98B053A2DB7DC7E63D6D1722DEA18949CDF256BCD639A97C3160A402850
82703441009EF2A702002C902A4402C69D16F1BD59BD8EB914B4DABA8417416446C53C1FFF2EBC74490CA7174CACBBABF9B42D2E039B16
82703541009EF2A702002D902B4402C728B6C4A8829104F5FDB128B1CD0170B5E97177AF58A1028B116FDC8B05EB7411CC18D7431C88A2BD

Wie man sieht, werden die Verlängerer systematisch länger. Das passiert aber nicht immer, obwohl nachgewiesen werden konnte, dass die Entitlements mit jedem Schritt zunahmen. Dafür kann nur eine Komprimierung (wie in ZIP-Dateien) verantwortlich sein. Im DVB setzt man üblicherweise auf die ZLIB. Vermutlich ist das auch hier der Fall.

Man darf sich nach dem Decodieren also nicht vom augenscheinlichem Bitmüll abschrecken lassen. Zuerst steht ein Test auf eine ZLIB-Komprimierung an.


3. Replay

Man nimmt eine alte Nachricht und sendet die einfach auf doof nochmal. Man darf sich die Augen reiben, wie oft das funktioniert.

Gegen die "Replay Attack" hilft ein Zähler. Man merkt sich den letzten Stand und akzeptiert nur neuere Nachrichten.

Macht NDS etwas gegen Replay? Nö! Sie verlassen sich scheinbar nur auf die ohnehin vorhandenen Zeitstempel.


4. MAC

Da die MAC bei korrekter Anwendung bereits vor der Verschlüsselung an die Nachricht gehängt wird, wird man dazu erst ganz zum Schluss dazu eine Aussage bekommen können.

Der Einsatz von MACs ist aber seit eh und je üblich. Wer die im PayTV weg lässt, muss nochmal zur Schule gehen und darf solange nicht mehr ohne Aufsicht eines Erwachsenen programmieren. Wir legen fest, dass die selbstverständlich vorhanden ist.


5. Schlüssel

Es wird das Gerücht kolportiert, dass jede Karte für 4401, 4402 bzw. 4403 in der 90er Nano einen eigenen Schlüssel verwendet. Glauben wir das einfach mal.

Außer 4401, 4402 bzw. 4403 gibt es noch 4001, 4002 bzw. 4003 und 6001, 6002 bzw. 6003. Die findet man vorrangig in globalen EMMs. Hier handelt es sich ganz offensichtlich um den gleichen Schlüssel für mehrere bzw. alle Karten.

Die berühmte globale A0 EMM ist so ein Vertreter. Sie kommt mit 600x.

Die Länge des Schlüssels dürfte 128 Bit betragen. Das gilt zzt. als ausreichend. Weniger wäre unverantwortlich oder gar nicht einsetzbar (z. B. bei AES). Mehr ist zzt. nicht nötig. Mehr zieht einen erhöhten Rechenaufwand beim Verschlüsseln/Entschlüsseln nach sich. Ohne Nutzen lässt man das.

Wer eine Idee zur Unterstützung bzw. Widerlegung dieser These hat, immer her damit!


6. Art der Verschlüsselung

Man liest überall, dass die 90er Nano eine AES-Chiffre sei. Wer hat sich das nur ausgedacht? Warum schreibt das jeder ab?

Eine Block-Chiffre arbeitet, wie es der Name bereits sagt, blockweise. Die Blocklänge beträgt für AES mit 128 Bit Schlüssel ebenfalls 128 Bit aka 16 Byte. Weniger gibt es bei AES gar nicht.

Die 90er Nanos gibt es hingegen in allen möglichen Längen. Bei "Verlängerertreppen" wachsen sie in einer Schritten. Also nix AES! Da kann nur eine Stream-Chiffre drin stecken.


Noch was:
Das hier ist alles nur zu Forschungszwecken. Alle hier gezeigten EMMs wurden wahllos vom Transponder gelesen. Die Besitzer der Karten haben hiermit nichts zu tun.
 
ob das wirklich komprimierung ist, oder ob z.b. jeweils 2 bestimmte entitlements immer in einer festen anzahl an bytes (die von der anzahl her identisch ist zu der wie eines der beiden verbrauchen würde) zusammengefasst werden, wird schwierig sein herauszufinden... letztlich ist das zweite ja auch eine art komprimierung ;)
 
Guter Einwand!

Ich hätte die "Verlängerertreppe" nicht kürzen sollen. Hier ist sie nochmal komplett. Von jedem Verlängerer zum nächsten wächst exakt ein Entitlement an.

Code:
2016/03/31 18:52     2b     82702B41009EF2A702002390214402DE5628308E3F7271D03B0BACBE08FF243977F10198ACD8A36B7A166741F736
2016/03/31 18:52     2c     82702C41009EF2A7020024902244023583F5DC48BAA6FAB876B605D7BBA9C63A2D457669914CE342D404FC9BEB5351
2016/03/31 18:52     2d     82702D41009EF2A702002590234402B4E42C473B81931BB3C852FA7E69A98D626B8CECDBF90670194939ECC4CD80FB09
2016/03/31 18:52     2e     82702E41009EF2A702002690244402F24288B6D342D9E901318259C691056C2A714438012902EDFA7895709607DCA0C938
2016/03/31 18:52     2f     82702F41009EF2A7020027902544026106D6F5B92FD7BC30B634B66EEBCDB8BC432B1549AA6537238FAA67F9DA2842980148
2016/03/31 18:52     30     82703041009EF2A7020028902644021D6B796B31A9ED3484860682F435A036D09C96656BEA9E67EFFC04BFFEC61577CDE50F71
2016/03/31 18:52     31     82703141009EF2A70200299027440260CE2E99BD441D66E326E7F2AB9FDFE856A7AC328D7C2EA6ED582670E3425A4AF8583C494F
2016/03/31 18:52     32     82703241009EF2A702002A9028440221D2CF3D1C92C96DA5ADEF0483D4B5BFBAC30420397084C31658E15C889ED6F9537F12928005
2016/03/31 18:52     33     82703341009EF2A702002B9029440269BD232BE0FBFE77ED76C59E1ED93DF1F9C0FE607303AD7DDA5D0A4305AE25271FF74CF8195FE9
2016/03/31 18:52     33     82703341009EF2A702002B90294402BB753E75F41079409FD4AA2C4A70334784E5A1B91237FCE207782BA81AD23002334FA5A21DE905
2016/03/31 18:52     33     82703341009EF2A702002B90294402773633DC9C433C56BE93C05B827761DF7648C7AD5060C9FB4B2FD3537FCE7BDB103CE69536D71A
2016/03/31 18:52     34     82703441009EF2A702002C902A440254FE5C90FBEB06A694162BB67542C36BCF8AD683C293F63B61B9143077C5617A8BD3E04CF803B76D
2016/03/31 18:52     34     82703441009EF2A702002C902A4402B5E56BF69A5812589A2EB98B053A2DB7DC7E63D6D1722DEA18949CDF256BCD639A97C3160A402850
2016/03/31 18:52     34     82703441009EF2A702002C902A4402C69D16F1BD59BD8EB914B4DABA8417416446C53C1FFF2EBC74490CA7174CACBBABF9B42D2E039B16
2016/03/31 18:52     35     82703541009EF2A702002D902B4402C728B6C4A8829104F5FDB128B1CD0170B5E97177AF58A1028B116FDC8B05EB7411CC18D7431C88A2BD
2016/03/31 18:52     35     82703541009EF2A702002D902B440296E43251058ADF281974B57A0C904A92F3C1E81C5949EF91F55785CB4DD6EB29EC7E96897D655A3EEF
2016/03/31 18:52     36     82703641009EF2A702002E902C4402FFA2BD512320A16ABEDE6019624F903D4FF1A8C6C27963F872DDA7EC11CA61B437EB6A64BD0E6F58CBCC
2016/03/31 18:52     36     82703641009EF2A702002E902C44026E17145F6D7E678BB42D22DEE9779AEEEFFF6FD67F020AE528B0FA9E83ECA648E677ECADD388C9CAAD98
2016/03/31 18:52     37     82703741009EF2A702002F902D44020EAED68F2FED844369C1C44DCAD980BDA13D724FDDED926A0E7844F2185899FB70C0A3F7C62B4FC0467721
2016/03/31 18:52     37     82703741009EF2A702002F902D4402EB8F24D29D771E12FBAF6127283DF0C49984E624ADA15FB9A7674844D559FCB191134C1CB2BAA0F176C5BA
2016/03/31 18:52     38     82703841009EF2A7020030902E4402C35B09236C26284B2F1E63999B420431BAD7213F0D7767189D130077E4B9EE5E7FC534AB80E19317945EF6C8

Am Anfang wird die EMM Schritt für Schritt länger. Die Entitlements werden immer mehr. Nach einer Weile kommen die Fälle, wo das Längenwachstum aussetzt. So verhalten sich komprimierte Daten.

Trotzdem ist natürlich nicht auszuschließen, dass sich bestimmte Entitlements einen Platz in den Daten teilen. Dann würde es sich auch so verhalten. Ich würde dann aber erwarten, dass die Antwort auf INS70 auch so ein Verhalten an den Tag legt. Dort gibt es zwar gepackte Bits, aber keine speziellen Gruppierungen.

Wenn es nicht komprimiert sein sollte, erkennt man es nach einer erfolgreichen Entschlüsselung sicherlich sofort. Zumindest das geübte Auge schlägt in solchen Fällen sofort Alarm. :)
 
Zuletzt bearbeitet von einem Moderator:
Problem dabei ist, das in solchen Konstellationen zuerst komprimiert und dann verschlüsselt wird. Heisst, wir werden vermutlich nur schwer rausfinden, ob die Daten zlib komprimiert sind. Grund dafür ist, daß die Entropie von verschlüsselten Daten (wenn der Implementierer wußte was er tat) ungleich höher als von Plaintext ist und damit schlechter komprimierbar.

So doof, einen zlib header mit zu verschlüsseln (known plainetxt) dürften die nicht sein.

Aber mal andersrum. Von Videoguard Gen1 (in UK) gibt es eine recht gute Analyse von warscheinlichen Plaintext-Inhalten der Nanos, da diese seinerzeit noch nicht verschlüsselt waren, sondern nur mit Prüfsummen gesichert. Die Struktur des Systems wird sich vermutlich nur in Details geändert haben, so dass für das neure System Plaintext-Schnipsel bekannt sein müssten. Wenn man jetzt von Stream Ciphern ausgeht, deren Schlüssel wieder mit AES gesichert sind, solltee man mit einer (umfangreichen) statistischen Auswertung oder gar der Anwendung von TensorFlow Muster erkennen können. Dem ganzen entgegen spricht wieder die mutmaßliche Verwendung von Nonces, die das Auffinden von Mustern ungleich schwerer machen werden.
 
Die Firmware älterer UK-Kisten hat mal jemand gepostet. Hat da schon jemand Binwalk drauf los gelassen? ;-)
 
Was gepostet wurde, weiß ich nicht. Vom Transponder hatte ich mal irgend solche Amstrad-Kisten gezogen. Binwalk entblättert daraus ein wunderschönes Linux-Dateisystem.

Da die Jungs auch hin und wieder auch in Foren mitlesen, werden die wohl kaum noch Kekse darin haben.

Die 90er Nanos werden nach meinem Wissen von den Boxen eh nur an die Karten durch gereicht. Deshalb erhoffe ich mir über diesen Weg keine Erkenntnisse.
 
Ein Blockschaltbild wäre sicher mal hilfreich. Ich geh mal schwer davon aus, daß die eigentliche Entschlüsselung und die Keys nicht in der normalen Firmware drin sind, sondern ein eigener security processor dafür on board ist. Halt ein fest eingebautes CI Modul. Trotzdem könnte die Firmware Aufschlüsse darüber geben, wie das angebunden ist, weil ja z.B. OSD-Fehlermeldungen ausgegeben werden müssen. Ich hab hier irgendwo noch ne Firmware von einem Pace 865 rumfliegen, der angeblich bei Sky DE im Einsatz war. Hab ich mal runtergeladen, bin aber nie zum reinschauen gekommen.

Und dann gibt es ja noch Nanos die an den Receiver gehen. Auch wenn das jetzt nicht unsere 90er sind, ich glaub nicht, daß die groß anders verschlüsselt werden. Oder gehen die zuerst an dei Karte und die gibt dann decrypted payload an den Receiver zurück?
 
Alles was an Receiver als ging C1-EMM ging, sieht extrem verdächtig nach Klartext aus. Darin stecken Teile für die Karten mit den 90er Nanos. Die werden aber sicherlich nur durch gereicht.

Offensichtlich kryptografischen Kram gibt es in den viel zitierten 38C1-EMMs. Da hängen hinten Keys oder was auch immer dran. Das Zeug sieht komplett zufällig aus und wiederholt sich auch nicht. Es hat aber nicht die Struktur einer Nano mit den beiden Längenbytes.
 
wie sich die zeiten ändern
Code:
RTL
B014=20 SEPTEMPER
0D=TAG
1740 +2 STD = 1940 ANFANG FILM
0035 + 1940 = 2015 ENDE   FULM
1E0B LÄNGE FILMHEX
8270 4C C1 D5468152 0B 44 00 3C 00FFF0 B014 4210 39 03 16B7 1179 2535 00 000000 00 B7 0000 6FA0 E4 0D 1740 0000 0035 001E 0B 47757465 20 5A656974656E2C 20 7363686C6563687465 20 5A656974656E 9B 00   
8270 4C C1 D5468152 0B 44 00 3A 00FFF0 B014 4203 39 03 0CC0 0922 2535 00 000000 03 54 0000 6FA0 E4 0D 0630 0000 0030 001E 0B 47757465 20 5A656974656E2C 20 7363686C6563687465 20 5A656974656E A6 00
WIDERHOLUNG
0630 +2 STD = 0830 ANFANG FILM
0030 + 0830 = 0900 ENDE   FILM
 
wer will kann bei sky hits schauen

Code:
sky hits
B014=20 SEPTEMPER
0D=DONERSTAG
8270 4B C1 9CB7816B 0B 43 00 A5 00FFF0 B014 3A69 38 03 0DB1 CDD2 2535 00 000000 01 000000 6FA0 E4 0D 1815 0000 0152 001D 0B 57696C6C6B6F6D6D656E 20 626569 20 64656E 20 486172746D616E6E73 76 00 
1815 + 2STD = 2015 ANFANG FILM
0152 + 2015 = 2207 ENDE   FILM


ARTE
B014=20 SEPTEMPER 
10=TAG=SONTAG
8270 4A C1 D56D3382 0B 42 00 70 00FFF0 B014 45EE 37 03 1062 23DB 2535 00 000000 01 EA0000 6FA0 E4 10 1815 0000 0140 001C 0B 52656E64657A766F7573 20 6D6974 20 65696E6572 20 4C6569636865 66 00         
1815 + 2STD = 2015 ANFANG FILM
0140 + 2015 = 2155 ENDE   FILM
 
Zuletzt bearbeitet:
Zurück
Oben