Los Piratas del FTA

donaciones BTC: 33WxfNYutrPhhZ1SPyxos3Mmuthjuzb82x

Herramientas de usuario

Herramientas del sitio


Barra lateral

flores:n3:manuales
1.1- El ATR de Nagravisión. 

Las tarjetas de Nagravisión usan una variante del protocolo ISO-7816 llamado "T=1" o "transferencia de bloques asíncrona half-duplex". Este formato difiere del formato usado por las smartcards de DSS en que el protocolo DSS (el formato T=0) espera que el dispositivo maestro (el receptor o IRD) le envíe a la tarjeta un bloque de cabecera de 5 bytes. La tarjeta (o CAM) debe entonces devolver uno de los bytes de la cabecera (concretamente, el segundo byte, que es el byte de INS) en reconocimiento de la recepción de la cabecera. En este punto, el IRD o bien le envía el resto del mensaje a la CAM en forma de paquete largo, o le envía el resto del paquete de byte en byte, esperando aceptación tras cada byte, o espera el retorno de datos desde la CAM. 

El protocolo T=1, por otra parte, se define de forma que cualquiera entre 7 dispositivos todos conectados al mismo bus ISO-7816 pueden iniciar una transmisión hacia cualquiera de los otros dispositivos del bus. Además, el mensaje se enviará bien a todos la vez (si es lo bastante corto para el buffer de recepción del dispositivo) o partido en paquetes más pequeños para enviarlos todos a la vez. 

El protocolo usado por las smartcards de Nagravisión (y de hecho, por cualquier tarjeta compatible ISO-7816) es requerido por la tarjeta cuando ésta es reinicializada por un dispositivo maestro. Tras el reset, la tarjeta enviará una secuencia de datos a unos baudios determinados (frecuencia de reloj/372... parece un numero arbitrario, pero sí la frecuencia del reloj es de 3.579545Mhz, la velocidad en baudios es 9622bps... y aunque 3.579545 MHz parece un número extraño, es de hecho bastante común: es la frecuencia usada por el cristal de impulso de color en las tv's NTSC y boxes del estilo, y esta información incluirá datos sobre el formato de los mismos que usará la tarjeta, la velocidad en baudios a la cual querrá comunicarse, y todo eso. Para comprender mejor las tarjetas de Nagravisión, echemos un vistazo al ATR (answer to reset=respuesta al reset) enviado por una Nagra con ROM3 (concretamente, este ATR es el de una 288-02 de Echostar, pero es además el mismo para ExpressVu, Skyvista y Vía Digital): 

3F FF 95 00 FF 91 81 71 64 47 00 44 4E 41 53 50 

30 30 33 20 52 65 76 3x 3x 3x nn 

Si dividimos este ATR en partes, lo podemos decodificar de la siguiente manera: 

3F ... Definición de notación 

|_____________ Notación inversa (los datos van invertidos) 




FF 95 00 FF 91 ... Inicializar parámetros 

| | | | | 

| | | | |_ Td1=91 (Enviará Ta2 y Td2 , Protocolo de 

| | | | formato de bloque half-duplex asíncrono 

| | | |____ Tc1=FF (Tiempo de guardia=257 bits) 

| | |_______ Tb1=00 (Sin Vpp) 

| |__________ Ta1=95 (F=512, D=16; Periodo de bit=(512/16) (32)impulsos) 

|_____________ T0=FF (Enviar Ta1, Tb1, Tc1, y Td1 , Se enviarán 15 

caracteres históricos) 




81 71 ... Parámetros secundarios 

| | 

| |__________ Td2=71 (Enviará Ta3, Tb3, y Tc3 , protocolo de 

| formato de bloque half duplex asíncrono) 

|_____________ Ta2=81 (No se admite cambio de modo, protocolo de 

formato de bloque half duplex asíncrono)




64 47 00 ... Params. especif. T=1 

| | | 

| | |_______ Tc3=00 (LRC (tipo XOR) comprobación de errores a usar) 

| |__________ Tb3=47 (Tiempo de esp de carácter es un interv de 25 bit, 

| tiempo de esp.de bloque es 634.9 mSec + interv. 11bits)

| (1 interv=7.111 uSegs). 

| 

|_____________ Ta3=64 (tamaño de bloque de recep.=0x64 bytes (100 bytes decimal)






44 4E 41 53 50 30 30 33 20 52 65 76 3x 3x 3x ... Bytes históricos 

| | 

|_____ ___________________________________| 

| 

|_______ ASCII : "DNASP003 Revxxx". Una llamada de aviso así como 

un pegote de los chicos de Echo y Nagra. Es la versión de 

la ROM y el nivel de revisión de la EEPROM del firmware de la CAM. 


nn 

|_____________ Checksum (El resto de los bytes XOReados) 




Y por ser completos, el ATR de una tarjeta con ROM2 es algo como esto: 




3F ... Definición de notación 

| 

|_____________ Notación inversa (los datos van invertidos) 




FF 95 00 FF 91 ... Inicializar parámetros 

| | | | | 

| | | | |_ Td1=91 (Enviará Ta2 y Td2, protocolo de formato de bloque 

| | | | half duplex asincrono) 

| | | |____ Tc1=FF (Tiempo de guardiar=257 bits) 

| | |_______ Tb1=00 (Sin Vpp) 

| |__________ Ta1=95 (F=512, D=16; Periodo de bit=(512/16) (32)impulsos) 

|_____________ T0=FF (Enviará Ta1, Tb1, Tc1, y Td1 , Enviará 15 

caracteres históricos)





81 71 ... Parámetros secundarios 

| | 

| |__________ Td2=71 (Enviará Ta3, Tb3, and Tc3 , protocolo de formato de

| bloque half duplex asíncrono) 

| 

|_____________ Ta2=81 (No se admite cambio de modo, protocolo de formato de 

bloque half duplex asíncrono) 




60 47 00 ... Params. especif. T=1 

| | | 

| | |_______ Tc3=00 (LRC (tipo XOR) comprobación de errores a usar) 

| |__________ Tb3=47 (Tiempo de esp de carácter es un interv de 25bit, 

| tiempo de esp de bloque es 634.9 mseg+interv 

| 11bits 1 interv = 7.111 uSeg) 

| 

|_____________ Ta3=60 (Tamaño bloque recep.=0x60 bytes (96 bytes decimal)




44 4E 41 53 50 30 30 32 20 52 65 76 30 35 32 ... Bytes históricos 

| | 

|_____ ___________________________________| 

| 

|_______ ASCII : "DNASP002 Rev052". Una llamada de aviso así como un pego de 

los chicos de Echo y Nagra. Es la versión de la ROM y el 

nivel de revisión de la EEPROM del firmaware de la CAM. 

Nota para ROM rev2. En todas las ROM2s probablemente pondrá 

"Rev052" porque no hay más espacio en sus EEPROMs para 

actualizaciones, así que se han quedado enganchados en la 

rev 052 para los restos. 



nn 

|_____________ Checksum (El restos de los bytes XOReados) 





El formato de datos (formato T=1) lo selecciona los bytes Td1, Td2, y Ta2. 

Todos son conformes en el formato de datos (transferencia de bloque half duplex Asíncrona. El byte Ta1 define la velocidad en baudios. El nibble superior de este byte sitúa el parámetro F (frecuencia) a 512, mientras que el nibble inferior 

sitúa el parámetro D (divisor) a 16. El bit rate se obtiene dividiendo la frec de reloj de entrada de la tarjeta por la cantidad (F/D) (en el caso de las tarjetas Nagra,F/D = 512/16 = 32). Ej, si la tarjeta la alimenta un Echostar , 

obtenemos que la frec. maestra de reloj, f, es o 4.5 MHz o 4.0 MHz, dependiendo del modelo de IRD. Por tanto, el baud rate final para las comunicaciones entre un Echostar y la smartcard es 4,500,000/32 (140,625) bps, o 4,000,000/32 (125,000) bps . Este bit rate solo tiene que ser necesariamente140,625 bps si la tarjeta va en un Echostar. 

Si la tarjeta esta en un programador con reloj a 3.6864 MHz, el baud rate final será de 115,200 bpts (aunque el baud rate del ATR serán 9909 bps). 

Parámetros como "tiempo de guardia", "tiempo de espera de carácter" y "tiempo de espera de bloque" solo son aplicables a mensajes desde el IRD a la tarjeta. Estos retrasos le dan a la tarjeta tiempo suficiente para mover los datos recibí 

Dos a sus bufffers internos y elaborar la decodificación de los mismos antes de recibir el siguiente byte. Se asume que el dispositivo maestro no requiere dichos retrasos, puesto que ya tiene más potencia de trabajo que la tarjeta 

En el caso de una tarjeta Nagravisión, se requiere un retraso de al menos 25 intervalos de bits (178 microsegundos) entre bytes y un retraso de al menos 635 milisegundos entre bloques completos. 



El byte Tc3 especifica que la tarjeta va a usar LRC (chequeo de redundancia Longitudinal) como comprobación de errores. Por cada mensaje que se envía, el ultimo byte será la suma XOR de los otros bytes del mensaje. La otra posibilidad 

de chequeo de errores (requerida por las especificación ISO-7816) es CRC, el cual se selecciona poniendo Tc3 a 1. 

El byte Ta2 especifica que el tamaño máximo de mensaje aceptable por la tarjeta es de 0x64 (100 decimal) bytes. Si el receptor quiere enviar un mensaje más largo, tiene que partirlo en paquetes más pequeños. En las versiones ROM 1 de Nagra, Ta3 era 0x60 (96 decimal). Es interesante saber, sin embargo, que lo primero que hacen muchos receptores tras resetear la tarjeta es solicitarle a esta que reduzca el tamaño de su buffer a 0x58 (88 décima) bytes. 

Los bytes históricos son bytes superfluos de identificación que se usan por el dispositivo maestro para coger información adicional sobre la smartcard. En este caso, la tarjeta devuelve un texto ASCII que indica que es una tarjeta Nagra/Dish Network ("DNASP"), con la versión de ROM 3 ("003") y su revisión de código de EEPROM actual ("Revxxx"). A fecha de este documento, el nivel de revisión actual de la EEPROM de las tarjetas para las Echostar ROM3 es 372, así que el texto será seguramente "Rev 372". 

Finalmente, el ATR termina con un checksum, que es la suma XOR de todos los otros bytes del ATR. 


1.2- La estructura del paquete Nagravisión I: La parte específica ISO. 

El protocolo T=1 tiene un formato muy específico de paquetes de datos. Los primeros 3 bytes del paquete, así como el último byte (o los dos últimos bytes si se usa CRC) del paquete se definen concretamente como: 

Byte 1: Byte de dirección de nodo (NAD) 

Byte 2: Byte de control de procedimiento (PCB) 

Byte 3: Byte de longitud (LEN) 

Ultimo byte: Checksum (LRC) 



Por tanto, un mensaje T=1 en formato ISO-7816 es algo similar a esto: 



NAD PCB LEN LRC 



El NAD se usa para enrutar mensajes. El nibble superior del NAD es la dirección de destino y el nibble inferior es la dirección inicio. En el sistema Nagravisión, solo se define dos direcciones: Dirección 1 es el receptor y Dirección 2 es la tarjeta. Aunque parece ser que se usan 4 bits para direccionamiento, en realidad, sólo los tres bits más bajos de cada nibble están disponibles para ello. El bit superior de cada nibble se reserva para peticiones de control Vpp. No se van a discutir aquí puesto que Nagravisión no los usa. Además, es interesante saber que las smartcars no realizan ningún chequeo de consistencia del NAD... simplemente asumen que cualquier NAD recibido es el correcto e intercambian sus nibbles cuando envían una respuesta. 

El PCB se usa para identificar qué tipo de datos se están enviando, bien sea parte de un bloque que se ha dividido debido a restricciones en el tamaño de buffer, si es un tipo especial de petición de control y demás. Hay cuatro formatos básicos de PCB: 

Un bloque de "instrucción" estándar tiene un PCB como este: 

% 0 N C 0 0 0 0 0 

| | | 

| | |____________ Bit de "cadena". Activo significa que el paquete 

| | necesita al menos un paquete más antes de que el mensaje 

| | completo se considere "enviado". 

| |______________ Bit de "nro. de secuencia". Este bit debería alternar 

| entre mensajes. Ayuda a asegurar que los paquetes no 

| se pierden si el bit de cadena es activa. Si la tarjeta 

| pierde un único paquete (o cualquier numero impar) 

| desde el master, sabrá que los datos están corruptos. 

|________________ "0" en bit 7 indica "bloque de instrucción". 



Un bloque de respuesta standard ISO-7816 T=1 tendrá un PCB como este: 

% 1 0 0 N 0 0 O E 

|_| | | |__ Errores detectados en el LRC o de paridad. 

| | |____ Otro tipo de errores. 

| |__________ Bit de "nro. de secuencia". Debe coincidir con el 

| bit N del mensaje al que responde la smartcard 

| 

|_______________ "10" en bits 7-6 indica "bloque de respuesta" 




Normalmente, suponemos que las respuestas de la CAM se envían en un bloque de repuesta tal y como se indica en el standard ISO 7816 T=1, pero en la mayoría de las ocasiones sucede que, cuando la CAM responde, envía un bloque de instrucción propio. Y si esa desviación del standard no fuese suficiente, las respuestas a los bloques de instrucción de la CAM carecen de los bytes INS, CLA, P1, P2 o P3 al principio del campo de información (aunque los mensajes del IRD lo tienen). Muy extraño. 

También, si un comando se envía con un checksum incorrecto, el CAM responderá con uno de los siguientes mensajes: 

12 81 00 93 -o- 

12 91 00 83 

| | | |_ Checksum 

| | |____ Tamaño del campo de info (sin datos en esta respuesta) 

| |_______ Repuesta de error: Error de paridad/LRC 

|__________ NAD 



Esto indica una condición de error bien en de LRC o paridad con uno de los bytes del mensaje. 

Otras peticiones de control siguen todas el siguiente mismo formato: 

% 1 1 R 0 0 0 T T 

|_| | |_| 

| | |___ Tipo de petición siguiente: 

| | 00=Resincronia (reset total) 

| | 01=IFS (Tamaño del campo de información) 

| | 10=Aborta 

| | 11=WTX (Tiempo de espera) 

| |____________ Petición / respuesta (0=petición, 1=respuesta) 

|_______________ "11" en bits 7-6 indica "petición de control" 



En una petición IFS, se incluirá un único byte de datos que le indica el destino a que tamaño quiere el origen que ajuste su IFS. Aunque teóricamente es posible pedirle a la tarjeta que cambie su IFS a un valor mayor del que se especifica en el ATR, probablemente el destino no entregará una respuesta favorable a tal solicitud. Una petición IFS ejemplo (tomada de un Echostar log) sería como sigue: 

21 C1 01 58 89 Receptor pide a la tarjeta que cambie su IFS a 0x58 bytes 

12 E1 01 58 AA Vale, dice la tarjeta 

| 

|________ IFS pedido 



Fijaos que es necesario pedirle a la tarjeta que ajuste su IFS tras un reset, puesto que las tarjetas Nagravisión ponen su IFS por defecto a $20 cuando sé inicializan. Como resultado, cualquier comando cuya respuesta sea mayor de $20 bytes o bien tiene que ver con una respuesta que va encadenada o bien el IFS tiene que incrementarse. Las tarjetas no hacen ningún tipo de chequeo del IFS en los mensajes recibidos. Caray! 

En una petición WTX, se incluye un único byte de datos que le indica al destino el nuevo valor que el origen quiere para el tiempo de espera de bloque cuando el destino envía información al origen. Es valor es múltiplo del Tiempo de espera de bloque (BWT) especificado por el origen en su ATR. 

El byte LEN cae por su propio peso: Especifica él numero total de bytes a incluir en el campo de información. 

El byte LRC es el checksum del mensaje. Fijaos que puede ser un LRC (usado por Nagravisión) o un CRC. 


1.2.1- Mensajes encadenados. 

Cuando se usan mensajes encadenados (en cualquier sentido IRD-CAM), el dispositivo que recibe el bloque por partes debe retornar un bloque de respuesta al dispositivo origen indicando que recibió cada bloque correctamente, de modo que el dispositivo emisor sepa que todo va bien para proseguir con el siguiente bloque de datos. El bloque de respuesta que ha de ser transmitido depende del NAD y del PCB del mensaje que se está reconociendo, del siguiente modo: 

NAD y PCB del mensaje origen Mensaje de respuesta 

----------------------------- -------------------------------- 

21 20 12 80 00 92 

21 60 12 90 00 82 

12 20 21 80 00 A1 

12 60 21 90 00 B1 



Si el dispositivo que responde envía un mensaje cuyo PCB indica detección de algún tipo de error, el emisor reenviará el bloque erróneo. Si el receptor envía algún mensaje que implica una petición de cualquier tipo, el emisor abortará el resto de la transmisión y atenderá dicha solicitud. 


1.3- Estructura de paquetes Nagravisión II: El campo de información IRD-CAM 

En las mayorías de los casos, todos los campos de Nagravisión tendrán un campo de información con una estructura común. Puesto que el IRD y la CAM tienen poder total sobre el campo de información de un bloque de información, hemos tenido que ir adivinando las definiciones de ciertos campos. Afortunadamente, los datos se repiten lo suficiente para saber de qué van. 

Para datos enviados desde el IRD a la CAM, el campo de información (sin incluir el checksum) siempre es: 

A0 CA 00 00 CL CN DL RL 

|____ ____| | | | | |_ Longitud esperada de la respuesta 

| | | | |_____ Datos de comando. Se enviará un 

| | | | total de DL bytes, incluido RL 

| | | |______________________ Longitud de datos de comando 

| | |_________________________ Numero de comando 

| |____________________________ Longitud de comando. Este es, esencialmente 

| el byte P3(o longitud) del ISO7816 T=0. 

|____________________________________ Cabecera: Siempre A0 CA 00 00. 



Son los bytes "CLA INS P1 P2" de la ISO-7816 T=0 

Fijaos que hay dos bytes de longitud: longitud de comando (CL) y la longitud de datos de comando (DL). En la práctica, DL siempre tendría que ser igual a CL menos 2 puesto que CL cuenta el Numero de Comando (CN) y el byte de longitud de datos de comando (DL) en su totalidad. También, aunque CL y DL definen el número de bytes que están presentes en el mensaje completo, estos números pueden ser mayores que el tamaño total del buffer de recepción en la tarjeta. Estos bytes se usan por la tarjeta para determinar cuantos bytes contendrá el paquete completo tras ser reunido finalmente (el byte LEN siempre especifica el número total de bytes a enviar en una sola ráfaga). 

EL IRD también indica cuantos datos quiere ver de regreso desde la CAM. El byte de longitud de respuesta (RL) especifica cuantos bytes de datos espera ver el IRD en la respuesta de la CAM, sin incluir la cabecera de 3 bytes del ISO-7816 y la cola de SW1/SW2/LRC. Por tanto, si el IRD especifica un valor de 03 para el RL, la CAM enviará un total de 9 bytes de regreso (3 bytes de ISO-7816 en cabecera, 1 byte de tipo de respuesta, 1 byte de longitud de datos, 1 byte de datos, 2 bytes de información SW1/SW2 y 1 byte de LRC). La única vez que se utiliza el byte de longitud de respuesta para determinar cuantos bytes de datos se devolverán la IRC es en el comando $21. El resto de los comandos tienen respuestas de longitud fija las cuales se envían con independencia de dicho valor, del valor del byte de longitud de respuesta. 


1.4- La estructura de paquetes Nagravisión III: El campo de informacion CAM-IRD 

Cuando la CAM responde a un comando del IRD, si el campo de información también tiene una estructura fija y definida. Aunque dicha estructura es diferente de los mensajes del IRD a la CAM, no es difícil de adivinar. Los mensajes enviados de la tarjeta al IRD son: 

CC AL SW1 SW2 

| | | |_____|__________ Palabra de estado std. ISO-7816 

| | | Normalmente 90 00. Para más 

| | | Info. sobre la palabra de estado ver la 

| | | sección 1.5, "Palabra de estado" 

| | |__________________ Datos devueltos al IRD. Este campo de 

| | datos pueden contener información 

| | embebida. 

| |__________________________________ Longitud en bytes del campo de datos 

| Será normalmente igual a RL-2 

| (ver sección 1.3 para el significado 

| del valor de RL). 

|_____________________________________ Código de comando de respuesta. 





Relacionado directamente con el nano de comando para el que este mensaje en respuesta. Sin relación aparente 

entre el código de respuesta y el nano de comando, pero cada numero de comando parece pertenecer a un código 

de respuesta especifico. (Ver sección 2: Comandos) 




1.5- La palabra de estado. 

Al final del campo de información en cualquier respuesta desde el CAM al IRD hay dos bytes definidos por la especificaciones del ISO-7816 como "palabra de estado". El fin de la misma es dar al host alguna idea de cómo la tarjeta respondió a la petición del host. Normalmente, se espera una status word a "90 00", lo que indica finalización correcta del comando al host. En algunos casos, sin embargo, también llegan otras respuestas. Si el primer byte de la palabra de estado tiene un "6" como nibble superior, la palabra de estado indica una condición de error. Las palabras de estado que se esperan en respuesta de un Echostar/Nagra son como siguen: 

SW1 SW2 Meaning 

--- --- ----------------------------------------------- 

63 00 Password(s) incorrecta 

69 82 Se necesita password para los comandos backdoor 

69 85 Puntero a datos de EEPROM no valido (no apunto a 

una dirección el el rango $Exxx) 

69 86 Direc. invalidad en el comando backdoor de e/s en mem. 

6A 00 Bytes P1 y/o P2 incorrectos. 

6B 00 Referencia incorrecta 

6C FF Se han pedido pocos bytes en el comando $21 

6D 00 Instrucción no soportada 

6E 00 CLA no soportado 

6E 00 Bytes P1 y/o P2 incorrectos (nota: Es un bug del 

código de la ROM3. En teoría, esto provocaría un 

SW1/SW2 en respuesta a 6A 00, pero no (de hecho, no hace nada)) 

6F 00 Comando no soportado 

90 00 Comando completado con éxito

5.1- Las claves de backdoor 



En apariencia, las tarjetas de Nagra tienen varios comandos de backdoor incluidos que permiten la carga de EEPROM y otras funciones de utilidad. Estas backdoors (puertas traseras) necesitan dos passwords de 16 bytes antes de poder trabajar con ellas. La primera clave se almacena en ROM y es la misma para todas las tarjetas de Nagravisión con el mismo número de versión. La segunda clave se almacena en la EEPROM y es, probablemente, única para cada tarjeta. En este sección, daré todos los detalles que tengo sobre las claves y los comandos de backdoor. 




5.1.1- La password en ROM 



La password en ROM es la primera clave que se necesita para backdoor. La clave recibida ha de ser exactamente igual que la clave en ROM o su chequeo fallará. Las claves en ROM conocidas son: 



Ver. ROM Clave 

------- --------------------------------------------------------------- 

ROM2 $8F $AB $C2 $64 $44 $9A $FE $70 $1D $E7 $62 $FA $B1 $4C $31 $06 

ROM3 $8F $AB $C2 $64 $44 $9A $FE $70 $1D $E7 $62 $FA $B1 $4C $31 $06 




5.1.2- La password en EEPROM 



La password en EEPROM se incluye para reforzar la seguridad en caso de que la clave de ROM fuese revelada al público. No está claro si la clave se calcula basándose en la CAM ID o si la clave es generada aleatoriamente en el momento de la fabricación, y almacenada en una base de datos que se suministra , junto con las tarjetas, para el proceso de carga de las EEPROM. Partiendo de que la clave de EEPROM contiene muchos bits a ‘0’, y se inicialice al mismo valor que la clave de ROM, se piensa que las tarjetas se entregan con la password de EEPROM a ‘0’ y luego se ajusta adecuadamente la primera que se reinicializa la tarjeta con valores difíciles de hackear. 

La clave de EEPROM difiere de la de ROM en que los programadores de Kudelski tuvieron en cuenta el hecho de que la EEPROM es menos robusta que la ROM y ,por tanto, relajaron los requisitos del chequeo de la misma: La clave recibida puede diferir de la clave real en al menos 2 bits y aún así se consideraría válida. Ello es así quizás porque los programadores reconocieron que los datos en EEPROM tienen cierto grado de volatibilidad. 

Los programadores de Kudelski también añadieron algunos requisitos a la clave de EEPROM sobre la ROM. Estos requisitos ayudan a asegurar que la clave de EEPROM contiene un patrón lo suficientemente aleatorio para hacerlo razonablemente seguro. Los requisitos son: 



-La clave de EEPROM ha de tener no menos de 32 bits a ‘1’. Si hay menos en 

la clave de EEPROM cuando se reinicializa la tarjeta, la clave de EEPROM 

será sustituida por la clave de ROM. 



-La clave de EEPROM no contendrá más de $60 bits a '1'. Si hay más de 

de $60 bits a '1' cuando la tarjeta intenta verificar las claves recibidas, 

la clave de EEPROM se considerará inmediatamente inválida y se bloquea el 

acceso a través de la backdoor. 




5.2- Los comandos de backdoor 



Una vez que se conocen las claves de backdoor (o se sabe cómo engañar a la tarjeta para que crea que las sabemos), existen varias utilidades a mano que, en teoría, están sólo destinadas a chequear la tarjeta cuando se carga su EEPROM en fábrica. Para un hacker, sin embargo, suponen un método sencillo de volcar la tarjeta, introducirles código 3M y demás. Aquí detallaré las claves de backdoor que conozco. Fijaos que hasta ahora, sólo puedo asegurar que estos comandos funcionarán en tarjetas ROM3. Es posible que cambien además con el cambio de versión de ROM. 




5.2.1- Comando $0E: Borra la EEPROM 



Usado para borrar un bloque de EEPROM. El formato es: 



21 00 07 ; A0 0E ;Comando backdoor: Borrar EEPROM 

;Dirección de inicio de borrado 

02 ;Longitud del comando 

;Desplaz. a la ultima dir. a borrar 

; más uno 

;Checksum 



La dirección de inicio para el borrado de EEPROM se debe seleccionar con el comando de backdoor D6 que se especifica abajo. 

La dirección final es un desplazamiento desde la dirección base generada por el conjunto de direcciones “dir” (dir-alta:byte alto de la dir, dir-baja: byte bajo de la dir, NdT) la primera vez que se envía el comando. Un ejemplo de este comando sería: 



21 00 07 ; A0 0E ;Comando Backdoor: Borrar EEPROM 

94 30 ;Dirección de inicio de borrado 

; (base a $E000, inicio a E030) 

02 ;Longitud del comando 

10 00 ;Ultimo byte a borrar en 

; dir base+$1000-1, o $EFFF 

3E ;Checksum 



Este comando borrará la EEPROM desde $E030 hasta $EFFF. 




5.2.2- Comando $20: Login 



Usado para decirle a la CAM cuales son las passwords. Cuando se envían con este comando, las claves se chequean y se usan antes de ejecutar cualquier otro comando de backdoor, por lo que sólo es necesario enviarlas una vez. El formato es el siguiente: 



21 00 25 ; A0 20 00 00 ;Comando Backdoor: Login 

20 ;Longitud de comando 

8F AB C2 64 44 9A FE 70 ;Password de ROM 

1D E7 62 FA B1 4C 31 06 

00 11 22 33 44 55 66 77 ;Password de EEPROM 

88 99 AA BB CC DD EE FF 

DE ;Checksum 




5.2.3- Comando $B0: Volcar memoria 



Usado para volcar los contenidos de un área de memoria específica de la CAM. En teoría, se puede volcar cualquier memoria, pero me temo que el MACM de la tarjeta evitará actuar sobre la ROM del sistema. Este comando tiene dos formatos: 



21 00 05 ; A0 B0 ;Comando Backdoor: Dump (volcado) 

94 00 ;Dirección de inicio (abajo) 

40 ;Nro. de bytes a volcar 

E0 ;Checksum 



21 00 07 ; A0 B0 ;Comando Backdoor: Dump 

94 00 ;Dirección de inicio (abajo) 

00 ;Bytes de relleno 

00 40 ;Nro. de bytes a volcar 

E2 ;Checksum 



Aunque la segunda forma permite volcar hasta $FFFF teóricamente, volcar más de $50 o más bytes de datos provocará una secuencia de mensajes encadenados en los que el dispositivo maestro (es decir, tu) tienes que responder a cada fragmento de datos a medida que la tarjeta los va entregando. La respuesta adecuada para que la tarjeta continué con el mensaje depende de la cabecera del último fragmento recibido, como se muestra abajo: 



Recibidos 

NAD y PCB Respuesta correcta 

--------- ---------------- 

12 20 21 80 00 A1 

12 60 21 90 00 B1 



La dirección de inicio se puede codificar de dos formas. En la primera, que se ilustra arriba, provoca una reinicialización de los punteros de direcciones. Existen 5 valores posibles para esto: 



90 xx: Inicializa dirección a $0000 

91 xx: Inicializa dirección a $8000 (nada útil) 

92 xx: Inicializa dirección a $0020 

93 xx: Inicializa dirección a $4000 (útil para volcar ROM) 

94 xx: Inicializa dirección a $E000 (útil para volcar EEPROM) 



Aunque las direcciones se inicializan con los valores absolutos que se muestran, la dirección efectiva del primer comando será la dirección de inicialización más xx, por lo que un valor de $9320 inicializará la dirección a $4000, y una dirección efectiva de dicho comando a $4020. De forma similar, un valor de $9438 inicializará la dirección a $E000 y una dirección efectiva para dicho comando de $E038. 



Una vez que los punteros se han inicializado con una de las constantes citadas arriba, los bytes de dirección pueden rellenarse con un desplazamiento desde la dirección con la que fueron inicializados los punteros. Por tanto, si los punteros se cargaron a $4000 enviando $90 $00, si el siguiente volcado especifica una dirección de $3040, la dirección de inicio final será $4000+$3040, es decir, $7040. 




5.2.4- Comando $D6: Ejecuta código/escribe en la EEPROM 



Probablemente el comando backdoor más útil. Tiene dos funciones posibles. La primera permite al usuario enviar un fragmento de código de hasta $5E a la tarjeta y ejecutarlo en su RAM. El formato de esta función del comando es el siguiente: 



21 00 nn ; A0 D6 98 00 ;Comando Backdoor: Ejecuta código 

;Longitud de comando: Nunca se com- 

; prueba, prob. puede ser $00 

;El código a ejecutar se manda aqui 

; en texto claro. Se ejecutará en 

; la direccione $1A1 en ROM3 o 

; $1A5 en las tarjetas ROM2 



;Checksum 



La segunda función de este comando proporciona una escritura absoluta de hasta $5B bytes en la EEPROM, comenzado por cualquier dirección válida de la misma. En teoría, se podría pasar cualquier dirección como destino, pero sólo se puede escribir sobre la EEPROM. El formato de la versión de este comando para escribir en EEPROM es: 



21 00 nn ; A0 D6 ;Comando Backdoor: Escribir EEPROM 

;Dirección inicio (abajo) 

;Bytes a escribir (hasta $5B) 

;será igual a nn-8 

;Data to be written to EEPROM 

;Checksum 



La dirección de inicio tiene dos modos posibles de codificación. Al igual que el comando de backdoor A0 B0, el primer método inicializa los punteros de direcciones de la tarjeta. El único valor útil de inicialización para el comando de escritura en EEPROM es: 



94 xx: Inicializa dirección a $E000 



Aunque la dirección se inicializa a $E000, la dirección efectiva para el primer comando será $E0xx, por lo que un valor de $9420 inicializará la dirección a $E000 y una dirección efectiva para el comando de $E020. 

Una vez inicializado el puntero de dirección, se puede pasar un desplazamiento desde la $E000 en el campo de dirección. Ejemplos: 



21 00 15 ; A0 D6 ;Comando Backdoor: Escribe EEPROM 

94 20 ;Dir. inicio a $E020 

10 ;Escribe $10 bytes 

00 11 22 33 44 55 66 77 ;Datos a escribir 

88 99 AA BB CC DD EE FF 

E6 ;Checksum 



21 00 15 ; A0 D6 ;Comando Backdoor: Escribe EEPROM 

04 43 ;Dir. efectiva: $E443 

; (Se asume que la dirección se 

; inicializó como dice arriba) 

10 ;Escribe $10 bytes 

00 11 22 33 44 55 66 77 ;Datos a escribir 

88 99 AA BB CC DD EE FF 

15 ;Checksum

7.1- Glosario 



Lista de términos más usados cuando se habla de Echostar, Nagravisión, DVB y los hacks relacionados. 




110: Enlace orbital situado a 110º de longitud oeste. Echostar tiene un satélite en este lugar (Echostar V). Echostar VIII, con lanzamiento previsto para principios del 2002, también utilizará este enlace, aumentando la programación servida por el Echostar V.




119: Enlace orbital situado a 119º de longitud oeste. Echostar tiene tres satélites (EchoStar I, II, y IV) en esta posición. EchoStar tiene planeado cambiar el EchoStar I, próximo al final de su vida útil, con el recientemente lanzado Echostar VI. Echostar VII, con lanzamiento previsto para principios del 2002, se situará en este enlace, en lugar del Echostar II también al límite de su periodo de vida útil.




121: Enlace orbital situado a 121º de longitud oeste. EchoStar no tiene ningún satélite actualmente en dicha posición, pero el EchoStar IX, previsto para mediados del 2002, será situado en dicha posición.




148: Enlace orbital situado a 148º de longitud oeste. EchoStar no tiene ningún satélite permanente en dicha posición, pero es probable que sitúen un satélite allí en el futuro. Mientras tanto, EchoStar usa este enlace para pruebas de los últimos satélites lanzados. Actualmente, el EchoStar VI se encuentra en dicha posición en pruebas para su migración al enlace 119 donde sustituirá al envejecido EchoStar I.




175: Enlace orbital situado a 175 grados de longitud oeste. EchoStar no tiene actualmente ningún satélite en esta posición, pero tiene los derechos para controlar 22 de 32 transponders que pueden trabajar desde este enlace si alguna vez se sitúa allí algún satélite. 




2313: Microcontrolador de uso popular en los hacks de EchoStar. Su identificación completa es AT90S2313. Pertenece a la familia AVR de microcontroladores Atmel. Se usaba al principio para el hack con AVR dual, pero también se le ha visto en algunas versiones del logger de EchoStar. Ver también. AVR, Atmel, AVR dual y logger.




61.5: Enlace orbital situado a 61.5 grados de long. oeste. Echostar tiene allí al EchoStar III. Probablemente, el EchoStar III será cambiando o mejorado en el 2003 por un EchoStar X.




0005: Microcontrolador cuyo juego de instrucciones es casi idéntico al juego de instrucciones usado en las tarjetas de Nagra. Ver también. ST16CF54.




8515: Microcontrolador muy conocido entre los hacks de Nagra. Su identificador completo es AT90S8515. Pertenece a la familia AVR de los micros de Atmel Ver también. AVR, Atmel, Xfile, Jethro y logger.




Able: Código interno Echostar para una de sus IRDs. IRDs basados en este plataforma incluyen el modelo 2000.




Atmel: La compañía que fabrica uno de los microcontroladores más conocidos de los hacks de Nagravisión. Ver también. AVR.




ATR: Respuesta al Reset. Una cadena que es enviada por un dispositivo compatible ISO7816 tras un reset. Estos datos le indican al dispositivo maestro qué parámetros de comunicación espera la tarjeta, su tipo y demás.




Agresor: Una persona, programa o entidad que intenta romper alguna forma de seguridad. En el contexto del hack de Nagravisión, un agresor es alguien que quiere saltarse la seguridad de la tarjeta, bien con la intención de ver la TV gratis o bien para mirar el código de las tarjetas en la ROM.




Autoroll: 1: Un hack que puede auto actualizarse con claves de decodif. actuales u otra información de tipo dinámico que necesita para poder funcionar. 

2: El proceso de determinar las claves de decodif. actuales u otra información dinámica que un hack necesita para poder funcionar.




AVR: Familia de microcontroladores de Atmel. Son muy populares entre los hacks de EchoStar porque tienen una media de instrucciones por ciclo de reloj alta en comparación con otros microcontroladores.




AVR2: Un hack de Echostar tipo enabler. No es autoroll (autoupdate) y necesita actualizaciones frecuentes de clave usando Talk o Wintalk. Ver también. enabler, talk, y wintalk.




Baker: Código interno Echostar para unos de sus IRDs. Basados en él, se incluyen los modelos 3000, 4000, 5000 y el JVC HM-DSR100 DVHS.




Tarjeta batt: Emulador del Enabler de Nagra comercial y freeware. Estaba basado en el hack de tarjeta batt de la tarjeta 'F' de DSS. No se usa en la actualidad porque el proveedor que intentó hacer dinero con el se encontró con que mucha gente ya tenía tarjetas batt de los días de la tarjeta F y simplemente aplicaron el código en sus tarjetas sin pagarle nada de dinero, así que dejó de proporcionar claves para él.




Blocker: Un semi hack de Nagra tipo cuña. Actualmente no proporciona TV y PPVs ilimitados como otros hacks, sino que en lugar de ello , el blocker intenta que lleguen a la tarjeta mensajes EMM de Nagra que anularían una suscripción. En teoría, alguien con un blocker podría cancelar su suscripción al EchoStar (o ExVu o SkyVista) y mantener su tarjeta en funcionamiento. En la práctica, sin embargo, el blocker resulta poco práctico porque el mismo tipo de EMM's que anulan una suscripción también llevan actualizaciones de claves por lo que el blocker impide que la tarjeta reciba información necesaria para decodificar mensajes ECM que recibe. Algunos blockers más modernos han intentado, con éxito limitado, añadir algo de inteligencia a la lógica que bloque los mensajes EMM pero los resultados hasta ahora no llegan al éxito total. Ver también. Cuña, EMM, ECM.




Bones: Código interno EchoStar para uno de sus IRDs como los modelos 1000.




CAM: Módulo de acceso condicional. En sentido estricto, el módulo de acceso condicional es la parte de cualquier sistema tipo DVB que permite a la parte principal decidir si el usuario puede ver o no un programa determinados. En algunos sistemas DVB, el CAM es una unidad de dos partes: una parecida a una PCMCIA y la otra es una tarjeta que entra en el módulo PCMCIA. En el sistema Nagra, la CAM es una tarjeta (smartcard)




Charlie: Charlie Ergen, Jefazo de Comunicaciones EchoStar entre otras compañías. Un típo que se está haciendo rico con EchoStar.




Charlie Chat: El codo a codo con los periodistas de Charlie Ergen. De vez en cuando, hace apariciones de una hora en las que les dice a la base de suscriptores EchoStar (los que sintonizan vamos) lo mucho que los aprecia, lo grande que es todo en Echostar y cosas por el estilo. Básicamente tonterías.




Cheyenne: Una ciudad en Wyoming donde se encuentra el enlace de EchoStar. Ver tambien. Wyoming, Centro de enlace.




Clipper: Código interno EchoStar para una de sus IRDs. Basados en ella, están los modelos 2700 y 3700.




Colorado: Donde se encuentran las oficinas centrales de EchoStar.




CRC: Chequeo de redundancia cíclica. Un método checksum especificado por el protocolo ISO-7816 T=1. El método de cálculo de un CRC es bastante complejo y no entraremos en él porque las tarjetas Nagra utilizan en método LRC de checksum. Ver también. ISO-7816, LRC.




Cutter: Código interno Echostar para uno de sus IRDs. En ellos están basados los modelos 4700 entre otros.




DES: Estándar de Encriptación de datos. Es el esquema de encriptación usado para ocultar datos en los mensajes ECM de Nagra así como los valores de vuelta extraídos de los ECMs hasta el IRD. Ver tambien. ECM.




DirecTV: Compañía de la General Motors y (en su día), dirigida por Rupert Murdock. DirecTV es un proveedor de televisión digital por satélite competencia de EchoStar en los Estados Unidos. Hasta finales del 2000 los IRDs de DirecTv usaban todos CAMs de News Datacom (NDC) con el sistema de seguridad VideoGuard de NDC. A finales del 2000, DirecTV comenzó a sacar IRDs con CAMs de Nagravisión. Probablemente, este cambio a Nagra es debido al trabajo que realizó NDC sobre las tarjetas de segunda generación de DirecTV, conocido como tarjeta 'H'. El sistema de satélite de DirecTV se conoce genéricamente como DSS. Ver también. DSS, Tarjeta H, News Datacom y VideoGuard.




DishNetwork: División de programación de EchoStar. Echostar provee receptores, DishNetwork proporciona los programas, al igual que RCA, Hughes, Sony y otros proporcionan los receptores DSS pero DirecTV proporciona los programas de DSS. En teoría, la programación de DishNetwork sólo está disponible para clientes norteamericanos, pero en la práctica también los está para Canadá, México y otros muchos países al norte del ecuador y en nuestro lado del planeta.




DishPlayer: Uno de los últimos IRDs de EchoStar. El DishPlayer no sólo proporciona programación de TV, sino también acceso a la web y programación a la carta (en tiempo): El DishPlayer tiene un disco duro integrado que se puede usar para captura el flujo MPEG del satélite de forma que el usuario pueda, de hecho, "pausar" una emisión en progreso mientras hace un sandwich, darle un paseo al perro o lo que sea.




DSS: Sistema de satélite Digital. El proveedor de satélite que proporciona DirecTv. Ver también. DirecTV , Tarjeta H.




AVR-Dual: Un emulador del hack de Nagravisión freeware que usa dos 2313s: uno para comunicar con el IRD y el otro para ejecutar tareas pesadas de decodificación. Ver también. Emulador, enabler, Atmel, 2313. 




DVB: Digital Video Broadcasting (Emisión de video digital). Estándar de la unión europea de emisión que especifica diversos medios de transmisión digital de señales de video, control sobre el acceso a las mismas y demás. Si tienes tiempo y su web está funcionando, puedes ir a www.dvb.org y ver si puedes descargarte algunos de sus estándares. Son geniales para combatir el insomnio. 




E3M: EchoStar 3M. El hack comercial del sistema Nagra que implica reprogramar una tarjeta de Nagra real para que devuelva siempre las claves de decodif. correctas del canal al IRD en respuesta a un ECM. Por desgracia, debido a la arquitectura del microcontrolador de las tarjetas de Nagra, este hack no es estable porque hacerlo invulnerable también evitaría su auto actualización. Ver también. Autoroll.




E*: Abreviatura común de EchoStar.




EchoSphere: Una de las muchas compañías de Charlie Ergen. Ver también. Charlie. EchoStar:Otra compañía de Charlie Ergen. EchoStar es responsable del diseño y fabricación de la mayoría de los IRDs usados por DishNetwork así como IRDs para sistemas DVB en otros paises, incluídos ExpressVu, Vía Digital y Sky Vista. Echostar también fabrica receptores DVB FTA. Ver también. Charlie, ExpressVu, Via Digital, Sky Vista, Dishnetwork, FTA y DVB .well as IRDs




ECM: 1: Mensaje de control de titularidad. Un mensaje que contiene información necesaria para que el IRD decodifique un flujo de datos codificado durante un periodo de tiempo. El IRD envía el ECM a la tarjeta quien extrae la información necesaria y devuelve los datos al IRD si cree que el usuario tiene permiso para ver el programa que el IRD intenta decodificar. Este término fué acuñado por el comité de estándares de DVB. Para los sistemas Nagravisión, el comando $03 es un mensaje ECM. Ver también. IRD. 

2: Medida de contador electrónico. Un ataque enviado por EchoStar y/o Nagra para desactivar un hack o hacerlo inoperativo. Por desgracia, estas dos definiciones tan distintas de ECM han provocado a veces gran confusión. Por este motivo, generalmente se prefiere llamar 

ataque a la Medida de Contador electrónico.




EMM: Mensaje de gestión de Titularidad. Un mensaje que contiene la información necesaria para enviar información de suscripción y actualizaciones de la EEPROM a la CAM. En Nagra, el comando $00 contiene la mayoría de los EMMs.




Emulador: 1: Un hack que realiza todas (o un conjunto significativo) de las funciones de una CAM real. 

2: Un hack que simula la función del MCU de una tarjeta y usa una imagen de una CAM auténtica para hacer gran parte del trabajo, pero que tiene la lógica sufiente para sustituir información falsa de suscripción en el código de ROM que se ejecuta de forma que creerá que el usuario está autorizado para ver todos los canales disponibles para la CAM.




Enabler: Un hack gratis tipo cuña o aislado. Para Nagra, el enable puede ser un dispositivo aislado (XFile como ejemplo) o un dispositivo que también requiere una CAM real para funcionar (como el enabler Jethro). La verdadera función de los mismos es decodificar ECMs y devolver las palabras de control decodificadas la próxima vez que el IRD envíe un comando $13. Ver también. Jethro, XFile, Tarjeta batt, Cuña (wedge), emulador.




ExpressVu: Un proveedor de satélite de Canadá. ExpressVu usa IRDs, antenas y CAMs de Nagra.




FTA: Free-to-air. Una emisión de video o audio por satélite que no es un servicio de suscripción.




GAP: Plástico de Acceso General (o de acceso genérico). Un enabler tipo emulador y comercial para hackear Nagra. El GAP es básicamente una tarjeta con XFile. El MCU de un GAP es un PIC 16C622A. Ver también. Xfile.




Tarjeta H: La segunda generación de tarjetas de acceso usadas por DirecTv. Fueron producidas por News DataCom (NDC) y están basadas en los controladores de la serie SLE44 de Siemens. Su firmware era bastante pobre, no bien definido, tenía muchos errores y fué reventado por los hackers de DSS. Se basaba en una arquitectura que dificultaba los contraataques que se realizaban sobre tarjetas piratas. Como resultado de estas deficiencias, DirecTV ha sido bastante hackeada. Tras la tarjeta H llegó la HU, basada en los controladores de tarjetas de la serie SLE66 de Siemens y que era de algún modo una versión mejorada de las tarjetas H, con muchas de las correcciones de seguridad de las tarjetas H que se aplicaban mediante actualización de EEPROM. Ver también. NDC, Siemens, SLE44, SLE66. 




HTS: Houston Tracker Systems. Otra de las compañías de Charlie Ergen. Ver también Charlie.




Mod. Interna: Un hack de Nagra realizado a nivel interno del IRD en un esfuerzo de mejorar la estética del pirateo (la mayoría de los hacks son una tarjeta de PC colgado de la ranura del IRD). El XFile es el hack de Nagra que más se usa nivel interno. Ver también. XFile.




IRD: Receptor-Decodificador Integrado. La parte principal que usa la señal convertida del LNB y la convierte en video y audio para tu disfrute.




ISO: Organización internacional de Estándar. La organización de estándar que fijó el protocolo ISO-7816 usando por la mayoría de las tarjetas del planeta en la actualidad, incluyendo las CAMs de Nagra. Ver también. ISO-7816




ISO-7816: El estándar internacional de interface (interacción) con tarjetas. Incluye estándares relacionados con las propiedades físicas de las tarjetas (incluyendo susceptibilidad a radiación, flexibilidad, posición de los contactos, etc..) especificaciones eléctricas y protocolos de comunicación. Este estándar se divide en varias partes, pero la que más te puede interesar es la ISO-7816-3. No es un estándar que esté muy bien detallado, pero su aprendizaje y entendimiento es bastante importante si quieres hacer un hack serio de las tarjetas inteligentes en general, así que échale un vistazo.. hay muchas web con links o copias locales del mismo.




Jethro: Un hack de Nagra tipo enabler. En particular, el enabled de Jethro es un hack tipo cuña porque deja caer el peso de la mayoría de los comandos del IRD sobre una CAM real, y el enabler en sí sólo se las ve con unos cuantos comandos específicos (como $03, $13, $21-08, $21-0B, etc.). Ver también. Cuña, enabler.




Karl Osen: Uno de los hombres de Kudelski que ha desarrollado código para las tarjetas de Nagra. Ver también. Marco Sasselli.




Clave: Conjunto de bytes usados para codif/decod. un mensaje. Tanto la clave como el conjunto de datos a encriptar o decriptar se pasan a una rutina de codif/deco y el resultado son los datos codif/decodif.




Cambio de clave: El proceso de cambio de clave usada para encriptar o desencriptar un mensaje. Para nuestros fines, el cambio de una clave normalmente estará referido al cambio de algunas de las claves usadas para decodif ECMs. El sistema Nagra/Echostar permite elegir dos claves (KEY0 y KEY1) como llaves de decodif. de un ECM dado. Si la clave actual usada para codif un ECM es la KEY0, EchoStar/Nagra pueden cambiar la KEY1 si afectar el proceso de decodif. de video, y cuando están seguros de que la mayoría de las tarjetas de cliente han aceptado la nueva clave KEY1, cambian los ECMS para que la usen. Este cambio de claves y su frecuencia es lo que más afecta a los hacks comerciales de Nagra en la actualidad. Ver también. DES.




Kudelski: Ver S.A. Kudelski.




Littleton: La ciudad de Colorado donde está la central de Echostar.




LNB: Bloque de Bajo-sonido (Low Noise Block). El circuito que se encuentra en la punta del cuerno de la parabólica, aunque también se usa comúnmente para denominar al cuerno completo. Una antena de LNB-dual tiene dos conectores en el cuerno, cada uno de los cuales puede entregar datos a un IRD o a un circuito multi-antena.




Logger: 1: Un dispositivo cuña cuya función es "escuchar" los datos que se pasan el IRD y la tarjeta. Ver también. Cuña. 

2: Un programa que corre en un host y que toma los datos proporcionados por(1) y los graba en un fichero para examinarlos después. El software puede o no filtrar los datos de forma que la información no usual o interesante se grabe.




LRC: Check de redundancia longitudinal. Un método de checksum especificado por el protocolo de comunicación de la tarjeta ISO-7816 T=1. El LCR de un mensaje dado se obtiene XOReando el resto de los bytes del mensaje. El XOR de todos los bytes de un mensaje con un LRC añadido a él daría un resultado de 0. Otro método posible de checksum que se puede usar con el protocolo T=1 es el CRC. Ver también. CRC, ISO-7816.




Marco Sasselli: Uno de los chicos de Kudelski que ha desarrollado código para las tarjetas Nagra. Ver también. Karl Osen.




MECM: Un nivel de encriptación superior de las tarjetas Nagra, en el que cada vez que se decodif un comando $03, los datos de clave internos son decodificados XOReándolos con datos que han sido pasados a la CAM en un comando $02 anterior. EchoStar comenzó a usar las extensiones MECM en Noviembre del 2000.




Circuito multi-antena: Dispositivo que permite conectar uno o más IRD a más de una antena. Esto es crítico para Echostar puesto que han separado su programación entre varios satélites en más de un enlace orbital. Así su programación principal se recibe en satélites en un enlace, programación local a local en otro y programas especiales se reciben en satélites en un tercer o cuarto enlace. En el presente, EchoStar ofrece circuitos multi-antena para 2-antenas-1-IRD (SW21), 2-antenas-2-IRDs (el SW42), y 3-antenas-4-IRDs (el SW64). Ver también. enlace, 110, 119, 148, y 61.5.




Nagra: Abreviatura de "Nagravisión". Mucha gente (yo incluido) nos referimos a los fabricantes de tarjetas EChoStar como Nagra o Nagravisión aunque el nombre real de la compañía que hizo la tarjeta EchoStar es S.A. Kudelski. Ver también. Nagravisión.




Nagravisión: Nombre del sistema de acceso condicional usado por EchoStar (y otros proveedores de satélite digital). Fué desarrollado por S.A. Kudelski (una compañía Suiza) se ha sido licenciado para cada proveedor que lo usa. Como parte de la seguridad del sistema, hay algunos aspectos de los esquemas de encriptación y mensajería que (en teoría siempre) sólo los conocen los empleados de S.A. Kudelski.




News Datacom: La compañía que produjo las tarjetas originales que se usaron con el servicio digital DSS de DirecTv. News Datacom se conoce como NDC (abreviatura). Ver también. DirecTV, VideoGuard. 




Nipper: Un hacker que tuvo mucho que ver con las primeras publicaciones sobre el sistema de acceso condicional EchoStar/Nagravisión. Si nos podemos creer los volcados de las EEPROM de las CAMs que hay en Internet, entonces los chicos de S.A. Kudelski ya tienen que conocer a Nipper (o alguien llamado Nipper) porque hay un texto ASCII en las Rev313 y versiones superiores de imágenes de ROM que pone "Nipper is a buttlicker", lo que me hace pensar que por una razón u otra, a la gente de Kudelski no les cae muy bien. Ver también. SCP.




OTP: Acrónimo de "Programable una vez" . Hace referencia a un tipo de memoria (normalmente PROM) que viene de fábrica borrada, y en la cual, cualquier bit que se programa inverso a su estado borrado nunca puede ser devuelto a su estado cuando estaba borrado. En algunos casos (como en las tarjetas Nagra), algunos rangos de la EERPOM se tratan como OTP (haciendo que la lógica de direccionamiento seleccione si se ha de aplicar Vpp a una celda cuando se intenta una operación de borrado. Con ello, se permite escribir algunas zonas de la tarjeta una vez (normalmente por el proveedor o como test de fábrica) nada más. El estado "borrado" de un bit varía en función de las implementaciones particulares de PROM o EEPROM , pero en las tarjetas de Nagra, el estado de bit "borrado" es '0'. Esto significa que cualquier bit '0' en el área OTP se puede programar a '1', pero los bits '1' del área OTP nunca se pueden poner a '0'. Nota: En este caso, 'nunca' es una exageración: En teoría los bits se podrían borrar pero tomando unas medidas de precaución bastante altas.




Clave Permutada: Un clave de decof/codif DES que ya ha pasado por el algoritmo inicial de permutación. Ver también. DES, Clave bruta.




Pirate Girl: El nombre por el que muchos hackers conocen a una mujer que hizo la mayoría de los anuncios en el canal Pirata EchoStar. Era un canal que EchoStar comenzó a emitir poco después de que un montón de hacks gratuitos salieran a la luz, lo que permitió a los hackers 

ver canales del EchoStar que no estaban disponibles a los clientes. La finalidad principal de este canal era convencer a los hackers de que eran odiosos, gente odiosa que debería arrepentirse y pagar sus suscripciones. 




PPV: (Pay-Per-View). Pagar por ver. Un acontecimiento o grupo de ellos que se ofrecen a locutor a coste fijo por un único visionado o día único para ello. El sistema de acceso condicional que usa Nagra transfiere información de PPV desde y hasta la CAm con los comandos $01, $41, $42, y los tipos $0B, $0C, y $11.




Clave bruta: Clave DES de decodif/codif que aún no ha pasado por el algoritmo inicial de permutación. Ver también. DES, Clave permutada.




ROM2: Nombre de la imagen de ROM en las tarjetas Nagra 288-01.




ROM3: Nombre de la imagen ROM en las tarjetas Nagra 288-02 y posteriores.




ROM10: Nombre de la imagen ROM en las tarjetas Nagra 288-09.




S.A. Kudelski: Nombre de la empresa Suiza que creó el sistema de acceso condicional Nagravisión, que es el sistema de acceso condicional que usa EchoStar y otros sistemas de satélite de todo el mundo.




Scenix: Fabricante de un microcontrolador que se puso en el candelero por haber sido usado en un hack auto-update de Nagra. El micro de Scenix es básicamente una copia de alta velocidad del PIC16C54 o del 16C57 con unas cuantas instrucciones más y una pila más grande. La gran ventaja de los micros Scenix es que pueden trabajar ha velocidades de hasta 100Mhz.




SCP: Swiss Cheese Productions. El nombre de un grupo (o quizás de una sola persona) responsable de mucha de la primera información técnica que apareció sobre EchoStar/Nagra y sobre las CAMs. Ver también. Nipper.




SGS Thomson: El nombre de la compañía que fabricó el MCU de ls tarjetas usadas por EchoStar/Nagravisión. Ver también. ST Micro.




Siemens: El nombre de la compañía que fabricó el MCU de la tarjeta usado en las tarjetas DirecTV/NDC de segunda y tercera generación.




Sky Vista: Nombre de un proveedor de satélite disponible para clientes de USA, Puerto Rico, y otros territorios del Caribe. Sky Vista no ofrece una programación muy amplia, pero sí que tiene muchos canales Étnicos. Solo se menciona aquí porque la dirige EchoStar (con Loral) y usan las mismas CAMS e IRDs de EchoStar. 




SLE44: Familia de micros para tarjeta fabricados por Siemens. El SLE44 posee en su corazón un procesador RISC con único conjunto de instrucciones (conocidas por poca gente fuera de Siemens), pero que está hecho mediante el uso de micro código para emular un microcontrolador 8051. Esta es la familia de micros de tarjetas que se usó en las tarjetas DSS de segunda generación. Ver también. News Datacom, Siemens.




SLE66: Familia de micros de tarjetas creada por Siemens. El SLE66 posee en su corazón, un procesador RISC con un único conjunto de instrucciones (conocidas por poca gente fuera de Siemens), pero que está hecho mediante el uso de micro código para emular un microcontrolador 8051. Esta es la familia de micros de tarjetas que se usó en las tarjetas DSS de tercera generación. Ver también. News Datacom, Siemens.




Slot (enlace): Una posición orbital geosíncrona en la que se pueden estacionar satélites por un periodo de tiempo indefinido y disponer de una posición fija desde la que emitir señales a la tierra. En nuestro caso, esas señales son de programación de vídeo y/o audio.




ST16: Familia de micros de tarjetas creadas por ST Micro. La familia ST16 de MCUs de tarjetas tienen un núcleo de procesador que es básicamente un 6805 ligeramente modificado y con algunos periféricos adicionales que mejoran la seguridad de la tarjeta, alta velocidad de cálculo y otros. Ver también. ST16CF54, ST19, ST Micro.




ST16CF54: Controlador de tarjeta usado en las tarjetas e Nagra ROM2 y ROM3. Ver también. ST Micro, ST16, ST19, ST7.




ST19: Familia de micros de tarjetas creados por ST Micro. La familia ST19 de MCUs de tarjeta tienen un núcleo de procesador que se basa en el ST Micro MCU y unos periféricos adicionales que mejoran la seguridad de la tarjeta, dan mayor velocidad de cálculo, etc... Con toda seguridad, este es la familia de micros usada en las tarjetas de Nagra ROM10. Fijaos que al igual que la serie ST16, el núcleo de las ST7/ST19 MCU como es básicamente un 6805 mejorado (aunque el ST7/ST19 está más ampliado que el ST16). Ver también. ST16, ST7, ST Micro.




ST7: Familia de micros producida por ST Micro. Su núcleo MCU es un 6805 ampliamente mejorado con modos de direccionamiento adicionales y más registros. Es el núcleo MCU en que se basan los MCUs de las familias de tarjetas ST19.




ST Micro: La compañía que fabricó el MCU de tarjeta inteligente usando en las tarjetas de Nagra. ST Micro es en realidad el nuevo nombre de SGS Thomson.




SW21: Selector de 2-parab-en-un-IRD vendido por EchoStar (21=2 entradas (1 para cada parab. puesto que sólo hay 1 receptor) , 1 salida)




SW42: Selector de 2-parab-en-2-IRD vendido por EchoStar(42=4 entradas (2 por cada parábola pues hay más de 1 receptor) 2 salidas)




SW64: Selector de 3-parab-en-4-IRDs vendido por Echostar(64=6 entradas (2 por cada parábola pues hay más de 1 receptor) 4 salidas).




SWAJ: Selector de 2-parab-en-1-IRD vendido por Echostar. El SWAJ es realmente un relé que conecta físicamente una antena o la otra usando una señal proporcionada por el conector jack del IRD (AJ=accessory jack, conector jack)




Swiss Cheese Productions: (Producciones Queso Suizo) Ver SCP.




Talk: El nombre de un programa host de PC usado para cargar actualizaciones de clave y patches en hacks comerciales GAP, AVR2, y E3M . Hay una versión Windows llamada WinTalk.




Centro de subida: Localización central desde la que se gestiona toda la programación e información de control de un proveedor. Además, el centro de subida es normalmente el lugar desde los varios canales de datos se reúne para ser subidos a los satélites del proveedor, así como el lugar desde el que el proveedor recibe las distintas señales de alimentación desde sus fuentes originales (ej: Cuando EchoStar emite HBO, ésta no parte directamente desde HBO hasta el satélite de Echostar sino que HBO sube su señal hacia un satélite en el que tienen un espacio de transponder alquilado (en este caso, la carga digital de HBO va al Galaxy 1R a 133 º oeste). La señal de HBO se recibe por el Galaxy 1R mediante las parábolas del centro de subida de Echostar. La señal de HBO entonces se decodifica (la mayoría de los proveedores codifican su señal de una forma u otra), se convierte en un flujo DVB requerido por los IRDs de EchoStar, decodificado usando la clave generada por EchoStar o Nagra, y luego subida a uno de los satélites de Echostar (en este caso, al EchoStar I, II o IV a 119º oeste). Esta señal 

se dirige luego hacia la tierra donde es recogida por tu pequeña parábola y convertida en imágenes en tu pantalla de televisión, como por arte de magia. 




Hash válido: Firma de 8 bytes usada para verificar la autenticidad de un EMM o ECM. Para más información sobre el hash válido, ver la sección 8, "Encriptación".




Vía Digital: Nombre de un servicio digital de satélite disponible a suscriptores de España ( y quizás la mayoría del resto de Europa y norte de África) . Aparecen aquí porque usan IRDs y antenas proporcionadas por EchoStar y CAMs de Nagra.




VideoGuard: Nombre del sistema de seguridad y codificación de video digital de News Datacom. La característica más relevante del VideoGuard es que usa un algoritmo de verdad deconocimiento cero (ZKT) que permite decidir al IRD si la CAM es un dispositivo original y genuino de NDC. Aunque Kudelski quiere incorporar este algoritmo en su sistema de NagraVision, no puede hacerlo porque News Datacom posee las patentes del algoritmo ZKT. Ver también. ZKT. 




Cuña: Un tipo de hack u otro dispositivo que consta de una tarjeta PC que se enchufa en la ranura de tarjeta del IRD y al que a su vez se le enchufa la CAM. Ofrecen ventajas superiores a la mayoría de los otros hacks: Puesto que tienen una CAM enchufada, pueden usarla para desarrollar tareas complejas que serían , de otro modo, difíciles de elaborar con su propio microcontrolador. 




Wintalk: Versión Windows del Talk. Ver también. Talk.




Wyoming: Estado en el que se encuentra el centro de subida de EchoStar. Ver también. Cheyenne, uplink center




Xfile: Un enabler tipo emulador para el hack de Nagravisión. El XFile funciona sobre un Atmel 90S8515, e intenta imitar la mayoría de los comandos conocidos de la CAM original de Nagra. Las nuevas versiones de Xfile incluyen características como un teclado para meter claves actualizadas cuando están disponibles, circuitos de reset mejorado que les permiten trabajar con un rango mayor de receptores Echostar , etc...




ZKT: Medio mediante el que dos entidades (en nuestro caso, IRD y CAM) pueden verificar con independencia de la autentidad del otro sin divulgar datos que permitirán a un agresor actuar como cualquiera de ellas y fingir una autentificación hacia la otra entidad. Las patentes de los algoritmos ZKT están en poder de los empleados de News Datacom y , como resultado, la tecnología ZKT forma parte del sistema VideoGuard de News Datacom, pero no puede ser incorporado en el sistema Nagra de Kudelski. Ver también. Nagravisión, News Datacom, S.A. Kudelski, VideoGuard.
flores/n3/manuales.txt · Última modificación: 2018/11/08 08:02 (editor externo)