BRPI0503811B1 - sistema e método para procurar e recuperar certificados e meio lido por computador para implementar o método - Google Patents

sistema e método para procurar e recuperar certificados e meio lido por computador para implementar o método Download PDF

Info

Publication number
BRPI0503811B1
BRPI0503811B1 BRPI0503811-1A BRPI0503811A BRPI0503811B1 BR PI0503811 B1 BRPI0503811 B1 BR PI0503811B1 BR PI0503811 A BRPI0503811 A BR PI0503811A BR PI0503811 B1 BRPI0503811 B1 BR PI0503811B1
Authority
BR
Brazil
Prior art keywords
certificate
certificates
retrieved
data
mobile device
Prior art date
Application number
BRPI0503811-1A
Other languages
English (en)
Inventor
Neil P. Adams
Michael S. Brown
Herbert A. Little
Original Assignee
Blackberry Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Blackberry Limited filed Critical Blackberry Limited
Publication of BRPI0503811A publication Critical patent/BRPI0503811A/pt
Publication of BRPI0503811B1 publication Critical patent/BRPI0503811B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation

Abstract

SISTEMA E MÉTODO PARA PROCURAR E RECUPERAR CERTIFICADOS. Um sistema e um método para pesquisar e recuperar certificados, que poderão ser utilizados no processamento de mensagens codificadas, são fornecidos. Em um aspecto amplo, um método é fornecido em que uma solicitação de busca de certificado é recebida, a busca de um ou mais servidores de certificados por certificados que satisfaçam a solicitação é efetuada, os certificados localizados são recuperados e processados em um primeiro dispositivo de computação para determinar dados que identificam singularmente cada certificado localizado, e dados do resultado da busca que compreendem os dados determinados são comunicados a um segundo dispositivo (por exemplo, um dispositivo móvel) para utilização na determinação se cada certificado localizado já está armazenado no segundo dispositivo.

Description

A invenção relaciona-se genericamente ao processamento de mensagens, como as mensagens de correspondência eletrônica e, mais especificamente, a um sistema para procurar e recuperar certificados utilizados no processamento de mensagens codificadas.
HISTÓRICO DA INVENÇÃO
Mensagens de correspondência eletrônica poderão ser codificadas utilizando um de um número de protocolos conhecidos. Alguns desses protocolos, como o Secure Multiple Internet Mail Extensions (S/MIME - Extensões de Correspondência de Internet Múltiplas Seguras), por exemplo, dependem de chaves de criptografia pública e privada para fornecer confidencialidade e integridade, e em uma Public Key Infrastructure (PKI - Infra-estrutura de Chave Pública) para comunicar informação que fornece autenticação e autorização. Os dados criptografados utilizando uma chave pública de um par chave pública/chave privada só pode ser descriptografado utilizando a chave pública correspondente do par, e vice-versa. A autenticidade das chaves públicas utilizadas na codificação das mensagens é validada utilizando certificados. Em particular, se o usuário de um dispositivo de computação desejar criptografar uma mensagem antes da mensagem ser enviada para um indivíduo particular, o usuário precisará de um certificado para aquele indivíduo. Tal certificado tipicamente compreenderá a chave pública do indivíduo, bem como outra informação relacionada com a identificação. Se o certificado indispensável para o receptor pretendido já não estiver armazenado no dispositivo de computação do usuário, o certificado precisa ser primeiro recuperado. A procura e a recuperação de um certificado para um receptor específico é um processo que geralmente envolve procurar um servidor de certificados ao fazer o usuário entrar manualmente com o nome e/ou o endereço de correspondência eletrônica do receptor pretendido em um formulário de busca exibido no dispositivo de computação. Geralmente, os certificados localizados na busca são então temporariamente transferidos (baixados) para o dispositivo de computação para consideração, e uma lista de certificados localizados poderá então ser exposta ao usuário. Os certificados selecionados na lista poderão ser então manualmente identificados pelo usuário para armazenamento em um armazenamento não volátil do dispositivo de computação, para utilização futura potencial. No entanto, em algumas implementações, em vez de transferir (baixar) temporariamente todos os certificados localizados na busca para o dispositivo de computação em primeira instância, apenas certos dados necessários para gerar uma lista dos certificados localizados na busca poderão ser transferidas (baixadas) inicialmente para o dispositivo de computação. A lista é exposta ao usuário, tipicamente identificando cada certificado localizado utilizando o nome comum e o endereço de correspondência eletrônica do indivíduo ao qual o respectivo certificado foi emitido. Apenas após o usuário selecionar certificados específicos da lista para serem armazenados para utilização futura são os certificados transferidos (baixados) para o dispositivo de computação para armazenamento. Em particular, se o dispositivo de computação é um dispositivo móvel, adiar a transferência dos certificados para o dispositivo móvel e apenas transferir (baixar) os certificados selecionados pelo usuário, pode minimizar significativamente o gasto de recursos. Infelizmente, nessas implementações em que a transferência dos certificados é adiada, geralmente não é possível determinar com certeza se qualquer um dos certificados identificados na lista já estão armazenados em um armazém de certificados do dispositivo de computação apenas dos dados transferidos (baixados) utilizados para gerar a lista. Por exemplo, para uma aplicação no dispositivo de computação ser capaz de determinar com certeza que um certificado dado identificado na lista já está armazenado no armazém de certificados, o efetivo certificado tipicamente precisaria ser transferido (baixado) para o dispositivo de computação para que os dados indispensáveis necessários para fazer a determinação possam ser obtidos. Isto pode ser uma tarefa absorvedora de tempo e de recursos (por exemplo, com relação à largura de banda), e poderá ser desnecessária se o certificado transferido (baixado) já estiver, de fato, no armazém de certificados.
SUMÁRIO DA INVENÇÃO
Versões da invenção são geralmente dirigidas a um sistema e método para procurar certificados mais eficientemente em um dispositivo de computação e recuperar certificados para armazenamento no dispositivo de computação. Em um amplo aspecto da invenção, é fornecido um método de procurar e de recuperar certificados que compreende as etapas de: receber uma solicitação de procura de certificado; efetuar a pesquisa em um ou mais servidores de certificados, em que pelo menos uma consulta é submetida ao um ou mais servidores de certificados para solicitar a recuperação dos certificados que satisfazem a solicitação de pesquisa de certificado; recuperar pelo menos um certificado do um ou mais servidores de certificados; processar cada certificado recuperado em um primeiro dispositivo de computação para determinar dados do resultado da pesquisa, em que os dados do resultado da pesquisa compreendem dados que identificam singularmente o respectivo certificado; e para cada certificado recuperado, comunicar os dados do resultado da pesquisa a ele associado a um segundo dispositivo do primeiro dispositivo de computação, com utilização para determinar se o respectivo certificado está armazenado no segundo dispositivo. Em outro amplo aspecto da invenção, os dados que identificam singularmente cada respectivo certificado compreendem o número de série e dados do emissor para o respectivo certificado, e a etapa de processamento compreender analisar cada certificado recuperado para obter o respectivo número de série e dados do emissor. Em outro amplo aspecto da invenção, os dados que identificam singularmente cada respectivo certificado compreendem uma informação não significativa (Hash) de pelo menos uma parte do respectivo certificado, e a etapa de processamento compreende aplicar um algoritmo de comprovação (algoritmo Hash) a cada certificado recuperado para obter a respectiva informação (Hash). Em outro amplo aspecto da invenção, é fornecido um sistema para pesquisar e recuperar certificados que compreendem pelo menos um primeiro dispositivo de computação e um segundo dispositivo, em que o primeiro dispositivo de computação é adaptado para receber uma solicitação de pesquisa de certificado; efetuar a pesquisa em um ou mais servidores de certificados ao submeter pelo menos uma consulta a eles para solicitar a recuperação dos certificados que satisfazem a solicitação de pesquisa de certificado; recuperar pelo menos um certificado do um ou mais servidores de certificado; processar cada certificado recuperado para determinar dados do resultado da pesquisa, em que os dados do resultado da pesquisa compreendem dados que identificam singularmente o respectivo certificado; e para cada certificado recuperado, comunicar os dados do resultado da pesquisa a ele associado a um segundo dispositivo com utilização para determinar se o respectivo certificado está armazenado no segundo dispositivo.
BREVE DESCRIÇÃO DOS DESENHOS
Para uma melhor compreensão das versões da invenção, e mostrar mais claramente como ela poderá ser levada a termo, será feita agora referência, por meio de exemplo, aos desenhos acompanhantes, nos quais: A Figura 1 é um diagrama de blocos de um dispositivo móvel em uma implementação de exemplo. A Figura 2 é um diagrama de blocos de um componente do subsistema de comunicação do dispositivo móvel da Figura 1. A Figura 3 é um diagrama de blocos de um nó de uma rede sem fio. A Figura 4 é um diagrama de blocos que ilustra componentes de um sistema principal em uma configuração de exemplo. A Figura 5 é um diagrama de blocos que mostra um exemplo de uma cadeia de certificados. A Figura 6 é um diagrama de blocos que ilustra componentes de um exemplo de uma mensagem codificada. A Figura 7A é um fluxograma que ilustra etapas em um método de pesquisar e de recuperar certificados em uma versão da invenção. E A Figura 7B é um fluxograma que ilustra etapas em um método de pesquisar e de recuperar certificados em outra versão da invenção.
DESCRIÇÃO DETALHADA DE VERSÕES DA INVENÇÃO
Algumas versões da invenção fazem uso de uma estação móvel. A estação móvel é um dispositivo de comunicação bilateral com capacidade de comunicação de dados avançada e tendo a capacidade de comunicar com outros sistemas de computador, e também é aqui geralmente referida como um dispositivo móvel. O dispositivo móvel também poderá incluir a capacidade para comunicação de voz. Dependendo da funcionalidade fornecida pelo dispositivo móvel, ele poderá ser referido como dispositivo de mensagem de dados, um dispositivo de radiochamada bilateral, um telefone celular com capacidade para mensagens de dados, um aparelho de Internet sem fio ou um dispositivo de comunicação de dados (com ou sem capacidade de telefonia). O dispositivo móvel comunica com outros dispositivos através de uma rede de estações transceptoras. Para auxiliar o leitor na compreensão da estrutura de um dispositivo móvel e como ele se comunica com outros dispositivos, é feita referência às Figuras 1 a 3. Com referência primeiro à Figura 1, é mostrado geralmente como 100 um diagrama de blocos de um dispositivo móvel em uma implementação de exemplo. O dispositivo móvel 100 compreende um número de componentes, o componente controlador sendo o microprocessador 102. O microprocessador 102 controla a operação geral do dispositivo móvel 100. Funções de comunicação, incluindo a comunicação de dados e de voz, são efetuadas através do subsistema de comunicação 104. O subsistema de comunicação 104 recebe mensagens e envia mensagens para uma rede sem fio 200. Nesta implementação exemplar do dispositivo móvel 100, o subsistema de comunicação 104 é configurado de acordo com as normas do Global System for Mobile Communication (GSM - Sistema Global para Comunicação Móvel) e General Packet Radio Services (GPRS - Serviços de Rádio de Pacote Geral). A rede sem fio GSM/GPRS é utilizada em todo o mundo e espera-se que essas normas serão suplantadas eventualmente por Enhanced Data GSM Environment (EDGE - Ambiente GSM de Dados Aprimorados) e Universal Mobile Telecommunications Service (UMTS - Serviço de Telecomunicação Móvel Universal). Novas normas ainda estão sendo definidas, mas acredita-se que elas terão similaridades com o comportamento da rede aqui descrita, e também será compreendido por pessoas habilitadas na tecnologia que a invenção pretende utilizar qualquer outra norma adequada que seja desenvolvida no futuro. O enlace sem fio que conecta o subsistema de comunicação 104 à rede 200 representa um ou mais canais de Radio Freqüência (RF) diferentes, operando de acordo com protocolos definidos especificados para a comunicação GSM/GPRS. Com protocolos de rede mais novos, esses canais são capazes de suportar tanto a comunicação de voz comutada por circuito como a comunicação de dados comutada por pacote. Embora a rede sem fio associada ao dispositivo móvel 100 seja uma rede GSM/GPRS em uma implementação de exemplo do dispositivo móvel 100, outras redes sem fio também poderão ser associadas ao dispositivo móvel 100 em implementações variantes. Tipos diferentes de redes sem fio que poderão ser empregadas, por exemplo, incluem redes sem fio centrada em dados, redes sem fio centrada em voz, e redes de modo dual que podem suportar tanto a comunicação de voz como a de dados pelas mesmas estações base físicas. Redes de modo dual combinadas incluem, sem a elas se limitar, as redes Code Division Multiple Access (CDMA - Acesso Múltiplo de Divisão por Código) ou CDMA2000, redes GSM/GPRS (como mencionado acima), e futuras redes de terceira geração (3G) como EDGE e UMTS. Alguns exemplos mais antigos de redes centrada em dados incluem a Mobitex™ Radio Network e a DataTAC™ Radio Network. Exemplos de redes de dados centradas na voz mais antigas incluem redes Personal Communication Systems (PCS - Sistemas de Comunicação Pessoal) como os sistemas GSM e Time Division Multiple Access (TDMA - Acesso Múltiplo de Divisão por Tempo). O microprocessador 102 também interage com subsistemas adicionais como a Memória de Acesso Aleatório (RAM) 106, memória flash 108, mostrador 110, subsistema de entrada/saída auxiliar (E/S) 112, porta serial 114, teclado 116, alto falante 118, microfone 120, comunicação de curto alcance 122 e outros dispositivos 124.
Alguns dos subsistemas do dispositivo móvel 100 efetuam funções relacionadas à comunicação, enquanto outros subsistemas poderão fornecer funções "residentes" ou no dispositivo. Por meio de exemplo, o mostrador 110 e o teclado 116 poderão ser utilizados tanto para funções relacionadas à comunicação, como entrar com mensagem de texto para transmissão pela rede 200, e funções residentes no dispositivo como a calculadora ou a lista de tarefas. O software do sistema operacional utilizado pelo microprocessador 102 é tipicamente armazenado em um armazém persistente como a memória flash 108, que poderá alternativamente ser uma memória de apenas leitura (ROM) ou um elemento de armazenamento similar (não mostrado). Aqueles habilitados na técnica apreciarão que o sistema operacional, aplicações específicas de dispositivo, ou partes destas, poderão ser temporariamente carregadas dentro de um armazém volátil como a RAM 106. O dispositivo móvel 100 poderá enviar e receber sinais de comunicação pela rede 200 após os procedimentos de registro ou de ativação da rede necessários tiverem sido terminados. O acesso à rede é associado a um assinante ou usuário do dispositivo móvel 100. Para identificar o assinante, o dispositivo móvel 100 exige que um Cartão "SIM" (Subscriber Identity Module - Módulo de Identidade do Assinante) 126 seja inserido dentro de uma interface SIM 128 para se comunicar com uma rede. O SIM 126 é um tipo de um "cartão inteligente" convencional utilizado para identificar o assinante do dispositivo móvel 100 e personalizar o dispositivo móvel 100, entre outras coisas. Sem o SIM 126, o dispositivo móvel 100 não está inteiramente operacional para a comunicação com a rede 200. Ao inserir o SIM 126 dentro da interface SIM 128, o assinante pode acessar todos os serviços assinados. Os serviços poderiam incluir: visita a Web e mensagens como correspondência eletrônica, correspondência de voz, Serviço de Mensagem Curta (SMS), e Multimedia Messaging Services (MMS - Serviços de Mensagens de Multimídia). Serviços mais avançados poderão incluir: automação de ponto de venda, de serviço no campo e da equipe de vendas. O SIM 126 inclui um processador e memória para armazenar informação. Uma vez inserido o SIM 126 na interface SIM 128, ele é acoplado ao microprocessador 102. Para identificar o assinante, o SIM 126 contém alguns parâmetros de usuário como uma International Mobile Subscriber Identity (IMSI - Identidade de Assinante Móvel Internacional). Uma vantagem de utilizar o SIM 126 é que o assinante não está necessariamente limitado por qualquer um dispositivo móvel físico. O SIM 126 poderá armazenar informação de assinante adicional também para o dispositivo móvel, incluindo informação de livro de datas (ou de calendário) e informação de chamadas recentes. O dispositivo móvel 100 é um dispositivo energizado por bateria e inclui uma interface de bateria 132 para receber uma ou mais baterias recarregáveis. A interface de bateria 132 é acoplada a um regulador (não mostrado) que auxilia a bateria 130 no fornecimento de energia V+ ao dispositivo móvel 100. Embora a tecnologia atual faça uso de uma bateria, tecnologias como células micro combustíveis poderão fornecer a energia para o dispositivo móvel 100.
O microprocessador 102, além de suas funções de sistema operacional, ativa a execução de aplicações de software no dispositivo móvel 100. Um conjunto de aplicações que controlam as operações básicas do dispositivo, incluindo aplicações de comunicação de dados e de voz, normalmente será instalado no dispositivo móvel 100 durante sua fabricação. Outra aplicação que poderá ser carregada no dispositivo móvel 100 seria um gerenciador de informação pessoal (PIM). O PIM tem funcionalidade para organizar e gerenciar itens de dados de interesse para o assinante, como, mas sem a eles se limitar, correspondência eletrônica, eventos de calendário, correspondência por voz, compromissos, e itens de tarefas. A aplicação PIM tem a capacidade de enviar e de receber itens de dados através da rede sem fio 200. Os itens de dados PIM poderão ser integrados sem problemas, integrados, sincronizados e atualizados através da rede sem fio 200 com os itens de dados correspondentes do assinante do dispositivo móvel armazenados e/ou associados a um sistema de computador hospedeiro. Esta funcionalidade cria um computador hospedeiro espelhado no dispositivo móvel 100 com relação a esses itens. Isto pode ser particularmente vantajoso nos casos em que o sistema de computador hospedeiro é o sistema de computador do escritório do assinante do dispositivo móvel. Aplicações adicionais também poderão ser carregadas no dispositivo móvel 100 através da rede 200, subsistema de E/S auxiliar 112, porta serial 114, subsistema de comunicação de curto alcance 122, ou qualquer outro subsistema adequado 124. Esta flexibilidade na instalação de aplicações aumenta a funcionalidade do dispositivo móvel 100 e poderá fornecer funções aprimoradas no dispositivo, funções relacionadas à comunicação, ou os dois. Por exemplo, aplicações de comunicação segura poderão ativar as funções de comércio eletrônico e outras dessas transações financeiras para serem efetuadas utilizando o dispositivo móvel 100. A porta serial 114 permite ao assinante fixar preferências através de um dispositivo externo ou aplicação de software e amplia a capacidade do dispositivo móvel 100 ao fornecer informação ou transferência de software para o dispositivo móvel 100 que não através da rede de comunicação sem fio. Por exemplo, a via de transferência alternativa poderá ser utilizada para carregar uma chave de criptografia no dispositivo móvel 100 através de uma conexão direta, e assim confiável, para fornecer comunicação de dispositivo segura. O subsistema de comunicação de curta distância 122 fornece a comunicação entre o dispositivo móvel 100 e diferentes sistemas ou dispositivos, sem a utilização da rede 200. Por exemplo, o subsistema 122 poderá incluir um dispositivo infravermelho e circuitos e componentes associados para a comunicação de curto alcance. Exemplo da comunicação de curto alcance incluiriam normas desenvolvidas pela Infrared Data Association (IrDA), Bluetooth, e a família 802.11 de normas desenvolvidas pela IEEE. Em uso, o sinal recebido como uma mensagem de texto, uma mensagem de correspondência eletrônica, ou uma transferência de página da Web será processada pelo subsistema de comunicação 104 e entrado no microprocessador 102. O microprocessador 102 então processará o sinal recebido com saída para o mostrador 110 ou, alternativamente, para um subsistema de E/S auxiliar 112. O assinante também poderá compor itens de dados, como mensagens de correspondência eletrônica, por exemplo, utilizando o teclado 116 em conjunto com o mostrador 110 e possivelmente o subsistema de E/S auxiliar 112. O subsistema auxiliar 112 poderá incluir dispositivos como a tela de toque, o mouse, a esfera de controle, detector de impressão digital infravermelho, ou uma esfera rolante com capacidade de pressionamento de botão dinâmica. O teclado 116 é um teclado alfanumérico e/ou teclado do tipo telefone. O item composto poderá ser transmitido pela rede 200 através do subsistema de comunicação 104. Para comunicação de voz, a operação geral do dispositivo móvel 100 é substancialmente similar, exceto que os sinais recebidos seriam emitidos para o alto-falante 118, e sinais para transmissão seriam gerados pelo microfone 120. Subsistemas de E/S alternativos de voz ou de áudio, como o subsistema de gravação de mensagens de voz, também poderão ser implementados no dispositivo móvel 100. Embora a saída do sinal de voz ou de áudio seja feita essencialmente através do alto-falante 118, do mostrador 110 também poderá ser utilizado para fornecer informação adicional como a identidade da parte que chama, a duração de uma chamada de voz, ou outra informação relacionada com a chamada de voz. Com referência agora à Figura 2, é mostrado um diagrama de blocos do componente do subsistema de comunicação 104 da Figura 1. O subsistema de comunicação 104 compreende um receptor 150, um transmissor 152, um ou mais elementos de antena embutidos ou internos 154, 156, Osciladores Locais (OL) 158 e um módulo de processamento como o Digital Signal Processor (DSP - Processador de Sinal Digital) 160. O projeto particular do subsistema de comunicação 104 é dependente da rede 200 em que o dispositivo móvel 100 pretende operar. Assim, deve ser compreendido que o projeto ilustrado na Figura 2 serve apenas como um exemplo. Os sinais recebidos pela antena 154 através da rede 200 são entrados no receptor 150, que poderá efetuar funções comuns de receptor como amplificação de sinal, conversão descendente de freqüência, filtragem, seleção de canal, e conversão analógico-para-digital (A/D). A conversão A/D de um sinal recebido permite funções de comunicação mais complexas como o a demodulação e a decodificação a serem efetuadas no DSP 160. De uma maneira similar, os sinais a serem transmitidos são processados, incluindo a modulação e a codificação, pela DSP 160. Esses sinais processados pelo DSP são entrados em um transmissor 152 para a conversão digital-para-analógico (D/A), conversão de freqüência ascendente, filtragem, amplificação e transmissão pela rede 200 através da antena 156. O DSP 160 não apenas processa os sinais de comunicação mas também fornece o controle do receptor e do transmissor. Por exemplo, os ganhos aplicados aos sinais de comunicação no receptor 150 e no transmissor 152 poderão ser controlados adaptivamente através dos algoritmos de controle de ganho automático implementado no DSP 160.
O enlace sem fio entre o dispositivo móvel 100 e a rede 200 poderá conter um ou mais canais diferentes, tipicamente canais RF diferentes, e protocolos associados utilizados entre o dispositivo móvel 100 e a rede 200. Um canal RF é um recurso limitado que precisa ser conservado, tipicamente devido a limites na largura de banda geral e na energia de bateria limitada do dispositivo móvel 100.
Quando o dispositivo móvel 100 está inteiramente operacional, o transmissor 152 é tipicamente chaveado ou ligado apenas quando ele está enviando para uma rede 200 e é de outra forma desligado para conservar recursos. De modo similar, o receptor 150 é periodicamente desligado para conservar energia até ela ser necessária para receber sinais ou informação durante períodos de tempo designados.
Com referência agora à Figura 3, um diagrama de blocos de um nó de uma rede sem fio é mostrado como 202. Na prática, a rede 200 compreende um ou mais nós 202. O dispositivo móvel 100 se comunica com um nó 202 dentro da rede sem fio 200. Na implementação exemplar da Figura 3, o nó 202 é configurado de acordo com tecnologias GPRS e GSM. O nó 202 inclui uma controladora de estação base (BSC) 204 com uma estação torre associada 206, uma Unidade de Controle de Pacote (PCU) 208 adicionado para suporte GPRS em GSM, um Centro de Comutação Móvel (MSC) 210, um Registro de Localização Residencial (HLR) 212, um Registro de Localização de Visitante (VLR) 214, um Nó de Suporte GPRS Servidor (SGNS) 216, um Nó de Suporte GPRS de Portal (GGSN) 218 e um Protocolo de Configuração Principal Dinâmico (DHCP) 220. Esta lista de componentes não pretende ser uma lista abrangente dos componentes de cada nó 202 dentro de uma rede GSM/GPRS, mas sim uma lista de componentes que são comumente utilizados na comunicação pela rede 200.
Em uma rede GSM, MSC 210 é acoplada ao BSC 204 e a uma rede de linha terrestre, como a Rede de Telefonia Comutada Pública (PSTN) 222 para satisfazer requisitos comutados de circuito. A conexão pela PCU 208, SGSN 216 e GGSN 218 para a rede pública ou privada (Internet) 224 (também aqui geralmente referida como uma infra-estrutura de rede compartilhada) representa a via de dados para dispositivos móveis capazes de GPRS. Em uma rede GSM ampliada com capacidades GPRS, BSC 204 também contém uma Unidade de Controle de Pacote (PCU) 208 que conecta ao SGSN 216 para controlar a segmentação, alocação de canal de rádio e satisfazer requisitos comutados de pacote. Para acompanhar a localização e a disponibilidade de localização tanto para o gerenciamento comutado por circuito como para o comutado por pacote, HLR 212 é compartilhado entre MSC 210 e SGSN 216. O acesso ao VLR 214 é controlado pelo MSC 210.
A estação 206 é uma estação transceptora fixa. A estação 206 e BSC 204 juntos formam o equipamento transceptor fixo. O equipamento transceptor fixo fornece cobertura de rede sem fio para uma área de cobertura particular comumente referida como uma "célula". O equipamento transceptor fixo transmite sinais de comunicação e recebe sinais de comunicação de dispositivos móveis dentro de sua célula através da estação 206. O equipamento transceptor fixo normalmente efetua funções como modulação e possivelmente codificação e/ou criptografia de sinais a serem transmitidos para o dispositivo móvel de acordo com protocolos de comunicação particulares, normalmente predeterminados, sob o controle de sua controladora. O equipamento transceptor fixo similarmente demodula e possivelmente decodifica e descriptografa, se necessário, qualquer sinal de comunicação recebido do dispositivo móvel 100 dentro de sua célula. Os protocolos e parâmetros de comunicação poderão variar entre nós diferentes. Por exemplo, um nó poderá empregar um esquema de modulação diferente e operar em freqüências diferentes do que outros nós.
Para todos os dispositivos móveis 100 registrados com uma rede específica, dados de configuração permanentes como o perfil do usuário são armazenados no HLR 212. HLR 212 também contém informação de localização para cada dispositivo móvel registrado e pode ser consultado para determinar a localização atual de um dispositivo móvel. O MSC 210 é responsável por um grupo de áreas de localização e armazena os dados dos dispositivos móveis atualmente em sua área de responsabilidade no VLR 214. Ainda, o VLR 214 também contém informação sobre dispositivos móveis que estão visitando outras redes. A informação no VLR 214 inclui parte dos dados do dispositivo móvel permanentes transmitidos do HLR 212 para o VLR 214 para acesso mais rápido. Ao deslocar informação adicional de um nó HLR remoto 212 para o VLR 214, a quantidade de tráfego entre esses nós pode ser reduzida de modo que os serviços de voz e de dados podem ser fornecidos com tempos de resposta mais rápidos e, ao mesmo tempo, exigindo menos uso dos recursos de computação.
SGSN 216 e GGSN 218 são elementos acrescentados para suporte GPRS; a saber, suporte de dados comutados por pacote, dentro de GSM. SGSN 216 e MSC 210 têm responsabilidades similares dentro da rede sem fio 200 ao acompanhar a localização de cada dispositivo móvel 100. SGSN 216 também efetua funções de segurança e controle de acesso para o tráfego de dados na rede 200. GGSN 218 fornece conexões de intertrabalho com redes comutadas por pacote externas e conecta a um ou mais SGSNs 216 através de uma rede de fundo Internet Protocol (IP) operada dentro da rede 200. Durante operações normais, um dispositivo móvel dado 100 precisa efetuar um "GPRS Attach" para adquirir um endereço IP e acessar serviços de dados. Esta exigência não está presente nos canais de voz comutados por circuito pois os endereços Integrated Services Digital Network (ISDN - Rede Digital de Serviços Integrada) são utilizados para rotear as chamadas de entrada e de saída. Atualmente, todas as redes capacitadas para GPRS utilizam endereços IP privados e designados dinamicamente, assim necessitando de um servidor DHCP 220 conectado ao GGSN 218. Há muitos mecanismos para a designação IP dinâmica, incluindo o uso de uma combinação de um servidor Remote Authentication Dial-In User Service (RADIUS - Serviço de Usuário Discado de Autenticação Remota) e de um servidor DHCP. Uma vez terminado o GPRS Attach, uma conexão lógica é estabelecida de um dispositivo móvel 100, através do PCU 208 e do SGSN 216 até o Access Point Node (APN - Nó de Ponto de Acesso) dentro do GGSN 218. O APN representa o final lógico de um túnel IP que pode acessar serviços compatíveis com a Internet direto ou conexões de rede privada. O APN também representa um mecanismo de segurança para a rede 200, no sentido de que cada dispositivo móvel 100 precisa ser designado um ou mais APNs e os dispositivos móveis 100 não podem intercambiar dados sem primeiro efetuar um GPRS Attach para um APN que ele foi autorizado a usar. O APN poderá ser considerado como sendo similar ao nome de domínio da Internet como "myconnection.wireless.com".
Uma vez terminado o GPRS Attach, um túnel é criado e todo o tráfego é intercambiado dentro de pacotes IP padrão utilizando qualquer protocolo que pode ser suportado nos pacotes IP. Isto inclui métodos de túnel como IP sobre IP como no caso com algumas conexões IPSecurity (IPsec) utilizadas com Virtual Private Networks (VPN - Redes Privadas Virtuais). Esses túneis também são referidos como Packet Data Protocol Contexts (PDP - Contextos do Protocolo de Dados de Pacote) e há um número limitado destes disponíveis na rede 200. Para maximizar a utilização dos PDP Contexts, a rede 200 processará um cronômetro desocupado para cada PDP Context para determinar se há falta de atividade. Quando o dispositivo móvel 100 não está utilizando seu PDP Context, o PDP Context pode ser desalocado e o endereço IP devolvido ao pool de endereços IP gerenciado pelo servidor DHCP 220.
Com referência agora à Figura 4, é mostrado um diagrama de blocos que ilustra componentes de um sistema principal em uma configuração exemplar. O sistema principal 250 tipicamente será um escritório empresarial ou outra rede de área local (LAN), mas poderá em vez disso ser um computador de escritório residencial ou algum outro sistema privado, por exemplo, em várias implementações. Neste exemplo mostrado na Figura 4, o sistema principal 250 é representado como uma LAN de uma organização a qual o usuário do dispositivo móvel 100 pertence.
A LAN 250 compreende um número de componentes de rede conectados um ao outro por conexões LAN 260. Por exemplo, o computador de mesa do usuário 262a com um berço 264 acompanhante para o dispositivo móvel do usuário 100 está situado na LAN 250. O berço 264 para o dispositivo móvel 100 poderá ser acoplado ao computador 262a por uma conexão serial ou um Barramento Serial Universal (USB), por exemplo. Outros computadores de usuários 262b também estão situados na LAN 250, e cada um deles poderá ou não ser equipado com um berço acompanhante 264 para o dispositivo móvel. O berço 264 facilita o carregamento de informação (por exemplo dados PIM, chaves de criptografia simétrica privada para facilitar a comunicação segura entre o dispositivo móvel 100 e a LAN 250) do computador do usuário 262a para o dispositivo móvel 100, e poderá ser particularmente útil para atualizações de informação a granel muitas vezes efetuadas na inicialização do dispositivo móvel 100 para a utilização. A informação transferida (baixada) para o dispositivo móvel 100 poderá incluir certificados utilizados no intercâmbio de mensagens. Será compreendido por pessoas habilitadas na tecnologia que os computadores 262a, 262b tipicamente também serão conectados a outros dispositivos periféricos não explicitamente mostrados na Figura 4.
Versões da invenção relacionam-se geralmente ao processamento de mensagens, como as mensagens de correspondência eletrônica, e algumas versões relacionam-se geralmente à comunicação dessas mensagens de e para o dispositivo móvel 100. Assim, apenas um subconjunto de componentes de rede da LAN 250 são mostrados na Figura 4 para facilidade de exposição, e será compreendido por pessoas habilitadas na tecnologia que a LAN 250 compreenderá componentes adicionais não explicitamente mostrados na Figura 4, para esta configuração de exemplo. Mais geralmente, a LAN 250 poderá representar uma parte menor de uma rede maior (não mostrada) da organização, e poderá compreender componentes diferentes e/ou estar disposta em topologias diferentes do que aquela mostrada no exemplo da Figura 4.
Neste exemplo, o dispositivo móvel 100 comunica-se com a LAN 250 através de um nó 202 da rede sem fio 200 e uma infra-estrutura de rede compartilhada 224 como a rede do provedor de serviço ou a Internet pública. Acesso à LAN 250 poderá ser fornecido através de um ou mais roteadores (não mostrados), e dispositivos de computação da LAN 250 poderão operar por trás de uma “firewall” ou de servidor substituto 266.
Em uma implementação variante, a LAN 250 compreende um roteador VPN sem fio (não mostrado) para facilitar o intercâmbio de dados entre a LAN 250 e o dispositivo móvel 100. O conceito de um roteador VPN sem fio é novo na indústria sem fio e implica que a conexão VPN pode ser estabelecida diretamente através de uma rede sem fio específica para o dispositivo móvel 100. A possibilidade de utilizar um roteador VPN sem fio só recentemente esteve disponível e poderia ser utilizada quando a nova Versão 6 (IPV6) do Internet Protocol (IP) chegar nas redes sem fio com base em IP. Este novo protocolo fornecerá endereços IP suficientes para dedicar um endereço IP a cada dispositivo móvel, tornando possível empurrar informação para um dispositivo móvel em qualquer ocasião. Uma vantagem de utilizar o roteador VPN sem fio é que ele poderia ser um componente VPN tirado da prateleira, não exigindo um portal sem fio separado e infra-estrutura sem fio separada para ser utilizada. A conexão VPN preferivelmente seria uma conexão Transmission Control Protocol (TCP)/IP ou User Datagram Protocol (UDP)/IP para entregar as mensagens diretamente ao dispositivo móvel 100 nesta implementação variante.
As mensagens dirigidas ao usuário do dispositivo móvel 100 são recebidas inicialmente por um servidor de mensagens 268 da LAN 250. Essas mensagens poderão originar-se de qualquer um de um número de fontes. Por exemplo, a mensagem poderá ter sido enviada por um remetente de um computador 262b dentro da LAN 250, de um dispositivo móvel diferente (não mostrado) conectado à rede sem fio 200 ou a uma rede sem fio diferente, ou de um dispositivo de computação diferente ou outro dispositivo capaz de enviar mensagens, através da infra-estrutura de rede compartilhada 224, e possivelmente através de um provedor de serviço de aplicação (ASP) ou provedor de serviço da Internet (ISP), por exemplo.
O servidor de mensagem 268 tipicamente age como a interface principal para o intercâmbio de mensagens, particularmente mensagens de correspondência eletrônica, dentro da organização e pela infra-estrutura de rede compartilhada 224. Cada usuário na organização que tenha sido estabelecido para enviar e receber mensagens é tipicamente associado a uma conta de usuário gerenciada pelo servidor de mensagens 268. Um exemplo de um servidor de mensagens 268 e um Servidor Microsoft Exchange™. Em algumas implementações, a LAN 250 poderá compreender múltiplos servidores de mensagens 268. O servidor de mensagens 268 também poderá ser adaptado para fornecer funções adicionais além do gerenciamento de mensagens, incluindo o gerenciamento dos dados associados a calendários e listas de tarefas, por exemplo.
Quando mensagens são recebidas pelo servidor de mensagens 268, elas são tipicamente armazenadas em um armazém de mensagens (não mostrado explicitamente), do qual as mensagens podem subseqüentemente ser recuperadas e entregues aos usuários. Por exemplo, uma aplicação cliente de correspondência eletrônica operando no computador do usuário 262a poderá solicitar as mensagens de correspondência eletrônica associadas à conta daquele usuário armazenada no servidor de mensagens 268. Essas mensagens então tipicamente seriam recuperadas do servidor de mensagens 268 e armazenadas localmente no computador 262a.
Quando da operação do dispositivo móvel 100, o usuário poderá querer ter as mensagens de correspondência eletrônica recuperadas para entrega no aparelho de mão. Uma aplicação cliente de correspondência eletrônica que opera no dispositivo móvel 100 também poderá solicitar mensagens associadas à conta do usuário do servidor de mensagens 268. O cliente de correspondência eletrônica poderá ser configurado (quer pelo usuário ou por um administrador, possivelmente de acordo com a política de tecnologia de informação (IT) da organização) para fazer esta solicitação sob a direção do usuário, em algum intervalo de tempo predefinido, ou quando da ocorrência de algum evento predefinido. Em algumas implementações, o dispositivo móvel 100 é designado seu próprio endereço de correspondência eletrônica, e mensagens endereçadas especificamente ao dispositivo móvel 100 são automaticamente redirecionadas para o dispositivo móvel 100 à medida que são recebidas pelo servidor de mensagens 268.
Para facilitar a comunicação sem fio de mensagens e de dados relacionados a mensagens entre o dispositivo móvel 100 e componentes da LAN 250, um número de componentes de suporte à comunicação sem fio 270 poderão ser fornecidos. Nesta implementação de exemplo, os componentes de suporte à comunicação sem fio 270 compreendem um servidor de gerenciamento de mensagens 272, por exemplo. O servidor de gerenciamento de mensagens 272 é utilizado para fornecer especificamente suporte para o gerenciamento de mensagens, como as mensagens de correspondência eletrônica, que deverão ser lidadas pelos dispositivos móveis. Geralmente, embora mensagens ainda são armazenadas no servidor de mensagens 268, o servidor de gerenciamento de mensagens 272 pode ser utilizado para controlá-las, quando, se, e como as mensagens devem ser enviadas para o dispositivo móvel 100. O servidor de gerenciamento de mensagens 272 também facilita o manuseio de mensagens compostas no dispositivo móvel 100, que são enviadas para o servidor de mensagens 268 para a subseqüente entrega.
Por exemplo, o servidor de gerenciamento de mensagens 272 poderá monitorar a "caixa de correio" do usuário (por exemplo, o armazém de mensagens associado à conta do usuário no servidor de mensagens 268) por novas mensagens de correspondência eletrônica; aplicar filtros definidos pelo usuário às novas mensagens para determinar se e como as mensagens serão repassadas para o dispositivo móvel do usuário 100; comprimir e criptografar novas mensagens (por exemplo, utilizando uma técnica de criptografia como a Norma de Criptografia de Dados (DES) ou Triple DES) e empurrá-las para o dispositivo móvel 100 através da infra- estrutura de rede compartilhada 224 e da rede sem fio 200, e receber mensagens compostas no dispositivo móvel 100 (por exemplo, criptografadas utilizando Triple DES), descriptografar e descomprimir as mensagens compostas, reformatar as mensagens compostas se desejado de modo que elas parecerão haver originado do computador do usuário 262a, e rerotear as mensagens compostas para o servidor de mensagens 268 para entrega.
Certas propriedades ou restrições associadas a mensagens que devem ser enviadas e/ou recebidas pelo dispositivo móvel 100 podem ser definidas (por exemplo, por um administrador de acordo com a política de IT) e feita cumprir pelo servidor de gerenciamento de mensagens 272. Elas poderão incluir se o dispositivo móvel 100 poderá receber mensagens criptografadas e/ou assinadas, dimensões mínimas das chaves de criptografia, se as mensagens de saída precisam ser criptografadas e/ou assinadas, e se cópias de todas as mensagens seguras enviadas do dispositivo móvel 100 devam ser enviadas a um endereço de cópia predefinido, por exemplo.
O servidor de gerenciamento de mensagens 272 também poderá ser adaptado para fornecer outras funções de controle, como apenas empurrar certa informação de mensagem ou partes predefinidas (por exemplo, "blocos") de uma mensagem armazenada no servidor de mensagens 268 para o dispositivo móvel 100. Por exemplo, quando uma mensagem é inicialmente recuperada pelo dispositivo móvel 100 do servidor de mensagens 268, o servidor de gerenciamento de mensagens 272 é adaptado para empurrar apenas a primeira parte da mensagem para o dispositivo móvel 100, com a parte sendo de uma dimensão predefinida (por exemplo, 2 KB). O usuário pode então solicitar mais da mensagens, a ser entregue em blocos de dimensões similares pelo servidor de gerenciamento de mensagens 272 para o dispositivo móvel 100, possivelmente até uma dimensão de mensagem máxima predefinida.
Assim, o servidor de gerenciamento de mensagens 272 facilita o melhor controle sobre o tipo de dados e a quantidade de dados que são comunicadas para o dispositivo móvel 100, e pode ajudar a minimizar dispêndios potenciais de largura de banda ou de outros recursos.
Será compreendido por pessoas habilitadas na tecnologia que o servidor de gerenciamento de mensagens 272 não precisa ser implementado em um servidor físico separado na LAN 250 ou em outra rede. Por exemplo, algumas ou a totalidade das funções associadas ao servidor de gerenciamento de mensagens 272 poderá ser integrada com o servidor de mensagens 268, ou algum outro servidor na LAN 250. Ademais, a LAN 250 poderá compreender múltiplos servidores de gerenciamento de mensagens 272, particularmente em implementações de variantes em que um grande número de dispositivos móveis precisam ser suportados.
Versões da presente invenção relacionam-se geralmente ao processamento de mensagens codificadas, como as mensagens de correspondência eletrônica que são criptografadas e/ou assinadas. Embora partes corporais do Simple Mail Transfer Protocol (SMTP), cabeçalhos RFC822, e Multipurpose Internet Mail Extensions (MIME) sejam utilizados para definir o formato de uma mensagem de correspondência eletrônica típica que não exija codificação, Secure/MIME (S/MIME), uma versão do protocolo MIME, poderá ser utilizada na comunicação de mensagens codificadas (isto é, em aplicações de mensagens seguras), S/MIME permite autenticação ponta-a-ponta e confidencialidade, e protege a integridade dos dados e a privacidade da hora em que o originador da mensagem envia a mensagem até ela ser decodificada e lida pelo receptor da mensagem. Outras normas e protocolos conhecidos poderão ser empregados para facilitar a comunicação de mensagens seguras, como Pretty Good Privacy™ (PGP), OpenPGP, e outros conhecidos da técnica.
Protocolos de mensagens seguras como S/MIME dependem de chaves de criptografia pública e privada para fornecer confidencialidade e integridade, e em uma Public Key Infrastructure (PKI) para comunicar informação que fornece autenticação e autorização. Os dados criptografados que utilizam uma chave privada de um par chave privada/chave pública só podem ser descriptografados utilizando a chave pública correspondente do par, e vice versa. A informação de chave privada nunca é tornada pública, enquanto a informação de chave pública é compartilhada.
Por exemplo, se o remetente deseja enviar uma mensagem para um receptor na forma criptografada, a chave pública do receptor é utilizada para criptografar a mensagem, que pode então ser descriptografada apenas utilizando a chave privada do receptor. Alternativamente, em algumas técnicas de codificação, uma chave de sessão de apenas uma vez é gerada e utilizada para criptografar o corpo de uma mensagem, tipicamente com uma técnica de criptografia simétrica (por exemplo, Triple DES). A chave de sessão é então criptografada utilizando a chave pública do receptor (por exemplo, com um algoritmo de criptografia de chave pública como o RSA), que pode então ser descriptografado apenas utilizando a chave privada do receptor. A chave de sessão descriptografada pode então ser utilizada para descriptografar o corpo da mensagem. O cabeçalho da mensagem poderá ser utilizado para especificar o esquema de criptografia particular que precisa ser utilizado para descriptografar a mensagem. Outras técnicas de criptografação com base na criptografia de chave pública poderão ser utilizadas em implementações variantes. No entanto, em cada um desses casos, apenas a chave privada do receptor poderá ser utilizada para facilitar a descriptografação da mensagem, e desta forma, a confidencialidade das mensagens pode ser mantida.
Como um outro exemplo, o remetente poderá assinar uma mensagem utilizando uma assinatura digital. A assinatura digital é um resumo da mensagem (por exemplo, um “Hash” da mensagem) criptografado utilizando a chave privada do remetente, que pode então ser apensada à mensagem de saída.
Para verificar a assinatura da mensagem quando recebida, o receptor utiliza a mesma técnica que o remetente (por exemplo, utilizando o mesmo “algoritmo Hash” padrão) para obter um resumo da mensagem recebida. O receptor também utiliza a chave pública do remetente para descriptografar a assinatura digital, para obter o que deve ser um resumo casado da mensagem recebida. Se os resumos da mensagem recebida não casarem, isto sugere ou que o conteúdo da mensagem foi modificado durante o transporte e/ou a mensagem não se originou do remetente cuja chave pública foi utilizada para a verificação. Ao verificar uma assinatura digital desta forma, a autenticação do remetente e a integridade da mensagem podem ser mantidas.
Uma mensagem codificada poderá ser criptografada, assinada, ou tanto criptografada como assinada. A autenticidade de chaves públicas utilizadas nestas operações é validada utilizando certificados. O certificado é um documento digital emitido por uma autoridade de certificação (CA). Certificados são utilizados para autenticar a associação entre usuários e suas chaves públicas, e essencialmente fornece um nível de confiança na autenticidade das chaves públicas dos usuários. Certificados contêm informação sobre o detentor do certificado, com o conteúdo do certificado tipicamente formatado de acordo com a norma aceita (por exemplo, X.509).
Considere a Figura 5, em que uma cadeia de certificado exemplar 300 é mostrada. O certificado 310 emitido para "John Smith" é um exemplo de um certificado emitido para um indivíduo, que poderá ser referido como o certificado de entidade final. O certificado de entidade final 310 tipicamente identifica o detentor do certificado 312 (isto é, John Smith neste exemplo) e o emitente do certificado 314, e inclui uma assinatura digital do emissor 316 e a chave pública do detentor do certificado 318. O certificado 310 também tipicamente incluirá outra informação e atributos que identificam o detentor do certificado (por exemplo, endereço de correspondência eletrônica, nome da organização, nome da unidade organizacional, localidade, etc.). Quando o indivíduo compõe uma mensagem a ser enviada para o receptor, é costumeiro incluir o certificado do indivíduo 300 com a mensagem.
Para que uma chave pública seja confiada, sua organização emissora precisa ser confiada. A relação entre uma CA em quem se confia e a chave pública do usuário pode ser representada por uma série de certificados relacionados, também referidos como uma cadeia de certificados. A cadeia de certificados pode ser seguida para determinar a validade de um certificado.
Por exemplo, na cadeia de certificados de exemplo 300 mostrada na Figura 5, o receptor de uma mensagem supostamente enviada por John Smith poderá desejar verificar a situação de confiança do certificado 310 anexado à mensagem recebida. Para verificar a situação de confiança do certificado 310 no dispositivo de computação do receptor (por exemplo, o computador 262a da Figura 4) por exemplo, o certificado 320 do emissor ABC é obtido, e utilizado para verificar se em verdade o certificado 310 foi assinado pelo emissor ABC. O certificado 320 já poderá estar armazenado em um armazém de certificados no dispositivo de computação, ou ele poderá precisar ser recuperado de uma fonte de certificados, por exemplo, o servidor LDAP 284 da Figura 4 ou algum outro servidor LDAP público ou privado). Se o certificado 320 já estiver armazenado no dispositivo de computação do receptor e o certificado foi designado como confiável pelo receptor, então o certificado 310 é considerado como sendo confiável pois ele encadeia até um certificado confiável armazenado.
No entanto, no exemplo mostrado na Figura 5, o certificado 330 também é necessário para verificar a confiabilidade do certificado 310. O certificado 330 é auto-assinado, e é referido como um "certificado raiz". Assim, o certificado 320 poderá ser referido como o "certificado intermediário" na cadeia de certificados 300; qualquer cadeia de certificados dada para o certificado raiz, supondo que a cadeia até o certificado raiz possa ser determinada para um certificado de entidade final particular, poderá conter zero, um, ou múltiplos certificados intermediários. Se o certificado 330 é um certificado raiz emitido por uma fonte confiável (de uma grande autoridade de certificação como Verisigh ou Entrust, por exemplo), então o certificado 310 poderá ser considerado como sendo confiável, pois ele encadeia até um certificado confiável. A implicação é que tanto o remetente como o receptor da mensagem confiam na fonte do certificado raiz 330. Se um certificado não puder ser encadeado até um certificado confiável, o certificado poderá ser considerado como sendo "não confiável".
Servidores de certificado armazenam informação sobre certificados e listas que identificam certificados que foram revogados. Esses servidores de certificados podem ser acessados para obter certificados e para verificar a autenticidade do certificado e a situação de revogação. Por exemplo, um servidor Lightweight Directory Access Protocol (LDAP - Protocolo de Acesso a Catálogo Leve) poderá ser utilizado para obter certificados, e um servidor Online Certificate Status Protocol (OCSP - Protocolo de Situação de Certificado Online) poderá ser utilizado para verificar a situação de revogação do certificado.
Protocolos de segurança de correspondência eletrônica padrão tipicamente facilitam a transmissão de mensagem segura entre dispositivos de computação não móveis (por exemplo, os computadores 262a, 262b da Figura 4; dispositivos de mesa remotos). Com referência novamente à Figura 4, para que as mensagens assinadas recebidas dos remetentes possam ser lidas do dispositivo móvel 100 e mensagens criptografadas serem enviadas para aqueles remetentes, o dispositivo móvel 100 é adaptado para armazenar certificados e chaves públicas associadas de outros indivíduos. Os certificados armazenados no computador do usuário 262a tipicamente serão transferidos (baixados) do computador 262a para o dispositivo móvel 100 através do berço 264, por exemplo.
O certificado armazenado no computador 262a e transferido (baixado) para o dispositivo móvel 100 não são limitados a certificados associados a indivíduos mas poderão também incluir certificados para CAs, por exemplo. Certos certificados armazenados no computador 262a e/ou no dispositivo móvel 100 também podem ser explicitamente designados como "confiáveis" pelo usuário. Assim, quando um certificado é recebido por um usuário no dispositivo móvel 100, ele pode ser verificado no dispositivo móvel 100 ao casar o certificado com um armazenado no dispositivo móvel 100 e designado como confiável, ou de outra forma determinado como sendo encadeado a um certificado confiável.
O dispositivo móvel 100 também poderá ser adaptado para armazenar a chave privada do par chave pública/chave privada associado ao usuário, de modo que o usuário do dispositivo móvel 100 pode assinar mensagens de saída compostas no dispositivo móvel 100, e descriptografar mensagens enviadas para o usuário criptografadas com a chave pública do usuário. A chave pública poderá ser transferida (baixada) para o dispositivo móvel 100 do computador do usuário 262a, por exemplo, através do berço 264. A chave privada é preferivelmente intercambiada entre o computador 262a e o dispositivo móvel 100 de modo que o usuário poderá partilhar uma identidade e um método para acessar mensagens.
Os computadores de usuários 262a, 262b podem obter certificados de um número de fontes, para armazenamento nos computadores 262a, 262b e/ou os dispositivos móveis (por exemplo, o dispositivo móvel 100). Essas fontes de certificados poderão ser privadas (por exemplo, dedicadas para uso dentro de uma organização) ou públicas, poderão residir local ou remotamente, e poderão ser acessados de dentro da rede privada de uma organização ou através da Internet, por exemplo. No exemplo mostrado na Figura 4, servidores PKI múltiplos 280 associados à organização residem na LAN 250. Os servidores PKI 250 incluem um servidor CA 282 para emitir certificados, um servidor LDAP 284 utilizado para pesquisar e transferir (baixar) certificados (por exemplo, para indivíduos dentro da organização), e um servidor OCSP 286 utilizado para verificar a situação de revogação de certificados.
Os certificados poderão ser recuperados do servidor LDAP 284 pelo computador do usuário 262a, por exemplo, para serem transferidos (baixados) para o dispositivo móvel 100 através do berço 264. No entanto, em uma implementação variante, o servidor LDAP 284 poderá ser acessado diretamente (isto é, "pelo ar" neste contexto) pelo dispositivo móvel 100, e o dispositivo móvel 100 poderá pesquisar e recuperar certificados individuais através de um servidor de dados móvel 288. De modo similar, o servidor de dados móvel 288 poderá ser adaptado para permitir que o dispositivo móvel 100 consulte diretamente o servidor OCSP 286 para verificar a situação de revogação dos certificados.
Será compreendido por pessoas habilitadas na técnica que o servidor de dados móvel 288 não precisa residir fisicamente em um dispositivo de computação separado dos outros componentes da LAN 250, e que o servidor de dados móvel 288 poderá ser fornecido no mesmo dispositivo de computação como outro componente da LAN 250 em implementações variantes. Ademais, as funções do servidor de dados móvel 288 poderão ser integradas às funções de outro componente na LAN 250 (por exemplo, o servidor de gerenciamento de mensagens 272) em implementações variantes.
Em implementações variantes, apenas servidores PKI selecionados 280 poderão ser tornados acessíveis aos dispositivos móveis (por exemplo, permitir que certificados sejam transferidos (baixados) apenas do computador do usuário 262a, 262b enquanto permite que a situação de revogação dos certificados seja verificada do dispositivo móvel 100).
Em implementações variantes, certos servidores PKI 280 poderão ser tornados acessíveis apenas para dispositivos móveis registrados a usuários particulares, conforme especificado por um administrador IT, possivelmente de acordo com uma política de IT, por exemplo.
Outras fontes de certificados (não mostradas) poderão incluir um armazém de certificados Windows, outro armazém de certificados seguros na rede ou fora da LAN 250, e cartões inteligentes, por exemplo.
Com referência agora à Figura 6, um diagrama de blocos que ilustra componentes de um exemplo de uma mensagem codificada, conforme poderá ser recebida por um servidor de mensagens (por exemplo, o servidor de mensagens 268 da Figura 4), é mostrado geralmente como 350. A mensagem codificada 350 tipicamente inclui um ou mais do que segue: uma parte de cabeçalho 352, uma parte de corpo codificada 354, opcionalmente um ou mais anexos codificados 356, uma ou mais chaves de sessão criptografadas 358, e assinatura e informação relacionada à assinatura 360. Por exemplo, a parte de cabeçalho 352 tipicamente inclui informação de endereçamento como os endereços "To", "From" e "CC", e também poderão incluir indicadores de comprimento da mensagem, e identificadores de criptografia do remetente e do esquema de assinatura, por exemplo. O conteúdo efetivo da mensagem normalmente inclui um corpo de mensagem ou uma parte de dados 354 e possivelmente um ou mais anexos 356, que poderão ser criptografados pelo remetente utilizando uma chave de sessão. Se uma chave de sessão foi utilizada, ela é tipicamente criptografada para cada receptor pretendido utilizando a respectiva chave pública para cada receptor, e incluídos na mensagem em 358. Se a mensagem foi assinada, uma assinatura e informação relacionada à assinatura 360 também são incluídos. Isto poderá incluir, por exemplo, o certificado do remetente.
O formato para uma mensagem codificada conforme mostrada na Figura 6 é fornecido por meio de exemplo apenas, e pessoas habilitadas na tecnologia compreenderão que versões da invenção serão aplicáveis a mensagens codificadas de outros formatos. Dependendo do esquema de mensagem específico utilizado, os componentes de uma mensagem codificada poderão aparecer em uma ordem diferente daquela mostrada na Figura 6, e uma mensagem codificada poderá incluir menos componentes, componentes adicionais ou diferentes componentes, que poderão depender de se a mensagem codificada é criptografada, assinada, ou os dois.
Versões da invenção são geralmente dirigidas a um sistema e método para pesquisar mais eficientemente os certificados em um dispositivo e recuperar os certificados para armazenamento no dispositivo. Em uma versão, o dispositivo é um dispositivo móvel (por exemplo, o dispositivo móvel 100 da Figura 4), e uma aplicação de pesquisa de certificado residente e executando no dispositivo móvel é programada para iniciar buscas de certificados em um ou mais servidores de certificados (por exemplo, o servidor LDAP 284 da Figura 4). Nesta versão, o dispositivo móvel busca e recupera certificados individuais de um servidor de certificados através de um dispositivo de computação intermediário (por exemplo, o servidor de dados móveis 288 da Figura 4).
Com referência à Figura 4, considere uma implementação exemplo em que a aplicação de busca de certificados no dispositivo móvel 100 pesquisa e recupera certificados individuais do servidor LDAP 284 através do servidor de dados móveis 288. Uma solicitação de busca é recebida pela aplicação de busca de certificados, tipicamente de um usuário que fornece o primeiro nome, o sobrenome, e um endereço de correspondência eletrônica de um indivíduo para quem o usuário deseja localizar um certificado. Certas solicitações de busca também poderão ser tornados mais amplos, ao construir consultas de busca em que a entrada de apenas umas poucas letras de um nome retornará todos os certificados emitidos com um nome que contém aquelas letras como prefixo, ou de outra forma utilizar cartas curingas ou entradas em branco nos campos de entrada para expandir uma busca, por exemplo. A solicitação de busca é então comunicada do dispositivo móvel 100 para o servidor de dados móveis 288, que então consulta o servidor LDAP 284 para o certifiado solicitado. Nesta implementação de exemplo, os certificados localizados são recuperados pelo servidor de dados móveis 288, e dados do resultado da busca específicos relacionados a cada certificado recuperado, como o nome comum e o endereço de correspondência eletrônica do indivíduo (ou da entidade) ao qual o respectivo certificado é emitido, é comunicado ao dispositivo móvel 100 de modo que uma lista pode ser gerada dos dados do resultado da busca para ser exposta no dispositivo móvel 100 da lista. As seleções são então comunicadas ao servidor de dados móveis 288, de onde os certificados selecionados são transferidos (baixados) para o dispositivo móvel 100.
Ao comunicar apenas os dados do resultado da busca específicos utilizados para gerar uma lista de certificados localizados em vez de certificados inteiros para o dispositivo móvel 100 em primeira instância, e ao apenas transferir (baixar) certificados específicos selecionados pelo usuário, a busca e a recuperação de certificados pode ser efetuada mais eficientemente (por exemplo, em termos de tempo e de largura de banda). No entanto, os sistemas da tecnologia anterior poderão não ser adaptados para determinar ou fornecer uma indicação aos usuários sobre quais certificados na lista já estão armazenados no armazém de certificados no dispositivo móvel 100, sem transferir (baixar) os certificados para o dispositivo móvel 100 para facilitar uma determinação. Em tais sistemas, certificados selecionados poderão precisar serem transferidos (baixados) para confirmar que eles já não estão armazenados no armazém de certificados, Isto consome tempo e largura de banda, e é potencialmente desnecessário.
Assim, versões da invenção relacionam-se geralmente a métodos que podem facilitar a determinação de se certificados já poderão estar armazenados em um dispositivo (como o dispositivo móvel 100, por exemplo), sem exigir que os certificados sejam transferidos (baixados) em sua inteireza para o dispositivo.
Com referência à Figura 7A, é mostrado geralmente como 400 um fluxograma que ilustra as etapas em um método de pesquisar e recuperar certificados em uma versão da invenção.
Na etapa 410, um primeiro dispositivo de computação recebe uma solicitação de um segundo dispositivo para pesquisar pelo menos um servidor de certificados por certificados. Em uma implementação exemplo, o primeiro dispositivo de computação age como um intermediário entre o segundo dispositivo e o pelo menos um servidor de certificados, como o servidor de dados móveis (por exemplo, o servidor de dados móveis 288 da Figura 4) no caso em que o segundo dispositivo é um dispositivo móvel (por exemplo, o dispositivo móvel 100 da Figura 4). Em uma implementação exemplo, o servidor de certificados a ser pesquisado poderá ser um servidor LDAP (por exemplo, o servidor LDAP 284 da Figura 4).
A solicitação poderá compreender dados fornecidos por uma aplicação de busca de certificados que executa e reside no segundo dispositivo. Os dados poderão se originar de entrada do usuário para a aplicação de busca de certificados (por exemplo, quando a busca é iniciada por um usuário), ou de dados gerados por uma aplicação que inicia a busca em implementações variantes. Os dados tipicamente incluirão pelo menos um nome e/ou um endereço de correspondência eletrônica, embora será compreendido por pessoas habilitados na técnica que uma variedade de consultas de busca poderão ser construídas sem desviar do escopo da invenção.
Por conveniência, outras etapas do método 400 serão agora descritas com referência a uma implementação exemplo em que o primeiro dispositivo de computação é um servidor de dados móveis e o segundo dispositivo é um dispositivo móvel. No entanto, versões da invenção descritas com referência ao método 400 ou ao método 400b da Figura 7B poderão ser aplicadas a implementações em que o primeiro dispositivo de computação não é um servidor de dados móveis mas é algum outro dispositivo de computação e/ou o segundo dispositivo não é um dispositivo móvel mas é algum outro dispositivo de computação. Por exemplo, uma arquitetura de sistema que compreende primeiro e segundo dispositivos e pelo menos um servidor de certificados, em que as transmissões de dados entre o primeiro e o segundo dispositivos é geralmente mais oneroso (por exemplo, em termos de tempo e/ou de largura de banda) do que transmissões de dados entre o dispositivo e o pelo menos um servidor de certificados, poderá beneficiar-se de uma aplicação de uma versão da invenção.
Na etapa 420, o servidor de dados móveis consulta o pelo menos um servidor de certificados por certificados com base na solicitação de busca recebida na etapa 410 da aplicação de busca de certificados do dispositivo móvel. Certificados localizados na busca são recuperados do pelo menos um servidor de certificados pelo servidor de dados móveis.
Na etapa 430, o servidor de dados móveis retorna dados do resultado da busca relacionados a cada certificado localizado para a aplicação de busca de certificados do dispositivo móvel. Os dados do resultado da busca retornados tipicamente incluem o nome comum e o endereço de correspondência eletrônica do indivíduo (ou a entidade) a quem o respectivo certificado é emitido. No entanto, de acordo com esta versão da invenção, o servidor de dados móveis ainda processa cada certificado recuperado, ao analisar cada certificado recuperado para identificar o número de série e o emitente do respectivo certificado, que é retornado como uma parte dos dados do resultado da busca.
Em algumas implementações, os certificados recuperados na etapa 420 são apenas armazenados temporariamente até os dados do resultado da busca são retornados para o dispositivo móvel na etapa 430, em cuja hora os certificados recuperados são apagados. Em outras implementações, os certificados recuperados na etapa 420 poderão ser levados a cache ou de outra forma armazenados mais permanentemente (por exemplo, até uma resposta aos dados do resultado da busca retornados são recebidos do dispositivo móvel, ou por alguma duração predeterminada).
Na etapa 440, a aplicação de busca de certificados compara o número de série e os dados do emitente associados a cada certificado localizado ao número de série e dados do emitente associados aos certificados armazenados no dispositivo móvel em um ou mais armazéns de certificados destes designados, para determinar se o respectivo certificado já está armazenado no dispositivo móvel.
Na etapa 450, uma lista de certificados localizados é gerada e exposta para o usuário do dispositivo móvel. A lista é gerada de pelo menos um subconjunto dos dados de resultado da busca retornado para o dispositivo móvel na etapa 430. Por exemplo, a lista poderá identificar cada certificado localizado pelo nome comum e/ou o endereço de correspondência eletrônica do indivíduo (ou entidade) ao qual o certificado é emitido. Em uma versão da invenção, um indicador que acompanha a respectiva entrada na lista para cada certificado localizado também poderá ser fornecida, em que o indicador indica se o respectivo certificado já está armazenado no dispositivo móvel, com base nas determinações feitas na etapa 440. Assim, o usuário não precisa selecionar certificados para transferência que já estão armazenados no dispositivo móvel, de modo que certificados em duplicata não necessariamente precisam ser transferidos (baixados) para o dispositivo móvel. O indicador poderá compreender uma caixa ticada ou não ticada, por exemplo, Como um outro exemplo, cada entrada na lista poderá ser destacada ou não destacada dependendo da situação do indicador.
Na etapa 460, certificados são selecionados para transferência, pelo usuário do dispositivo móvel, por exemplo.
Na etapa 470, dados que identificam as seleções feitas na etapa 460 são recebidos pelo servidor de dados móveis do dispositivo móvel, e os certificados selecionados são subseqüentemente retornados ao dispositivo móvel, tipicamente para armazenamento no dispositivo móvel. Em algumas implementações, poderá ser necessário para o servidor de dados móveis consultar um servidor de certificados novamente por um certificado selecionado antes do certificado ser retornado ao dispositivo móvel (etapa não mostrada), no evento de que o certificado não foi retido pelo servidor de dados móveis desde a transferência anterior.
Com referência agora à Figura 7B, é mostrado geralmente como 400b um fluxograma que ilustra as etapas em um método de pesquisar e recuperar certificados em outras versões da invenção. O método 400b é similar ao método 400, exceto que o resultado dos dados de resultado da busca com certificados retornados pelo primeiro dispositivo de computação ao do segundo dispositivo compreender um “Hash” de pelo menos uma parte de cada certificado localizado.
Especificamente, na etapa 430b, o servidor de dados móveis retorna dados de resultados da busca relacionados a cada certificado localizado de modo que a aplicação de busca de certificados do dispositivo móvel. Os dados de resultado da busca retornados tipicamente inclui o nome comum e o endereço de correspondência eletrônica do indivíduo (ou entidade) ao qual o respectivo certificado é emitido. De acordo com esta versão da invenção, o servidor de dados móveis ainda processa cada certificado recuperado ao aplicar um “algoritmo Hash”, para fazer hash de pelo menos uma parte de cada certificado recuperado. O “Hash” é então retornado como parte dos dados de resultado da busca. Em uma implementação, o certificado inteiro é feito “Hash” para gerar o “Hash” retornado. No entanto, em implementações variantes, uma ou mais partes específicas ou campos de um certificado poderão ser feitos “Hash” para gerar o “Hash” retornado, embora a probabilidade de que o “Hash” identificará singular e corretamente um certificado idêntico poderá ser diminuído dependendo das partes ou campos feitos em “Hash”.
Na etapa 440, a aplicação de busca de certificados gera um “Hash” para cada certificado armazenado no dispositivo móvel em um ou mais armazéns de certificados designados do mesmo, e compara cada “Hash” gerado com o “Hash” associado a cada certificado localizado, para determinar se o respectivo certificado já está armazenado no dispositivo móvel. O mesmo “algoritmo Hash” empregado na etapa 430b é aplicado nesta etapa (às mesmas partes ou campos dos certificados armazenados se os certificados inteiros não foram submetidos ao “Hash”) ao gerar os “Hash” dos certificados armazenados. Assim, se um “Hash” gerado de um certificado dado casa com o “Hash” recebido do servidor de dados móveis na etapa 430b, um casamento é considerado como havendo sido determinado.
Detalhes pertencentes às etapas restantes do método 400b são fornecidos com referência à Figura 7A.
Em versões variantes da invenção, outros dados que podem ser utilizados para identificar singularmente o certificado e que poderão ser comunicados mais eficientemente (por exemplo, em termos de tempo e/ou de largura de banda) do que comunicar o certificado inteiro poderão ser retornados para o segundo dispositivo como parte dos dados de resultado da busca, e utilizados para determinar se o certificado já está armazenado no segundo dispositivo.
Versões da invenção descrita acima geralmente permitem aos usuários determinar rapidamente quais certificados precisam ser transferidos (baixados) para seu dispositivo de computação sem fazer solicitações custosas. Em versões variantes da invenção, a solicitação de busca do certificado poderá não ser iniciada pelo usuário mas poderá, em vez disso, ser iniciada por uma aplicação que executa no segundo dispositivo (possivelmente pela aplicação de busca de certificado ou alguma outra aplicação). Nessas versões, uma lista poderá não ser gerada para exposição a um usuário (por exemplo, na etapa 450 das Figuras 7A e 7B), e certificados poderão ser automaticamente designados para transferência sem a intervenção do usuário após identificar quais certificados poderão já terem sido armazenados no segundo dispositivo (por exemplo, na etapa 440 das Figuras 7A e 7B).
Em versões variantes, a invenção também poderá ser aplicada a outras aplicações que não envolvem certificados. Por exemplo, algumas das técnicas anteriores poderão ser utilizadas para determinar se certos registros de dados de contato ou documentos eletrônicos já estão armazenados em um dispositivo de computação, por exemplo.
As etapas de um método de pesquisar e recuperar certificados em versões da invenção poderão ser fornecidas como instruções de software executáveis armazenadas em mídia lida por computador, que poderá incluir mídia do tipo de transmissão.
A invenção foi descrita com relação a um número de versões. No entanto, será compreendido por pessoas habilitadas na tecnologia que outras variantes e modificações poderão ser feitas sem desviar do escopo da invenção conforme definido nas reivindicações a esta apensas.

Claims (11)

1.Método para pesquisar e recuperar certificados, efetuado por um primeiro dispositivo de computação (262a, 288), o método compreendendo as etapas de: receber uma solicitação de busca de certificado; efetuar uma busca em um ou mais servidores de certificados (284), em que pelo menos uma consulta é submetida a um ou mais servidores de certificado para solicitar a recuperação dos certificados que satisfazem a solicitação de busca de certificado; e recuperar pelo menos um certificado de um ou mais servidores de certificados (284); processar cada certificado recuperado no primeiro dispositivo de computação (262a, 288) para determinar dados do resultado da busca, em que os dados do resultado da busca não são o certificado inteiro e compreendem dados que identificam singularmente o certificado recuperado; para cada certificado recuperado, comunicar, para um segundo dispositivo (100), os dados do resultado da busca a ela associados, os dados do resultado da busca para utilização na determinação se o certificado recuperado está armazenado no segundo dispositivo (100), o método sendo caracterizado pelo fato de que: o certificado recuperado não precisa ser baixado em sua totalidade no segundo dispositivo (100) para determinar se o certificado recuperado está armazenado no segundo dispositivo (100), e o método compreende adicionalmente as etapas de: receber uma ou mais seleções de certificados recuperados a partir de uma lista de certificados recuperados exibida em uma interface de usuário no segundo dispositivo (100), a lista indicando quais dos certificados recuperados estão armazenados no segundo dispositivo (100); e comunicar os certificados recuperados selecionados para o segundo dispositivo (100).
2.Método, de acordo com a reivindicação 1, caracterizado pelo fato dos dados do resultado da busca compreenderem o número de série e os dados do emissor para o certificado recuperado, e em que a etapa de processamento compreender analisar cada certificado recuperado para obter o respectivo número de série e os dados do emissor.
3.Método, de acordo com a reivindicação 1, caracterizado pelo fato dos dados do resultado da busca compreenderem um “Hash” de pelo menos uma parte do certificado recuperado, e em que o processamento compreender aplicar um “algoritmo Hash” a cada certificado recuperado para obter o respectivo “Hash”.
4.Método, de acordo com a reivindicação 3, caracterizado pelo fato do “Hash” obtido para o certificado recuperado ser um “Hash” do certificado recuperado inteiro.
5.Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato do primeiro dispositivo de computação (262a, 288) compreender um servidor de dados móveis (288).
6.Meio lido por computador compreendendo instruções para execução em um dispositivo de computação (262a, 288), caracterizado pelo fato de que as instruções, quando executadas pelo dispositivo de computação (262a, 288), fazem com que o dispositivo de computação (262a, 288) implemente um método compreendendo as etapas de: receber uma solicitação de busca de certificado; efetuar uma busca em um ou mais servidores de certificados (284), em que pelo menos uma consulta é submetida ao um ou mais servidores de certificado para solicitar a recuperação dos certificados que satisfazem a solicitação de busca de certificado; e recuperar pelo menos um certificado do um ou mais servidores de certificados (284); processar cada certificado recuperado no primeiro dispositivo de computação (262a, 288) para determinar dados do resultado da busca, em que os dados do resultado da busca não são o certificado inteiro e compreendem dados que identificam singularmente o certificado recuperado; para cada certificado recuperado, comunicar, para um segundo dispositivo (100), os dados do resultado da busca a ela associados, os dados do resultado da busca para utilização na determinação se o certificado recuperado está armazenado no segundo dispositivo (100), de modo que o certificado recuperado não precisa ser baixado em sua totalidade no segundo dispositivo (100) para determinar se o certificado recuperado está armazenado no segundo dispositivo (100), e receber uma ou mais seleções de certificados recuperados a partir de uma lista de certificados recuperados exibida em uma interface de usuário no segundo dispositivo (100), a lista indicando quais dos certificados recuperados estão armazenados no segundo dispositivo (100); e comunicar os certificados recuperados selecionados para o segundo dispositivo (100).
7.Sistema (100, 200, 250) para pesquisar e recuperar certificados compreendendo pelo menos um primeiro dispositivo de computação (262a,288) e um segundo dispositivo (100), em que o primeiro dispositivo de computação é adaptado para: receber uma solicitação de busca de certificado; efetuar uma busca em um ou mais servidores de certificados (284) ao submeter pelo menos uma consulta a ele para solicitar a recuperação dos certificados que satisfazem a solicitação de busca de certificado; recuperar pelo menos um certificado de um ou mais servidores de certificados (284); processar cada certificado recuperado para determinar dados do resultado da busca, em que os dados do resultado da busca não são o certificado inteiro e compreendem dados que identificam singularmente o respectivo certificado; e para cada certificado recuperado, comunicar, para o segundo dispositivo (100), os dados do resultado da busca a ele associados, os dados do resultado da busca sendo para utilização na determinação se o certificado recuperado está armazenado no segundo dispositivo (100), o sistema sendo caracterizado pelo fato de que: o certificado recuperado não precisa ser baixado em sua totalidade no segundo dispositivo (100) para determinar se o certificado recuperado está armazenado no segundo dispositivo (100), e o primeiro dispositivo de computação é adaptado ainda para: receber uma ou mais seleções de certificados recuperados de uma lista de certificados recuperados exibidos em uma interface de usuário no segundo dispositivo (100), a lista indicando quais dos certificados recuperados estão armazenados no segundo dispositivo (100); e comunicar os certificados recuperados selecionados para o segundo dispositivo (100).
8.Sistema, de acordo com a reivindicação 7, caracterizado pelo fato dos dados do resultado da busca compreenderem o número de série e os dados do emissor para o certificado recuperado, e em que ao processar cada certificado recuperado, o primeiro dispositivo de computação (262a, 288) é adaptado para analisar cada certificado recuperado para obter o respectivo número de série e os dados do emissor.
9.Sistema,de acordo com a reivindicação 7, caracterizado pelo fato dos dados do resultado da busca compreenderem um “Hash” de pelo menos uma parte do certificado recuperado, e em que ao processar cada certificado recuperado, o primeiro dispositivo de computação (262a, 288) está adaptado para aplicar um “algoritmo Hash” a cada certificado recuperado para obter o respectivo “Hash”.
10.Sistema, de acordo com a reivindicação 9, caracterizado pelo fato do “Hash” obtido para o certificado recuperado ser um “Hash” do certificado recuperado inteiro.
11.Sistema, de acordo com qualquer uma das reivindicações 7 a 10, caracterizado pelo fato do primeiro dispositivo de computação (262a, 288) compreender um servidor de dados móvel.
BRPI0503811-1A 2004-09-02 2005-09-02 sistema e método para procurar e recuperar certificados e meio lido por computador para implementar o método BRPI0503811B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04104240A EP1633101B1 (en) 2004-09-02 2004-09-02 System and method for searching and retrieving certificates
EP04104240.9 2004-09-02

Publications (2)

Publication Number Publication Date
BRPI0503811A BRPI0503811A (pt) 2006-04-11
BRPI0503811B1 true BRPI0503811B1 (pt) 2021-01-26

Family

ID=34929525

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0503811-1A BRPI0503811B1 (pt) 2004-09-02 2005-09-02 sistema e método para procurar e recuperar certificados e meio lido por computador para implementar o método

Country Status (11)

Country Link
EP (1) EP1633101B1 (pt)
JP (1) JP4530953B2 (pt)
KR (1) KR100650432B1 (pt)
CN (1) CN100531029C (pt)
AT (1) ATE392080T1 (pt)
AU (1) AU2005204223B2 (pt)
BR (1) BRPI0503811B1 (pt)
CA (1) CA2517211C (pt)
DE (1) DE602004013000T2 (pt)
HK (1) HK1087274A1 (pt)
SG (1) SG120313A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549043B2 (en) 2004-09-01 2009-06-16 Research In Motion Limited Providing certificate matching in a system and method for searching and retrieving certificates
US7631183B2 (en) 2004-09-01 2009-12-08 Research In Motion Limited System and method for retrieving related certificates
US7640428B2 (en) 2004-09-02 2009-12-29 Research In Motion Limited System and method for searching and retrieving certificates
US7814161B2 (en) 2006-06-23 2010-10-12 Research In Motion Limited System and method for handling electronic mail mismatches
EP1871060A1 (en) * 2006-06-23 2007-12-26 Research In Motion Limited System and method for searching a sender certificate when an e-mail address of the certificate and the sender address do not coincide
JP5014847B2 (ja) 2007-03-19 2012-08-29 株式会社リコー 情報処理装置及び情報処理方法
US10248791B2 (en) * 2015-07-20 2019-04-02 Intel Corporation Technologies for secure hardware and software attestation for trusted I/O
CN110213249A (zh) * 2019-05-20 2019-09-06 网宿科技股份有限公司 基于请求粒度的证书动态加载方法、装置和服务器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4508331B2 (ja) * 2000-01-07 2010-07-21 新日鉄ソリューションズ株式会社 認証代行装置、認証代行方法、認証代行サービスシステム、及びコンピュータ読取可能な記録媒体
JP2001265216A (ja) * 2000-03-16 2001-09-28 Nippon Telegr & Teleph Corp <Ntt> 公開鍵証明書の掲載方法および公開鍵証明書の掲載装置
JP3761432B2 (ja) * 2001-08-03 2006-03-29 日本電気株式会社 通信システムおよびユーザ端末およびicカードおよび認証システムおよび接続および通信の制御システムおよびプログラム
CA2479619C (en) * 2002-03-20 2008-05-20 Research In Motion Limited Certificate information storage system and method
JP4239497B2 (ja) * 2002-07-09 2009-03-18 株式会社ニコン 画像伝送システム、画像中継装置および電子画像機器
JP2005259332A (ja) * 2004-02-13 2005-09-22 Konica Minolta Opto Inc 光ピックアップ装置及び光ピックアップ装置用回折光学素子

Also Published As

Publication number Publication date
ATE392080T1 (de) 2008-04-15
DE602004013000D1 (de) 2008-05-21
HK1087274A1 (en) 2006-10-06
EP1633101B1 (en) 2008-04-09
CN1744490A (zh) 2006-03-08
EP1633101A1 (en) 2006-03-08
CA2517211C (en) 2011-05-03
JP2006074786A (ja) 2006-03-16
AU2005204223B2 (en) 2007-11-29
BRPI0503811A (pt) 2006-04-11
KR100650432B1 (ko) 2006-11-29
DE602004013000T2 (de) 2009-05-07
JP4530953B2 (ja) 2010-08-25
CA2517211A1 (en) 2006-03-02
CN100531029C (zh) 2009-08-19
AU2005204223A1 (en) 2006-03-16
KR20060050933A (ko) 2006-05-19
SG120313A1 (en) 2006-03-28

Similar Documents

Publication Publication Date Title
US8561158B2 (en) Providing certificate matching in a system and method for searching and retrieving certificates
CA2517209C (en) Providing certificate matching in a system and method for searching and retrieving certificates
US9621352B2 (en) System and method for verifying digital signatures on certificates
US8209530B2 (en) System and method for searching and retrieving certificates
US8291216B2 (en) Updating certificate status in a system and method for processing certificates located in a certificate search
US8914860B2 (en) System and method for associating message addresses with certificates
CA2526863C (en) System and method for verifying digital signatures on certificates
BRPI0503811B1 (pt) sistema e método para procurar e recuperar certificados e meio lido por computador para implementar o método
TWI282231B (en) System and method for searching and retrieving certificates
CA2587232C (en) Updating certificate status in a system and method for processing certificates located in a certificate search

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: BLACKBERRY LIMITED (CA)

B25G Requested change of headquarter approved

Owner name: BLACKBERRY LIMITED (CA)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 26/01/2021, OBSERVADAS AS CONDICOES LEGAIS.