Doc interssante su S**A2

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
mc59pesca
00sabato 2 ottobre 2004 08:15
l'ò trovato in rete puo essere interessante leggerlo per capirci di più
Per emulare il Seca2 senza l'ausilio di una card originale vengono usati i seguenti strumenti:

- L'Hash Table Bx usata nell' algoritmo di SuperEncription
- La chiave RSA e l'esponente di decriptazione per l' ECM table 1001
- La chiave operativa 0D (chiave in uso a Marzo)

Prima di tutto, dovete sapere che noi abbiamo 3 tabelle di hash nelle nostre carte Seca2. Le tabelle sono: 9x, Bx ed Fx.

Le tabelle Bx ed Fx sono situate nella eeprom della card, l'eeprom è stata sicurmente dumpata attraverso l'utilizzo di un unlooper o di un glitcher, il contenuto della eeprom comunque non è di pubblico dominio (chi l'ha estratta non l'ha pubblicata).

La tabella 9x a differenza delle altre, non si trova nella eeprom ma direttamente nella rom della carta, e non ci sono informazioni valide che affermino che la rom sia stata dumpata. Se fosse stata dumpata, comunque anche il suo contenuto non è attualmente di pubblico dominio.

Sebbene, come detto, il dump della eeprom non fosse di pubblico dominio, è chiaro che qualche commerciante senza scrupoli agli inizi dell'anno lo abbia usato per produrre delle carte pirata chiamate Titanium o KnotCards, i cui file non sono di pubblico dominio e vengono utilizzati da persone che vivono questo non come un hobby ma come un lavoro ben remunerato.

Io credo che le tabelle Bx usate negli emulatori per Dragon Cam e per DreamBox siano stati dumpati proprio da queste carte pirata, oppure qualcuno venuto in possesso dei file che le farcivano si è dato da fare per decompilarli e per ricavarne le tabelle necessarie per realizzare questi emulatori.

La cosa carina è che le tabelle non sono attualmente di pubblico dominio, ma è facile identificarle nel file binario "Scam" all'interno dei 5 mega del file IMG usato per l'emulatore per DreamBox.

La cosa meno carina è che se SKY volesse (e perchè mai non dovrebbe volerlo?), potrà switchare tutti gli ECM e gli EMM ad una tabella differente. Per esempio potrebbe switchare tutto alla tabella di hash Fx tanto per cominciare, il che spegnerebbe tutti gli emulatori per un po' di tempo, ma prima o poi anche la tebella Fx verrebbe sputtanata visto che, come ho detto poc'anzi, è stata dumpata assieme a tutta la eeprom. A questo punto SKY potrebbe benissimo switchare tutto sulla tabella di hash 9x il che garantirebbe il più duro colpo contro tutti gli utenti interessati in soluzioni piratesche (emulatori, wafer, titanium, etc...)

Per chi si sta chiededndo come viene usata la tabella Bx nei vari emulatori, ecco un paio di stringhe con cui cercherò di chiarire le idee:

Questo è un esempio di ECM come noi lo riceviamo:

C14001Bx5C1001236382606FAB41DCEBD40B034F59D0CD090A
0196D42642E2FF 2FF399741920FA956DD1C06314F6F2099989C66653347162D6
E8D063A3051F2A653C4FB751CEBCD6D887EE70CEE11CF3DA61
F434603F01BDF95FBF593D665BEB4A

e questo è un esempio di EMM per come lo riceviamo:

C14001B0631003E7C2019B9870CD01D2A01CE5FBF66304DB0B
1CB8DB2DE4832E 4D6BCDEC87106A6E3F6D76294730583355BB4E4AAAB52AEFEE
C74DC369D488D47E756394C715FBB1D2C1F76AEDE39DEFBD50
C9795A45840EFEEC75FBF6630367822F9AA952804681


Guardiamo la parte iniziale di ogni stringa, la stessa ci dice che:

C1 = Classe del comando
40 o 3C = indica la Ins usata nel comando, la ins 40 è usata per gli EMM, la ins 3C è usata per gli ECM
01 = indica il provider (il provider italiano 01 è -> Sky (0070), in Spagna il prov 01 è -> C@nal+ (0064), e così via...)
B0 or B1 = il nibble basso indica la chiave che sta signando il comando, cosicchè 0 sta per MK 00 e 1 sta per MK 01, il nibble alto indica l'hash table usata per criptare l'intero comando, dall'inizio delle trasmissioni in codifica Seca2 fino ai nostri giorni, è stata usata l'hash table Bx ma come ho detto sopra: Perchè mai SKY dovrebbe continuare ad usarla ora?
5C o 63 o altro valore = indica la lunghezza (LEN) della parte restante della stringa.
1001 o 1003 = indicateno le tabelle usate negli ECM o negli EMM. Noi abbiamo tre tabelle potenzialmente attivabili per gli ECM e gli EMM: la tabella 1001, la 1003 e la 1005, abbiamo anche la possibilità di attivare una tabella inutile: la tabella 1007 (che non agisce come le precedenti e che quindi consideriamo... "strana" ed inutile). Ogni tabella lavora con una propria chiave RSA e con l'esponente pubblico. Ogni tabella è differente da ECM ad EMM, cosicchè se noi conoscessimo la chiave RSA per la tabella ECM 1001 del provider 0070, non la potremmo utilizzare per decriptare gli EMM 1001 dello stesso provider. Se noi avessimo la chiave RSA per la tabella EMM 1003 per il provider 0070 non la potremmo utilazzare per decriptare gli EMM 1003 del provider 0071. E così via....

Per chi non ha ancora chiaro il concetto, ecco uno schema di come siano distribuite le key RSA (ogni chiave deve essere di 90 bytes) tutte le chiavi comprese nello schema sono DIFFERENTI fra di loro:

ECM 1001 - Provider 01 ----> Questa viene usata negli emulatori
ECM 1003 - Provider 01
ECM 1005 - Provider 01
EMM 1001 - Provider 01
EMM 1003 - Provider 01 ----> Questa viene usata ANCHE nelle titanium
EMM 1005 - Provider 01

ECM 1001 - Provider 02
ECM 1003 - Provider 02
ECM 1005 - Provider 02
EMM 1001 - Provider 02
EMM 1003 - Provider 02
EMM 1005 - Provider 02

ECM 1001 - Provider 03
ECM 1003 - Provider 03
ECM 1005 - Provider 03
EMM 1001 - Provider 03
EMM 1003 - Provider 03
EMM 1005 - Provider 03

(ometto la parte relativa al provider 00 e 04 perchè non interessante ai fini del discorso).

Chi ha realizzato gli emulatori per Dragon Cam e DreamBox utilizza di tutte queste chiavi SOLO quella utile per decriptare la SSE degli ECM basati su tabella 1001.

Le control words (o crypted words), infatti, sono attualmente criptate con la tabella ECM 1001. La prima cosa che fa l'emulatore appena riceve un ECM è togliere la SSE agli ultimi 90 bytes in modo da trovare gli 8 bytes che costituiscono la Crypted Word (l'argomento del nano D1 fornisce 16 bytes che formano la CW1 e la CW2).
La CW arriva con un comando C13C01Bx5C1001 dove, come avrete capito:

C1 = è la classe del comando
3C = è la ins usata per inviare la Crypted Word del flusso DVB
01 = è il provider
Bx = adesso avete ben chiaro che B rappresenta l'hush table utilizzata per criptare il comando in SuperEncription, mentre x rappresenta la chiave operativa C o D o E che signerà il comando
5C = è la lughezza del comando che seguirà (LEN)
1001 = rappresenta la tabella ECM 1001 usata ATTUALMENTE!

Ecco le operazioni compiute dall'emulatore:

- riceve l'ECM che è criptato con la tabella ECM 1001 relativa al provider 01, signato con la chiave operativa in uso attualmente (la 0D di Marzo) il tutto criptato in SE con la tabella di hash Bx
- decripta il comando e prende gli 8 bytes della crypted word del DVB
- risponde con un C1 3A contenentente il valore decriptato della CW, quindi restituisce la Decrypted Word (questa ins 3A non richiede alcun tipo di criptazione)

Tutto questo ci dà la visione dei canali.

Ma per quanto tempo durerà? Secondo me, molto poco...

I seguenti esempi ci mostrano come SKY possa salvaguardare i propri interessi, spegnendo gli emulatori:

1) Potrebbe cambiare la chiave operativa (l'emulatore usa la chiave di Marzo e non è autoaggiornante per un semplice motivo: lo stesso include solo la tabella ECM 1001 e non la tabella EMM 1003 che viene utilizzata per criptare gli aggiornamenti C1400xB15C)
2) Potrebbe switchare la tabella ECM da 1001 a 1003 oppure a 1005 (visto che queste ultime utilizzano delle chiavi RSA non di dominio pubblico o comunque non sputtanate)
3) Potrebbe switchare tutti i comandi (attivazioni, aggiornamenti, ecm, tutto quanto...) da hash table Bx alla tabella Fx che è pur sempre poco sicura per il fatto che è stata dumpata ma ancora non di pubblico dominio.
Oppure potrebbe usare una soluzione più drastica: il passaggio totale alla tabella di hash 9x che sta bella protetta nella rom!!!

Spero che questa spiegazione risulti di aiuto a chiunque si sia chiesto come funzionano gli emulatori usciti da poco tempo, e se qualcuno si stesse ancora chiedendo come mai questi emulatori non funzionino anche su altri provider, questo qualcuno deve ricordare che:

- le tabelle di hash degli altri provider non sono di dominio pubblico
- Le tabelle ECM o EMM degli altri provider usano chiavi RSA non di dominio pubblico
- tanti provider in Europa usano card più "resistenti" di quelle usate in Italia (noi usiamo la Versione 7.0_A e la Versione 7.0_B in Italia ed in Spagna, altri Paesi usano versioni di card con meno bug o comunque non ritenute attualmente buggate).
nicolas1
00sabato 2 ottobre 2004 23:50
LA MADONNA CHE C***O HAI SCRITTO VABBE L'INFORMAZIONE MA HAI PROPIO ESAGERATO.

LA PROSSIMA VOLTA SIII PIU CONCRETO BY NICOLAS1
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 04:53.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com