Relatório Descritivo da Patente de Invenção "MÉTODO E
APARELHO PARA PROPORCIONAR COMUNICAÇÃO SEGURA DE DADOS DIGITAIS ENTRE DISPOSITIVOS". A presente invenção se refere a um método e a um aparelho para proporcionar comunicação segura de dados digitais entre dispositivos. Mais especificamente, a presente invenção se refere ao impedimento de cópia ilegal e de redistribuição de dados gravados digitalmente. A introdução da tecnologia digital no campo do audiovisual resultou em vantagens consideráveis para o consumidor, em comparação com as tecnologias analógicas, notavelmente em relação à qualidade de reprodução de som e imagem e à durabilidade do meio de suporte. 0 disco compacto está substituindo as gravações em vinil tradicional, e uma tendência similar é esperada com a introdução de novos produtos digitais dirigidos, de uma maneira geral, para os mercados de multimídia e de entretenimento doméstico, notavelmente os reprodutores de DVD (disco de vídeo digital ou disco versátil digital).
Um problema particular associado com os dados gravados digitalmente residem na sua facilidade de reprodução e nas possibilidades para pirataria oriundas dela. Uma única gravação digital pode ser usada para produzir qualquer número de cópias perfeitas, sem qualquer degradação da qualidade do som ou imagem. Esse problema é sério, particularmente com o advento de produtos digitais gravados, tal como um minidisco ou DAT, e a relutância das companhias de entretenimento em licenciar os direitos de cópias, enquanto esse problema permanecer, tem agido como um freio na introdução no mercado de novos produtos de midia.
Atualmente, a solução disponível mais prática contra a reprodução não autorizada dos direitos de cópia tem sido a do direito legal, e vários países europeus e em todo o mundo têm introduzido uma legislação antipirataria para combater o número crescente de filmes, CDs, etc piratas que são colocados no mercado. Por razões óbvias, uma solução legal é inferior à ótima do ponto de vista de ação preventiva.
As soluções tecnológicas propostas até o momento para impedir a cópia e a distribuição não autorizadas de dados gravados digitalmente tem sido extremamente básica, fundamentando-se, por exemplo, na idéia de usar alguma forma de "estabelecimento de comunicação" digital entre dispositivos no sistema audiovisual digital, por exemplo, entre o reprodutor de dados digitais, ou DVD, e o gravador digital, e entre o reprodutor DVD e a televisão digital, de modo a verificar a origem do dispositivo receptor dos dados do reprodutor DVD. Essa proteção é, no entanto, efetiva contra apenas o nível mais baixo de atividade de cópia, uma vez que o sinal de estabelecimento de comunicação é tipicamente não protegido de qualquer modo e pode ser facilmente lido e reproduzido, de modo a converter, por exemplo, o dispositivo gravador não autorizado em um dispositivo gravador aparentemente autorizado. O objeto da presente invenção é superar as desvantagens associadas com as técnicas anteriores e proporcionar uma solução tecnológica contra a cópia e reprodução não autorizadas de direitos de cópia gravados digitalmente.
Em um primeiro aspecto, a presente invenção proporciona um método para proporcionar comunicação segura de dados digitais entre dispositivos, o dito método compreendendo as etapas de comunicação de um dispositivo de um identificador de um dispositivo para um módulo de segurança independente, e de realização da validação do dispositivo, dependendo da identidade do identificador comunicado.
Em tal método, o módulo de segurança independente é usado para validar o dispositivo em, por exemplo, um sistema audiovisual digital. Por exemplo, em um sistema no qual os dados são comunicados de um reprodutor DVD para um gravador digital, o usuário do sistema deve possuir um cartão inteligente para validar o gravador e/ou reprodutor, antes que quaisquer dados sejam transferidos. Desse modo, por uso de um módulo de segurança para validar dispositivo, um nível de segurança extra pode ser incorporado ao sistema.
Na verdade, o uso de um módulo de segurança independente pode levar a um sistema audiovisual digital altamente personalizado. Por exemplo, o módulo de segurança pode permitir que os dados sejam transferidos de um reprodutor DVD para uma televisão digital apenas se ambos o reprodutor e a televisão são validados pelo módulo de segurança, permitindo, desse modo, que os dados digitais sejam visualizados apenas em uma televisão pessoal do usuário. O uso de um módulo de segurança para validar dispositivos ligados também proporciona uma vantagem, pelo fato de que a validação do dispositivo pode ficar independente da ligação entre os dispositivos. Desse modo, se a ligação de comunicação é interceptada por uma terceira parte, os identificadoras dos dispositivos não podem ser obtidos, pois eles não são passados entre os dispositivos, mas dos dispositivos individuais para um módulo de segurança.
Esses módulos de segurança podem ter qualquer forma conveniente, dependendo do tamanho físico e das características dos módulos. Por exemplo, o módulo de segurança pode ser destacável, por exemplo, inserível desprendidamente em um soquete proporcionado no dispositivo, ou um módulo separado conectado no dispositivo. Em alguns casos, um cartão inteligente equivalente a um cartão bancário pode ser usado (como um, ou como parte do, módulo de segurança), mas outros formatos, tais como cartões do tipo PCMCIA, são igualmente possíveis. Desse modo, o módulo de segurança pode ser facilmente substituído para a atualizar os direitos proporcionados pelo módulo de segurança, por exemplo, para invalidar certos dispositivos no caso do provedor de sistema ficar ciente da clonagem desses dispositivos. 0 identificador do disoositivo Dode ter aualauer forma conveniente. Por exemplo, o identificador pode ser uma chave pública associada com o dispositivo. 0 módulo de segurança pode fazer a validação do dispositivo por comparação do identificador comunicado com pelo menos um identificador armazenado. Os identificadoras armazenados podem ser armazenados em uma memória do módulo de segurança. Os identificadoras podem ser armazenados na forma de uma lista, o identificador recebido sendo comparado com os identificadoras na lista, para validar o dispositivo. Isso pode proporcionar uma validação rápida e eficiente do dispositivo.
Cada identificador armazenado pode estar associado com um respectivo dispositivo válido ou um dispositivo inválido.
Mediante recebimento do identificador, o módulo de segurança pode comparar o identificado recebido com os identificadores armazenados associados com dispositivos inválidos, e/ou com identificadoras armazenados associados com dispositivos válidos.
Desse modo, 0 módulo de segurança pode conter pelo menos um de uma "lista de revogação" para os dispositivos não condescentes com lista negra e uma "lista de autorização" para restringir a transferência de dados entre apenas dispositivos pré-registrados. Os identificadoras de dispositivo publicados intencionalmente por terceiros parte, por exemplo, na Internet, podem ser incorporados à lista de revogação, quando da atualização periódica do módulo de segurança para impedir que dados sejam transferidos para ou desses dispositivos. No entanto, o uso de uma lista de autorização também pode impedir que identificadoras de dispositivo intencionalmente publicados na Internet funcionem, uma vez que esses identif icadoras não vão ser válidos em qualquer lugar, exceto, por exemplo em uma rede doméstica. A lista de autorização é, portanto, provável de ser muito mais curta do que a lista de revogação, desse modo, economizando capacidade de memória, e provável de requerer a atualização menos freqüente. Desse modo, em um segundo aspecto, a presente invenção proporciona um método para proporcionar comunicação segura de dados digitais entre dispositivos, o dito método compreendendo as etapas de comparação do identificador comunicado de um dispositivo com pelo menos um identificador armazenado, cada identificador armazenado sendo associado com um respectivo dispositivo válido, e de validação do dispositivo, se o identificador comunicado é idêntico àquele ou a um dos identificadoras armazenados. É preferível que o dito pelo menos um identificador armazenado seja armazenado em um módulo de segurança independente. 0 identificador comunicado pode ser comparado aos identificadores associados com os dispositivos válidos de acordo com a colocação de uma sinalização. A sinalização pode ser armazenada dentro do módulo de segurança ou pode ser transmitida ao módulo de segurança pelo dispositivo.
Por exemplo, o módulo de segurança pode comparar o identificador recebido com os identificadores armazenados associados com os dispositivos inválidos, quando a sinalização tem uma primeira colocação, e comparar o identificador recebido com os identificadores armazenados associados com os dispositivos válidos, quando a sinalização tem uma segunda colocação. A sinalização pode ser colocada de acordo com os direitos proporcionados ao usuário. Por exemplo, a sinalização pode ficar na primeira colocação para uma loja, na qual vários diferentes dispositivos são usados, a colocação da sinalização sendo tal que o identificador recebido é comparado com os identificadoras armazenados associados apenas como os dispositivos inválidos. A sinalização pode ficar na segunda colocação para um usuário doméstico, em que apenas um pequeno número de dispositivos é usado, a colocação da sinalização sendo tal que o identificador recebido é comparado com os identificadoras armazenados associados apenas com os dispositivos válidos.
Em uma modalidade, o módulo de segurança pode comparar o identificador recebido com os identificadoras armazenados associados com os dispositivos inválidos, quando a sinalização tem um posicionamento "0", e comparar o identificador recebido com ambos os identificadoras armazenados associados com os dispositivos inválidos e os identificadores armazenados associados com os dispositivos inválidos, quando a sinalização tem um posicionamento "1".
Em uma modalidade preferida da invenção, os certificados são passados entre o dispositivo e o módulo de segurança para validar o dispositivo. 0 uso de um sistema certificado para validar um dispositivo pode proporcionar uma transmissão segura do identificador do dispositivo para o módulo de segurança.
Desse modo, o identificador do dispositivo pode ser comunicado ao módulo de segurança em um certificado criptografado, e, assim, os problemas associados com a transmissão dos identificadores de dispositivos "às claras" podem ser evitados. 0 certificado pode ser, por exemplo, assinado usando uma chave privada, tal como uma chave privada do fabricante do dispositivo, para permitir a que a autenticidade do certificado comunicado seja verificada. Desse modo, se o módulo de segurança determina que os dados contidos no certificado e na sua assinatura não se correlacionam, o certificado pode ser rejeitado.
Uma chave equivalentes à chave privada pode ser comunicada ao módulo de segurança em um certificado criptografado por uma chave privada do sistema, uma chave pública do sistema sendo armazenada em ambos o módulo de segurança e o dispositivo. 0 certificado criptografado é, de preferência, criptografado adicionalmente pelo dispositivo usando uma chave pública do módulo de segurança e comunicado ao módulo de segurança. 0 certificado criptografado pode ser subseqüentemente descriptografado pelo módulo de segurança, usando primeiro uma chave privada do módulo de segurança e usando em segundo lugar a dita chave equivalente para permitir que o identificador do dispositivo seja extraído do certificado descriptografado. A chave pública do módulo de segurança pode ser comunicado pelo módulo de segurança ao dispositivo em um certificado. 0 certificado, incluindo a chave pública do módulo de segurança, pode ser criptografado usando uma chave privada, por exemplo, do fabricante do módulo de segurança.
Esse certificado também pode ser assinado usando a chave privada para permitir que a autenticidade do certificado comunicado seja verificada. Uma chave equivalente à chave privada pode ser comunicada ao dispositivo em um certificado criptografado pela chave privada do sistema, a chave pública do sistema sendo armazenada em ambos o módulo de segurança e o dispositivo. 0 certificado contendo o identificador do dispositivo pode ser randomizado pelo dispositivo antes da criptografação, a randomização sendo revertida pelo módulo de segurança seguinte à descriptografação do certificado. Isso pode aumentar a segurança da passagem do identificador do dispositivo do dispositivo para o módulo de segurança.
Além de verificar um dispositivo, o módulo de segurança pode transferir informações para o dispositivo, para, por exemplo, permitir que o dispositivo processe dados digitais recebidos de outro dispositivo. Desse modo, é preferível criar um canal de comunicação segura entre o dispositivo e o módulo de segurança.
Em uma modalidade preferida da presente invenção, um número aleatório é gerado pelo dispositivo, o número aleatório e o certificado contendo o identificador do dispositivo sendo criptografados pelo dispositivo usando uma chave pública do módulo de segurança e comunicados ao módulo de segurança. O número aleatório e o certificado criptografados podem ser descriptografados pelo módulo de segurança usando uma chave privada do módulo de segurança, para obter o número aleatória e permitir que o identificador do dispositivo seja extraído do certificado descriptografado. 0 número aleatório extraído pode ser subseqüentemente armazenado no módulo de segurança, de modo que os dados comunicados entre o módulo de segurança e o dispositivo possam ser depois criptografados e descriptografados pelo número aleatório no módulo segurança e no dispositivo, proporcionando, desse modo, uma ligação de comunicação segura entre o dispositivo e o módulo de segurança.
Desse modo, em um terceiro aspecto, a presente invenção proporciona um método para proporcionar comunicação segura de dados digitais entre um dispositivo e um módulo de segurança, o dito método compreendendo as etapas de transferência para o módulo de segurança de um número aleatório e de um identificador do dispositivo criptografados por uma chave pública do módulo de segurança, o módulo de segurança descriptografando o número aleatório e o identificador do dispositivo usando uma chave privada do módulo de segurança, validação do dispositivo usando o identificador do dispositivo e, mediante validação do dispositivo, uso do número aleatório para criptografar e descriptografar os dados comunicados entre o módulo de segurança e o dispositivo.
De preferência, o identificador do dispositivo é incluído em um certificado, o certificado sendo criptografado usando a chave pública do módulo de segurança. 0 número aleatório pode ser randomizado pelo dispositivo antes da criptografação, a randomização sendo revertida pelo módulo de segurança seguinte à descriptografação do número aleatório.
Alternativamente, o número aleatório e o certificado contendo o identificador do dispositivo podem ser randomizados pelo dispositivo antes da criptografação, a randomização sendo revertida pelo módulo de segurança seguinte à descriptografação do número aleatório e do certificado.
Para aumentar a segurança da ligação de comunicação entre o dispositivo e o módulo de segurança, o módulo de segurança pode comunicar ao dispositivo uma chave aleatória gerada no módulo de segurança e criptografada usando o número aleatório, o dispositivo descriptografando a chave usando o número aleatório e usando depois a chave para criptografar os dados enviados ao módulo de segurança.
Além de validar um dispositivo e assegurar comunicação segura de dados entre o dispositivo e o módulo de segurança, um módulo de segurança pode ser adaptado para proporcionar direitos de acesso aos dados recebidos pelo dispositivo.
Por exemplo, o dispositivo pode comunicar ao módulo de segurança uma Mensagem de Controle de Habilitação (ECM) criptografada contendo uma palavra de controle para desamontoar os dados, o dispositivo criptografando ainda a ECM criptografada usando a chave. Desse modo, as ECMs transmitidas entre um dispositivo e um módulo de segurança são criptografadas duas vezes, uma das chaves de criptografação sendo gerada pelo módulo de segurança e, portanto, única para o dispositivo e o módulo de segurança.
Isso pode proporcionar aperfeiçoamentos significativos na prevenção de cópia e redistribuição ilegais de ECMs.
O módulo de segurança pode descriptografar a ECM criptografada, extrair a palavra de controle da ECM e comunicar ao dispositivo a palavra de controle criptografada usando a chave.
Isso pode permitir que o dispositivo, tal como uma televisão digital, desamontoe os dados amontoados recebidos de um reprodutor DVD. Além do mais, a palavra de controle pode ser sempre passada para o dispositivo na forma criptografada, a criptografação sendo conduzida usando uma chave transmitida previamente para o dispositivo seguinte à validação do dispositivo. Portanto, o armazenamento de chaves públicas / privadas adicionais para criptografar e descriptografar as palavras de controle, ou personalizar o dispositivo para o módulo de segurança (ou vice-versa), não é necessário.
Alternativamente, o dispositivo pode comunicar ao módulo de segurança uma Mensagem de Controle de Habilitação Estendida (XECM) criptografada contendo Informações de Gerenciamento de Controle Estendidas (XCMIs), ou direitos de acesso, para os dados, o dispositivo criptografando ainda a XECM criptografada usando a chave. 0 módulo de segurança pode descriptografar a XECM criptografada, modificar os direitos de acesso contidos na XECM, criptografar a XECM modificada e comunicar ao dispositivo a XECM modificada criptografada, criptografada adicionalmente usando a chave.
Desse modo, o módulo de segurança pode modificar os direitos de acesso proporcionados ao dispositivo por uma XECM. Por exemplo, se o dispositivo é um dispositivo gravador digital, esses direitos podem incluir a proibição de qualquer regravação subseqüente dos dados armazenados, o número de vezes que os dados armazenados podem ser reproduzidos, a data de expiração da reprodução, etc.
Para permitir que os dispositivos funcionem mais efetivamente, deseja- se proporcionar uma ligação de comunicação protegida ou criptografada entre os dispositivos. A implementação de uma ligação segura entre os dispositivos pode ser usada para permitir que as informações necessárias para preparar ou reproduzir uma gravação sejam passadas livremente entre os dispositivos. Infelizmente, a independência das atividades entre um fabricante de um reprodutor DVD e de um fabricante de equipamento de gravação responsável pelo gravador pode provocar vários problemas relativos à provisão de chaves de criptografação para essa finalidade.
Por e exemplo, um fabricante de reprodutor pode não colocar segredo suficiente na integridade da segurança no local de fabricação de um gravador, para encarregar o fabricante com, por exemplo, uma chave de algoritmo simétrica secreta necessária pelo gravador para descriptografar as comunicações criptografadas usando a chave equivalente mantida pelo reprodutor DVD.
Além do mais, a separação de atividades pode tornar impraticável considerar uma situação na qual um gravador é enviado para um gerenciador de sistema de difusão para personalização com as chaves apropriadas. Por essa razão, é necessário considerar uma solução que permita uma maior independência de operação para o reprodutor e gravador.
Para solucionar tais problemas, em uma modalidade preferida da presente invenção, os dados são comunicados entre o primeiro e o segundo dispositivos, e mediante validação de cada dispositivo pelo módulo de segurança, o módulo de segurança comunica ao primeiro dispositivo uma chave aleatória gerada no módulo de segurança e criptografada usando o número aleatório gerado pelo primeiro dispositivo, o primeiro dispositivo descriptografando a chave usando o número aleatório assim gerado, e comunica ao segundo dispositivo a chave criptografada usando o número aleatório gerado pelo segundo dispositivo, o segundo dispositivo descriptografando a chave usando o número aleatório assim gerado, a chave sendo depois usada para criptografar os dados comunicados ao módulo de segurança pelos dispositivos e os dados comunicados entre os dispositivos.
Conseqüentemente, em um quarto aspecto, a presente invenção proporciona um método para proporcionar uma comunicação segura de dados digitais entre dispositivos, o dito método compreendendo a etapa de proporcionar um módulo de segurança, gerar uma chave aleatória (SK) no módulo de segurança e criptografar os dados comunicados entre os dispositivos usando a chave aleatória.
Por esse método, a geração de uma chave de criptografação para comunicação segura entre os dispositivos é feita por um módulo de segurança em comunicação com os dispositivos, e, desse modo, a geração da chave é feita independentemente dos dispositivos.
Esse método pode proporcionar um sistema independente da interface do dispositivo flexível e atualizado, para proporcionar comunicação segura de dados digitais entre os dispositivos. O sistema pode ser baseado em um cartão inteligente para gerar a chave de sessão, e, portanto, pode ser barato e propiciar uma ação rápida contra a pirataria pela facilidade de proporcionar cartões inteligentes atualizados, particularmente porque a responsabilidade de atualização da segurança pode ser de responsabilidade de um provedor de cartão inteligente dedicada e não dos fabricantes de dispositivos. 0 módulo de segurança pode comunicar à cada dispositivo a chave criptografada usando um número aleatório gerado por aquele dispositivo, o dispositivo descriptografando a chave usando o número aleatório.
Cada dispositivo pode comunicar ao módulo de segurança o respectivo número aleatório criptografado usando uma chave pública do módulo de segurança. O número aleatório criptografado pode ser subseqüentemente descriptografado pelo módulo de segurança, usando uma chave privada do módulo de segurança para obter o número aleatório. Cada número aleatório pode ser randomizado pelo respectivo dispositivo antes da criptografação, a randomização sendo revertida pelo módulo de segurança seguinte à descriptografação do número aleatório. De preferência, o módulo de segurança valida cada dispositivo antes da transmissão da chave para cada dispositivo. Para permitir que tal validação seja feita, cada dispositivo comunica, de preferência, um identificador dele para o módulo de segurança para a validação do dispositivo pelo módulo de segurança. A chave pode ser alterada periodicamente pelo módulo de segurança. A chave pode ser atualizada, por exemplo, por hora, ou após um número predeterminado de pacotes de dados terem sido passados entre os dispositivos. Isso pode proporcionar uma segurança ainda maior para comunicação de dados. Alternativamente, a chave pode ser alterada aleatoriamente pelo módulo de segurança, por exemplo, mediante ligação do dispositivos, inserção de disco, zapping do dispositivo pelo usuário, estabelecimento de uma conexão com um módulo de segurança, etc.
Uma modalidade preferida da presente invenção é aplicada um sistema de rede doméstica, os dispositivos correspondendo a um primeiro e a um segundo dispositivos eletrônicos do usuário adaptados para transferir dados entre eles via uma ligação de comunicação. A ligação de comunicação entre os dois dispositivos pode assumir uma de muitas formas, por exemplo, uma ligação de rádio, telefônica ou infravermelha.
No entanto, de preferência, a ligação de comunicação é implementada por conexão dos primeiro e segundo dispositivos em um barramento, por exemplo, uma ligação de barramento IEEE 1394 . 0 primeiro dispositivo pode comunicar ao segundo dispositivo dados de áudio e/ou visuais amontoados e uma Mensagem de Controle de Habilitação (ECM) criptografada contendo uma palavra de controle, para desamontoar os dados, os ditos dados e a dita ECM criptografada sendo criptografados pelo primeiro dispositivo usando a chave. 0 segundo dispositivo pode descriptografar os dados e a ECM criptografada usando a chave, separar a ECM criptografada dos dados, e comunicar ao módulo de segurança a ECM criptografadas recriptografada usando a chave. O módulo de segurança pode descriptografar a ECM criptografada, extrair a palavra de controle da ECM e comunicar ao segundo dispositivo a palavra de controle criptografada usando a chave. Nessa modalidade, o primeiro dispositivo pode ser um reprodutor DVD e o segundo dispositivo pode ser uma televisão digital.
Além do mais, o módulo de segurança pode modificar a ECM e comunicar ao segundo dispositivo a ECM modificada usando a chave. Nessa modalidade, o primeiro dispositivo pode ser um reprodutor DVD e o segundo dispositivo pode ser um dispositivo gravador digital.
Em um quinto aspecto, a presente invenção proporciona um aparelho para proporcionar comunicação segura de dados digitais entre dispositivos, o dito aparelho compreendendo um módulo de segurança que compreende um meio para receber o identificador de um dispositivo, e um meio para executar a validação do dispositivo, dependendo da identidade do indicador recebido.
Em um aspecto relacionado, a presente invenção proporciona um módulo de segurança para proporcionar comunicação segura de dados digitais entre dispositivos, e disposto para receber o identificador do dispositivo e realizar a validação do dispositivo, dependendo da identidade do identificador recebido.
Em um sexto aspecto, a presente invenção proporciona um aparelho para proporcionar comunicação segura de dados digitais entre dispositivos, o dito aparelho compreendendo um meio para armazenar pelo menos um identificador, cada identificador armazenado sendo associado com um respectivo dispositivo válido, um meio para comparar o identificador de um dispositivo com o dito pelo menos um identificador armazenado, e um meio para validar o dispositivo, se o identificador do dispositivo é idêntico ao ou a um dos identificadores armazenados.
Em um aspecto relacionado, a presente invenção proporciona um módulo de segurança para proporcionar comunicação segura de dados digitais entre dispositivos, e disposto para armazenar pelo menos um identificador, cada identificador armazenado sendo associado com um respectivo dispositivo válido, para comparar um identificador de um dispositivo com o dito pelo menos um identificador armazenado, e validar o dispositivo, se o identificador do dispositivo é idêntico ao ou a um dos identificadores armazenados.
Em um sétimo aspecto, a presente invenção proporciona um sistema para proporcionar comunicação segura de dados entre um dispositivo e um módulo de segurança, o dito dispositivo compreendendo um meio para comunicar ao módulo de segurança um número aleatório e um identificador do dispositivo criptografados por uma chave pública do módulo de segurança, o módulo de segurança compreendendo um meio para descriptografar o número aleatório e identificador do dispositivo usando uma chave privada do módulo de segurança, um meio para validar o dispositivo usando o identificador do dispositivo, e um meio para usar o número aleatório para criptografar e descriptografar os dados comunicados entre o módulo de segurança e o dispositivo.
Em um aspecto relacionado, a presente invenção proporciona um módulo de segurança disposto para receber o número aleatório e um identificador de um dispositivo criptografados por uma chave pública do módulo de segurança, descriptografar o número aleatório e o identificador do dispositivo usando uma chave privada do módulo de segurança, validar o dispositivo usando o identificador do dispositivo, e, mediante validação do dispositivo, usar o número aleatório para criptografar e descriptografar os dados comunicados entre o módulo de segurança e o dispositivo.
Em um oitavo aspecto, a presente invenção proporciona um aparelho para proporcionar comunicação segura de dados digitais entre dispositivos, o dito aparelho compreendendo os dispositivos e um módulo de segurança, que compreende um meio para gerar uma chave aleatória e um meio para comunicar a chave aleatória aos dispositivos, cada dispositivo sendo disposto para criptografar os dados comunicados entre os dispositivos usando a chave aleatória.
Em um aspecto relacionado, a presente invenção proporciona um módulo de segurança para proporcionar comunicação segura de dados digitais entre dispositivos, e disposto para gerar uma chave aleatória (SK) , para criptografar os dados comunicados entre os dispositivos, e comunicar a chave aleatória aos dispositivos.
Ainda que a invenção tenha sido descrita com a referência a um primeiro e a um segundo dispositivos, vai-se considerar que o mesmo princípio pode ser usado para estabelecer uma cadeia de comunicação entre vários desses dispositivos.
Os algoritmos adequados para uso nesta invenção, para gerar chaves privadas / públicas podem incluir RSA, Fiat- Shamir, ou Diffie-Hellmann, e os algoritmos de chave simétricos podem incluir, por exemplo, os algoritmos do tipo DES. No entanto, a menos que obrigatório em vista do contexto ou a menos que especificado de outro modo, nenhuma distinção genérica é feita entre as chaves associadas com os algoritmos simétricos e aquelas associadas com os algoritmos públicos / privados.
Os termos "amontoado" e "criptografado", e "palavra de controle" e "chave" foram usados em várias partes no texto, com a finalidade de clareza de linguagem. No entanto, vai-se entender que nenhuma distinção fundamental vai ser feita entre "dados amontoados" e "dados criptografados", ou entre uma "palavra de controle" e uma "chave".
Adicionalmente, os termos "criptografado" e "sinalizado", e "descriptografado" e "verificado" foram usados em várias partes no texto com a finalidade de clareza de linguagem. No entanto, vai-se entender que nenhuma distinção fundamental vai ser feita entre "dados criptografados" e "dados sinalizados", e "dados descriptografados" e "dados verificados".
De modo similar, o termo "chave equivalente" é usado para se referir a uma chave adaptada para descriptografar dados criptografados por uma primeira chave mencionada, ou vice-versa.
As características descritas acima relativas aos aspectos do método da presente invenção também podem ser aplicadas aos aspectos do aparelho, e vice-versa.
As características preferidas da presente invenção vão ser descritas a seguir, por meio de exemplo apenas, com referência aos desenhos em anexo, em que: a Figura 1 mostra os elementos de um sistema audiovisual digital; a Figura 2 mostra a distribuição de certificados em um sistema audiovisual digital; a Figura 3 mostra a conexão de um módulo de segurança em um dispositivo; a Figura 4 mostra a conexão de um módulo de segurança em dois dispositivos; a Figura 5 mostra as etapas associadas com a validação de um dispositivo pelo módulo de segurança e proporcionando, subseqüentemente, comunicação segura entre o dispositivo e o módulo de segurança; a Figura 6 mostra as etapas associadas com a geração de um canal de comunicação segura entre um dispositivo e um módulo de segurança; a Figura 7 ilustra o desamontoamento dos dados recebidos por um dispositivo; a Figura 8 mostra as etapas associadas com a provisão de comunicação segura entre os dois dispositivos; a Figura 9 mostra a transferência de dados entre dois dispositivos por uma ligação de comunicação segura; a Figura 10 mostra as etapas associadas com o estabelecimento de uma ligação de comunicação segura entre um reprodutor DVD e uma televisão digital, e as operações subseqüentes conduzidas para desamontoar os dados recebidos do reprodutor DVD pela televisão digital; e a Figura 11 mostra as etapas associadas com o estabelecimento de uma ligação de comunicação segura entre um reprodutor DVD e um gravador digital, e as operações subseqüentes conduzidas para desamontoar os dados recebidos do reprodutor DVD pelo gravador digital.
Com referência à Figura 1, os elementos de um sistema audiovisual digital 10, para gravação e reprodução de dados digitais, vão ser descritos primeiramente. Ainda que a invenção vai ser discutida em relação à reprodução de dados audiovisuais em um reprodutor DVD, também pode ser aplicada convenientemente, por exemplo, na reprodução de informações de áudio exclusivas gravadas subseqüentemente em um gravador DAT ou de minidisco, ou mesmo para a comunicação de software gravado no disco rígido de um computador.
Tipicamente, o sistema audiovisual compreende um reprodutor DVD 12 para reprodução de dados audiovisuais digitais armazenados, por exemplo, em disco ou fita. 0 reprodutor DVD é ligado a um visor digital 14 para a exibição dos dados reproduzidos pelo reprodutor digital 12. 0 visor 14 é proporcionado de preferência na forma de uma televisão digital. A ligação de comunicação 16 entre o reprodutor 12 e o visor 14 pode assumir muitas formas, por exemplo, uma ligação de rádio, telefônica ou infravermelha. No entanto, de preferência, a ligação de comunicação é implementada por conexão do reprodutor e da televisão em um barramento, por exemplo uma ligação de barramento IEEE 1394. O sistema inclui adicionalmente um gravador digital 18, tal como um gravador DVHS ou DVD, adaptado para se comunicar com o reprodutor DVD 12, por exemplo, via um barramento IEEE 1394 20. 0 gravador 18 recebe um suporte de gravação digital (não mostrado), no qual as informações são gravadas. 0 gravador 18 inclui uma ligação direta 22 com o visor 14 . No entanto, os dados audiovisuais digitais podem ser passados do reprodutor 12 para o gravador 18 antes de exibição.
Ainda que os elementos do reprodutor 12, visor 14 e gravador 18 tenham sido indicados separadamente, é concebível que alguns ou todos esses elementos possam ser juntados, por exemplo, para proporcionar um conjunto combinado de reprodutor / televisão.
Para proporcionar comunicação segura de dados entre dispositivos no sistema audiovisual digital, para, por exemplo, impedir cópia e distribuição não autorizadas de dados gravados digitalmente, um sistema de validação é usado para validar um ou mais dos dispositivos no sistema audiovisual, antes de qualquer comunicação de dados entre os dispositivos.
Um sistema de validação de dispositivos preferido é baseado na transferência de certificados entre um dispositivo e um módulo de segurança. Com referência à Figura 2, cada dispositivo e módulo de segurança recebe um certificado único para a finalidade de validação.
Em um primeiro estágio de um sistema de distribuição de certificados, uma autoridade de certificação 50 transmite os certificados criptografados tanto para os fabricantes da eletrônica do consumidor (CE) 52 quanto para os provedores de segurança (SP) 54. A CA 50 comunica a cada fabricante de CE 52 um respectivo certificado criptografado CertCA (CEman_Kpub), mostrado em 56. Esse certificado contém, entre outras, uma chave pública do fabricante CEman_Kpub e é criptografado por uma chave privada do sistema, ou CA, CA_Kpri. Para permitir que o conteúdo do certificado seja descriptografado pelo fabricante de CE 52, a CA 50 comunica ao fabricante de CE 52 a chave pública, CA_Kpub. Deve-se mencionar que chave privada, CA_Kpri, é única e mantida exclusivamente pela CA 50.
De uma maneira similar, a CA 50 se comunica a cada provedor de segurança 54 um respectivo certificado criptografado CertCA (SP_Kpub), mostrado em 58. Esse certificado contém, entre outras, uma chave pública do provedor de segurança SP_Kpub, e é criptografado pela chave privada do CA, CA_Kpri. Para permitir que o conteúdo do certificado seja descriptografado pelo provedor de segurança 54, a CA 50 comunica ao provedor de segurança 54 a chave pública, CA_Kpub.
Em um segundo estágio do sistema de distribuição de certificados, cada fabricante de eletrônica de consumidor (CE) 52 e provedor de segurança (SP) 54 recebe os respectivos certificados para os seus próprios produtos.
Cada fabricante CE 52 atribui a cada um dos dispositivos CE 60 um respectivo certificado criptografado CertCEman (Device_Kpub), mostrado em 62. Esse certificado contém, entre outras, uma chave pública do dispositivo única, Device_Kpub, juntamente com uma indicação da capacidade do dispositivo (gravador, reprodutor, etc) . 0 certificado é criptografado por uma chave equivalente à chave pública CEman_Kpub. Para permitir que o conteúdo do certificado seja descriptografado, o fabricante de CE 52 armazena no dispositivo de CE a chave pública da CA, CA_Kpub, e o certificado criptografado CertCA (CEman_Kpub) do fabricante de CE 52. Desse modo, a chave pública, Device_Kpub, do dispositivo de CE 60 pode servir como um identificador do dispositivo.
Similarmente, cada provedor de segurança 54 atribuir a cada módulo de segurança 64 um certificado criptografado respectivo, CertSp (SMK_Kpub), mostrado em 66. Esses módulos de segurança 66 podem assumir qualquer forma conveniente, dependendo do tamanho físico e das características dos módulos. Por exemplo, o módulo de segurança pode ser inserido desprendidamente em um soquete proporcionado em um dispositivo de CE 60, ou pode ser um módulo separado conectado ao dispositivo 60. Em alguns casos, um cartão inteligente equivalente a um cartão bancário pode ser usado, mas outros formatos, tais como cartões do tipo PCMCIA, são igualmente possíveis. O certificado criptografado atribuído ao módulo de segurança 64 contém, entre outras, uma chave pública do módulo de segurança única, SM_Kpub. O certificado é criptografado por uma chave equivalente à chave pública, SP- _Kpub. Para permitir que o conteúdo do certificado seja descriptografado, o provedor de segurança 54 armazena no módulo de segurança 64 a chave pública da CA, CA_Kpub, e o certificado criptografado, CertCA (SP_Kpub), do provedor de segurança. Desse modo, a chave pública, SM_Kpub, do módulo de segurança 64 pode servir como um identificador do módulo de segurança.
Uma assinatura pode ser incluído em quaisquer dos certificados mencionados acima, para permitir que o conteúdo do certificado seja verificado seguinte à descrição do certificado. 0 conteúdo do certificado pode ser assinado usando a chave usada para criptografar o certificado. A validação do dispositivo no sistema audiovisual digital é conduzida pela troca de certificados entre o dispositivo e um módulo de segurança. Como mostrado na Figura 3, em uma primeira modalidade, um módulo de segurança 64 é conectado dispositivos 60, via uma ligação de comunicação 70, para permitir que o módulo de segurança valide apenas aquele dispositivo. No entanto, como mostrado na Figura 4, um módulo de segurança pode ser alternativamente conectado a dois ou mais dispositivos conectados 60a, 60b, via as respectivas ligações de comunicação 70a, 70b. A validação de um único dispositivo por um módulo de segurança vai ser explicada a seguir com referência à Figura 5. O procedimento de validação pode se iniciar a qualquer momento, por exemplo, após ligação do dispositivo, inserção de disco, zapping do dispositivo pelo usuário, estabelecimento de conexão com um módulo de segurança, etc. 0 procedimento de validação é iniciado pelo módulo de segurança. Como mostrada em 100, o módulo de segurança 64 comunica ao dispositivo 60 o certificado criptografado, CertcA (SP_Kpub) , do provedor de segurança 54. Em 102, o dispositivo descriptografa o conteúdo do certificado criptografado, CertCA (SP_Kpub), usando a chave pública, CA_Kpub, da CA para permitir que a chave pública, SP_Kpub, do provedor de segurança 54 seja extraída do certificado.
Seguinte à comunicação do certificado criptografado, CertcA (SP_Kpub) , para o dispositivo 60, em 104 o módulo de segurança 64 comunica o seu próprio certificado criptografado, CertSp (SM_Kpub) , ao dispositivo 60. Em 106, o dispositivo descriptografa o conteúdo do certificado criptografado, CertSp (SM_Kpub) , usando a chave pública, SP_Kpub, do provedor de segurança extraída previamente pelo dispositivo 50 do certificado criptografado, CertCA (SP_Kpub), para permitir que a chave pública, SM_Kpub, do módulo de segurança 64 seja extraída do certificado.
Em 108, o dispositivo 60 comunica ao módulo de segurança 64 o certificado criptografado, CertCA (CEman_Kpub), do fabricante de CE 52. Em 110, o módulo de segurança 64 descriptografa o certificado criptografado, CertCA (CEman_Kpub), usando a chave pública, CA_Kpub, da CA para 50, para permitir que a chave pública CEman_Pub) do fabricante de CE 52 seja extraída do certificado.
Seguinte à comunicação do certificado criptografado, CertcA (CEman_Kpub) , para o módulo de segurança 64, módulo de segurança 64, em 112, o dispositivo 60 gera um número aleatório X. O número aleatório X não executa qualquer função na validação do dispositivo pelo módulo de segurança. Em vez disso, o número aleatório X é usado para gerar um canal autenticado seguro (SAC) entre o dispositivo 60 e o módulo de segurança 64. Isso é descrito em mais detalhes abaixo.
Em 114, o dispositivo 60 executa o embaralhamento de bits do número aleatório X e do certificado criptografado, CertcEman (Device_Kpub) , armazenado no dispositivo 60, para amontoar o número aleatório X e o certificado criptografado, CertcEman (Device_Kpub) . O número aleatório X e o certificado criptografado, CertcEman (Device_Kpub) , submetidos a um embaralhamento de bits são criptografados subseqüentemente em 116, usando a chave pública, SM_Kpub, do módulo de segurança 64 comunicada previamente ao dispositivo pelo módulo de segurança na etapa 104, e comunica o número aleatório X e o certificado criptografado, CertcEman (Device_Kpub) , submetidos a um embaralhamento de bits ao módulo de segurança 64 na etapa 118.
Em 120, o módulo de segurança 64 descriptografa o número aleatório X e o certificado criptografado, CertcEman (Device_Kpub), submetidos a um embaralhamento de bits, usando uma chave equivalente, SM_Kpriv, à chave pública, SM_Kpub. 0 embaralhamento de bits do número aleatório X e do certificado criptografado, CertcEman (Device_Kpub) , submetidos a um embaralhamento de bits é revertido na etapa 122.
Um algoritmo usado para o embaralhamento de bits do número aleatório X e o certificado criptografado, CertcEman (Device_Kpub), submetidos pode ser armazenado no módulo de segurança 64, para permitir que o embaralhamento de bits seja revertido. Alternativamente, o módulo de segurança 64 pode enviar para o dispositivo 60 um número aleatório, referido como uma contestação aleatória, Z, seguinte ao recebimento do certificado criptografado, CertCA (CEman_Kpub). A contestação aleatória Z é submetida a um embaralhamento de bits pelo dispositivo 60, criptografada usando a chave pública do módulo de segurança, SM_Kpub, e transmitida para o módulo de segurança, de preferência, ao mesmo tempo que o número aleatório X e o certificado criptografado, CertCEman (Device_Kpub). 0 módulo de segurança 64 descriptografa a contestação aleatória Z submetida a um embaralhamento de bits criptografada e compara a contestação aleatória submetida a um embaralhamento de bits com a contestação aleatória não submetida a um embaralhamento de bits armazenada nele, para determinar como a contestação aleatória Z foi submetida a um embaralhamento de bits pelo dispositivo 60. O módulo de segurança 64 usa o resultado dessa contestação para reverter o embaralhamento de bits aplicado ao número aleatório X e ao certificado criptografado, CertCA (CEman_Kpub) , pelo dispositivo.
Voltando à Figura 5, o número aleatório é extraído e armazenado pelo módulo de segurança 64 na etapa 124. Em 126, o módulo de segurança 64 descriptografa o certificado criptografado, CertCEman (Device_Kpub) , usando a chave pública, CEman_Kpub, do fabricante de CE 52 transmitida para o módulo de segurança 64 pelo dispositivo 60, para possibilitar que a chave pública, Device_Kpub, do dispositivo 60 seja extraída do certificado. A validação do dispositivo 60 é conduzida pelo módulo de segurança 64 usando a chave pública, Device_Kpub, do dispositivo 60 na etapa 128. O módulo de segurança compara a chave pública, Device_Kpub, recebida com uma lista de chaves públicas de dispositivos armazenada previamente no módulo de segurança. A lista de chaves públicas de dispositivos pode ser gerada pela CA 50 e armazenada, por exemplo, na memória, tal com uma memória não volátil, no módulo de segurança 64 pelo provedor de segurança 54. O módulo de segurança 64 suporta dois tipos de lista.
Uma "lista de revogação" contém as chaves públicas dos dispositivos associadas com os dispositivos inválidos, e é usada para colocar em lista negra os dispositivos não condescendentes. Uma "lista de autorização" contém as chaves públicas dos dispositivos associadas com os dispositivos válidos, e é usada para transferir dados entre apenas os dispositivos pré-registrados.
Os identificadores de dispositivos publicados intencionalmente por terceiros, por exemplo, na Internet, podem ser incorporados à lista de revogação pelo CA 50, quando da atualização periódica do módulo de segurança 64 para impedir que os dados sejam transferidos para ou desses dispositivos ou clones desses dispositivos. No entanto, o uso de uma lista de autorização pode também impedir que os identificadores de dispositivos publicados intencionalmente na Internet funcionem, uma vez que esses identificadoras não vão ser válidos em qualquer lugar, exceto, por exemplo, em uma rede doméstica.
Uma sinalização embutida dentro do certificado de dispositivo criptografado ou do certificado do módulo de segurança criptografado determina a lista com a qual a chave pública do dispositivo recebida é comparada. Por exemplo, um módulo de segurança pode comparar a chave pública do dispositivo recebida com as chaves públicas armazenadas associadas com os dispositivos inválidos, quando a sinalização tem um posicionamento "0", e comparar a chave pública do dispositivo recebida com ambas as chaves públicas armazenadas associadas com os dispositivos inválidos e as chaves públicas armazenadas associadas com os dispositivos inválidos, quando a sinalização tem um posicionamento "1".
Se o dispositivo 6 0 é determinado como sendo um dispositivo inválido, o módulo de segurança 64 termina a comunicação com o dispositivo 60. Se, como mostrado na Figura 4, o módulo de segurança está em comunicação com outros dispositivos, a comunicação com aquele dispositivo também a terminada.
Se o dispositivo é determinar como sendo um dispositivo válido, o módulo de segurança 64 gera um canal autenticado seguro (SAC) de comunicação entre o dispositivo 60 e o módulo de segurança 64. A Figura 6 mostra as etapas associadas com a geração de um canal de autenticação seguro de comunicação entre um dispositivo e um módulo de segurança.
Na etapa 200, o módulo de segurança 64 gera uma chave de sessão aleatória SK. A chave de sessão aleatória é criptografada (TDES) na etapa 202 pelo módulo de segurança 64 usando o número aleatório X transmitido para o módulo de segurança 64 pelo dispositivo 60. A chave de sessão criptografada, TDESX (SK), é transmitida para o dispositivo 60 na etapa 204.
Na etapa 206, o dispositivo 60 deste criptografação a chave de sessão criptografada, TDESX (SK), usando o número aleatório X e armazena chave de sessão, SK, na memória na etapa 208. A chave de sessão, SK, é depois usada para criptografar os dados transferidos entre dispositivo 60 e um módulo de segurança 64.
Desse modo, seguinte à validação do dispositivo, a distribuição da chave é feita pelo módulo de segurança, para criar um canal de comunicação segura o dispositivo e o módulo de segurança. A atualização da chave de sessão também pode ser iniciada a qualquer momento, por exemplo, mediante ligação do dispositivo, inserção de disco, zapping do dispositivo pelo usuário, estabelecimento de conexão com o módulo de segurança, etc.
Com referência à Figura 1, o reprodutor DVD 12 transmite, tipicamente, dados amontoadas para o visor 14 ou gravador 18. As etapas associadas com o desamontoamento dos dados recebidos por um dispositivo vai ser descrita abaixo com referência à Figura 7.
Um disco DVD armazena, tipicamente, Mensagens de Controle de Habilitação (ECMs) criptografadas, juntamente com dados de áudio e/ou visuais amontoados. Uma ECM é uma mensagem relacionada com os dados de áudio e/ou visuais amontoados. A mensagem contém uma palavra de controle (que permite o desamontoamento dos dados) e os critérios de acesso dos dados. Os critérios de acesso e a palavra de controle são transmitidos pelo reprodutor DVD 12 para, por exemplo, o visor 14, via ligação de comunicação 16.
Os dados armazenados no disco compreendem, tipicamente, vários componentes distintos, por exemplo, um programa de televisão inclui um componente de vídeo, um componente de áudio, um componente de subtítulo e assim por diante. Cada um desses componentes é amontoado e criptografado individualmente. Em relação a cada um dos componentes amontoados dos dados, é necessária uma ECM separada.
Alternativamente, uma única ECM pode ser necessária para todos componentes amontoados de um serviço. A palavra de controle muda, tipicamente, a cada poucos segundos, e portanto também ECMs são também inseridas periodicamente nos dados, para permitir que a palavra de controle variável seja desamontoada. Com a finalidade de redundância, cada ECM inclui, tipicamente, duas palavras de controle, a palavra de controle atual e a palavra de controle seguinte.
Mediante recebimento dos dados amontoados e de uma ECM
criptografada do reprodutor DVD 12, o visor 14 extrai a ECM dos dados amontoados e passa a ECM e extraída para o conjunto de circuitos de desamontoamento para a descriptografação da ECM e extração da palavra de controle da ECM descriptografada. 0 conjunto de circuitos de desamontoamento pode ser implementado em um módulo de acesso condicional destacável 40 ou CAM, representado comumente na forma de um cartão PCMCIA, ou PC, inserível em um soquete no dispositivo recipiente.
Alternativamente, o CAM 40 pode ser fisicamente separado do dispositivo recipiente, o CAM 40 e o visor 14 sendo ligados à comunicavelmente por qualquer ligação de comunicação adequada 42, por exemplo, via uma interface serial ou paralela. 0 próprio CAM 40 pode incluir ainda uma ranhura para receber um cartão inteligente. Em tais sistemas, o cartão inteligente controla se o usuário final tem direito de descriptografar e acessar ao programa. Se o usuário final tem os direitos, a ECM é descriptografada poí um processador 41 dentro do cartão inteligente e a palavra de controle extraída. O processador 41 do CAM 40 pode depois desamontoar os dados amontoados, para suprir o dispositivo recipiente com um fluxo de dados claros para, por exemplo, descomprimir e exibir subseqüentemente. Alternativamente, o desamontoamento dos dados pode ser conduzido dentro do visor 14, usando as informações da palavra de controle comunicadas ao visor 14 do CAM 40.
No caso em que os dados amontoados são comunicados do reprodutor DVD 12 para um gravador digital 18 para visão subseqüente, o fabricante do disco DVD pode querer restringir acesso aos dados gravados. Por exemplo, o fabricante do disco pode querer proibir qualquer cópia adicional dos dados gravados. Nessas situações, os direitos de acesso, as Informações de Gerenciamento de Controle Estendidas (XCMIs), estão contidas como uma Mensagem de Controle de Habilitação Estendida (XECM), que inclui quaisquer direitos de acesso, como determinado pelo fabricante do disco. Mediante recebimento da XECM, o processador 41 da CAM 4 0 descriptografa a XECM, modifica a XECM, por exemplo, para proibir qualquer cópia dos dados gravados, recriptografa a ECM e passa a ECM recriptografada, modificada de volta para o dispositivo gravador.
Nesse tipo de sistema, os dados sensíveis (palavras de controle, XECMs modificadas ou dados desamontoados) podem ser passados entre a CAM e o visor 14 ou gravador 18, e os problemas de segurança podem surgir nessa interface. Para superar tais problemas, antes de comunicar quaisquer dados, por exemplo, uma ECM do visor 14 para o cartão inteligente, um canal de autenticação seguro (SAC) é criado, como descrito acima com referência às Figuras 5 e 6, entre o visor 14 e a CAM 40. Para criar o SAC 42 entre o visor 14 e a CAM 40, a CAM deve armazenar, por exemplo, no cartão inteligente, a lista de chaves públicas de dispositivos para validar o visor 14 .
Como mostrado na Figura 4, um módulo de segurança pode ser conectado a dois ou mais dispositivos conectados 60a, 60b, via as respectivas negações de comunicação 70a, 70b.
Assim como validar ambos esses dispositivos, cada dispositivo sendo validado como descrito na Figura 5, o módulo de segurança pode criar um canal de comunicação segura entre os dispositivos. A Figura 8 mostra as etapas associadas com a provisão de comunicação segura entre dois dispositivos.
A provisão de comunicação segura entre o dispositivo A 60a e o dispositivo B 60b é conduzida, após ambos os dispositivos terem sido validados pelo módulo de segurança.
Com referência à Figura 8, na etapa 300 o módulo de segurança 64 gera uma chave de sessão aleatória. A chave de sessão aleatória é criptografada na etapa 302 pelo módulo de segurança 64, usando o número aleatório X transmitido para o módulo de segurança 64 pelo dispositivo durante a validação do dispositivo. A criptografação é conduzida, de preferência, usando um algoritmo simétrico, tal como DES Triplo (TDES). A chave de sessão criptografada, TDESX(SK), é transmitida para o dispositivo A 60a na etapa 304. Na etapa 306, o dispositivo A 60a descriptografa a chave de sessão criptografada, TDESX(SK), usando o número aleatório X e armazena a chave de sessão, SK, na memória.
Na etapa 308, a chave de sessão aleatória, SK, é adicionalmente criptografadas pelo TDES pelo módulo de segurança 64, usando o número aleatório Y transmitido para o módulo de segurança 64 pelo dispositivo b 60b durante a validação do dispositivo. A chave de sessão criptografada, TDESy(SK), é transmitida para o dispositivo B 60b na etapa 310. Na etapa 312, o dispositivo descriptografa a chave de sessão criptografada, TDESX(SK), usando o número aleatório Y e armazena a chave de sessão, SK, na memória.
Desse modo, a chave de sessão SK é transmitida para cada dispositivo por um respectivo SAC. A chave de sessão SK pode ser depois usada pelo, por exemplo, dispositivo A 60a para criptografar os dados transmitidos para o dispositivo B 60b, via a ligação de comunicação 75.
Com referência à Figura 9, na etapa 400, o dispositivo 60a criptografa os dados D usando a chave de sessão SK. O algoritmo de criptografação usado em um algoritmo simétrico, tal como o algoritmo DES Triplo (TDES) ou um similar a esse.
Os dados criptografados, TDESX(D), são transmitidos para o dispositivo 60b, via a ligação de comunicação 75 na etapa 402. Na etapa 404, o dispositivo B 60b descriptograf a os dados criptografados, TDESX(D), usando a chave de sessão SK para obter os dados D.
Como discutido acima, não há qualquer geração de chaves de sessão por quaisquer dos dispositivos, as chaves de sessão são geradas apenas pelo módulo de segurança. Portanto, o método mencionado acima proporciona um método muito simples mas ainda seguro de proporcionada comunicação segura entre dispositivos, pois os dados transmitidos por um dispositivo podem ser apenas descriptografados por um dispositivo que tenha estabelecido um canal autenticado seguro com o mesmo módulo de segurança que o daquele dispositivo.
Como discutido com referência à Figura 7, além de conduzir a validação dos dispositivos e a criação de SACs, o módulo de segurança pode transmitir palavras de controle, direitos de acesso e/ou dados amontoados a um dispositivo. As Figuras 10 e 11 ilustram exemplos nos quais um módulo de gente segurança estabelece uma ligação de comunicação segura entre dois dispositivos e transmite, subseqüentemente, os dados associados com os dados amontoados para o dispositivo. A Figura 10 mostra, em um primeiro exemplo, as etapas associadas com o estabelecimento de uma ligação de comunicação segura entre o reprodutor DVD e uma televisão digital, e as operações subsequentes conduzidas para desamontoar os dados recebidos do reprodutor DVD pela televisão digital.
Na etapa 500, o módulo de segurança 64 determina a validade de cada um do reprodutor DVD 12 e TV digital 14, usando as etapas descritas acima com referência à Figura 5.
Se os dois dispositivos são determinados como sendo válidos, o módulo de segurança 64 estabelece canais autenticados seguros com o reprodutor DVD 12 e a TV digital, usando as etapas descritas acima com referência à Figura 6. Em conseqüência do estabelecimento dos SACs, uma chave de sessão SK é armazenado em cada um dos dispositivos e no módulo de segurança.
Na etapa 502, os dados, compreendendo os dados Amontoados do Sistema de Controle (CSS) e as ECMs criptografadas proprietárias contendo as palavras de controle para desamontoar os dados, são criptografados pelo reprodutor DVD 12, usando a chave de sessão SK, e transmitidos para a TV digital via a ligação de comunicação 16.
Os dados criptografadas são recebidos pela TV digital 14 na etapa 504 e descriptografados usando a chave de sessão SK.
Os dados amontoados são passados para um desmultiplexador 90 que, na etapa 5 06, separa os dados CSS das ECMs criptografadas. As ECMs criptografadas são passadas pelo SACA pela TV digital 14 para o módulo de segurança 64 etapa 508.
Para transferir para o módulo de segurança 64 pelo SAC, as ECMs criptografadas são criptografadas adicionalmente pela TV digital 14 usando a chave de sessão SK gerada pelo módulo de segurança 64.
Como mostrado na Figura 10, o módulo de segurança é dividido nocionalmente em uma parte de segurança padronizada 66 e uma parte de segurança proprietária 68. As ECMs criptografadas duas vezes são recebidas na parte de segurança padronizada 66 na etapa 510 e descriptografados uma vez usando a chave de sessão SK. Na etapa 512, as ECMs criptografadas proprietárias são passadas para a parte de segurança proprietária 68 que, na etapa 514, descriptografa e valida as ECMs criptografadas, usando uma chave equivalente à chave proprietária usada para criptografar as ECMs, e processa a ECM, se autorizada, para extrair as palavras de controle, ou chaves CSS, da ECM.
Na etapa 516, as chaves CSS são passadas para a parte de segurança padronizada 66, que criptografa as chaves CSS
usando a chave de sessão SK, e passa as chaves CSS
criptografadas para a TV digital 14 pelo SAC. As chaves CSS
criptografadas recebidas são descriptografados pela TV digital 14, usando a chave de sessão na etapa 518 e passadas subseqüentemente para um desamontoador 92 para uso no desaraontoamento dos dados. Em 520, os dados desamontoados são transmitidos para exibição no visor 94.
Como vai ser facilmente entendido do que foi mencionado acima, as palavras de controle são sempre criptografadas usando a chave de sessão SK, antes de serem transmitidas entre quaisquer dos dispositivos e o módulo de segurança.
No exemplo acima, as palavras de controles estão contidas nas ECMs. No entanto, as ECMs podem estar contidas nas XECMs juntamente com as XCMIs, ou os direitos de acesso, que são processados pela parte de segurança proprietária 68 para, por exemplo, determinar se os direitos do usuário de ver os dados expiraram. A Figura 11 mostra, no segundo exemplo, as etapas associadas com o estabelecimento de uma ligação de comunicação segura entre o reprodutor DVD e um gravador digital, e as operações subseqüentes conduzidas para desamontoar os dados recebidos do reprodutor DVD pelo gravador digital.
Na etapa 600, um módulo de segurança 64 determina a validade de cada um do reprodutor de DVD 12 e do gravador digital 18, usando as etapas descritas acima com referência à Figura 5. Se os dois dispositivos são determinados como sendo válidos, o módulo de segurança 64 estabelece canais autenticados seguros (SACs) com o reprodutor DVD 12 e o gravador digital 18, usando as etapas descritas acima com referência à Figura 6. Em conseqüência do estabelecimento das SACs, uma chave de sessão SK é armazenada em cada um dos dispositivos e no módulo de segurança.
Na etapa 6 02, os dados, compreendendo os dados Amontoados do Sistema de Controle (CSS) e as XECMs criptografadas proprietárias contendo as palavras de controle para desamontoar os dados e as XCMIs, são criptografados pelo reprodutor DVD 12 usando a chave de sessão SK e transmitidos para o gravador, via a ligação de comunicação 20.
Os dados criptografadas são recebidos pelo gravador 18 na etapa 604 e descriptografados usando a chave de sessão SK.
Os dados amontoados são passados para um desmultiplexador 90 que, na etapa 606, separa os dados CSS das XECMs criptografadas. As XECMs criptografadas são passadas pelo SAC pelo gravador 18 para o módulo de segurança 64 na etapa 608.
Para transferir para o módulo de segurança 64 pelo SAC, as XECMs criptografadas são criptografadas adicionalmente pelo gravador 18 usando a chave sessão SK gerada pelo módulo de segurança 64.
Como mostrado na Figura 11, o módulo de segurança é dividido nocionalmente em uma parte de segurança padronizada 66 e uma parte de segurança proprietária 68. As XECMs criptografadas duas vezes são recebidas na parte de segurança padronizada 66 na etapa 610 e descriptografados uma vez usando a chave de sessão SK. Na etapa 512, as XECMs criptografadas proprietárias são passadas para a parte de segurança proprietária 68 que, na etapa 614, descriptografa e valida as XECMs criptografadas, usando uma chave equivalente à chave proprietária usada para atualizar as XECMs, para, por exemplo, limitar o número de vezes que o usuário pode reproduzir os dados, para proibir qualquer regravação posterior dos dados, etc.
Na etapa 616, as XECMs são criptografadas usando um algoritmo proprietário PA e uma chave do usuário 96 armazenada no módulo de segurança 68. Isso incorpora segurança aos dados gravados pelo gravador 18, as palavras de controle para o desamontoamento dos dados CSS podem ser apenas extraídos da XECM modificada, se o usuário tem acesso à chave do usuário. Desse modo, a reprodução e a visão dos dados gravados são restritas ao proprietário do módulo de segurança.
Na etapa 618, as XECMs são passadas para a parte de segurança padronizada 66, que criptografa ainda as XECMs criptografadas usando a chave de sessão SK e passa as XECMs criptografadas para o gravador pelo SAC. As XECMs criptografadas recebidas são descriptografadas uma vez pelo gravador, usando a chave de sessão na etapa 620, e passadas subseqüentemente para um meio de gravação 98, tal como uma fita DAT, para armazenar os dados CSS e as XECMs criptografadas XECMs.
Vai-se entender que a presente invenção foi descrita acima puramente por meio de exemplo, e podem ser feitas modificações de detalhes dentro do âmbito da invenção.
Por exemplo, ainda que os exemplos acima tenham descrito a provisão de uma ligação de comunicação entre os dispositivos usando uma interface digital IEEE 1394, ligações unidirecionais, tais como 8-VSB e 16-VSB, também podem ser usadas. Não é essencial que um dispositivo passe diretamente certificados para um módulo de segurança. Por exemplo, quando um primeiro dispositivo é incapaz de receber dados de um módulo de segurança, o primeiro dispositivo pode passar os seus certificados para um segundo dispositivo em uma comunicação de duas vias com o módulo de segurança para validação do primeiro dispositivo.
Nos exemplos descritos, apenas um módulo de segurança é proporcionado. No entanto, diferentes módulos de segurança podem coexistir dentro de uma rede compreendida de vários dispositivos conectados via várias interfaces.
Cada característica descrita na descrição e (quando apropriado) nas reivindicações e desenhos pode ser proporcionada independentemente ou em qualquer combinação apropriada.