BRPI0213214B1 - Safety method and equipment in a data processing system - Google Patents

Safety method and equipment in a data processing system Download PDF

Info

Publication number
BRPI0213214B1
BRPI0213214B1 BRPI0213214B1 BR PI0213214 B1 BRPI0213214 B1 BR PI0213214B1 BR PI0213214 B1 BRPI0213214 B1 BR PI0213214B1
Authority
BR
Brazil
Prior art keywords
key
short
bak
identifier
key identifier
Prior art date
Application number
Other languages
English (en)
Publication date

Links

Description

"MÉTODO E EQUIPAMENTO DE SEGURANÇA EM UM SISTEMA DE PROCESSAMENTO DE DADOS" FUNDAMENTOS
Campo A presente invenção refere-se de maneira geral a sistemas de processamento de dados e, especificamente, a métodos e um equipamento para obter segurança em um sistema de processamento de dados.
Fundamento A segurança em sistemas de processamento de dados e de informação, incluindo sistemas de comunicação, contribui para a responsabilidade, clareza, exatidão, confidencialidade, capacidade operacional, assim como para uma quantidade excessiva de outros critérios desejados. A codificação, ou o campo geral da criptografia, é utilizada no comércio eletrônico, nas comunicações sem fio, na radiodifusão (broadcasting), e tem uma faixa ilimitada de aplicações. No comércio eletrônico, a codificação é utilizada para impedir fraude em e verificar transações financeiras. Em sistemas de processamento de dados, a codificação é utilizada para verificar a identidade de um participante. A codificação é também utilizada para impedir pirataria, proteger páginas da Web e impedir o acesso a documentos confidenciais, assim como diversas medidas de segurança.
Os sistemas que empregam a criptografia, frequentemente referidos como sistemas criptográficos, podem ser particionados em sistemas criptográficos simétricos e sistemas criptográficos assimétricos. Um sistema de codificação simétrico utiliza uma mesma chave (isto é, a chave secreta) para codificar e decodificar uma mensagem. Ao passo que um sistema de codificação assimétrico utiliza uma primeira chave (isto é, a chave pública) para codificar uma mensagem e utiliza uma segunda chave, diferente (isto é, a chave privada), para decodificá-la. Os sistemas criptográficos assimétricos são também chamados sistemas criptográficos de chave pública. Existe um problema nos sistemas criptográficos no que se refere ao fornecimento seguro da chave secreta de um remetente a um destinatário. Além disto, existe um problema quando as chaves ou outros mecanismos de codificação são atualizados com frequência. Em um sistema de processamento de dados, os métodos para atualizar chaves com segurança incorrem em tempo de processamento adicional, armazenamento de memória e outro overhead de processamento. Em um sistema de comunicação sem fio, a atualização de chaves utiliza largura de banda valiosa doutro modo disponível para transmissão. A técnica anterior não apresenta um método para atualizar chaves para um grupo grande de estações móveis de modo que elas possam acessar um broadcast codificado. Há necessidade, portanto, de um método seguro e eficiente para atualizar chaves em um sistema de processamento de dados. Há também necessidade de um método seguro e eficiente para atualizar chaves em um sistema de comunicação sem fio.
SUMÁRIO
As modalidades apresentadas aqui atendem às necessidades acima referidas pela apresentação de um método para obter segurança em um sistema de processamento de dados. Sob um aspecto, um método para transmissões seguras inclui determinar uma chave de curta duração para uma mensagem para transmissão, em que a chave de curta duração tem um identificador de chave de curta duração, determinar uma chave de acesso para a mensagem, em que a chave de acesso tem um identificador de chave de acesso, codificar a mensagem com a chave de acesso, formar um cabeçalho de protocolo Internet que compreende o identificador de chave de curta duração e transmitir a mensagem codificada com o cabeçalho de protocolo Internet.
Sob outro aspecto, em um sistema de comunicação sem fio que suporta uma opção de serviço de broadcast, um elemento de infra-estrutura inclui um conjunto de circuitos de recepção, uma unidade de identificação de usuário, operativo para recuperar uma chave de curta duração para decodificar uma mensagem de broadcast, e uma unidade de equipamento móvel adaptada para aplicar a chave de curta duração para decodificar a mensagem de broadcast. A unidade de identificação de usuário inclui uma unidade de processamento operativo para decodificar informações de chave. A unidade de equipamento móvel inclui uma unidade de armazenamento de memória para armazenar uma pluralidade de chaves de curta duração e identificadores de chave de curta duração.
Sob ainda outro aspecto, um dispositivo de armazenamento de sinais digitais inclui um primeiro conjunto de instruções para receber um identificador de chave de curta duração especifico para uma transmissão, o identificador de chave de curta duração correspondendo a uma chave de curta duração, um segundo conjunto de instruções para determinar uma chave de acesso com base no identificador de chave de curta duração, um terceiro conjunto de instruções para codificar o identificador de chave de curta duração com a chave de acesso de modo a recuperar a chave de curta duração, e um quarto conjunto de instruções para decodificar a transmissão que utiliza a chave de curta duração.
BREVE DESCRIÇÃO DOS DESENHOS A figura IA é um diagrama de um sistema criptográfico. A figura 1B é um diagrama de um sistema criptográfico simétrico. A figura 1C é um diagrama de um sistema criptográfico assimétrico. A figura 1D é um diagrama de um sistema de codificação PGP. A figura 1E é um diagrama de um sistema de decodificação PGP. A figura 2 é um diagrama de um sistema de comunicação por espalhamento espectral que suporta numerosos usuários. A figura 3 é um diagrama de blocos do sistema de comunicação que suporta transmissões de broadcast. A figura 4 é um diagrama de blocos de uma estação móvel em um sistema de comunicação sem fio.
As figuras 5A e 5B exemplificam modelos que descrevem a atualização de chaves dentro de uma estação móvel utilizada no controle do acesso ao broadcast. A figura 6 é um modelo que descreve operações criptográficas dentro de um UIM.
As figuras 7A-7D exemplificam um método para implementar a codificação de segurança em um sistema de comunicação sem fio que suporta transmissões de broadcast.
As figuras 8A-8D exemplificam a aplicação de um método de codificação de segurança em um sistema de comunicação sem fio que suporta transmissões de broadcast. A figura 9A exemplifica o formato de um pacote IPSec para uma transmissão de Protocolo Internet. A figura 9B exemplifica um Identificador de Associação de Segurança ou SPI (Security Association Identifier) conforme aplicável a um pacote IPSec. A figura 9C exemplifica um dispositivo de armazenamento de memória para armazenar informações de SPI em uma estação móvel. A figura 9D exemplifica um dispositivo de armazenamento de memória para armazenar Chaves de Acesso a Broadcast (BAKs) em uma estação móvel.
As figuras 10 e 11 exemplificam um método para proporcionar segurança a uma mensagem de broadcast em um sistema de comunicação sem fio. A figura 12A exemplifica um Identificador de Associação de Segurança ou SPI conforme aplicável a um pacote IPSec. A figura 12B exemplifica um dispositivo de armazenamento de memória para armazenar informações de SPI em uma estação móvel.
As figuras 13 e 14 exemplificam um método para proporcionar segurança a uma mensagem de broadcast em um sistema de comunicação sem fio.
DESCRIÇÃO DETALHADA A palavra "exemplar" é utilizada exclusivamente aqui de modo a significar "que serve como exemplo, caso ou ilustração". Qualquer modalidade descrita aqui como "exemplar" não deve necessariamente ser entendida como preferida ou vantajosa com relação a outras modalidades.
Sistemas de comunicação sem fio são amplamente utilizados para proporcionar diversos tipos de comunicação, tais como voz, dados e assim por diante. Estes sistemas podem ser baseados em acesso múltiplo por divisão de código (CDMA), acesso múltiplo por divisão de tempo (TDMA) ou em outras técnicas de modulação. Um sistema CDMA oferece determinadas vantagens sobre outros tipos de sistema, inclusive maior capacidade do sistema.
Um sistema pode ser projetado para suportar um ou mais padrões, tais como o "Padrão de Compatibilidade Estação Móvel-Estação Base TIA/EIA/IS-95-B para Sistema Celular por Espalhamento Espectral de Banda Larga e de Modo Duplo", referido aqui como padrão IS-95, o padrão oferecido por um consórcio denominado "Projeto de Parceria de 3â Geração", referido aqui como 3GPP e corporif içado em um conjunto de documentos que inclui os Documentos Nos. 3G TS 25 211, 3G TS 25 212, 3G TS 25 213, 3G TS 25 214 e 3G TS 25 302, referidos aqui como padrão W-CDMA, o padrão oferecido por um consórcio chamado "Projeto de Parceria de 3- Geração 2", referido aqui como 3GPP2, e o TR-45 5, referido aqui como padrão cdma2000, anteriormente chamado Is-2000 MC. Os padrões citados acima são por este expressamente incorporados aqui à guisa de referência.
Cada padrão define especificamente o processamento de dados para transmissão da estação base para a estação móvel e vice-versa. Como uma modalidade exemplar, a discussão seguinte considera um sistema de comunicação por espalhamento espectral compatível com sistemas cdma2000. Modalidades alternativas podem incorporar outro padrão/sistema. Ainda outras modalidades podem aplicar os métodos de segurança apresentados aqui a qualquer tipo de sistema de processamento de dados que utilize um sistema criptográfico.
Um sistema criptográfico é um método de ocultação de mensagens que permite que um grupo especifico de usuários extraia a mensagem. A figura IA ilustra um sistema criptográfico básico, 10. A criptografia é a técnica de criar e utilizar sistemas criptográficos. A análise criptográfica é a técnica de quebrar sistemas criptográficos, isto é, receber e entender a mensagem quando não se está dentro do grupo específico de usuários a quem se permitiu acesso à mensagem. A mensagem original é referida como uma mensagem de texto simples (plaintext message) ou texto simples. A mensagem codificada é chamada texto cifrado, em que a codificação inclui qualquer meio para converter o texto simples em texto cifrado. A decodificação inclui qualquer meio para converter texto cifrado em texto simples, isto é, recuperar a mensagem original. Conforme mostrado na figura IA, a mensagem de texto simples é codificada de modo a se formar um texto cifrado. 0 texto cifrado é em seguida recebido e decodificado de modo a se recuperar o texto simples. Embora os termos texto simples e texto cifrado se refiram geralmente a dados, os conceitos de codificação podem ser aplicados a qualquer informação digital, inclusive dados de áudio e vídeo apresentados sob forma digital. Embora a descrição da invenção apresentada aqui utilize os termos texto simples e texto cifrado compatíveis com a técnica de criptografia, estes termos não excluem outras formas de comunicação digital.
Um sistema criptográfico é baseado em segredos. Um grupo de entidades partilha um segredo se uma entidade fora deste grupo não puder obter o segredo sem uma quantidade substancialmente grande de recursos.
Um sistema criptográfico pode ser uma reunião de algoritmos, em que cada algoritmo é rotulado e os rótulos são chamados chaves. Um sistema de codificação simétrica, frequentemente referido como sistema criptográfico, utiliza uma mesma chave (isto é, a chave secreta) para codificar e decodificar uma mensagem. Um sistema de codificação simétrica, 20, é mostrado na figura 1B, em que tanto a codificação quanto a decodificação utilizam uma mesma chave privada.
Em contraste, um sistema de codificação assimétrica utiliza uma primeira chave (como, por exemplo, a chave pública) para codificar uma mensagem e utiliza uma chave diferente (como, por exemplo, a chave privada) para decodificá-la. A figura 1C mostra um sistema de codificação assimétrica, 30, no qual uma chave é fornecida para codificação e uma segunda chave para decodificação. Os sistemas criptográficos assimétricos são também chamados sistemas criptográficos de chave pública. A chave pública é publicada e está disponível para codificar qualquer mensagem, porém apenas a chave privada pode ser utilizada para decodificar a mensagem codificada com a chave pública.
Existe um problema nos sistemas criptográficos simétricos no fornecimento seguro da chave secreta de um remetente para um destinatário. Em uma solução, um mensageiro pode ser utilizado para fornecer as informações, ou uma solução mais eficaz e segura pode ser a de utilizar um sistema criptográfico de chave pública, como, por exemplo, um sistema criptográfico de chave pública definido por Rivest, Shamir e Adleman (RSA), que é discutido a seguir. 0 sistema RSA é utilizado na ferramenta de segurança popular referida como Pretty Good Privacy (PGP), que é também detalhada a seguir. Por exemplo, um sistema criptográfico originalmente registrado alterou letras em um texto simples deslocando cada letra em n no alfabeto, em que n é um valor de número inteiro constante predeterminado. Em tal esquema, um "A" é substituído por um "D", etc., em que um dado esquema de codificação pode incorporar vários valores diferentes de n. Neste esquema de codificação, "n" é a chave. Aos destinatários intencionados é fornecido o esquema de codificação antes do recebimento do texto cifrado. Desta maneira, os que conhecem a técnica devem ser capazes de decodificar o texto cifrado de modo a recuperarem o texto simples. Entretanto, pelo cálculo da chave com conhecimento da codificação, as partes não visadas podem ser capazes de interceptar e decodificar o texto cifrado, criando um problema de segurança.
Sistemas criptográficos mais complicados e sofisticados utilizam chaves estratégicas que impedem a interceptação e a decodificação de partes não intencionadas. Um sistema criptográfico clássico utiliza funções de codificação E e funções de decodificação D, de modo que: D_K(E_K(P))= P, para qualquer texto simples P (1) Em um sistema criptográfico de chave pública, E_K é facilmente computado a partir de uma "chave pública" Y conhecida, que é por sua vez computada a partir de K. A chave pública Y é publicada, de modo que qualquer um pode codificar mensagens. A função de decodificação D_K é computada a partir da chave pública Y, mas só com conhecimento de uma chave privada K. Sem a chave privada K, um destinatário não intencionado não pode decodificar o texto cifrado assim gerado. Desta maneira, apenas o destinatário que gerou K pode decodificar mensagens. 0 RSA é um sistema criptográfico de chave pública definido por Rivest, Shamir e Adleman, no qual, por exemplo, textos simples consideram números inteiros positivos até 2512. Chaves são quádruplos (p, q, e, d), com p dado como um número primo de 256 bits, q como um número primo de 258 bits e d e e números grandes com (de - 1) divisivel por (p-1)(g-1). Além disto, defina-se a função de codificação como: E_K(P)= Pe mod pg, D_K(C)= Cd mod pg. (2) Embora E_K seja facilmente computado a partir do par (pq,e) , não há maneira simples conhecida para se computar D_K a partir do par (pq, e). Portanto, o destinatário que gerar K pode publicar (pq,e) . É possível enviar uma mensagem secreta ao destinatário uma vez que ele é aquele capaz de ler a mensagem. A PGP combina aspectos da codificação simétrica e assimétrica. As figuras 1D e 1E mostram um sistema criptográfico PGP, 50, no qual uma mensagem de texto simples é codificada e recuperada. Na figura 1D, a mensagem de texto simples é comprimida de modo a se economizar o tempo de transmissão do modem e espaço no disco. A compressão reforça a segurança criptográfica ao acrescentar outro nível de tradução ao processamento de codificação e decodificação. A maioria das técnicas de análise criptográfica explora padrões encontrados no texto simples, de modo a quebrar o código secreto. A compressão reduz estes padrões no texto simples, aumentando assim a resistência à análise criptográfica. Note-se que uma modalidade não compreende: texto simples ou outras mensagens que são curtas demais para comprimir, ou que não comprimem bem. A PGP cria então uma chave de sessão, que é uma chave secreta de uma vez só. Esta chave é um número aleatório que pode ser gerado a partir de qualquer (quaisquer) evento(s), tais como movimentos aleatórios de um mouse de computador e/ou movimentos de cursor enquanto se digita. A chave de sessão funciona com um algoritmo de codificação seguro para codificar o texto simples, do que resulta um texto cifrado. Uma vez codificados os dados, a chave de sessão é então codificada na chave pública do destinatário. A chave de sessão codificada na chave pública é transmitida juntamente com o texto cifrado ao destinatário.
Para decodificação, conforme mostrado na figura 1E, a cópia da PGP do destinatário utiliza uma chave privada para recuperar a chave de sessão temporária, que a PGP utiliza então para decodificar o texto cifrado convencionalmente codificado. A combinação de métodos de codificação tira vantagem da conveniência da codificação de chave pública e da velocidade da codificação simétrica. A codificação simétrica é geralmente muito mais veloz que a codificação de chave pública. A codificação de chave pública, por sua vez, dá uma solução às questões de distribuição de chaves e transmissão de dados. Em combinação, o desempenho e a distribuição de chaves são aperfeiçoados sem qualquer sacrifício da segurança.
Uma chave é um valor que funciona com um algoritmo criptográfico para produzir um texto cifrado específico. Chaves são basicamente números muito grandes. 0 tamanho da chave é medido em bits. Na criptografia de chave pública, a segurança aumenta com o tamanho da chave, porém o tamanho da chave pública e o tamanho da chave privada de codificação simétrica não estão geralmente relacionados. Embora as chaves pública e privada estejam matematicamente relacionadas, surge uma dificuldade quanto a obter uma chave privada dada apenas uma chave pública. A obtenção da chave privada é possível dados um tempo e uma potência de computação suficientes, tornando a seleção do tamanho da chave uma questão de segurança importante. A finalidade ideal é maximizar o tamanho da chave por razões de segurança, ao mesmo tempo reduzindo-se ao mínimo o tamanho da chave para facilitar o processamento rápido. Chaves maiores serão criptograficamente seguras durante um período de tempo mais longo. Uma consideração adicional é o interceptador esperado, especificamente: 1) qual é a importância de uma mensagem para uma terceira parte; e 2) quanto de recurso terá uma terceira parte para decodificar a mensagem.
Note-se que as chaves são armazenadas sob forma codificada. A PGP armazena especificamente as chaves em dois arquivos: um para chaves públicas e um para chaves privadas. Estes arquivos são chamados chaveiros. Na aplicação, o sistema de codificação PGP acrescenta as chaves públicas dos destinatários alvo ao chaveiro público do remetente. As chaves privadas do remetente são armazenadas no chaveiro privado do remetente.
Conforme discutido nos exemplos dados acima, o método de distribuição das chaves utilizado na codificação e na decodificação pode ser complicado. O "problema da troca de chaves" envolve primeiro assegurar que as chaves sejam trocadas de modo que tanto o remetente quanto o receptor possam efetuar a codificação e a decodificação, respectivamente, e para comunicação bidirecional, de modo que o remetente e o receptor possam tanto codificar quanto decodificar mensagens. Além disto, é desejável que a troca de chaves seja feita de modo a impedir a interceptação por uma terceira e não intencionada parte.
Finalmente, uma consideração adicional refere-se à autenticação, assegurando-se ao receptor que a mensagem foi codificada por um remetente intencionado e não por uma terceira parte. Em um sistema de troca de chaves privadas, as chaves são trocadas secretamente, dando-se maior segurança na troca de chaves bem sucedida e autenticação válida. Note-se que o esquema de codificação de chave privada fornece implicitamente autenticação. A suposição subjacente em um sistema criptográfico de chave privada é a de que só o remetente intencionado terá a chave capaz de codificar as mensagens transmitidas ao receptor intencionado. Embora os métodos criptográficos de chave pública solucionem um aspecto essencial do 'problema da troca de chaves', especificamente sua resistência à análise mesmo com a presença de um invasor (eavesdropper) passivo durante a troca de chaves, mesmo assim eles não solucionam todos os problemas relacionados com a troca de chaves. Em particular, uma vez que as chaves são consideradas 'conhecimento público' (particularmente com o RSA), algum outro mecanismo é desejável para fornecer autenticação. A autenticação é desejável como posse de chaves somente e, embora suficiente para codificar mensagens, não é evidência de uma identidade única especifica do remetente, nem é posse de uma chave de decodificação correspondente por si mesma suficiente para estabelecer a identidade do destinatário.
Uma solução é desenvolver um mecanismo de distribuição de chaves que assegure que as chaves listadas sejam realmente aquelas das entidades dadas, às vezes chamado autoridade de confiança, autoridade de certificação ou agente de garantia de terceira parte. Tipicamente, a autoridade efetivamente não gera chaves, mas assegura de fato que as listas de chaves e as identidades afins, mantidas e anunciadas para referência pelos remetentes e receptores, são corretas e não comprometidas. Em outro método, conta-se com os usuários para distribuir e rastrear as chaves uns dos outros e confiar de maneira informal, distribuída. De acordo com o sistema RSA, se um usuário desejar enviar evidência de sua identidade além de uma mensagem codificada, uma assinatura é codificada com a chave privada. O receptor pode utilizar o algoritmo RSA ao contrário para verificar se as informações estão decodificadas, de modo que só o remetente pode ter codificado o texto simples pela utilização da chave secreta. Tipicamente, a 'assinatura' codificada é uma 'compilação de mensagem' que compreende um 'sumário' matemático único da mensagem secreta (se a assinatura fosse estática através de várias mensagens, uma vez que receptores anteriores conhecidos poderiam usá-la de maneira falsa). Desta maneira, teoricamente, só o remetente da mensagem pode gerar uma assinatura válida para essa mensagem, autenticando-a assim para o receptor.
Uma compilação de mensagem é frequentemente computada utilizando-se uma função hash criptográfica. Uma função hash criptográfica computa um valor (com um número fixo de bits) a partir de qualquer entrada, independentemente da extensão da entrada. Uma propriedade da função hash criptográfica é esta: dado um valor de saida, é computacionalmente difícil determinar uma entrada que resultará nessa saida. Um exemplo de função hash criptográfica é SHA-1, conforme descrito em "Secure Hash Standard", FIPS PUB 180-1, promulgado pelas Publicações Federais de Padrões de Processamento de Informações (FIPS PUBS) e emitido pelo Instituto Nacional de Padrões e Tecnologia. A figura 2 serve como exemplo de sistema de comunicação 100 que suporta numerosos usuários e é capaz de implementar pelo menos alguns aspectos e modalidades da invenção. Qualquer um de vários algoritmos e métodos pode ser utilizado para programar transmissões no sistema 100. O sistema 100 proporciona comunicação para numerosas células, de 102A a 102G, cada uma das quais é servida por uma estação de base correspondente, de 104A a 104G, respectivamente. Na modalidade exemplar, algumas das estações base 104 têm várias antenas de recepção, e outras têm apenas uma antena de recepção. De maneira semelhante, algumas das estações base 104 têm várias antenas de transmissão, e outras têm antenas de transmissão únicas. Não há restrições às combinações de antenas de transmissão e antenas de recepção. Portanto, é possível que uma estação base 104 tenha várias antenas de transmissão e uma única antena de recepção, ou que tenha várias antenas de recepção e uma única antena de transmissão, ou que tenha tanto únicas quanto várias antenas de transmissão e recepção.
Os terminais 10 6 na área de cobertura podem ser fixos (isto é, estacionários) ou móveis. Conforme mostrado na figura 2, diversos terminais 106 são dispersos por todo o sistema. Cada terminal 106 comunica-se com pelo menos uma e possivelmente mais estações base 104 no downlink e no uplink a qualquer momento dado, dependendo, por exemplo, de ser utilizado ou não um soft handoff ou de ser o terminal projetado e levado a operar (concomitante ou sequencialmente) para receber várias transmissões de várias estações base. O soft handoff nos sistemas de comunicação CDMA é notoriamente conhecido na técnica e é descrito detalhadamente na patente norte-americana No. 5 101 501, intitulada "Method and System for providing a Soft Handoff in a CDMA Cellular Telephone System", que é cedida ao cessionário da presente invenção. O downlink refere-se à transmissão da estação base para o terminal, e o uplink refere-se à transmissão do terminal para a estação base. Na modalidade exemplar, alguns dos terminais 106 têm várias antenas de recepção e outros têm apenas uma antena de recepção. Na figura 2, a estação base 104A transmite dados para os terminais 106A e 106J no downlink, a estação base 104B transmite dados para os terminais 106 e 106J, a estação base 104C transmite dados para o terminal 106C e assim por diante. A crescente procura por transmissão de dados sem fio e a expansão de serviços disponíveis por meio da tecnologia de comunicação sem fio têm levado ao desenvolvimento de serviços de dados específicos. Um i serviço que tal é referido como de Alta Taxa de dados (HDR). Um serviço HDR exemplar é proposto na "Especificação de Interface pelo Ar de Dados de Pacote de Taxa Elevada cdma2000 EIA/TIA-IS856", referida como "especificação HDR". 0 serviço HDR é geralmente uma cobertura para um sistema de i comunicação por voz que proporciona um método eficaz de transmissão de pacotes de dados em um sistema de comunicação sem fio. À medida que a quantidade de dados transmitidos e o número de transmissões aumentam, a largura de banda limitada disponível para radiotransmissões torna-j se um recurso essencial. Há necessidade, portanto, de um método eficaz e razoável para programar transmissões em um sistema de comunicação que otimize a utilização da largura de banda disponível. Na modalidade exemplar, o sistema 100 mostrado na figura 2 é compatível com um sistema do tipo ) CDMA que tenha serviço HDR.
De acordo com uma modalidade, o sistema 100 suporta um serviço de broadcast multimídia de alta velocidade referido como Serviço de Broadcast de Alta Velocidade (HSBS - High-Speed Broadcast Service). Um 5 aplicação exemplar para o HSBS é o streaming de vídeo de filmes, eventos esportivos, etc. O serviço HSBS é um serviço de dados de pacote baseado no Protocolo Internet (IP) . De acordo com a modalidade exemplar, um provedor de serviços indica a disponibilidade de tal serviço de 3 broadcast de alta velocidade para os usuários. Os usuários que desejem o serviço HSBS fazem uma assinatura de modo a receberem o serviço e podem descobrir a programação de serviços de broadcast por meio de anúncios, do Sistema de Gerenciamento Curto (SMS), do Protocolo de Aplicação Sem Fio (WAP), etc. Os usuários móveis são referidos como Estações Móveis (MSs). Estações Base (BSs) transmitem parâmetros afins ao HSBS em mensagens de overhead. Quando uma MS deseja receber a sessão de broadcast, a MS lê as mensagens de overhead e aprende as configurações apropriadas. A MS sintoniza então na frequência que contém o canal HSBS e recebe o conteúdo do serviço de broadcast. 0 serviço que está sendo considerado é um serviço de broadcast multimídia de alta velocidade. Este serviço é referido como Serviço de Broadcast de Alta Velocidade (HSBS) neste documento. Um exemplo que tal é o streaming de vídeo de filmes, eventos esportivos, etc. Este serviço será provavelmente um serviço de dados de pacote baseado no Protocolo Internet (IP). 0 provedor de serviços indicará a disponibilidade de tal serviço de broadcast de alta velocidade para os usuários. Os usuários da estação móvel que desejem tal serviço farão assinatura para receber este serviço e podem descobrir o programa de serviços de broadcast por meio de anúncios, SMS, WAP, etc. As estações base transmitirão parâmetros afins ao serviço de broadcast em mensagens de overhead. As móveis que desejarem escutar a sessão de broadcast lerão estas mensagens de modo a determinarem as configurações apropriadas, sintonizarão na frequência que contém o canal de broadcast de alta velocidade e iniciarão a recepção do conteúdo do serviço de broadcast. Há vários modelos de assinatura/rendimento possíveis para serviço HSBS, inclusive acesso livre, acesso controlado e acesso parcialmente controlado. Para acesso livre, não é necessária assinatura alguma por parte das móveis para receberem o serviço. A BS transmite o conteúdo sem codificação, e as móveis interessadas podem receber o conteúdo. 0 rendimento para o provedor de serviços pode ser gerado por meio de anúncios, que podem ser também transmitidos no canal de broadcast. Por exemplo, podem ser transmitidos clips cinematográficos vindouros pelos quais os estúdios pagarão ao provedor de serviços.
Para acesso controlado, os usuários da MS assinarão o serviço e pagarão a taxa correspondente para receberem o serviço de broadcast. Usuários que não tiverem feito assinatura do serviço não podem receber o serviço HSBS. 0 acesso controlado pode ser obtido codificando-se a transmissão/conteúdo HSBS, de modo que só os usuários que têm assinatura podem decodificar o conteúdo. Estes podem utilizar procedimentos de troca de chaves de codificação através do ar. Este esquema oferece alta segurança e impede o roubo do serviço.
Um esquema de acesso híbrido, referido como acesso parcialmente controlado, fornece o serviço como um serviço baseado em assinatura que é codificado com transmissões de anúncio não codificadas intermitentes. Estes anúncios podem ser destinados a estimular assinaturas do serviço HSBS codificado. A programação de tais segmentos não codificados pode ser conhecida da MS por meio de meios externos.
Um sistema de comunicação sem fio, 200, é mostrado na figura 3, na qual informações de vídeo e áudio são fornecidas à Rede de Serviços de Dados Empacotados (PDSN) 202 por um Servidor de Conteúdos (CS-Content Server), 201. As informações de vídeo e áudio podem ser programação televisionada ou de uma radiotransmissão. As informações são fornecidas como dados empacotados, como, por exemplo, em pacotes IP. A PDSN 202 processa os pacotes IP para distribuição dentro de uma Rede de Acesso (NA-Access Network). Conforme mostrado, a AN é definida como as partes do sistema que incluem uma BS 204 em comunicação com várias MSs 206. A PDSB 202 é acoplada à BS 204. Para serviço HSBS, a BS 204 recebe o fluxo de informações da PDSN 202 e fornece as informações, em um canal designado, a assinantes dentro do sistema 200. Para se controlar o acesso, o conteúdo é codificado pelo CS 201 antes de ser fornecido à PDSN 202. Os usuários com assinatura recebem a chave de decodificação de modo que os pacotes IP possam ser decodificados. A figura 4 detalha uma MS, 300, semelhante à MS 206 da figura 3. A MS 300 tem uma antena, 302, acoplada a um conjunto de circuitos de recepção, 304. A MS 300 recebe transmissões de uma BS (não mostrada) semelhante à BS 204 da figura 3. A MS 300 inclui um Módulo de Identificação de Usuário (UIM), 308, e um Equipamento Móvel (ME), 306. O conjunto de circuitos de recepção é acoplado ao UIM 308 e ao ME 306. O UIM 308 aplica procedimentos de verificação de segurança da transmissão HSBS e fornece várias chaves ao ME 306. O ME 306 pode ser acoplado a uma unidade de processamento, 312. O ME 306 executa um processamento substancial, que inclui, mas não se limita à, decodificação dos fluxos de conteúdos HSBS. O ME 306 inclui uma unidade de armazenamento de memória (MEM), 310. Na modalidade exemplar, os dados na unidade de processamento (não mostrada) do ME 306 e os dados na unidade de armazenamento de memória, MEM, 310 do ME podem ser acessados facilmente por um não assinante por meio de recursos limitados e, portanto, diz-se que o ME 306 não é seguro. Qualquer informação passada para o ME 306 ou processada pelo ME 306 permanece seguramente secreta durante apenas uma pequena quantidade de tempo. É portanto desejável que qualquer informação secreta, como chave(s), por exemplo, partilhada com o ME 306 seja alterada com frequência.
Ao UIM 308 são confiados o . armazenamento e o processamento de informações secretas (como as chaves de codificação, por exemplo) que devem permanecer secretas durante um longo tempo. Uma vez que o UIM 308 é uma unidade segura, os segredos armazenados nele não exigem necessariamente que o sistema altere as informações secretas com frequência. 0 UIM 308 inclui uma unidade de processamento referida como Unidade de Processamento UIM Segura (SUPU - Secure UIM Processing Unit), 316, e uma unidade de armazenamento de memória referida como Unidade de Memória UIM Segura (SUMU - Secure UIM Memory Unit), 314, que é confiavelmente segura. Dentro do UIM 308, a SUMU 314 armazena informações secretas de maneira a desestimular o ■ acesso não autorizado às informações. Se as informações forem obtidas do UIM 308, o acesso exigirá uma quantidade significativamente grande de recursos. Também dentro do UIM 308, a SUPU 316 executa computações em valores que podem ser externos ao UIM 308 e/ou internos ao UIM308. Os resultados da computação podem ser armazenados na SUMU 314 ou passados ao ME 306. As computações executadas com a SUPU 316 só podem ser obtidas do UIM 308 por uma entidade com quantidade significativamente grande de recursos. De maneira semelhante, as saidas da SUPU 316 que são designadas como sendo armazenadas dentro da SUMU 314 (mas não transmitidas para o ME 306) são designadas de modo que a interceptação não autorizada exija quantidade significativamente grande de recursos. Em uma modalidade, o UIM 308 é uma unidade estacionária dentro da MS 300. Note-se que, além da memória e do processamento seguros dentro do UIM 308, o UIM 308 pode incluir também uma memória e um processamento não seguros (não mostrados) para armazenar informações, incluindo números telefônicos, informações de endereços eletrônicos, informações de páginas da Web e de endereços URL e/ou funções de programação, etc.
Modalidades alternativas podem apresentar um UIM removível e/ou reprogramável. Na modalidade exemplar, a SUPU 316 não tem potência de processamento significativa para funções além dos procedimentos de segurança e chave, em que os procedimentos de segurança e chave podem ser tipicamente utilizados para permitir a codificação do conteúdo de broadcast do HSBS. Modalidades alternativas podem implementar um UIM com potência de processamento mais elevada. 0 UIM 308 está associado a um usuário específico e é utilizado basicamente para verificar se a MS 300 tem direito aos privilégios proporcionados ao usuário, como o acesso à rede telefônica móvel, por exemplo. Portanto, um usuário está associado ao UIM 308, e não a uma MS 300. O mesmo usuário pode estar associado a vários UIMs 308. 0 serviço de broadcast enfrenta um problema na determinação de como distribuir chaves aos usuários com assinatura. Para decodificar o conteúdo de broadcast em um momento específico, a ME deve conhecer a chave de decodificação atual. Para se evitar roubo do serviço, a chave de decodificação deve ser alterada com frequência, como, por exemplo, o serviço atualizando a chave a cada minuto. Estas chaves de decodificação são chamadas Chaves de Curta Duração (SK - Short-Term Key) . A SK é utilizada para decodificar o conteúdo de broadcast durante um curto período de tempo, de modo que se possa presumir que a SK tem alguma quantidade de valor monetário intrínseco para um usuário. Por exemplo, este valor monetário intrínseco pode ser uma parte dos custos de registro. Suponha-se que o custo da obtenção, por parte de um não assinante, de uma SK da unidade de armazenamento de memória MEM 310 de um assinante ultrapassa o valor monetário intrínseco da SK. Ou seja, o custo da obtenção ilegítima da SK ultrapassa a recompensa, do que resulta nenhum benefício líquido. Consequentemente, a necessidade de proteger a SK na unidade de armazenamento de memória, a MEM 310, é reduzida. Entretanto, se uma chave secreta tem um tempo de vida mais longo que o da SK, o custo da obtenção ilegítima desta chave secreta pode ser realmente inferior à recompensa. Nesta situação, há um benefício líquido na obtenção ilegítima de tal chave da unidade de armazenamento de memória MEM 310. Daí, idealmente, a unidade de armazenamento de memória MEM 310 não armazenará segredos com tempo de vida mais longo que o da SK.
Presume-se que os canais utilizados pelo CS (não mostrado) para distribuir a SK para as diversas unidades assinantes não são seguros. Em outras palavras, um desenho ótimo presumirá que os canais não são seguros e projetará a SK em conformidade com isto. Portanto, ao distribuir uma dada SK, o CS deseja utilizar uma técnica que esconda o valor da SK dos usuários não assinantes. Além disto, o CS distribui a SK para cada um de um número potencialmente grande de assinantes para processamento nas respectivas MEs dentro de um quadro de tempo relativamente curto. Os métodos seguros conhecidos de transmissão de chaves são tradicionalmente lentos e exigem transmissão de um grande número de chaves. Os métodos de transmissão de chaves não são geralmente exeqüíveis para a combinação desejável de critérios de segurança e eficácia. A modalidade exemplar é um método exeqüível de distribuição de chaves de decodificação para um grande conjunto de assinantes dentro de um quadro de tempo pequeno, de modo que não assinantes não possam obter as chaves de decodificação. A modalidade exemplar é descrita como transmitindo as informações em pacotes compatíveis com o Protocolo Internet, tais como os pacotes "IPSec", descritos a seguir, e, portanto, a descrição seguinte apresenta uma breve introdução à terminologia utilizada com referência ao IPSec. Esta terminologia é útil na descrição das modalidades exemplares, mas a utilização desta terminologia não se destina a limitar a modalidade exemplar a comunicações que utilizam o IPSec.
Os fundamentos do IPSec são especificados no documento RFC 1825 intitulado "Security Architecture for the Internet Protocol", de R. Atkinson, de agosto de 1995, no documento RFC 1826 intitulado "IP Authentication Header", de R. Atkinson, de agosto de 1995, e no documento RFC 1827 intitulado "IP Encapsulating Security Payload (ESP)", de R. Atkinson, de agosto de 1995. 0 cabeçalho de autenticação é um mecanismo para proporcionar integridade a datagramas IP, em que os datagramas IP são geralmente uma reunião de informações úteis, denominadas de carga útil, combinadas com informações de controle de rede e um cabeçalho IP. Roteadores de rede utilizam o cabeçalho IP para direcionar o pacote para o nó de rede adequado. Em algumas circunstâncias, o cabeçalho de autenticação pode fornecer também autenticação a datagramas IP. A ESP (Encapsulating Security ünit) é um mecanismo para proporcionar confidencialidade e integridade a datagramas IP e pode ser utilizada em conjunto com o cabeçalho de autenticação. 0 IPSec utiliza "associações de segurança" para descrever os parâmetros, tais como a chave de codificação e o algoritmo de codificação utilizados para codificar e/ou autenticar comunicações entre um grupo de entidades. Note-se que o conceito de associação de segurança é também válido quando aplicado a sistemas criptográficos não baseados no IPSec.
Um pacote IPSec inclui um parâmetro de 32 bits chamado índice de Parâmetro de Segurança (SPI), que é utilizado, em conjunto com o endereço de destino, para identificar a associação de segurança utilizada para codificar e/ou autenticação o conteúdo do datagrama IP. Uma entidade pode armazenar as associações de segurança em um banco de dados de associações de segurança e indexar as associações de segurança de acordo com o Endereço de Destino e o SPI. 0 conteúdo codificado de um pacote IPSec é frequentemente chamado de carga útil.
Na modalidade exemplar, a MS 300 suporta o HSBS em um sistema de comunicação sem fio. Para obter acesso ao HSBS, o usuário deve registrar-se e então fazer assinatura do serviço. Uma vez habilitada a assinatura, as diversas chaves são atualizadas conforme necessário. No processo de registro, o CS e o UIM 308 negociam uma associação de segurança e acordam em uma Chave de Registro (RK-Registration Key)) e outros parâmetros necessários para a associação de segurança entre o usuário e o CS. O CS pode então enviar ao UIM 308 mais informações secretas codificadas com a RK. A RK é mantida como um segredo no UIM 308, enquanto os demais parâmetros podem ser mantidos no ME 306. A RK é única para um dado UIM 308, isto é, a cada usuário é atribuída uma RK diferente. O processo de registro por si só não dá ao usuário acesso ao HSBS.
Conforme afirmado acima, após o registro o usuário faz assinatura do serviço. No processo de assinatura, o CS envia ao UIM 308 o valor de uma Chave de Acesso a Broadcast (BAK - Broadcast Access Key) comum. Note-se que, embora a RK seja específico do UIM 308, a BAK é utilizada para codificar uma mensagem de broadcast para vários usuários. 0 CS envia à MS 300, e especificamente ao UIM 308, o valor da BAK codificada utilizando a RK única do UIM 308. O UIM 308 é capaz de recuperar o valor da BAK original da versão codificada utilizando a RK. A BAK, juntamente com outros parâmetros, forma uma associação de segurança entre o CS e o grupo de usuários assinantes. A BAK é mantida como um segredo no ME 30 6. O CS em seguida transmite dados chamados Informações SK (SKI) que são combinados com a BAK no UIM 308 de modo a se obter a SK. O UIM 308 passa então a SK ao ME 306. Desta maneira, o CS pode distribuir de maneira eficaz novos valores de SK para o ME dos usuários assinantes. São apresentados a seguir vários exemplos de como a SK é obtida das SKI e as formas que as SKI podem assumir. Os processos de registro e assinatura são discutidos em detalha, após o que as SKI e a SK são descritas.
Com relação ao registro, quando um usuário se registra com um dado CS, o UIM 308 e o CS (não mostrado) estabelecem uma associação de segurança. Ou seja, o UIM 308 e o CS acordam em uma chave de registro secreta RK. A RK é única para cada UIM 308, embora, se um usuário tiver vários UIMs, estes UIMs possam partilhar a mesma RK, dependendo da política do CS. Este registro pode ocorrer quando o usuário faz assinatura de um canal de broadcast oferecido pelo CS, ou pode ocorrer antes da assinatura. Um único CS pode oferecer vários canais de broadcast. O CS pode optar por associar o usuário à mesma RK para todos os canais ou exigir que o usuário se registre para cada canal e associar o mesmo usuário a RKs diferentes em canais diferentes. Vários CSs podem optar por utilizar as mesmas chaves de registro ou exigir que o usuário se registre e obtenha uma RK diferente para cada CS.
Três roteiros comuns para estabelecer esta associação de segurança incluem: 1) o método de Acordo sobre Chaves Autenticadas (AKA), que é utilizado nos sistemas 3GPP; 2) o método de Troca de Chaves da Internet (IKE), utilizado no IPSec; e 3) Prestação de Serviços Através do Ar (OTASP - Over-The-Air-Service-Providing). Em qualquer caso, a unidade de memória SUMU 314 do UIM contém uma chave secreta denominada aqui de chave A. Por exemplo, por meio do método AKA, a chave A é um segredo conhecido apenas do UIM e de uma Terceira Parte de Confiança (TTP -Trusted Third Party) , em que a TTP pode consistir em mais de uma entidade. A TTP é tipicamente o provedor de serviços móvel com o qual o usuário está registrado. Toda a comunicação entre o CS e a TTP é segura, e o CS confia em que a TTP não irá permitir acesso não-autorizado ao serviço de broadcast. Quando o usuário se registra, o CS informa à TTP que o usuário deseja registrar-se para o serviço e faz a verificação da solicitação do usuário. A TTP utiliza uma função, semelhante a uma função hash criptográfica, para computar a RK a partir da chave A e dados adicionais chamados Informações de Chave de Registro (RKI). A TTP passa a RK e/ou as RKI ao CS através de um canal seguro juntamente com outros dados. 0 CS envia as RKI à MS 306. O conjunto de circuitos de recepção 304 passa as RKI ao UIM 308 e pode passar as RKI ao ME 306. O UIM 308 computa a RK a partir das RKI e da chave A que é armazenada na unidade de memória SUMU 314 do UIM. A RK é armazenada na unidade de memória SUMU 314 do UIM e não é fornecida diretamente ao ME 306. Modalidades alternativas podem utilizar um roteiro IKE ou algum outro método para estabelecer a RK. Os demais parâmetros da associação de segurança entre o CS e o UIM 308 devem ser também negociados. A RK é mantida como um segredo no UIM 308, enquanto os demais parâmetros da associação de segurança podem ser mantidos no ME 306. Na modalidade exemplar, na qual a BAK é enviada ao UIM 308 como um pacote IPSec codificado utilizando-se a RK, o CS e a MS 306 negociam um valor de SPI utilizado para indexar a associação de segurança, e este SPI é denotado como SPI_RK.
No método AKA, a RK é um segredo partilhado entre o CS, o UIM e a TTP. Portanto, conforme utilizado aqui, o método AKA implica que qualquer associação de segurança entre o CS e o UIM inclui implicitamente a TTP. A inclusão da TTP em qualquer associação de segurança não é considerada uma quebra da segurança, uma vez que o CS confia em que a TTP não ajudará no acesso não autorizado ao canal de broadcast. Conforme dito acima, se uma chave é partilhada com o ME 306, é desejável alterar essa chave com frequência. Isto se deve ao risco de acesso, por um não assinante, às informações armazenadas na unidade de armazenamento de memória MEM 310 e, portanto, de permissão de acesso a um serviço controlado ou parcialmente controlado. 0 ME 306 armazena a SK, isto é, informações de chave utilizadas na decodificação do conteúdo de broadcast, na unidade de armazenamento de memória MEM 310. O CS envia informações suficiente para que os usuários assinantes computem a SK. Se o ME 306 de um usuário assinante puder computar a SK a partir destas informações, então as informações adicionais necessárias para computar a SK não podem ser secretas. Neste caso, presuma-se que o ME 306 de um usuário não assinante pode computar também a SK a partir destas informações. Dai, o valor da SK deve ser computado na SUPU 316, utilizando-se uma chave secreta partilhada pelo CS e pela SUMU 314. O CS e a SUMU 314 partilham o valor de RK, entretanto cada usuário tem um valor único de RK. Não há tempo suficiente para que o CS codifique SK com cada valor de RK e transmita estes valores codificados a cada usuário assinante.
Com relação à assinatura, de modo a assegurar a distribuição eficaz das informações de segurança SK, o CS distribui periodicamente uma Chave de Acesso a Broadcast (BAK) comum para cada UIM 308 assinante. Para cada assinante, o CS codifica a BAK utilizando a RK correspondente de modo a obter um valor chamado Informações BAKI (BAKI) . O CS envia a BAKI correspondente à MS 300 do usuário assinante. Por exemplo, a BAK pode ser transmitida como um pacote IP codificado utilizando-se a RK correspondente a cada MS. Na modalidade exemplar, a BAKI é um pacote IPSec que contém uma BAK que é codificada utilizando-se a RK como a chave. Uma vez que a RK é uma chave por usuário, o CS deve enviar a BAK a cada assinante individualmente; deste modo, a BAK não é enviada através do canal de broadcast. A MS 300 passa a BAKI para o UIM 308. A SUPU 316 computa a BAK utilizando o valor de RK armazenado na SUMU 314 e o valor de BAKI. O valor de BAK é então armazenado na SUMU. Na modalidade exemplar, a BAKI contém um valor de SPI denotado como SPI_RK que corresponde à associação de segurança que contém a RK. O MS 300 sabe que o UIM 308 pode decodificar a carga útil quando o pacote IPSec é codificado de acordo com esta associação de segurança. Consequentemente, quando a MS 300 recebe um pacote IPSec codificado de acordo com esta associação de segurança, a MS 300 passa a BAKI ao UIM 308 e instrui o UIM 308 a utilizar a RK para decodificar a carga útil. É desejável que o período para atualizar a BAK seja suficiente de modo a permitir que o CS envie a BAK a cada assinante individualmente, sem incorrer em overhead significativo. Uma vez que não se confia no ME 306 para guardar segredos durante muito tempo, o UIM 308 não fornece a BAK ao ΜΕ 306. Os demais parâmetros da associação de segurança entre o CS e o grupo de assinantes devem ser também negociados. Em uma modalidade, estes parâmetros são fixos, enquanto que, em outra modalidade, estes parâmetros podem ser enviados à MS como parte da BAKI. Embora a BAK seja mantida como um segredo no UIM 308, os outros parâmetros da associação de segurança podem ser mantidos no ME 306. Em uma modalidade, na qual a SK é enviada à MS 300 como um pacote IPSec codificado utilizando-se a BAK, o CS envia aos assinantes um SPI utilizado para indexar a associação de segurança, e este SPI é denotado como SPI_BAK. O parágrafo seguinte discute de que maneira a SK é atualizada após um processo de assinatura bem sucedido. Dentro de cada período de atualização da BAK, é apresentado um intervalo de curta duração durante o qual a SK é distribuída em um canal de broadcast. O CS utiliza uma função criptográfica para determinar dois valores de SK e SKI (Informações SKI) , de modo que a SK possa ser determinada a partir da BAK e da SKI. Por exemplo, a SKI pode ser a codificação de SK utilizando-se a BAK como a chave. Em uma modalidade exemplar, a SKI é um pacote IPSec no qual a carga útil contém o valor de SK codificado utilizando-se a BAK como a chave. Alternativamente, a SK pode ser o resultado da aplicação de uma função hash criptográfica à concatenação dos blocos SKI e BAK. Idealmente, o CS assegura que os valores de SK não podem ser preditos de antemão. Se a SK puder ser prevista de antemão, então um invasor, isto é, uma entidade acessadora i ilegítima, pode enviar os valores preditos de SK a usuários não assinantes.
Como exemplo, suponha-se que N valores de SK serão utilizados por um período de 24 horas. Se a SK for prevista com 100% de exatidão, o invasor só precisa pedir ao UIM para computar as N chaves. O invasor torna então as N chaves disponíveis para usuários não assinantes. Os usuários não assinantes podem baixar as chaves no início de cada dia e acessar o serviço HSBS com custo reduzido ou pouco inconveniente. Se o invasor for só capaz de predizer SK com 50% de exatidão, então o invasor precisa enviar aproximadamente 2N chaves. À medida que a exatidão das predições diminui, o número de chaves a serem geradas pelo invasor aumenta. Um invasor pode ser dissuadido de distribuir as predições para SK assegurando-se de que o custo da geração, armazenamento e distribuição das predições ultrapassa o beneficio de obter acesso ilegítimo. Os invasores podem ser desencorajados assegurando-se de que a exatidão de uma predição do invasor é suficiente pequena, aumentando-se assim o número de chaves que o invasor irá gerar até o ponto em que o custo da obtenção de um acesso ilegítimo ultrapassa o benefício. Consequentemente, qualquer esquema para gerar SK assegura idealmente que as melhores predições de um invasor tenham exatidão suficientemente pequena. Ou seja, a computação de SK deve incluir algum valor aleatório que só possa ser predito de antemão com pequena exatidão.
Em uma modalidade exemplar, na qual SK está sob i uma forma codificada, o CS pode escolher SK utilizando uma função aleatória ou pseudo-aleatória. Em modalidades alternativas, nas quais SK é obtida pela aplicação de uma função criptográfica à SKI e à BAK, o CS introduz um valor imprevisível quando forma a SKI. Alguma parte da SKI pode ) ser previsível. Por exemplo, uma parte da SKI pode ser obtida do tempo do sistema durante o qual esta SKI é válida. Esta parte, denotada como SKI_PREDICT, não pode ser transmitida à MS 300 como parte do serviço de broadcast. O restante da SKI, SKI_RANDOM, pode ser imprevisível. Ou seja, SKI_RANDOM é prevista com pouca exatidão. A SKI_RANDOM é transmitida à MS 300 como parte do serviço de broadcast. A SKI_RANDOM é transmitida à MS 300 como parte do serviço de broadcast. A MS 300 reconstrói a SKI a partir da SKI_PREDICT e da SKI_RANDOM e fornece a SKI ao UIM 308. A SKI pode ser reconstruída dentro do UIM 308. O valor de SKI se altera para cada nova SK. Deste modo, ou a SKI_PREDICT e/ou o SKI_RANDOM se alteram quando se computa uma nova SK. O CS envia a SKI_RANDOM à BS para transmissão de broadcast. A BS transmite a SKI_RANDOM, que é detectada pela antena 302 e passado para o conjunto de circuitos de recepção 304. O conjunto de circuitos de recepção 304 envia a SKI_RANDOM à MS 300, em que a MS 300 reconstrói a SKI. A MS 300 envia a SKI ao UIM 308, em que o UIM 308 obtém a SK utilizando a BAK armazenada na SUMU 314. A SK é então enviada pelo UIM 308 ao ME 306. O ME 306 armazena a SK na unidade de armazenamento de memória, MEM 310. O ME 306 utiliza a SK para decodificar as transmissões de broadcast recebidas do CS. O CS e a BS acordam em alguns critérios para quando a SKI_RANDOM for transmitida. O CS pode desejar reduzir o valor monetário intrínseco em cada SK pela alteração freqüente da SK. Nesta situação, o desejo de alterar os dados de SKI_RANDOM é contrabalançado pela otimização da largura de banda disponível. Em algumas modalidades exemplares, a SKI_RANDOM é enviada com o conteúdo codificado. Isto permite que a MS 300 gere a SK e inicie a decodificação imediatamente. Em muitas situações, isto consumirá largura de banda. Uma exceção é um esquema no qual a SKI_RANDOM é enviada como parâmetros da comunicação. Por exemplo, permite-se que o valor de SPI no IPSec varie, podendo ser explorado de modo a incluir um valor de SKI_RANDOM, conforme discutido mais detalhadamente a seguir.
Em outras modalidades, a SKI_RANDOM é enviada separada do conteúdo codificado. A SKI_RANDOM pode ser até mesmo transmitida em um canal outro que não o canal de broadcast. Quando um usuário "sintoniza" no canal de broadcast, o conjunto de circuitos de recepção 304 obtém informações para localizar o canal de broadcast a partir de um "canal de controle". Pode ser desejável permitir um rápido acesso quando um usuário "sintoniza" no canal de broadcast. Isto exige que o ME 306 obtenha a SKI dentro de um curto período de tempo. O ME 306 pode já conhecer a SKI_PREDICT, mas a BS fornece a SKI_RANDOM ao ME 300 dentro deste curto período de tempo. Por exemplo, a BS pode transmitir com frequência a SKI_RANDOM no canal de controle, juntamente com as informações para localizar o canal de broadcast, ou transmitir com frequência a SKI_RANDOM no canal de broadcast. Quanto mais frequentemente a BS "renova" o valor de SKI_RANDOM, mais rapidamente a MS 300 pode acessar a mensagem de broadcast. O desejo de renovar os dados de SKI_RANDOM é contrabalançado pela otimização da largura de banda disponível, uma vez que a transmissão demasiado freqüente de dados de SKI_RANDOM pode utilizar uma quantidade inaceitável de largura de banda no canal de controle ou canal de broadcast.
Em algumas situações, o CS pode optar por utilizar valores de SKI_PREDICT e SKI_RANDOM, em que ambos se alteram para cada valor de SK produzido. Em outras situações, o CS pode desejar reduzir o número de vezes em que a SKI_RANDOM se altera, de modo que a MS 300 não tenha que obter a SKI_RANDOM tão frequentemente. Por exemplo, se ura usuário alterasse frequentemente entre vários canais HSBS, então seria melhor se fosse improvável a alteração do valor de SKI_RANDOM nos cinco minutos durante os quais o usuário está sintonizado em outro canal. Se a SKI_RANDOM se alterasse, então o usuário teria que esperar até que o novo valor de SKI_RANDOM fosse transmitido, o que indica que tal esquema seria mais "amigável" se a SKI_RANDOM permanecesse constante durante tanto tempo quanto possível. 0 CS pode desejar utilizar vários valores de SK durante o tempo de vida de um valor de SKI_RANDOM, utilizando um valor para SKI_PREDICT que se terá alterado sempre que o CS desejar alterar a SK. Um exemplo utiliza o tempo do sistema; entretanto, a utilização do tempo do sistema introduz problemas adicionais no que se refere à sincronização.
Com relação à codificação e à transmissão do conteúdo de broadcast, o CS codifica o conteúdo de broadcast utilizando a SK atual. A modalidade exemplar utiliza um algoritmo de codificação, como, por exemplo, o Algoritmo Cifrado do Padrão de Codificação Avançado (AES). Na modalidade exemplar, o conteúdo codificado é então transportado por um pacote IPSec de acordo com o modo de transporte de Carga Útil de Segurança de Encapsulação (ESP), discutido a seguir. 0 pacote IPSec contém também um valor de SPI que instrui o ME 306 a utilizar a SK atual para decodificar o conteúdo de broadcast recebido. O conteúdo codificado é enviado por meio do canal de broadcast. 0 conjunto de circuitos de recepção 304 fornece a RKI e a BAKI diretamente ao UIM 308. Além disto, se o CS computar a SK a partir dos valores de SKI_RANDOM e SKI_PREDICT, em seguida o conjunto de circuitos de recepção 304 fornece a SKI_RANDOM a uma parte apropriada da MS 300, onde ela é combinada com a SKI_PREDICT para se obter a SKI.
Em uma modalidade, a SKI é anexado à mensagem codificada e é extraída pelo ME 306. A SKI é fornecida ao UIM 308 pela parte relevante da MS 300. O UIM 308 computa a RK a partir da RKI e da chave A, decodifica a BAKI utilizando a RK para obter a BAK e computa a SK utilizando a SKI e a BAK, de modo a gerar uma SK para ser utilizada pelo ME 306. O ME 306 decodifica o conteúdo de broadcast utilizando a SK. O UIM 308 da modalidade exemplar pode não ser suficientemente poderoso para decodificação do conteúdo de broadcast em tempo real e, portanto, a SK é passada para o ME 306 para decodificação do broadcast. A figura 5B mostra a transmissão e o processamento das chaves, inclusive a RK, a BAK e a SK, de acordo com uma modalidade exemplar. Conforme mostrado, no momento do registro, a MS 300 recebe as informações de RK (RKI) e as passa para o UIM 308, onde a SUPU 316 computa RK utilizando a RKI e a chave A, e armazena a RK no armazenamento de memória SUMU 314 do UIM. A MS 300 recebe codificada utilizando o valor de RK específico do UIM 308. A BAKI codificada é decodificada pela SUPU 316 de modo a se recuperar a BAK, que é armazenada no armazenamento de memória SUMU 314 do UIM. A MS 300 também obtém periodicamente a SKI. Em algumas modalidades exemplares, a MS 300 recebe uma SKI_RANDOM que ela combina com a SKI_PREDICT para formar a SKI. A SUPU 316 computa a SK a partir da SKI e da BAK. A SK é fornecida ao ME 306 para decodificação do conteúdo de broadcast.
Na modalidade exemplar, as chaves do CS não são necessariamente codificadas e transmitidas às MSs; o CS pode utilizar um método alternativo. As informações de chave geradas pelo CS para transmissão a cada MS constituem informação suficiente para que a MS calcule a chave. Conforme mostrado no sistema 350 da figura 6, a RK é gerada pelo CS, mas as informações de RK (RKI) são transmitidas à MS. 0 CS envia informações suficientes para que o UIM obtenha a RK, em que uma função predeterminada é utilizada na obtenção da RK a partir das informações transmitidas do CS. O RKI contém informações suficientes para que a MS determine a RK original da chave A e outros valores, tais como o tempo do sistema, utilizando uma função pública predeterminada rotulada dl, em que: RK = dl (chave A, RKI) . (3) Na modalidade exemplar, a função dl define uma função do tipo criptográfico. De acordo com uma modalidade, RK é determinada como: RK = SHA' (chave A II RKI), (4) onde "II" denota a concatenação dos blocos que contêm a chave A e RKI, e SHA'’ (X) denota os últimos 128 bits de saída do Algoritmo Hash Seguro SHA-1 dada a entrada X. Em uma modalidade alternativa, RK é determinada como: RK = AES (chave A, RKI), (5) Onde AES(X,Y) denota a codificação do bloco RKI de 128 bits utilizando-se a chave A de 128 bits. Em outra modalidade baseada no protocolo AKA, RK é determinada como a saída da função de geração de chave f3 do 3GPP, onde RKI inclui o valor de RAND e os valores apropriados de AMF e SQN definidos pelo padrão. A BAK é tratada de maneira diferente porque vários usuários com valores diferentes de RK devem computar o mesmo valor de BAK. 0 CS pode utilizar qualquer técnica para determinar BAK. Entretanto, o valor de BAKI associado com um UIM 308 específico deve ser a codificação de BAK sob a RK única associada com esse UIM 308. A SUPU 316 decodifica a BAKI utilizando a RK armazenada na SUMU 314 de acordo com a função rotulada de d2, de acordo com: ΒΑΚ = d2(ΒΑΚΙ, RK). (6) Em uma modalidade alternativa, o CS pode computar a BAKI aplicando um processo de decodificação à BAK utilizando a RK, e a SUPU 316 obtém a BAK aplicando o processo de codificação à BAKI utilizando a RK. Isto é considerado equivalente à codificação da BAK pelo CS e à decodificação da BAKI pelo SUPU 316. Modalidades alternativas podem implementar qualquer número de combinações de chaves além ou em lugar das mostradas na figura 6. A SK é tratada de maneira semelhante à RK. Em algumas modalidades, a SKI é primeiro obtida da SKI_PREDICT e da SKI_RANDOM, em que a SKI_RANDOM constitui as informações transmitidas do CS para a MS. Em seguida, uma função predeterminada rotulada de d3 é utilizada para se obter a SK das SKI e a BAK (armazenadas na SUMU 314), . de acordo com: SK = d3(BAK, SKI) (7) Em uma modalidade, a função d3 define uma função de tipo criptográfico. Em uma modalidade exemplar, SK é computada como: SK = SHA(BAKI II SKI), (8) enquanto que, em outra modalidade, SK é computada como SK = AES(BAK,SKI). (9) Um método para dar segurança a uma mensagem de broadcast é mostrado nas figuras 7A-7D. A figura 7A ilustra um processo de registro, 400, no qual um assinante negocia registro com o CS na etapa 402. O registro na etapa 404 fornece ao UIM uma RK única. O UIM armazena a RK em uma Unidade de Memória Segura (SUMU) na etapa 406. A figura 7B ilustra um processamento de assinatura, 420, entre um CS e uma MS. Na etapa 422, o CS gera uma BAK para um período de tempo de BAK Tl. A BAK é válida por todo o período de tempo de BAK Tl, em que a BAK é atualizada periodicamente. Na etapa 424, o CS autoriza o UIM a ter acesso ao Conteúdo de Broadcast (BC) durante o período de tempo de BAK Tl. Na etapa 426, o CS codifica a BAK utilizando cada RK individual para cada assinante. A BAK codificada é referida como BAKI. 0 CS transmite então a BAKI ao UIM na etapa 428. 0 UIM recebe a BAKI e efetua a decodificação utilizando a RK na etapa 430. A BAKI decodificada resulta na BAK gerada originalmente. O UIM armazena a BAK em uma SUMU na etapa 432.
Quando o usuário faz assinatura do serviço de broadcast para um período de atualização da BAK específico, o CS envia a BAKI de informação apropriada, em que a BAKI corresponde à BAK codificada com a RK. Isto ocorre tipicamente antes do início deste período de atualização da BAK ou quando a MS sintoniza primeiro no canal de broadcast durante este período de atualização da BAK. Isto pode ser iniciado pela MS ou pelo CS de acordo com diversos critérios. Várias BAKIs podem ser transmitidas e decodificadas simultaneamente.
Note-se que, quando a expiração do período de atualização da BAK é iminente, a MS pode solicitar a BAK atualizada do CS se a MS tiver feito assinatura para o período de atualização da BAK seguinte. Em uma modalidade alternativa, o primeiro temporizador tl é utilizado pelo CS, onde, quando da expiração do temporizador, isto é, quando do esgotamento do período de atualização da BAK, o CS transmite a BAK. O CS pode alterar o valor da BAK mais cedo do que originalmente pretendido. Isto pode ser desejável se, por exemplo, o valor atual da BAK for revelado publicamente.
Note-se que é possível a um usuário receber uma BAK durante um período de atualização de BAK, no qual, por exemplo, um assinante se associa ao serviço no meio do mês quando as atualizações de BAK são efetuadas mensalmente. Além disto, os períodos de tempo para as atualizações de BAK e SK podem ser sincronizados, de modo que todos os assinantes sejam atualizados em um dado momento. A figura 8A ilustra o processo de registro em um sistema de comunicação sem fio, 500, de acordo com a modalidade exemplar. O CS 502 negocia com cada assinante, isto é, a MS 512, de modo a gerar uma RK específica para cada um dos assinantes. A RK é fornecida à unidade SUMU dentro do UIM de cada MS. Conforme mostrado, o CS 502 gera a RKi, que é armazenada na SUMUi 510 dentro do UIMi 512. De maneira semelhante, o CS 502 gera RK2 e RKN, que são armazenadas na SUMU2 520 dentro do UIM2 522 e na SUMUN 530 dentro do UIMN 532, respectivamente. A figura 8B ilustra o processo de assinatura no sistema 500. O CS 502 inclui também vários codificadores, 504. Cada um dos codificadores 504 recebe uma das RKs únicas e o valor de BAK gerado no CS 502. A saída de cada codificador 504 é uma BAKI codificada especificamente para um assinante. A BAKI é recebida no UIM de cada MS, como o UIMi 512. Cada UIM inclui uma SUPU e uma SUMU, como, por exemplo, a SUPUi 514 e a SUMUi 510 do UIMX 512. A SUPU inclui um decodif icador, 516, que recupera a BAK pela aplicação da RK ao UIM. 0 processo é repetido em cada assinante. A figura 8D ilustra o processamento do BC após o registro e a assinatura. O CS 502 inclui um codificador, 560, que codifica o BC utilizando a SK atual para gerar o EBC. O EBC é então transmitido aos assinantes. Cada MS inclui um codificador, como, por exemplo, o codificador 544, que extrai o BC do EPC utilizando a SK. A descrição seguinte considera quatro modalidades exemplares que podem ser utilizadas para atualizar a SK e difundir o conteúdo. Na primeira modalidade exemplar, a SK é obtida da BAK e do valor de SPI no cabeçalho dos pacotes IPSec que contêm o conteúdo de broadcast. Na segunda modalidade exemplar, SK é obtida da BAK, de um valor aleatório de broadcast denotado como RAND e do valor de SPI no cabeçalho dos pacotes IPSec que contêm o conteúdo de broadcast. Na terceira modalidade exemplar, SK é obtida da BAK, do tempo do sistema e de um valor aleatório de broadcast denotado como SK_RAND. Na quarta modalidade exemplar, SK é enviada como um pacote IPSec codificado utilizando-se a BAK. Ainda outras modalidades podem fornecer a SK como uma combinação das modalidades acima enumeradas, ou utilizandò-se outro mecanismo para fornecer a SK à MS com frequência suficiente para desencorajar o acesso não autorizado ao serviço de broadcast.
Uma vez que a Chave de Curta Duração (SK) é utilizada para codificar e decodificar o conteúdo de broadcast e é armazenada em uma memória que pode ser vulnerável ao acesso não autorizado, em que a SK é tipicamente alterada com frequência. Existe um problema quanto à maneira pela qual se deve alterar a SK com frequência equilibrando-se ao mesmo tempo os quatro objetivos seguintes: 1) reduzir ao mínimo o tempo de atualização da SK, ou período de interrupção total das comunicações (blackout), para uma estação móvel que tenha sintonizado recentemente no broadcast; 2) reduzir ao mínimo a quantidade de largura de banda utilizada na atualização i do valor de SK; 3) aumentar o nível de segurança; e 4) aumentar a facilidade com que a SK pode ser incorporada ao IPSec. Atualizações freqüentes podem reduzir período de interrupção total das comunicações, mas às custas da necessidade de mais largura de banda para enviar atualizações freqüentes.
Uma solução proporciona um método para obter informações suficientes para a realização de atualizações de SK em cada pacote de conteúdo de broadcast codificado sem a utilização de qualquer largura de banda adicional. Portanto, o período de blackout pode ser reduzido ao mínimo sem se incorrer necessariamente em exigências de largura de banda adicionais. As quatro modalidades exemplares descritas aqui para executar uma atualização de SK têm várias vantagens e desvantagens. Todas as quatro modalidade proporcionam métodos que são suficientemente seguros. A primeira modalidade elimina o período de blackout e não utiliza largura de banda adicional para atualizar o valor de SK. As demais modalidades podem incorrer em um período de blackout durante momentos de grande uso. A primeira modalidade é também facilmente incorporada ao IPSec.
De acordo com a primeira modalidade para efetuar uma atualização de SK, os problemas acima mencionados são i solucionados pela definição da SK que codifica um dado pacote IPSec como uma função da Chave de Acesso a Broadcast (BAK) e do SPI no cabeçalho de ESP. Desta maneira, em lugar de fornecer a SK em um fluxo separado, a SK é computada a partir do fluxo de conteúdos. Presumindo-se que a MS já i tenha recebido a BAK conforme descrito acima, a MS é capaz de computar imediatamente a SK para cada pacote de conteúdo sem ter que esperar algumas informações de atualização de SK adicionais. Isto elimina efetivamente qualquer tempo de espera pela atualização de SK para um novo destinatário de ) broadcast. Assim que a MS receber um pacote de conteúdo, a MS pode determinar imediatamente a SK e decodificar o conteúdo.
As informações suficientes para o cálculo da SK na MS são fornecidas no pacote IPSec. O pacote IPSec utiliza uma Carga Útil de Segurança de Encapsulamento (ESP) IP e é especificado no documento RFC 1827 intitulado "IP Encapsulating Security Payload (ESP)", de R. Atkinson, de agosto de 1995, mencionado acima. A ESP é um mecanismo para proporcionar integridade e confidencialidade a datagramas IP. Em algumas circunstâncias, ela pode fornecer autenticação a datagramas IP. A figura 9A mostra um pacote IPSec, 600, que inclui um cabeçalho IP, 602, um cabeçalho ESP, 604, e uma carga útil, 606, de acordo com uma modalidade. A Carga Útil de Segurança de Encapsulamento (ESP) pode aparecer em qualquer lugar depois do cabeçalho IP e antes do protocolo de camada de transporte final. Geralmente, o ESP consiste em um cabeçalho não codificado seguido de dados codificados. O campo de cabeçalho ESP 604 inclui um Identificador de Associação de Segurança, referido como SPI. De acordo com a primeira modalidade descrita acima, os pacotes IPSec que contém o conteúdo de broadcast incluem um SPI relacionado com a SK, rotulado de SPI_SK. A figura 9B mostra o formato do SPI_SK de 32 bits correspondente, 610. O SPI_SK 610 é decomposto em duas partes: SPI_RAND 612 e BAK_ID 614. O SPI_RAND 612 é um número aleatório que é estatisticamente aleatório, e é também utilizado para computar a SK que é utilizada para codificar e decodificar o conteúdo de broadcast ou carga útil correspondente. O parâmetro SPI_RAND permite que o Servidor de Conteúdos (CS) altere com frequência o valor de SK efetivo para o conteúdo pela alteração do valor de SPI_RAND, fornecendo assim à MS o parâmetro necessário para computar o valor de SK imediatamente. Além disto, o SPI_RAND desempenha o papel de SPI_RANDOM, discutido acima. A natureza aleatória do SPI_RAND assegura que um invasor não prediga os valores de SK com alta exatidão. Uma vez que o SPI já é um parâmetro padrão em pacotes codificados IPSec, isto é, é especificado para a ESP, a presente modalidade não incorre na largura de banda adicional tipicamente associada à transmissão da SK como um fluxo separado. O BAK_ID indica qual valor de BAK utilizar na computação do valor de SK. Em uma modalidade, o BAK_ID é uma etiqueta de quatro bits, em que cada etiqueta está associada a um valor de BAK. Quando a MS faz uma assinatura, a MS armazena cada BAK_ID recebido e o valor de BAK correspondente em uma unidade de armazenamento de memória. De acordo com uma modalidade, a MS inclui uma Tabela de Busca (LUT) para armazenamento do(s) valor(es) de BAK identificados com cada BAK_ID(s) correspondente(s). A LUT DE BAK é contida na memória segura do UIM. A figura 9D mostra uma LUT DE BAK, 630. Cada entrada na LUT 630 identifica o BAK_ID, o valor de BAK correspondente e a expiração da validade da combinação. A expiração é introduzida devido ao número pequeno de valores de BAK_ID. Modalidades alternativas podem evitar a utilização de valores de expiração na LUT DE BAK. Em uma modalidade, apenas 16 valores de BAK__ID são utilizados. Se uma nova BAK for emitida todo mês, então o valor de BAK_ID deve repetir-se após 16 meses. Nesse momento, pode haver confusão quanto ao valor de BAK válido. A expiração proporciona um período de espera após o qual uma nova entrada substitui a entrada expirada. A LUT DE BAK pode precisar armazenar mais de um valor de BAK. Uma razão para isto é que o CS pode desejar enviar valores de BAK à MS antes que eles se tornem válidos. Além disto, o CS pode desejar ter vários valores de BAK que sejam válidos ao mesmo tempo, em que valores de BAK diferentes podem ser utilizados na computação de valores de SK diferentes. Se a LUT DE BAK não contiver uma BAK atual correspondente ao BAK_ID, então a MS pode fazer uma assinatura para recuperar a BAK válida.
Após extrair o SPI_RAND e o BAK_ID do SPI_SK e recuperar a BAK correspondente ao BAK_ID, o ÜIM computa o valor de SK a partir da BAK e do SPI_RAND utilizando uma função criptográfica g: SK = g(BAK,SPI_RAND). (10) Em uma modalidade, a função g(BAK,SPI_RAND) corresponde à codificação do SPI_RAND preenchido para bits de 128 bits com zeros, utilizando-se o algoritmo de codificação AES com BAK como a chave: SK = AES(BAK,SPI_RAND). (11) Em outra modalidade, a função g(BAK,SPI_RAND) corresponde à computação dos 128 bits menos significativos da saida de SHA-1 aplicada à concatenação de BAK e SPI_RAND: SK = SHA(BAK, SPI_RAND). (12) Desta maneira, não é necessário que o UIM compute o valor de SK para cada pacote recebido pela MS. A MS armazena cada um dos valores de SPI_SK com os valores de SK correspondentes em uma unidade de armazenamento de memória, como, por exemplo, uma Tabela de Busca (LUT) . A MS pode armazenar os valores de SPI_SK e SK como uma associação de segurança no Banco de Dados de Associações de Segurança (SAD) : uma LUT na qual a MS armazena associações de segurança típicas necessárias para outras aplicações. As associações de segurança são indexadas de acordo com o endereço de destino e o SPI. Quando uma nova SK é gerada a partir de um novo valor de SPI_SK, a associação de segurança antiga é substituída pela nova associação de segurança que contém os novos valores de SPI_SK e SK. Alternativamente, a MS pode armazenar os valores de SPI_SK e SK em uma SK_LUT, com uma SK_LUT alocada para cada canal de broadcast. A figura 9C mostra uma SK LUT, 620. Cada entrada na LUT 620 identifica o SPI_SK e o valor de SK correspondente. Quando a MS recebe um pacote de conteúdo de broadcast, o ME primeiro verifica o SAD ou a SK LUT para saber se a tabela contém um valor de SPI_SK igual ao SPI do pacote recebido. Se a tabela contiver tal valor, então o ME utiliza este valor, caso contrário o UIM computa o novo valor de SK. O CS pode ter também uma LUT DE BAK, um SAD ou uma SK_LUT.
As figuras 10 e 11 mostram uma modalidade para efetuar uma atualização de SK. A figura 10 ilustra um método, 7 00, de acionamento do CS. Para cada pacote IP, o CS determina a BAK que será utilizada para se obter a SK, e determina o BAK_ID correspondente à BAK na etapa 702. O BAK_ID pode ser qualquer tipo de identificador que permita a discriminação entre vários valores de BAK. O CS envia a BAK e o BAK_ID a usuários individuais fazendo a assinatura na etapa 706. Os usuários podem fazer assinatura em diversos momentos antes e durante o período de assinatura. As etapas 7 02 e 7 06 podem ocorrer antes que o período de assinatura se inicie. Na etapa 710, o CS escolhe um valor aleatório para o valor de SPI_RAND. Se o BAK_ID for representado por meio de b bits, então o SPI_RAND é representado por meio de (32-b) bits. O valor de SPI_RAND e não deve ser repetido durante o tempo de vida de uma BAK. Uma vez conhecidos o SPI_RAND e o BAK_ID, o CS combina-os (isto é, concatena o BAK_ID com o SPI_RAND) de modo a formar o SPI_SK na etapa 712. Na etapa 714, o CS forma a SK utilizando uma função criptográfica para combinar o SPI_RAND com a BAK correspondente ao BAK_ID de modo a formar a SK. 0 CS em seguida codifica a mensagem de broadcast ou parte da mensagem com a SK na etapa 716, e envia a mensagem codificada na etapa 718. Note-se que a • mensagem de broadcast codificada é parte de um pacote IP que inclui o cabeçalho e o cabeçalho ESP. O cabeçalho ESP inclui o SPI_SK. No diamante de decisão 720, o CS decide se altera a SK. Se o CS decidir alterar a SK, então o CS continua até o diamante de decisão 724, onde o CS decide se altera a BAK. Se o CS decidir não alterar a BAK, então o CS prossegue até a etapa 710. Se o CS decidir alterar a BAK, então o CS prossegue até a etapa 702. A figura 11 ilustra a operação correspondente no receptor, como, por exemplo, uma MS. 0 método 750 se inicia quando o receptor recebe o pacote IP, que inclui o SPI_SK no cabeçalho ESP, na etapa 752. Note-se que o receptor extrai as informações de SPI_SK do pacote IP. Quando do recebimento do SPI_SK, o receptor primeiro verifica se a SK correspondente ao valor de SPI_SK recebido está armazenada na memória.
Em uma modalidade, o SPI_SK é armazenado na SK LUT armazenada na unidade de ME 306 da figura 4 e, em outra modalidade, o SPI__SK é armazenado no banco de dados de associações de segurança: ambas estas tabelas são denotadas na figura 11 pela tabela SPI. A verificação da tabela SPI é feita no diamante de decisão 754. Se o valor de SK é armazenado na memória no receptor, o receptor é capaz de decodificar a carga útil do pacote de conteúdo utilizando o valor de SK armazenado na etapa 756. Se o receptor não tiver o valor de SK armazenado na memória, o receptor extrai o BAK_ID e o SPI_RAND do SPIJ3K na etapa 758. Na etapa 760, o receptor verifica então se a LUT DE BAK tem'um entrada de BAK válida correspondente ao BAK_ID, em seguida o receptor seleciona este valor e prossegue até a etapa 764. Se a LUT DE BAK não tiver uma BAK válida correspondente ao BAK_ID, como, por exemplo, quando o usuário deseja fazer assinatura para este período, então o • receptor faz uma assinatura de modo a obter a BAK válida, conforme mostrado na etapa 762. A nova BAK é armazenada com o BAK_ID na BAK__LUT, e o receptor prossegue até a etapa 764. 0 receptor combina a BAK correspondente ao valor de BAK_ID, isto é, o BAK_ID no SPI_SK recebido, e o valor de SPI_RAND (também no SPI_SK recebido) de modo a computar a nova SK na etapa 764. 0 receptor utiliza então o novo valor de SK de modo a decodificar a carga útil do pacote de conteúdo na etapa 766. 0 receptor também armazena este valor de SK indexado pelo SPI_SK correspondente e possivelmente o endereço de destino dos pacotes IPSec. A SK é computada diretamente do conhecimento da BAK e do valor de SPI_SK no pacote de conteúdo. A BAK se altera menos frequentemente do que a SK, a BAK podendo alterar-se uma vez por mês, por exemplo. Portanto, o receptor pode determinar o valor de SK imediatamente a partir dos pacotes de conteúdo sem retardo adicional e sem necessidade de mais largura de banda para enviar a atualização de SK.
De acordo com uma modalidade, o cálculo da SK é dado como: SK= f(SPI_SK,BAK) em que a função é definida como a codificação do SPI_SK utilizando o BAK. Como o SPI_SK é feito a partir do SPI_RAND e do BAK_ID, a Equação (13) pode também ser determinada como: SK=f (SPI_RAND,BAK__ID) . (14) A segunda modalidade exemplar para efetuar uma atualização de SK introduz um aspecto adicional de natureza aleatória na computação da SK, em que a SK é definida como uma função de BAK, SPI_RAND e um parâmetro adicional, RAND. 0 parâmetro RAND é mantido constante para vários valores de SK. 0 RAND permite que mais valores diferentes de SK sejam obtidos de uma única BAK pela variação do SPI. Entretanto, se um RAND de 96 bits for utilizado, então pode haver até 2218 valores de SK que podem ser obtidos de uma única BAK pela variação tanto do SPI_RAND quanto do RAND. (Estes números não dão conta dos bits do SPI que são utilizados para representar o BAK_ID) . Agora, em vez de o SPI_SK identificar apenas a BAK, o SPI_SK deve conter também informações para identificar o RAND. Para se implementar o valor de RAND, o SPI_SK é formulado em três partes: 1) o BAK_ID para a identificar o valor de BAK a ser utilizado; 2) o RAND__ID para identificar o valor de RAND a ser utilizado; e 3) o valor de SPI_RAND para proporcionar a natureza aleatória que se altera com frequência no SPI_SK. A figura 12A mostra uma parte de SPI_SK, 800, de um pacote IP, incluindo um SPI_RAND, 802, um BAK_ID, 804, e um RANDJED, 806. O SPI_RAND 802 e o BAK_ID 804 são conforme descritos acima. De modo a manter o SPI_SK em uma extensão de bit predeterminada ou especificada, o SPI_RAND 802 pode utilizar menos bits do que o SPI_RAND 612, como na figura 9B, de modo a proporcionar bits para o RAND_ID 806. O RAND_ID 806 corresponde ao valor de RAND utilizado no cálculo da SK, e pode ser uma etiqueta de quatro bits ou outro identificador. 0(s)RAND_ID(s) e o(s) valor(es) de RAND correspondente(s) são armazenados em uma LUT no receptor. A figura 12B mostra uma RAND LUT, 820. A RAND LUT 820 inclui uma entrada para cada valor de RAND que lista o RAND_ID e a expiração associada ao valor de RAND. A figura 13 mostra o funcionamento do CS. Para cada pacote IP, o transmissor determina a BAK a ser utilizada para obter SK e determina o BAK_ID correspondente à BAK na etapa 902. 0 BAK_ID pode ser qualquer tipo de identificador que permita a discriminação entre vários valores de BAK. O CS envia a BAK e o BAK_ID a usuários individuais fazendo assinatura na etapa 904. Os usuários podem fazer assinatura em diversos momentos antes e durante o período de assinatura. As etapas 902 e 904 podem ocorrer antes que o período de assinatura se inicie. Na etapa 906, o transmissor seleciona um valor de RAND e determina o RAND_ID correspondente. O CS pode enviar o RAND e o RAND_ID para a MS individualmente ou enviar o RAND e o RAND_ID a serem difundidos no canal de broadcast. O valor de RAND não precisa ser secreto, de modo que não é codificado. Se o RAND e o RAND_ID forem transmitidos, então não deve haver muito tempo entre as retransmissões, de modo que uma MS não precise esperar muito tempo antes de obter o valor de RAND. A transmissão de RAND e RAND_ID utilizará uma grande quantidade de largura de banda ao longo do tempo. Entretanto, se houver um grande número de usuários sintonizados no canal, então uma grande quantidade de largura de banda será necessária para enviar o RAND a cada usuário individualmente. Consequentemente, o RAND e o RAND_ID só devem ser transmitidos se houver um grande número de usuários sintonizados no canal. Na etapa 910, o CS escolhe um valor aleatório de SPI_RAND.
Uma vez conhecidos o SPI_RAND, o BAK_ID e o RAND_ID, o transmissor os combina (como, por exemplo, concatenando o RAND_ID e o BAK_ID com o SPI_RAND) de modo a formar o SPI_SK na etapa 912. O CS utiliza uma função criptográfica para combinar SPI_RAND, BAK (identificada pelo BAK_ID) e RAND (identificado pelo RAND_ID) de modo a formar SK. O CS em seguida codifica a mensagem de broadcast ou parte da mensagem com a SK na etapa 916, e transmite a mensagem codificada na etapa 918. Note-se que a mensagem de broadcast codificada é parte de um pacote IP que inclui o cabeçalho IP e o cabeçalho ESP. O cabeçalho ESP inclui o SPI_SK. No diamante de decisão 920, o CS decide se altera a SK. Se o CS decidir não alterar a SK, então o CS prossegue até a etapa a SK. Se o CS decidir alterar a SK, então o CS prossegue até o diamante de decisão 922, onde o CS decide se altera o RAND. Se o CS decidir não alterar o RAND, então o CS prossegue até a etapa 910. Se o CS decidir alterar o RAND, então o CS prossegue até o diamante de decisão 924, onde o CS decide se altera a BAK. Se o CS decidir não alterar a BAK, então o CS prossegue até a etapa 906. Se o CS decidir alterar a BAK, então o CS volta à etapa 902. A figura 14 ilustra a operação correspondente no receptor, como, por exemplo, uma MS. O método 950 se inicia quando o receptor recebe o pacote IP que inclui o SPI_SK no cabeçalho ESP na etapa 952. Note-se que o receptor extrai as informações de SPI_SK do pacote IP. Quando do recebimento do SPI_SK, o receptor primeiro verifica se a SK correspondente ao valor de SPI_SK recebido está armazenada na memória no diamante de decisão 952. Em uma modalidade, o SPI_SK é armazenado em uma SK LUT armazenada na unidade 306 do ME da figura 4 e, em outra modalidade, o SPI_SK é armazenado no banco de dados de associações de segurança: ambas estas tabelas são denotadas na figura 14 como a tabela SPI. A verificação da SK LUT é feita no diamante de decisão 954. Se o valor de SK estiver armazenado na memória no receptor, o receptor pode decodificar a carga útil do pacote de conteúdo utilizando o valor de SK armazenado na etapa 956. Se o receptor não tiver o valor de SK armazenado na memória, o receptor extrai o BAK_ID e o SPI_RAND do SPI_SK na etapa 958. Na etapa 960, o receptor verifica se a LUT DE BAK tem uma entrada de BAK válida correspondente ao BAK_ID. Se a LUT DE BAK tiver de fato um RAND válido correspondente ao BAK_ID, então o receptor seleciona este valor e prossegue até a etapa 964. Se a LUT DE BAK não tiver uma BAK válida correspondente ao BAK_ID, então (desde que o usuário deseje fazer assinatura para este período) o receptor faz uma assinatura de modo a obter a BAK válida, conforme mostrado na etapa 962. A nova BAK é armazenada com o BAK_ID na LUT DE BAK e o receptor prossegue até a etapa 964. Na etapa 964, o receptor verifica então se a RAND LUT tem uma BAK válida correspondente ao RAND_ID. Se a RAND LUT tiver de fato uma BAK válida correspondente ao RAND_ID, então o receptor seleciona este valor e prossegue até a etapa 964. Se a RAND LUT não tiver um RAND válido correspondente ao RAND_ID, então o receptor obtém o RAND e o RAND_ID solicitando o valor ou do CS ou do broadcast, conforme mostrado na etapa 966. O novo RAND é armazenado com o RAND_ID na RAND_LUT, e o receptor prossegue até a etapa 968. 0 receptor combina a BAK correspondente ao valor de BAK__ID (isto é, o BAK_ID no SPI_SK recebido) , o RAND correspondente ao RAND_ID (isto é, o RAND_ID no SPI_SK recebido) e o valor de SPI_RAND (também no SPI_SK recebido) de modo a computar a nova SK na etapa 968. 0 receptor em seguida utiliza o novo valor de SK para decodificar a carga útil do pacote de conteúdo na etapa 970. O receptor também armazena este valor de SK indexado pelo SPI_SK correspondente e possivelmente o endereço de destino dos pacotes IPSec. O RAND é alterado menos frequentemente que o SPI_RAND. O valor de RAND é comum a todas as estações móveis que escutam o broadcast. Portanto, o valor de RAND pode ser transmitido a todas as estações móveis e não é necessariamente codificado especificamente por receptor. Portanto, se houver estações móveis suficientes escutando o fluxo de broadcasts, é mais eficiente que a interface pelo ar transmita o valor de RAND algumas vezes a todas as estações móveis, em lugar de se exigir que cada estação móvel solicite individualmente os valores de RAND do CS.
De acordo com uma modalidade, o cálculo da SK é dado como: SK=f (SPI_SK,BAK,BAND), (15) onde a função é definida como a codificação do SPI_SK utilizando-se a BAK. Uma vez que o SPI_SK é constituído pelo SPI_RAND, pelo BAK_ID e pelo RAND_ID, a Equação (15) pode ser dada como: SK=f(SPI_RAND,BAK_ID,RAND_ID,RAND). (16) Note-se que o uso de um valor de RAND pode introduzir alguns "períodos de blackout" porque o receptor precisa receber o valor de RAN em uma alteração.
Entretanto, estes períodos são menos freqüentes do que quando a SK é atualizada em um fluxo separado e o receptor espera as atualizações periódicas. O RAND é projetado para alterar-se mais lentamente do que o valor de SK e, portanto, as atualizações do RAND não são enviadas com tanta frequência. 0 CS também gostaria de reduzir a probabilidade de um "blackout", que ocorre quando uma MS pára de escutar o canal devido a um sinal perdido, sintonizando outro canal, ou respondendo a uma interrupção, como uma chamada telefônica, por exemplo. É mais provável que o blackout ocorra no início do tempo de vida de um valor de RAND. Para contrabalançar isto, o CS pode redifundir (re-broadcast) o novo RAND com maior frequência aproximadamente no momento em que o novo valor de RAND se tornar válido. No final do tempo de vida de um RAND, pode tornar-se necessário difundir (broadcast) tanto o valor do RAND atual quanto o valor do RAND seguinte. Os valores de RAND não devem ser predizíveis, e o CS deve iniciar o envio do RAND apenas pouco tempo antes que o RAND se torne válido.
Conforme discutido acima, de acordo com a terceira modalidade exemplar, a SK é obtida da BAK, do tempo do sistema e de um valor aleatório de broadcast denotado como SK_RAND. A figura 7C ilustra um método para atualizar chaves para codificação de segurança em um sistema de comunicação sem fio que suporta serviço de broadcast. 0 método 440 implementa períodos de tempo, conforme dados na figura 7E. A BAK é atualizada periodicamente, possuindo um período de tempo Tl. Um temporizador tl é iniciado quando a BAK é calculada e expira (times out) em Tl. Uma variável é utilizada para calcular a SK referida como SK_RAND, que é atualizado periodicamente possuindo um período de tempo T2. Um temporizador t2 é iniciado quando o SK_RAND é gerado e expira em T2. Em uma modalidade, a SK é também atualizada periodicamente possuindo um período de T3. Um temporizador t3 é iniciado quando cada SK é gerada e expira no tempo T3. 0 SK_RAND é gerado no CS e fornecido periodicamente à MS. A MS e o CS utilizam o SK_RAND para gerar a SK, conforme detalhado a seguir.
Um primeiro temporizador tl é reinicializado quando o valor aplicável de BAK é atualizado. A duração de tempo entre duas atualizações de BAK é o período de atualização de BAK. Na modalidade exemplar, o período de atualização de BAK é mês, porém modalidades alternativas podem implementar qualquer período de tempo desejado para funcionamento ótimo do sistema, ou de modo a satisfazer diversos critérios de sistema.
Continuando com a figura 7C, o método 440 inicializa o temporizador t2 na etapa 442 de modo a iniciar o período de tempo de SKJREG T2. O CS gera o SK_RAND e fornece o valor ao conjunto de circuitos de transmissão por todo o sistema na etapa 444. O temporizador t3 ê inicializado na etapa 446 de modo a iniciar o periodo de tempo SK T3. 0 CS em seguida codifica o BC utilizando a SK atual na etapa 448. 0 produto criptografado é o EBC, em que o CS fornece o EBC ao conjunto de circuitos de transmissão para transmissão no sistema. Se o temporizador t2 tiver expirado no diamante de decisão 450, o processamento volta à etapa 442. Embora t2 seja menor que T2, se o temporizador t3 tiver expirado no diamante de decisão 452, o processamento volta à etapa 446, caso contrário o processamento retorna a 450. A figura 7D ilustra o funcionamento da MS que acessa um serviço de broadcast. O método 460 primeiro sincroniza os temporizadores t2 e t3 com os valores no CS na etapa 462. O UIM da MS recebe o SK_RAND gerado pelo CS na etapa 464. Na etapa 466, o UIM gera a SK utilizando o SK_RAND, a BAK e uma medição de tempo. O UIM passa a SK para o ME da MS. O UIM em seguida decodifica o EBC recebido utilizando a SK de modo a extrair o BC original na etapa 468. Quando o temporizador t2 expira na etapa 470, o processamento volta à etapa 462. Embora o temporizador t2 seja inferior a T2, se o temporizador t3 expira na etapa 472, o temporizador t3 é inicializado na etapa 474 e volta a 466. O gerenciamento e as atualizações das chaves são ilustrados na figura 8C, na qual o CS aplica uma função, 508, de modo a gerar um valor de SK_RAND, que é um valor provisório utilizado pelo CS e pela MS para calcular a SK. Especificamente, a função 508 aplica o valor de BAK, o SK_RAND e um fator de tempo. Embora a modalidade mostrada na figura 8C aplique um temporizador para determinar quando atualizar a SK, modalidades alternativas podem utilizar medidas alternativas para gerar atualizações periódicas, como, por exemplo, a ocorrência de um erro ou outro evento. 0 CS fornece o valor de SK_RAND a cada um dos assinantes, em que uma função 518, residente em cada UIM, aplica a mesma função, como na função 508 do CS. A função 518 opera no SK_RAND, na BAK e em um valor de temporizador de modo a gerar um SK que é armazenada em um local de memória no ME, como, por exemplo, a MEMi 542 do MEi 540.
Conforme discutido acima, de acordo com a Quarta modalidade exemplar, a SK é codificada utilizando-se a BAK de modo a formar a SKI, e a SKI é enviada à MS. Em uma modalidade exemplar, a SK é enviada em um pacote IPSec codificado utilizando-se a BAK. O CS pode difundir também uma SPI correspondente que pode ser utilizada para identificar os dados que são codificados utilizando-se a SK. Esta modalidade não precisa ser discutida em maiores detalhes.
Nas modalidades exemplares apresentadas acima, o CS pode optar por atualizar a SK conforme o CS deseje. Quanto mais frequentemente a SK se alterar, mais o CS pode dissuadir os invasores de distribuir valores de SK. Haverá momentos em que um invasor considere a vantagem de distribuir valores de SK de modo que sejam melhores em outros momentos. Isto será basicamente devido à natureza do conteúdo que é transmitido. Por exemplo, ao ocorrer um evento importante, usuários não assinantes estarão mais interessados em receber noticias no HSBS e, portanto, estarão desejosos de pagar mais pelo acesso ilegítimo do que em outros momentos. Nestes momentos, o CS pode aumentar o custo e o inconveniente para os invasores e os usuários não assinantes alterando a SK com maior frequência do que o normal. 0 CS deve manter em mente, contudo, os limites à potência de processamento do UIM. Se o CS alterar a SK com frequência demasiada, o UIM não poderá computar os valores de SK em tempo real, de modo que os usuários não poderão decodificar o conteúdo em tempo real.
Os que conhecem a técnica entenderiam que as informações e os sinais podem ser representados utilizando-se qualquer uma de diversas tecnologias e técnicas diferentes. Por exemplo, os dados, instruções, comandos, informações, sinais, bits, símbolos e chips referidos ao longo da descrição acima podem ser representados por voltagens, correntes, ondas eletromagnéticas, campos ou partículas magnéticos, campos ou partículas ópticos, ou qualquer combinação deles.
Os que conhecem a técnica entenderiam também que os diversos blocos, módulos, circuitos lógicos e etapas algorítmicas ilustrativos descritos com relação às modalidades descritas aqui podem ser implementados como hardware eletrônico, software de computador ou combinações de ambos. Para se ilustrar claramente esta interpermutabilidade de hardware e software, diversos componentes, blocos, módulos, circuitos e etapas ilustrativos foram descritos acima genericamente em termos de sua funcionalidade. Se tal funcionalidade é implementada como hardware ou software depende da aplicação específica e das restrições de desenho impostas ao sistema como um todo. Os que lidam com a técnica podem implementar a funcionalidade descrita de várias maneiras para cada aplicação específica, mas tais decisões de implementação não deve ser interpretadas como provocando um afastamento do escopo da presente invenção.
Os diversos blocos, módulos e circuitos lógicos ilustrativos descritos com relação às modalidades apresentadas aqui podem ser implementados ou executados com um processador para fins gerais, um processador de sinais digitais (DSP), um circuito integrado de aplicação especifica (ASIC), um arranjo de portas programável em campo (FPGA) ou outro dispositivo lógico programável, gate discreto ou lógica de transistor, componentes de hardware discretos ou qualquer combinação deles projetada para executar as funções descritas aqui. Um processador para fins gerais pode ser um microprocessador, mas, alternativamente, o processador pode ser qualquer processador, controlador, microcontrolador ou máquina de estado convencionais. Um processador pode ser também implementado como uma combinação de dispositivos de computação, como, por exemplo, uma combinação de DSP e microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em conjunto com um núcleo de DSP, ou qualquer outra configuração.
As etapas de um método ou algoritmo descritas em conexão com as modalidades apresentadas aqui podem ser corporifiçadas diretamente em hardware, em um módulo de software executado por um processador, ou uma combinação dos dois. Um módulo de software pode residir em memória RAM, em memória flash, em memória ROM, em memória EPROM, em memória EEPROM, em registros, disco rígido, disco removível, CD-ROM ou qualquer outra forma de meio de armazenamento conhecida na técnica. Um meio de armazenamento exemplar é acoplado ao processador de modo que o processador possa ler informações do, e gravar informações no, meio de armazenamento. Alternativamente, o meio de armazenamento pode ser integrado ao processador. 0 processador e o meio de armazenamento podem residir em um ASIC. 0 ASIC pode residir em um terminal de usuário. Alternativamente, o processador e o meio de armazenamento podem residir como componentes discretos em um terminal de usuário. A descrição anterior das modalidades apresentadas é fornecida para permitir que qualquer pessoa especializada na técnica crie ou faça uso da presente invenção. Diversas modificações nestas modalidades se tornarão prontamente evidentes aos que lidam com a técnica, e os princípios genéricos definidos aqui podem ser aplicados a outras modalidades sem o afastamento do espírito ou escopo da invenção. Deste modo, a presente invenção não se destina a ser limitada às modalidades mostradas aqui, mas deve receber o mais amplo escopo compatível com os princípios e aspectos inéditos apresentados aqui.
REIVINDICAÇÕES

Claims (15)

1. Método para transmissões seguras, o método compreendendo as etapas de: determinar (714) uma chave de curta duração (800) para uma mensagem a ser transmitida, a chave de curta duração possuindo um identificador de chave curta duração; determinar (702) uma chave de acesso para a mensagem, a chave de acesso possuindo um identificador de chave de acesso; codificar (716) a mensagem com a chave de curta duração; o método caracterizado pelo fato de que compreende adicionalmente: formar (718) um cabeçalho de protocolo Internet compreendendo um identificador de chave de curta duração que compreende o identificador de chave de acesso e um valor aleatório (806) , em que o identificador de chave de curta duração compreende adicionalmente um valor de índice de parâmetro de segurança que é um número aleatório; e transmitir (718) a mensagem codificada com o cabeçalho de protocolo Internet através de um transmissor sem fio.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a chave de curta duração é calculada como uma função do identificador de chave de curta duração e da chave de acesso.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a chave de curta duração é calculada (714) pela codificação do identificador de chave de curta duração com a chave de acesso.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o cabeçalho de protocolo Internet é parte de um cabeçalho de Encapsulamento de Segurança de Carga Útil (ESP).
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o valor aleatório é um primeiro número aleatório e o cabeçalho de protocolo Internet compreende adicionalmente um segundo número aleatório, o segundo número aleatório possuindo um identificador de números aleatórios.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o identificador de chave de curta duração compreende o identificador de chave de acesso e o identificador de números aleatórios.
7. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que a chave de curta duração é calculada como uma função do identificador de chave de curta duração, do segundo número aleatório e da chave de acesso.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a chave de curta duração é calculada pela codificação do identificador de chave de curta duração e do segundo número aleatório com a chave de acesso.
9. Método para recepção segura de uma transmissão, o método caracterizado pelo fato de que compreende as etapas de: receber (752) um identificador de chave de curta duração especifico para uma transmissão, o identificador de chave de curta duração correspondendo a uma chave de curta duração, o identificador de chave de curta duração compreendendo um identificador de chave de aceso e um valor aleatório; determinar (758) uma chave de acesso com base no identificador de chave de acesso; combinar (764) a chave de acesso correspondente ao identificador de chave de curta duração e o valor aleatório para calcular a chave de curta duração; e decodificar (766) a transmissão utilizando a chave de curta duração.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende adicionalmente: armazenar o identificador de chave de curta duração e a chave de curta duração em uma unidade de armazenamento de memória (306).
11. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que o identificador de chave de curta duração é constituído por um número aleatório (806) e por um identificador de chave de acesso associado à chave de acesso.
12. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que a codificação do identificador de chave de curta duração compreende adicionalmente codificar o identificador de chave de curta duração e um número aleatório com a chave de acesso de modo a recuperar a chave de curta duração.
13. Dispositivo de armazenamento de sinais digitais (620, 630, 820), caracterizado pelo fato de que compreende: primeiro conjunto de instruções para receber um identificador de chave de curta duração especifico para uma transmissão, o identificador de chave de curta duração correspondendo a uma chave de curta duração, o identificador de chave de curta duração compreendendo um identificador de chave de acesso e um valor aleatório; segundo conjunto de instruções para determinar uma chave de acesso com base no identificador de chave de acesso; terceiro conjunto de instruções para combinar a chave de acesso correspondente ao identificador de chave de curta duração e o valor aleatório para calcular a chave de curta duração; e quarto conjunto de instruções para decodificar a transmissão utilizando a chave de curta duração.
14. Sinal de comunicação transmitido em uma onda portadora, caracterizado pelo de que compreende: uma primeira parte compreendendo um identificador de chave de curta duração que compreende um identificador de chave de acesso e um valor aleatório (806); e uma segunda parte correspondente a uma carga útil de transmissão (606) codificada utilizando a chave de curta duração, em que a chave de curta duração possui um identificador de chave de curta duração e em que a chave de curta duração é calculada como uma função do identificador de chave de curta duração e da chave de acesso.
15. Sinal de comunicação, de acordo com a reivindicação 14, caracterizado pelo fato de que o identificador de chave de curta duração compreende: uma parte de número aleatório (612); e um identificador de chave de acesso (614) correspondente a uma chave de acesso.

Family

ID=

Similar Documents

Publication Publication Date Title
ES2791681T3 (es) Procedimiento y aparato de seguridad en un sistema de procesamiento de datos
JP4282992B2 (ja) データ処理システムにおけるセキュリティのための方法および装置
KR101123591B1 (ko) 이동 통신 시스템에서의 보안 데이터 송신을 위한 방법 및 장치
AU2002342014A1 (en) Method and apparatus for security in a data processing system
US20050129231A1 (en) Apparatus and method for broadcast services transmission and reception
BRPI0213214B1 (pt) Safety method and equipment in a data processing system