System Conacx


INFORMACJE O SYSTEMIE CONAX

Conax używa tych samych podstawowych zasad kodowania kanałów jak inne systemy kodowania. Ogólnie mówic "Encryptet Control Word" w skrócie ECW wysyłane jest do każdej karty jako wiadomość (komunikat) nazywany "Entitlement Control Message" w skrócie ECM. Nowe ECW wysyłane jest do każdej karty równocześnie co 5 lub 10 sekund itd.
Karta używa bieżcego klucza operacyjnego (Key20, key21) do zdekodowania otrzymanego ECW na zdekodowane DCW. Algorytm użyty do wykonania dekodowania ECW na DCW nazywany jest RSA (troszkę więcej o tym jak on działa później) DCW zwracane jest przez kartę do CAMu (Conditional Access Module), gdzie zostaje użyte do zdekodowania przychodzcego sygnału video. Wykonywane jest to wewntrz CAMu przy użyciu systemu nazywanego CSA (Common Scrambling Algorithm) i polega na rozkodowaniu przychodzcego sygnału wideo na widzialny obraz. Z powyższego można wywnioskować że wszystkie karty maj te same warości kluczy operacyjnych ponieważ wszystkie one maj rozkodowywać to samo ECW aby "wyczyścić" kanał.

A teraz skd pochodzi klucz operacyjny i w jaki sposób umieszczany jest on na karcie.
A więc dawniej był on ładowany na kartę w procesie jej wytwarzania. Takie rozwizanie stanowiło problem (dla providerów nie dla nas) polegajcy na tym, że kiedy hakerzy
rozpracowywali jakkolwiek kartę i otrzymywali z niej klucze, jedynym sposobem dla providera aby zatrzymać pirackie ogldanie była wymiana wszystkich kart. Było to drogie rozwizanie!. Tak więc w obecnych systemach (takich jak Conax) mamy do czynienia
z kolejnym stopniem rozwoju. Klucze Operacyjne s wysyłane do wszystkich abonentów kart via satelita w wiadomości nazywanej EMM (Entitlement Management Message). Te EMMy zawieraj nowe klucze operacyjne, które będ użyte jako następne. Oczywiście hakerzy nie powinni móc zlogować nowych kluczy operacyjnych które s wysyłane, więc klucze operacyjne w EMM ponownie s zakodwane przy użyciu RSA. Ale jest istotna różnica pomiędzy EMM a ECM. Kiedy ECMy s wysyłane równocześnie do wszystkich kart, EMMy s wysyłane oddzielnie do kazdej karty. EMM zawiera adres określonej karty (znany jako UA lub SA) i zakodowany klucz operacyjny. Klucz operacyjny jest kodowany algorytmem RSA przy użyciu Master Key. Master Key systemie Conax to key10 i każda pojedyńcza karta ma swój własny unikalny Master Key10 dlatego karta może zdekodować tylko EMMM adresowany specjalnie dla niej. Innymi słowy każdy EMM zawiera różne zakodowane dane które mog być rozkodowane przez kartę, dla której s przeznaczone. Oznacza to, że Conax może wybierać, które karty chce aktualizować nowym kluczem 20 lub 21 i których kart nie chce dłużej aktualizować - np gdy wygasa okres subskrybcji lub karta została zgłoszona jako skradziona lub zgubiona. Idea przyświecajca takiemu rozwizaniu jest taka, że jeżeli hakerzy wycign MK10 z karty i opublikuj go wraz z UA wszystko co musi zrobić Conax to znalezienie "skompromitowanego" klucza i adresu i zaprzestanie aktualizacji tej karty i kart wszystkich ludzi którzy używaja kopii tego samego klucza. Jest to powód dla którego Master Keys s trzymane w tajemnicy przez małe grupy hakerów.

Jedyne czego nie przwewidziano w czasie gdy wymyślano te systemy jest to, że ludzie będ mieli tak rzecz jak internet, gdzie bieżce klucze operacyjne mog być publikowane bardzo szybko dla dużej ilości ludzi, nawet jeśli zmiana kluczy będzie następować codziennie lub częściej.

Komunikacja z kart w systemie ConaX:
Reset
Kiedy wkładasz kartę do dekodera, dekoder ustawia linię RST w stan niski na czas określony
przez standard ISO7816, a następnie ustawia j w stan wysoki i czeka na odpowiedź karty.
Karta wysyła Answer-To-Reset (Odpowiedż-Na-Reset), sekwencję bajtów (ATR) takich jak
parametry transmisji, szczególy fabryczne itp.


Dla systemu Conax typowe ATR sa następujce:
3B 24 00 xx xx xx 45
3B (znak inicjujcy)
Relates to Direct Convention (najmniej znaczcy bajt jako pierwszy).
24 (znak formatujcy)
TB jest obecny, 4 znaki historyczne .
00 (TB)
Parametry protokołu
xx xx xx 45 (znaki historyczne)
3 maskowane bajty s zmienne, ale niekoniecznie różne dla każdej karty. Oznacza to, że ATR nie identyfikuje posiadacza karty.
Instrukcje
System Conax spełnia standard ISO7816 w zakresie struktury pakietów i protokołu, używa 5-cio bajtowego nagłówka komend w postaci:
CLA, INS, P1, P2, P3.

CLA (Klasa instrukcji)
Pierwszy bajt wiadomości
Jedyn poprawn klas instrukcji jest DD w przeciwieństwie do Eurocrypt'u który wspiera zarówno 87 jak i CA.

INS (Kod instrukcji)
Drugi bajt wiadomości.
Ten bajt może mieć dowoln wartość, jednakże tylko niektóre wartości sa przetwarzane jako poprawne instrukcje

P1 (Bajt parametru)Trzeci bajt wiadomości

P2 (Bajt parametru)
Czwarty bajt wiadomości.

LEN/P3 (Długość)
Pity bajt wiadomości.
Ten bajt jest używany do poinformowania karty ile bajtów będzie do niej wysłane aby wiadomośćbyła kompletna (nie liczc ACK I SW (patrz niżej))

ACK (Acknowledgement)
Kiedy karta otrzyma poprawny 5-cio bajtowy nagłówek od swojego hosta, jest to żdanie wysłania potwierdzenia bazujcego na wartości bajtu INS w celu poinformowania hosta że jest gotowa do odebrania reszty wiadomości.

SW (Słowo Statusu)
Po tym jak karta skończy przetwarzać pakiet musi ona odesłać dwubajtowe Słowo Statusu do urzdzenia nadrzędnego, informujc urzdzenie nadrzędne o wyniku transakcji. Poprawnych jest tu wiele kombinacji (wszystkie one zaczynaj się od 6x lub 9x).

W systemie Conax CAM wysyła najpierw instrukcję do karty, potem karta odpowiada do CAMu przez SW 98 xx ile będzie bajtów odpowiedzi, gdzie xx to ilość bajtów które karta wyśle w Command Answer (DD CA 00 00 xx) Jeśli karta nie ma nic do powiedzenia wysyła SW 90 xx.

Instruction 26
Natychmiast po ptrzymaniu ATR, CAM wysyła instrukcje 26. Ten bajt mówi karcie jakich informacji od niej żda.

DD 26 00 00 03 26 10 01 01 98 0B
Karta wysyła potem informacje wymagane przez CAM (jako SW2=0B).
DD CA 00 00 0B CA 20 01 01
28 02 0B 00
2F 02 00 2D 90 00
Ten dialog jest podobny do przetwarzania klasy 87 w Eurocryp'cie i rzeczywiście jest możliwe że nadawca wyśle komendę, która zablokuje łańcuch startowy w ten sam sposób jak może być zablokowany blok FAC w Eurocryp'cie w celu zapobieżenia rozruchowi karty.[/

Instruction 82
DD 82 00 00 14 82 11 12 01 B0 0F FF FF DD 00 00 09 04 0B 00 E0 30 1B 64 3D FE 98 1A
DD CA 00 00 1A CA 22 18
09 04 0B 00 E0 30
23 07 00 00 00 43 F3 93 23
23 07 00 00 00 00 21 F9 9B 90 00
Pierwsze jest nano 09, które jest pewnym zapisem branymi z CAM, prawdopodobnie jakiś ID regionu lub status. Potem przychodzi nano 23, które jest numerem seryjnym karty ((43F39323 = 011 4003 6387-X)) po którym ponownie następuje nano 23 - może to być ID grupy.

Instruction 84
Instruction A2
Instruction A4
Instruction B2