MÉTODO E DISPOSITIVO PARA CONTROLE DE ACESSO DE DADOS CRIPTOGRAFADOS
Área Técnica
A presente invenção refere-se a um método e um dispositivo para controle de acesso de dados criptografados por senhas de controle. Estas senhas de controle são recebidas em mensagens de controle por um módulo de segurança e retornadas a uma unidade de processamento para dados criptografados.
O presente método e dispositivo são aplicados, em particular, no campo da TV paga.
Estado da Técnica
Em um método conhecido, em particular no acima mencionado campo da TV paga, os dados são criptografados por um fornecedor de dados por meio das chaves criptografadas chamadas senhas de controle. Estes dados são transmitidos às unidades de multimídia dos usuários ou de assinantes. Paralelo a isto, as senhas de controle são transmitidas a estas unidades de multimídia na forma de um fluxo de mensagens de controle.
As unidades de multimídia são compostas geralmente de uma unidade de processamento que, no caso de TV paga, é um decodificador que recebe o fluxo acima mencionado e de um módulo de segurança responsável pelas operações criptográficas relacionadas ao uso desses fluxos.
Como é sabido por àqueles hábeis na arte, este tipo de módulo de segurança pode essencialmente ser produzido de acordo com quatro formas distintas. Uma delas é um cartão microprocessador, um smart card’’1, ou mais geralmente um módulo
Smart Card: é um cartão que geralmente assemelha-se em forma e tamanho a um cartão de crédito convencional de plástico com tarja magnética. Possui capacidade de processamento, pois embute um =adCe 6 meTa (qUe armaZena VárÍ°S tÍp°S de info«o na forma eletrônica), ambos com sofisticados mecanismos de segurança.
2/23 eletrônico (na forma de uma chave, de emblema,...). Este tipo de módulo é geralmente removível e pode ser conectado ao decodificador. A forma com contatos elétricos é o mais usado, porém o uso de uma conexão sem contato não é excluído, por exemplo, o modelo do ISO 14443.
Uma segunda forma conhecida é aquela de uma caixa de circuito integrado instalada, geralmente de uma maneira definitiva e irremovível, na caixa do decodificador. Uma variável é composta de um circuito montado em uma base ou conector, tal como um conector de módulo SIM.
Em uma terceira forma, o módulo de segurança é integrado em uma caixa de circuito integrado, que também tem uma outra função, como por exemplo, em um módulo decifrador de um decodificador ou do microprocessador de um decodificador.
Em uma quarta forma, o módulo de segurança não é produzido materialmente, mas particularmente sua função é executada somente na forma de software. Dado isso nos quatro casos, embora o nível da segurança difira, a função é idêntica. É possível falar sobre um módulo de segurança não obstante a maneira da qual funciona ou a forma de que este módulo pode assumir.
Quando uma unidade de multimídia recebe o fluxo que contém as senhas de controle, primeiro é verificado se o usuário dispõe dos direitos para decifrar os dados específicos. Se este for o caso, as mensagens de controle são decifradas a fim extrair as senhas de controle. Estas senhas de controle por sua vez são usadas para decifrar os dados.
Como também é sabido, cada senha de controle permite geralmente que uma parte pequena dos dados transmitidos seja decifrada. Tipicamente, uma senha de controle permite que 10 segundos de um evento de TV paga sejam decifrados. Após esta duração de tempo, chamada criptoperíodo2, a senha de controle é mudada por razões de segurança.
Criptoperíodo: período em que uma chave (código) é válida.
3/23
Uma maneira possível de aproveitar o acesso aos dados criptografados sem ser autorizado, consiste em usar uma unidade genuína de multimídia com um módulo de segurança real, mas distribuir as senhas de controle a um jogo de decodificadores. Isto pode ser feito por meio de um servidor ou dispositivo separador conhecido como “splitter”. Consequentemente, as quantidades relacionadas à aquisição de direitos de acesso aos dados criptografados são pagos por uma única unidade de multimídia quando os eventos forem acessíveis de diversas unidades de multimídia.
O pedido de patente europeu No. EP 1575293 descreve um método cuja intenção é impedir que um módulo de segurança seja compartilhado por diversos usuários. Para a implementação desse método, o módulo de segurança dispõe de uma memória, cujo objetivo é memorizar as sequências da mensagem de controle. O módulo de segurança também dispõe de meios para analisar uma sequência anormal de mensagem de comando. Estes meios trabalham para comparar as mensagens de controle memorizadas. Quando uma sequência anormal é detectada, um erro na contagem é adicionado. Um tempo de atraso no processamento das senhas de controle é introduzido de acordo com o valor da contagem de erro.
No método descrito neste pedido de patente, um comportamento anormal é definido com base na análise dos canais utilizados. Como um exemplo, se o canal identificador é alternativamente A e depois B, os meios de análise avaliam que este se refere a uma seqüência anormal relativa à partilha do módulo de segurança. O erro de contagem é então adicionado. Do contrário, se o canal identificador é A para vários criptoperíodos, então passa para B por vários criptoperíodos, não será considerado como um comportamento anormal e a contagem de erro não será adicionada.
A invenção descrita no pedido de patente US 2004/0215691 pretende impedir este uso fraudulento. A fim de alcançar isto, cada vez que uma mensagem de controle é recebida por uma unidade de multimídia, esta unidade ou o módulo de segurança, ao qual ela está associada, determina para qual canal esta mensagem de controle está relacionada. Os canais identificadores são memorizados com um tempo de informação. As mensagens são comparadas a fim de determinar se elas são relacionadas a diferentes canais ou a um mesmo canal. Se elas forem relacionadas a diferentes canais,
4/23 uma contagem é adicionada por um certo valor. Se as mensagens de controle forem relacionadas a um mesmo canal, a contagem é eliminada. Se a contagem alcançar o valor mínimo estabelecido, isto significa que muitas mudanças de canais ocorreram e a decodificação das senhas de controle é interrompida.
Os dois processos descritos no documento EP 1575293 e US 2004/0215691 indicam que é necessário haver um identificador de canal relativo a cada mensagem de controle por eliminação. Em certas configurações, isto não é o caso. Usando as mensagens de controle como definidas, em particular, no Eurocrypt3 No. EN 50094, padrão de Dezembro de 1992, é possível identificar uma classe de canais melhor que cada canal. Neste caso, é impossível, com a invenção descrita acima, bloquear o uso de diversas unidades de multimídia que utilizam apenas um módulo de segurança e um “splitter”.
O documento “Medidas Defensivas para Ataques às Placas de TV por Satélite Usando Receptores Abertos” XP-002333719, por Francis et al., descreve de uma maneira muito comum, diferentes formas para inibir o uso fraudulento de módulos de segurança. De acordo com um aspecto em particular, este documento sugere verificar se o selo de tempo de uma mensagem é estabelecido no futuro em relação ao selo de tempo de uma mensagem previamente recebida. Entretanto, este documento não menciona solução concreta alguma. Em particular, não há informação permitindo uma distinção para ser feita entre um uso ilegal de um módulo de segurança por diversos usuários e uma mudança legal de canal por apenas um usuário.
Descrição da Invenção
A invenção propõe concretizar uma solução alternativa para a questão mencionada no estado da técnica, na qual o uso do canal identificador é inibido, enquanto previne o uso do dispositivo separador que permite o acesso de vários decodificadores, a um conteúdo criptografado, a partir de um módulo de segurança. Além disso, de acordo com essa solução, um referido identificador de canal não é necessário, desde que esta solução também opere no caso onde as mensagens de controle não contenham tal canal identificador, mas onde os canais são agrupados por classe, por exemplo.
Eurocrypt: importante conferência de estudo da criptografia.
5/23
0¾
O objetivo da invenção é alcançado através do método de controle de acesso a dados criptografados por senhas de controle. Estas senhas de controle são recebidas em mensagens de controle por um módulo de segurança e retornadas a uma unidade de processamento para dados criptografados. Este método compreende as seguintes etapas:
- recepção de uma primeira mensagem de controle compreendendo, pelo menos, uma senha de controle e um selo de tempo;
- recepção de uma segunda mensagem de controle seguindo a primeira mensagem de controle. Esta segunda mensagem compreende, pelo menos, uma senha de controle e um selo de tempo;
- determinação de um tempo de duração correspondente a diferença entre os selos de tempo das duas mensagens de controle consecutivas;
- se este tempo de duração é inferior ao tempo de duração predefinido, o erro de contagem é adicionado;
- se este tempo de duração é igual ou superior ao referido tempo de duração predefinido, o erro de contagem deve ser eliminado.
O objetivo da invenção é também alcançado através de um dispositivo para controle de acesso a dados criptografados pelas senhas de controle. Estas senhas de controle são recebidas nas mensagens de controle por um módulo de segurança e retomadas a uma unidade de processamento para dados criptografados. Este dispositivo compreende:
- recepção por meio de uma primeira mensagem de controle compreendendo, pelo menos, uma senha de controle;
6/23
- recepção por meio de uma segunda mensagem de controle consecutiva a primeira mensagem de controle. Esta segunda mensagem de controle compreende, pelo menos, uma senha de controle;
- meios de determinar um tempo de duração que separa as duas mensagens de controle consecutivas;
- meios para adicionar uma contagem de erro se este tempo de duração for inferior ao tempo de duração predefinido;
- meios para eliminar referida contagem de erro se o tempo de duração for igual ou superior ao mencionado tempo de duração predefinido.
Em geral, o método e o dispositivo, de acordo com esta invenção, tornam possível determinar, de acordo com o tempo de informação relacionado às mensagens de controle emitidas por um centro de gerenciamento, se estas mensagens de controle são emitidas e processadas de acordo com um uso fraudulento ou convencional. A contagem de erro permite que medidas sejam tomadas quando o uso anormal é detectado. Há vários tipos de medidas, tal como a interrupção momentânea de um serviço, atraso no retorno das senhas de controle, ou até mesmo o bloqueio do módulo de segurança, no qual a abertura pode ser realizada automaticamente ou por solicitação através de um telefone de serviço. No caso de uso convencional, o usuário não notará mudança alguma devido ao uso deste método. Uso convencional é entendido para indicar ambos, o acesso ao conteúdo criptografado em um determinado canal, assim como, a mudança de um canal (zapping) em um período e durante um “razoável” tempo de duração. Do contrário, no evento de uso fraudulento de um dispositivo separador que está fornecendo vários decodificadores a partir de um único módulo de segurança, o acesso ao conteúdo criptografado toma-se rapidamente impossível. Quando o uso está novamente correto, o acesso aos dados pode ser autorizado novamente.
7/23
1>
Breve Descrição dos Desenhos
A presente invenção e suas vantagens serão melhor compreendidas com referência as figuras anexas e a descrição detalhada de uma modalidade particular, dadas como exemplos não limitativos, nos quais:
- a figura 1 mostra um exemplo de estrutura de uma mensagem de controle, tal como aquela usada na presente invenção;
- a figura 2 mostra uma configuração, na qual dois decodificadores são usados com apenas um módulo de segurança e um dispositivo separador;
- a figura 3 representa esquematicamente uma forma de processo de decodificação de acordo com esta invenção;
- a figura 4 mostra a recepção da mensagem de controle ECM, de acordo com o tempo;
- a figura 5 representa um valor de contagem de erro, de acordo com o tempo e as mensagens de controle recebidas como ilustrado na figura 4; e
- a figura 6 mostra uma variável da invenção, na qual diferentes criptoperíodos são usados em diferentes canais.
Métodos para Executar a Invenção
A figura 1 mostra esquematicamente o conteúdo e a estrutura de uma mensagem de controle ECM como usada na presente invenção. Esta mensagem de controle ECM, contém campos, nos quais um selo de tempo representa uma data e um tempo, a duração do criptoperíodo CP, condições de acesso CA ao conteúdo de áudio/vídeo e duas senhas de controle CW1, CW2, de diferente paridade, são encontram em particular. A mensagem de controle também pode compreender outros campos não descritos aqui em detalhes. Os dados contidos nos campos da mensagem de controle são geralmente criptografados pela chave de transmissão TK. Esta mensagem também pode compreender um ou mais cabeçalhos que não estão necessariamente criptografados. Em particular, assim
8/23 como uma mensagem inclui um cabeçalho H que permite a unidade de multimídia identificá-la como uma mensagem de controle ECM e a qual não deve ser criptografada. Pode ser notado que o criptoperíodo não está necessariamente contido em tal mensagem de controle.
De fato, se o criptoperíodo de diferentes canais são idênticos e permanece constante durante um certo período de tempo, o criptoperíodo pode ser emitido em uma mensagem de gerenciamento EMM.
De acordo com uma primeira forma, esta invenção funciona geralmente da seguinte maneira. Convencionalmente, uma mensagem de controle ECM é emitida à unidade de multimídia compreendendo um decodificador STB e um módulo de segurança SC. No recebimento desta mensagem de controle, as condições de acesso CA requeridas para acessar um determinado conteúdo, chamado daqui por diante conteúdo de áudio/vídeo, são extraídas desta mensagem de controle pelo módulo de segurança. Então, o módulo de segurança verifica se ela dispõe de direitos para retornar a senha de controle. Se este não for o caso, a senha de controle não retorna. Se os direitos de decodificação estão presentes, a senha de controle é transmitida ao decodificador.
O valor do criptoperíodo CP é também extraído da mensagem de controle ou determinado de uma outra maneira. Este valor CP é memorizado em uma memória conectada ao módulo de segurança. A senha de controle apropriada é retomada ao decodificador, geralmente de forma criptografada, por uma chave de sessão. A chave de sessão é geralmente derivada de um par de chaves assimétricas, das quais uma das chaves é memorizada no módulo de segurança e a outra é memorizada no decodificador. As chaves deste par de chaves são chamadas de chaves emparelhadas e em um princípio são diferentes e únicas para cada unidade de multimídia. O conteúdo criptografado pode então ser decodificado por esta senha de controle e exibida na tela do usuário. O mecanismo de emparelhar é descrito em detalhes na patente européia publicada com o No. EP 1078524.
Quando uma outra mensagem de controle é recebida pela unidade de multimídia, ela é decodificada de tal forma para extrair entre outros, o selo de tempo TS.
9/23
Este selo de tempo é comparado com o selo de tempo memorizado durante o processamento da mensagem de controle anterior. A diferença entre estes dois selos de tempo é comparada com o criptoperíodo também memorizado no processamento da mensagem de controle. Se esta diferença for inferior ao valor do criptoperíodo, isto significa que a unidade de multimídia tem recebido mais de uma mensagem por criptoperíodo e um valor de contagem é adicionado. Esta contagem, chamada contagem de erro CE na seguinte descrição, é em princípio instalada no módulo de segurança. O acréscimo desta contagem é, deste modo, realizado quando ao módulo de segurança é solicitado para retornar senhas de controle de acordo com uma freqüência superior ao criptoperíodo, por um usuário de mudança de canal ou pelo funcionamento de mais de uma unidade de multimídia no mesmo módulo de segurança.
A figura 2 representa uma configuração contra a qual esta invenção pretende lutar. Nesta configuração, dois dispositivos de processamento de dados ou dois decodificadores STB1 e STB2 são fornecidos com senhas de controle por apenas um módulo de segurança e um dispositivo separador. Nesta configuração, quando um dos decodificadores recebe uma mensagem de controle ECM, ele a transmite para o dispositivo separador SP, o qual por sua vez, a manda de volta ao módulo de segurança SC. O último decifra referida mensagem se estiver autorizado a fazê-lo, então transmite a senha de controle para um dos decodificadores STB1 ou STB2 por meio de um dispositivo separador SP.
Na figura 2, apenas dois decodificares estão representados. Em teoria, é possível para um grande número de decodificadores ser fornecido com senhas de controle por apenas um módulo de segurança e um dispositivo separador.
Pode ser notado que o processo apenas controla tempos de duração relacionados às mensagens de controle ECM. Se outros tipos de mensagens, como, por exemplo, mensagens de gerenciamento EMM, são emitidas entre duas mensagens de controle, estes outros tipos de mensagens não serão levados em consideração e não perturbarão o funcionamento do processo.
10/23
1M
Uso de Contagem de Erro de Dados
Um exemplo de modalidade, em particular, é descrito abaixo com referência a figura 3. Nesta modalidade, o valor da contagem de erro CE é usado para introduzir um tempo de atraso no retorno das senhas de controle CW, extraídas das mensagens de controle ECM. No exemplo da figura 3, nós usamos a hipótese de que o criptoperíodo é de 10 segundos. No recebimento de uma primeira mensagem de controle ECM1, esta última é processada de tal maneira que as senhas de controle que ela contém, chamadas respectivamente de CWl(Cl) e CW2(C1), são extraídas. Pode ser notado na figura, que a parte superior corresponde ao canal Cl e a parte inferior correspondente ao canal C2. A fim de evitar a inclusão de muitos detalhes nesta figura, a senha de controle CWl(Cl) correspondente ao canal Cl é simplesmente marcada como CW1. Da mesma forma, a senha de controle CW1(C2) correspondente ao canal C2 é também marcada como CW1 na figura. Devido ao seu posicionamento na figura, a distinção entre as duas senhas de controle é evidente. Na descrição, o canal identificador é indicado em colchetes.
O processamento da mensagem de controle ECM1 dura geralmente uns 10 milisegundos. Enquanto uma das senhas de controle, por exemplo, a senha de controle CWl(Cl) é usada, a outra senha de controle CW2(C1) contida na mesma mensagem de controle ECM1 é memorizada. A mensagem de controle correspondente ao mesmo canal conterá geralmente a senha de controle memorizada durante o processamento da mensagem anterior, bem como uma senha de controle adicional, a qual é fornecida para uso durante o próximo criptoperíodo. Neste caso, cada senha de controle é emitida duas vezes. Este método de trabalho apresenta a vantagem de que as senhas de controle diferentes daquelas recebidas imediatamente após uma mudança de canal são memorizadas antes de serem usadas, então sendo imediatamente disponíveis quando necessário.
A contagem de erro CE introduz um tempo de atraso no retomo das senhas de controle do módulo de segurança ao decodificador. Isto significa que ao invés de processar uma mensagem de controle ECM e retomar as senhas de controle assim que elas são extraídas, a emissão de referidas senhas de controle ao decodificador é retardado por um tempo de duração que depende do valor memorizado nesta contagem.
11/23
A figura 3 representa um exemplo onde um dispositivo separador (splitter) é usado ilegalmente entre o módulo de segurança e dois decodificadores STB1 e STB2. No caso mais simples, onde os criptoperíodos são idênticos e onde os usuários não mudam o canal, com a configuração descrita acima, duas mensagens de controle serão recebidas por cada criptoperíodo. Então, para cada criptoperíodo, um valor da contagem de erro CE será adicionado. Esta adição pode ser feita de acordo com valores predefinidos, por exemplo, de duas unidades. Como no exemplo, imagine que um atraso de tempo é introduzido pelo processamento das mensagens de controle de 1 segundo por unidade da contagem de erro do momento quando este valor exceder um limite de 10. Quando a contagem ainda não tiver alcançado este limite de 10 ou igual a 10, nenhum atraso de tempo será introduzido.
Se o valor inicial da contagem for zero (CE=0), no recebimento da primeira mensagem de controle ECM1, o valor do criptoperíodo CP, por exemplo, 10 segundos, será memorizado. As senhas de controle CWl(Cl) e CW2(C1) são decodificadas. A senha de controle CWl(Cl) é usada para decodificar um conteúdo de áudio/vídeo e a senha de controle CW2(C1) é memorizada para uso subseqüente. O selo de tempo TS=T0 é extraído da mensagem de controle e memorizado. Quando a próxima mensagem de controle ECM2 é recebida pela unidade de multimídia, esta última extrai o selo de tempo Tl. A segunda mensagem de controle ECM2 é processada a fim de extrair as senhas de controle, para usar a primeira delas CW1(C2) e memorizar a outra CW2(C2). Então, a diferença entre T0 e Tl é calculada e, por exemplo, 6 segundos são obtidos.
Este valor é comparado ao memorizado pelo criptoperíodo CP que é, em nosso exemplo, 10 segundos. Dado que a diferença dos selos de tempo T1-T0 é inferior ao do criptoperíodo CP, o valor da contagem de erro CE é acrescido, em nosso exemplo por 2 unidades. Este valor é, desta forma, 2.
No recebimento da próxima mensagem de controle ECM3, correspondente ao primeiro canal Cl, o valor da contagem de erro CE é verificado. Como este valor é 2 e então inferior ao valor limite de 10 previamente definido, nenhum tempo de atraso é introduzido. O módulo de segurança processa a mensagem, primeiramente extraindo o selo de tempo TS=T2. Como o criptoperíodo é 10 segundos, o resultado é T212/23
TO = 10. Como Tl-T0=6 neste exemplo, T2-T1 = 4 segundos. Uma vez que este valor é inferior ao criptoperíodo, o valor da contagem de erro é adicionado por duas unidades e passa para 4. As senhas de controle CW2(C1) e CW3(C1) são extraídas da mensagem. Durante este tempo, o conteúdo de áudio/vídeo é decodificado usando a senha de controle CW2(C1) originada da mensagem de controle anterior.
No recebimento da próxima mensagem de controle ECM4, o módulo de segurança também processa a mensagem e retorna as senhas de controle sem introduzir um atraso de tempo. Durante este tempo, o decodificador STB2 usa a senha de controle CW2(C2) originada da mensagem anterior para decodificar o conteúdo de áudio/vídeo.
A diferença entre o selo de tempo desta mensagem e da anterior é 6 segundos. Desta forma, inferior ao criptoperíodo. O valor da contagem de erro CE é acrescido por duas unidades e é desta forma valor 6. As senhas de controle CW2(C2) e CW3(C2) são extraídas da mensagem. Quando o conteúdo de áudio/vídeo deve usar a senha de controle CW3(C2) a fim de ser decodificado, esta senha de controle estará disponível assim que tiver sido decodificada na mensagem de controle recebida anteriormente ECM4.
A unidade de multimídia receberá então a quinta mensagem de controle ECM5, contendo as senhas de controle CW3(C1) e CW4(C1). Durante este tempo, a senha de controle CW3(C1) pode ser decodificada a fim de acessar o conteúdo de áudio/vídeo, como esta senha de controle já havia sido enviada na mensagem de controle anterior ECM3. Como a diferença entre um selo de tempo da mensagem de controle ECM4 e da mensagem de controle ECM5 é inferior ao criptoperíodo, o valor da contagem de erro é acrescido por 2 unidades a fim de passar para 8.
De forma semelhante, a próxima mensagem de controle ECM6 contém as senhas de controle CW3(C2) e CW4(C2) que podem ser usadas para decodificar o conteúdo de áudio/vídeo. O selo de tempo contido nesta mensagem significa que a contagem de erro está acrescida por 2 unidades a fim de passar para 10.
13/23
A seguinte mensagem de controle ECM7 contém as senhas de controle CW4(C1) e CW5(C1). Uma vez que a contagem de erro contém o valor 10 que é igual ao limite de valor, mas não superior a este valor, a mensagem ECM7 é processada a fim de retomar as senhas de controle imediatamente. Isto significa que a senha de controle CW5(C1) estará disponível no momento necessário ao conteúdo de áudio/vídeo. A contagem de erro será acrescida novamente por 2 unidades para passar a 12 e, desta forma, excedendo o valor limite.
A seguinte mensagem de controle ECM8 contém as senhas de controle CW4(C2) e CW5(C2). Esta mensagem é processada imediatamente, mas as senhas de controle que ela contém não retornarão até após um tempo de espera de 12 segundos. Isto significa que com um criptoperíodo de 10 segundos, as senhas de controle retornam 2 segundos após o fim do criptoperíodo. Durante estes dois segundos, a senha de controle, a qual é necessária para acessar o conteúdo de áudio/vídeo, é a senha CW5(C2). Entretanto, esta senha de controle não é acessível antes de ser retornada ao decodificador. O resultado é que durante estes dois segundos, o conteúdo de áudio/vídeo não está acessível. O resultado para a tela do usuário pode ser uma imagem dispersa ou uma tela uniformemente preta ou branca.
O processo continua desta maneira pela adição de duas unidades à contagem de erro e conseqüentemente dois segundos para o tempo de retorno das senhas de controle. Então, durante o processamento da seguinte mensagem de controle ECM9, o conteúdo de áudio/vídeo não estará acessível por 4 segundos. Quanto às mensagens consecutivas ECM10, ECM11 e ECM12, o tempo de duração, no qual é impossível o acesso ao conteúdo de áudio/vídeo, será 6 segundos, 8 segundos e 10 segundos, respectivamente. Como pode ser facilmente observado, quando o tempo de atraso é igual a duas vezes o criptoperíodo, o conteúdo não está mais acessível.
O selo de tempo TS tal como descrito acima pode ter uma “resolução” de aproximadamente um segundo, ou até mesmo poucos segundos, por exemplo, 4 segundos na teoria. Isto significa que a diferença entre dois valores de selo de tempo, também será expresso em segundos e não em fração de segundos.
14/23
Deve ser notado que o exemplo descrito acima usa um tempo dado por selos de tempo. Se a unidade de multimídia, quer dizer, o módulo de segurança e/ou o decodificador contém um relógio, é claro que é possível calcular a diferença entre dois tempos fornecidos por um relógio e não mais entre dois valores de tempo. Em ambos os casos, o princípio da invenção, entretanto, se mantém o mesmo.
Uso do Buffer de Memória
O sistema como descrito acima apresenta uma limitação quando o “buffer”* de memória é usado para memorizar conteúdo de áudio/vídeo a fim de compensar o atraso induzido por um módulo de segurança e, desta forma, restituindo o conteúdo inoperante.
Um dos métodos para restituir esta memorização desnecessária ou pelo menos ineficaz, consiste em não fixar um limite maior no atraso induzido pela contagem de erro ou fixar um limite muito alto. Neste modo, desde que a contagem de erro aumente por dois a cada mensagem de controle não convencional, ela praticamente alcançará sempre um valor acima de duas vezes o criptoperíodo ou até mais, de tal forma a exceder o intervalo introduzido por um buffer de memória. Daqui em diante, a totalidade do conteúdo de áudio/vídeo não está mais acessível. Entretanto, isto pode apresentar uma desvantagem.
Na verdade, se a contagem de erro alcançar um valor considerável, é necessário esperar durante um tempo de duração considerável após o “splitter” ter sido interrompido, a fim de forçar a redução da contagem de erro suficientemente para que o sistema opere corretamente mais uma vez.
4 Buffer: Em ciência da computação, trata-se de uma região de memória temporária utilizada para escrita e leitura de dados. Os dados podem ser originados de dispositivos (ou processos) externos ou internos ao sistema. O buffer pode ser implementado em software (mais usado) ou hardware. Normalmente são utilizados quando existe uma diferença entre a taxa em que os dados são recebidos e a taxa em que eles podem ser processados, ou no caso em que essas taxas são variáveis.
15/23
Uma outra maneira para realizar esta memorização ineficaz, consiste no não retorno das senhas de controle as quais, levando em conta o atraso, devem ser enviadas dentro de um período durante o qual o conteúdo não está mais criptografado pelas senhas de controle, admitidas para serem enviadas pelo módulo de segurança. Como um exemplo, a mensagem de controle com referência ECM8 na figura 2, contém as senhas de controle CW4(C2) e CW5(C2). Com o valor da contagem de erro de 12, estas senhas de controle devem retornar após o final do criptoperíodo. Neste caso, estas senhas de controle não são retomadas. Uma vez que a senha de controle CW4(C2) está contida na mensagem ECM6, o conteúdo de áudio/vídeo pode ser decodificado até o final do criptoperíodo usando estas senhas de controle. Uma vez que a próxima mudança tenha sido executada, o conteúdo não será mais acessível. Entretanto, a contagem de erro continua a ser acrescida desde que o envio da freqüência das mensagens de controle não tenha sido modificado.
Redução da Contagem
No modo de uso não autorizado descrito anteriormente, é claro que se dois usuários tiverem acesso ao mesmo módulo de segurança a fim de decodificar dados, estes dados se tornarão rapidamente inacessíveis. Se um dos usuários interromper o acesso ao módulo de segurança, uma provisão pode ser feita para o usuário “legal” ser apto a ter acesso a este conteúdo novamente. Por esta razão, a solução proposta consiste na redução da contagem de erro CE de acordo com as regras predefinidas.
As figuras 4 e 5 ilustram esquematicamente a redução da contagem de erro, bem como seu acréscimo de acordo com o criptoperíodo CP e a diferença entre os selos de tempo das duas mensagens de controle ECM sucessivas. De acordo com uma possível regra, cada vez que uma mensagem de controle ECM é recebida corretamente, quer dizer, quando a diferença entre o selo de tempo de uma dada mensagem e de uma mensagem anterior for igual ao criptoperíodo, a contagem de erro é reduzida por uma unidade. Como na ilustração, a figura 4 representa as mensagens de controle ECM recebidas durante o tempo, enquanto a figura 5 mostra o valor da contagem de erro CE também de acordo com o tempo.
16/23
Deve ser notado que neste exemplo, o valor inicial da contagem de erro não é zero, mas foi fixado em 2. Dado que nenhum atrasado foi introduzido enquanto o valor limite não tenha sido excedido, este valor inicial de não-zero não possui efeito negativo na decodificação. Do contrário, o efeito deste será que no caso de uso fraudulento, o valor limite, do qual um atraso é introduzido, é alcançado rapidamente.
O retorno das senhas de controle contidas em uma primeira mensagem de controle não é atrasada desde que o valor limite não seja alcançado. A primeira senha de controle permite que o conteúdo de áudio/vídeo seja acessado. A segunda senha de controle é memorizada por um decodificador. Ao final do criptoperíodo, uma nova mensagem de controle ECM2 é recebida pela unidade de multimídia. Comparando o selo de tempo das duas mensagens com o criptoperíodo da primeira mensagem de controle ECM1, parece que o criptoperíodo é igual a diferença entre os selos de tempo contidos nas mensagens de controle. Neste momento, o valor da contagem de erro CE é reduzido de acordo com a regra predefmida, neste caso de uma unidade. Então, ele possui o valor de 1.
Quando a seguinte mensagem de controle é recebida pela unidade de multimídia, o valor da contagem de erro é verificado. Este tem o valor de 1. Então, nenhum tempo de atrasado é aplicado. Durante este tempo, a senha de controle memorizada anteriormente, originada da mensagem de controle anterior é usada para acessar o conteúdo de áudio/vídeo. O valor da contagem é reduzido de acordo com a regra predefinida e agora toma o valor de zero.
No exemplo ilustrado, a unidade de multimídia recebe uma nova mensagem de controle ECM4, onde a diferença entre o selo de tempo desta mensagem e da mensagem anterior é inferior ao criptoperíodo. Neste momento, o valor da contagem é acrescido por duas unidades para passar a 2. Este acréscimo pode tomar lugar por duas diferentes razões. De acordo com uma dessas razões, o usuário que muda o canal (zapping). De acordo com outra razão, um “splitter” é usado. Como já explicado com referência a figura 3, o valor da contagem aumenta, por exemplo, dois a dois.
No exemplo das figuras 4 e 5, a diferença entre os selos de tempo de duas mensagens de controle ECM consecutivas é inferior ao criptoperíodo até a mensagem
17/23 de controle com a referência ECM8. 0 valor da contagem de erro aumenta dois a dois até alcançar o valor de 12. Como indicado com referência à figura 3, quando este valor de contagem exceder a 10, um atraso de tempo no retomo das senhas de controle é introduzido. Então, o usuário não terá acesso a totalidade do conteúdo de áudio/vídeo. Nas figuras 4 e 5, no momento da recepção das mensagens de controle ECM9 a ECM12, a diferença entre o selo de tempo é igual ao criptoperiodo e o valor da contagem de erro CE é então reduzido por 1 a cada mensagem. Assim que este valor da contagem alcançar 10, o tempo de atraso para processamento é cancelado e a totalidade do conteúdo de áudio/vídeo torna-se acessível ao usuário.
A figura 6 ilustra uma modalidade particular da invenção, na qual o criptoperiodo difere de um canal para outro. Nesta figura, também é pretenso que o dispositivo da invenção é usado fraudulentamente para fornecer dois decodificadores de apenas um módulo de segurança e que, além disso, cada canal apenas receba uma das duas mensagens de controle. O uso de uma das duas mensagens de controle é possível devido ao fato de cada uma delas conter duas senhas de controle. Então, também neste caso, todas as senhas de controle estarão disponíveis para os dois canais.
Como um exemplo, é pretenso que o criptoperiodo do canal 1, representado na parte superior da figura 6, é de 7 segundos. O criptoperiodo do canal 2, representado na parte inferior da figura, é de 5 segundos. Nós vamos considerar o caso onde a primeira mensagem de controle de cada canal Cl e C2 são simultaneamente recebidos. A primeira mensagem de controle ECMl(Cl) do canal 1 contém uma indicação de acordo com o qual, o criptoperiodo é de 7 segundos. Esta mensagem contém senhas de controle CWl(Cl) e CW2(C1).
A primeira mensagem de controle do canal 2 contém um criptoperiodo de segundos, bem como senhas de controle CW’1(C2) e CW’2(C2).
No exemplo representado na figura 6, as seguintes mensagens de controle de cada canal não são usadas. A próxima mensagem a ser usada é a mensagem de controle com referência ECM2(C2). Esta mensagem é recebida dois criptoperíodos após a primeira
18/23 mensagem ECM1(C2), então é considerada como válida. O valor da contagem de erro é então mantido em um valor zero ou possivelmente reduzido.
A próxima mensagem recebida pelo módulo de segurança possui a referência ECM2(C1). Ela é recebida dois criptoperíodos após a primeira mensagem ECMl(Cl), ou seja, após 14 segundos em nosso exemplo. Isto significa que também é recebida 4 segundos após a mensagem ECM2(C2) correspondente ao canal C2. Este valor de 4 segundos é inferior ao criptoperíodo contido na mensagem de controle anterior. O valor da contagem de erro é então acrescido por 2 unidades, se a mesma regra do exemplo anterior for aplicada. Este valor da contagem de erro é então 2.
A próxima mensagem será recebida após 4 criptoperíodos do canal C2, quer dizer (4x5)-(2x7) = 6 segundos após a última mensagem recebida ECM2(C1). Uma vez que esta mensagem contém o valor de 7 segundos para o criptoperíodo, a mensagem ECM3(C2) é considerada incorreta e o valor da contagem de erro é acrescido por 2. Então é alcançado o valor 4.
A próxima mensagem ECM3(C1) é recebida após (4x7)-(4x5) = 8 segundos. A mensagem anterior continha o valor do criptoperíodo relacionado ao canal C2, ou seja, 5 segundos. O tempo de duração de 8 segundos entre a mensagem anterior é superior a este valor de 5 segundos. Desta forma, a mensagem é considerada como correta. O valor da contagem de erro será então reduzido a 1 unidade. Procedendo com o processo da maneira descrita acima, é possível demonstrar que a contagem de erro será acrescida e reduzida alternativamente. Como o acréscimo é realizado por meio de um salto de duas unidades e a redução é realizada por meio de um salto uma unidade, este valor da contagem aumentará no evento de uso fraudulento, como representado na figura 6. Esta contagem levará os valores 0, 2, 4, 3, 5, 4, 6, 5, 7, ... até exceder o valor limite do qual o atraso no retorno das senhas de controle é gerado.
Pode ser notado que no caso onde os usuários apenas decodificam uma das duas mensagens de controle, como descrito com referência a figura 6, representa o mais desfavorável caso em termos de detecção de uso fraudulento. É fácil observar que quando um usuário fraudulento decodifica todas as mensagens de controle ECM, o valor
19/23 da contagem de erro aumentará mais rapidamente e o retomo das senhas de controle pelo módulo de segurança será retardado mais rapidamente.
Módulo de Segurança e Emparelhamento de Decodificadores
O restante da descrição aplica-se mais particularmente, mas não exclusivamente, ao caso no qual o módulo de segurança e o decodificador que dão forma a uma unidade de multimídia são emparelhados. Neste caso, cada um deles contém uma chave de um par de chaves assimétricas, sendo este par diferente e único para cada unidade de módulo de segurança/decodificador. Nesta configuração, quando uma unidade de multimídia é ativada, uma chave de sessão que é geralmente simétrica é negociada entre o módulo de segurança e o decodificador. Esta chave de sessão usada para criptografar as senhas de controle CW que tem sido decodificadas pelo módulo de segurança, antes de serem emitidas ao decodificador. O uso de tal chave de sessão levanta um problema para usuários fraudulentos usando um “splitter”. De fato, uma vez que a chave de sessão entre o par 1 do modulo de segurança/decodificador é diferente da sessão de chave entre o par 2 do módulo de segurança/decodificador, é necessário negociar uma chave de sessão para cada recepção de mensagem de controle ECM em um diferente canal. No caso ilustrado na figura 3, onde as mensagens de controle são alternativamente recebidas no canal Cl e outra no canal C2, de acordo com certas configurações de unidades de multimídia, uma chave de sessão deve ser negociada entre cada recepção da mensagem de controle ECM.
A fim de gerar a negociação de tal chave de sessão, é necessário reiniciar o módulo de segurança. Isto é realizado pelo envio do comando de reiniciar a unidade de multimídia. Tal comando pode então ser emitido entre cada mensagem de controle ECM. Neste caso, é importante que o valor da contagem de erro não seja zerado. Também é desejável para este valor da contagem de erro, para aumentar no evento que reduzir a zero corresponder a uso fraudulento.
A fim de executar isto, o módulo de segurança memoriza a mais recente data que tiver recebido em uma memória temporária. Esta data é enviada, por exemplo, por um centro de gerenciamento na forma de uma mensagem de controle. Na recepção de um comando de reiniciar, esta data é memorizada em uma memória não temporária.
20/23
Paralelo a isto, como já indicado, as mensagens de controle ECM contêm um selo de tempo TS. A unidade de multimídia ou mais precisamente o módulo de segurança também memoriza um tempo de duração chamado “tempo de latência”, o qual em princípio é superior ou igual ao criptoperíodo.
Na recepção de cada mensagem de controle ECM, o módulo de segurança calcula a diferença entre o selo de tempo TS desta mensagem ECM e a mais recente data recebida antes da última reinicialização à zero, previamente memorizada na memória não temporária. Se esta diferença for superior ao tempo de latência, a contagem de erro pode ser reduzida a zero ou a um valor para o qual não haja atraso no retomo das senhas de controle. Se esta diferença for inferior ao tempo de latência, isto significa que o módulo de segurança tem decodificado uma mensagem de controle em pouco tempo antes da reinicialização a zero que pode corresponder a uma configuração na qual o “splitter” é utilizado. A contagem de erro é acrescida de acordo com a regra predefinida, por exemplo, de 3 unidades.
De acordo com a primeira modalidade, a partir do momento no qual a mensagem de controle tenha sido processada “em pouco tempo” antes de reiniciar a zero ou da última data memorizada, quer dizer, em um tempo de duração inferior ao tempo de latência, um atraso de tempo é introduzido. Isto impede a memorização do valor da contagem de erro em uma memória não temporária. Ao contrário, no caso de “legal” redução a zero por razões técnicas, o usuário autêntico deve esperar por um atraso de tempo antes de passar a ser apto a acessar o conteúdo de áudio/vídeo. Ademais, se o canal é mudado durante este tempo, o valor da contagem aumentará.
De acordo com a outra modalidade, o valor da contagem de erro é armazenado de tal forma que um comando de reiniciar não pode resultar a redução a zero da contagem de erro. Do contrário, este valor é mantido como era antes da reinicialização a zero. Desta maneira, um comando de reinicialização entre cada mensagem de controle ECM impedirá rapidamente o acesso ao conteúdo de áudio/vídeo. Do contrário, uma ocasional reinicialização a zero não impedirá o acesso ao conteúdo de áudio/vídeo já que um número suficiente de mensagens de controle tenha sido processado corretamente entre
21/23 duas consecutivas reinicializações a zero. A fim de impedir qualquer efeito acumulativo em circunstâncias normais, se o tempo entre o primeiro processamento de uma mensagem de controle (após a reinicialização a zero) e o tempo do último processamento anterior a reinicialização a zero, for sufícientemente longa (várias horas, por exemplo), a contagem de erro será reduzida a zero. O tempo necessário para executar uma reinicialização a zero da contagem pode ser definido antecipadamente e é chamado tempo ocioso.
Pode ser notado que os módulos de segurança, chamados de multisessões, são capazes de memorizar diversas chaves de sessão. No caso de um uso normal, cada chave de sessão pode dialogar com uma unidade de multimídia, ou até mesmo um subconjunto para decodificar um conteúdo que pode ser instalado em um mesmo aparelho.
Durante o acesso ao módulo de segurança por uma unidade de decodificação, uma referência de identificação será adicionada. O módulo de segurança irá processar esta mensagem em um ambiente ligado a esta unidade e a qual inclui as chaves de sessão (se um emparelhamento é ativado), o outro dado de identificação (direitos, créditos) e o dado permitem a detecção do uso fraudulento como descrito acima. Em particular, isto concerne a contagem de erro, do selo de tempo do último processamento da mensagem de controle e do valor do criptoperíodo.
Então, o mesmo módulo de segurança pode processar diversas unidades decifradoras verificando que o número total dos decodificadores associados a este módulo não pode exceder ao limite estabelecido. Este limite pode ser definido de acordo com o perfil do usuário.
Aumento/Redução em Diferentes Velocidades
Nos exemplos indicados, o valor da contagem é acrescido mais velozmente do que sua redução. O aumento de, por exemplo, de duas unidades, quando a diferença entre o selo de tempo de duas mensagens de controle sucessivas é inferior ao criptoperíodo. O aumento por três unidades para cada reinicialização a zero considerada como incorreta enquanto apenas a redução de uma unidade por recepção correta. Isto torna possível evitar casos particulares, nos quais explorar a reinicialização a zero e o correto
22/23 processamento das mensagens de controle, é possível manter o valor da contagem de erro dentro um limite, no qual usuários fraudulentos podem sempre ou quase sempre, acessar ao conteúdo de áudio/vídeo.
De acordo com uma outra alternativa, é possível fazer a provisão para a redução ser realizada mais rapidamente do que o aumento.
Duração do Atraso em Etapas
Como previamente indicado, a provisão é geralmente feita para introduzir um atraso quando um valor da contagem de erro alcançar certo limite. Além deste limite, o atraso pode ser proporcional ao conteúdo da contagem ou pode aumentar em etapas ou ser fixado. Geralmente, este atraso é estipulado a fim de evitar o acesso à parte do conteúdo de áudio/vídeo, durante um certo tempo de uso fraudulento, e depois a totalidade do conteúdo de áudio/vídeo após um período superior de uso fraudulento.
Nos exemplos descritos anteriormente, é indicado que o tempo de duração de um criptoperíodo de uma mensagem de controle é extraído junto com seu selo de tempo e depois a verificação é realizada no tempo da recepção da próxima mensagem para confirmar se a diferença entre o selo de tempo desta mensagem e da mensagem anterior é igual ou inferior ao criptoperíodo. Isto significa que deve memorizar o criptoperíodo e o selo de tempo da primeira mensagem.
De acordo com uma variável, é possível calcular a diferença entre o selo de tempo de duas mensagens de controle ECM1 e ECM2 consecutivas e verificar se esta diferença é igual ou inferior ao criptoperíodo extraído da segunda mensagem recebida ECM2. Isto possui uma vantagem, pois não é necessário memorizar o criptoperíodo e, desta forma, permite que a memória seja poupada.
Nos exemplos descritos, o valor da contagem de erro pode ser compreendido entre 0 e um limite de valor, por exemplo, 10, ou pode exceder este limito de valor. Entre 0 e o limite, não há tempo de atraso. Além do limite, um atraso é introduzido. É claro que é possível limitar o valor máximo da contagem, o qual permite um
23/23
ΑΎ limite a ser colocado no número de mensagens corretas consecutivas que devem ser decodificadas a fim de ser capaz de passar sob um limite de valor novamente.
De acordo com uma variável, é possível inverter a direção da contagem, o que significa que por cada decodificação correta, a contagem é acrescentada enquanto é reduzido durante uma decodificação fraudulenta. Neste caso, um atraso de tempo é introduzido quando uma contagem conter um valor compreendido entre 0 e um limite enquanto um atraso de tempo não é introduzido se o valor da contagem está além deste limite.
Os exemplos descritos mencionam o uso de dois decodificadores por um módulo de segurança. É naturalmente possível, por um uso fraudulento, conectar mais de dois decodificadores a um módulo de segurança através de um “splitter”. De acordo com o processo da invenção, isto irá bloquear o acesso ao conteúdo de áudio/vídeo mais 15 velozmente, desde que a contagem de erro seja acrescida mais velozmente.