BR112014015694B1 - Método de pseudonimização dinâmico para uma rede de perfilagem de dados, e, rede de perfilagem de dados - Google Patents

Método de pseudonimização dinâmico para uma rede de perfilagem de dados, e, rede de perfilagem de dados Download PDF

Info

Publication number
BR112014015694B1
BR112014015694B1 BR112014015694-8A BR112014015694A BR112014015694B1 BR 112014015694 B1 BR112014015694 B1 BR 112014015694B1 BR 112014015694 A BR112014015694 A BR 112014015694A BR 112014015694 B1 BR112014015694 B1 BR 112014015694B1
Authority
BR
Brazil
Prior art keywords
data
user
node
aliases
alias
Prior art date
Application number
BR112014015694-8A
Other languages
English (en)
Other versions
BR112014015694A8 (pt
BR112014015694A2 (pt
Inventor
Jovan Golic
Original Assignee
Telecom Italia S.P.A
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 Telecom Italia S.P.A filed Critical Telecom Italia S.P.A
Publication of BR112014015694A2 publication Critical patent/BR112014015694A2/pt
Publication of BR112014015694A8 publication Critical patent/BR112014015694A8/pt
Publication of BR112014015694B1 publication Critical patent/BR112014015694B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • 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

Abstract

MÉTODO DE PSEUDOANONIMATO DINÂMICO PARA UMA REDE DE PERFILAGEM DE DADOS, E, REDE DE PERFILAGEM DE DADOS A invenção relaciona-se a rede de perfilagem de dados de um usuários implementando um método de pseudoanonimato dinâmico de usuários para assegurar a privacidade dos usuários. A rede de perfilagem de dados (100) inclui pelo menos um nó de dados (1151-1158) configurado para receber dados de entrada relacionados a usuários e transformar os dados de entrada em perfil de dados de usuário de saída relacionado a usuários, em que o nó de dados inclui registros de dados de usuário (2101-2103) para armazenar dados de entrada relacionados a usuários junto com pseudônimos de entrada dinâmicos dos usuários, o nó de dados sendo configurado para computar o perfil de dados de usuário de saída relacionado a um usuário dos dados de entrada e para armazenar os perfis de dados de saída computados nos registros de dados de usuário (2201-2202) disso. O método de pseudoanonimato dinâmico inclui: receber no nó de dados, novos dados de entrada relacionados a um usuário junto com um novo pseudônimo de usuário associado e um pseudônimo de usuário antigo que era associado com dados de entrada recebidos previamente relacionados ao usuário no passado ou (...).

Description

DESCRIÇÃO FUNDAMENTO DA INVENÇÃO Campo Técnico da Invenção
[0001] A presente invenção relaciona-se à privacidade e anonimato em redes de computadores, e particularmente a métodos de pseudonimização capazes de prover anonimato de dados sensíveis, tais como perfis de dados de usuário, que estão armazenados em redes de computadores.
Panorama da Técnica Relacionada
[0002] Técnicas de pseudonimização podem ser usadas para prover privacidade de dados sensíveis em redes de perfilagem de dados, em que dados são adquiridos dinamicamente de várias fontes de dados e então processados, armazenados e recobrados através de um período de tempo. Tipicamente, uma rede de perfilagem de dados é implementada como uma rede de computadores. Cada fonte de dados provê dados se originando de ou relativos a entidades do mundo real diferentes chamados "usuários". Por exemplo, usuários podem ser os indivíduos (pessoas) ou grupos de pessoas, companhias, organizações, sites da Web da Internet, ou dispositivos tais como computadores pessoais e telefones móveis. Privacidade implica que as identidades do mundo real de usuários deveriam permanecer escondidas dos nós de rede processando e armazenando os dados sensíveis. No contexto da descrição presente e para os propósitos da presente invenção, uma "identidade do mundo real" de um usuário está definida como um conjunto de identificadores, em que cada identificador é uma descrição de uma propriedade física ou lógica verificável de um usuário, que é assumido ser válido através de um período de tempo. Uma identidade do mundo real é uma representação única de um único usuário ou um conjunto relativamente pequeno de usuários dentro de um domínio global (por exemplo, o mundo ou um estado) ou um domínio local (por exemplo, uma companhia ou uma cidade).
[0003] Por exemplo, uma rede de perfilagem de dados pode ser instalada para perfilagem on-line por provedores de serviços da Internet (ISPs) ou sites da Web particulares provendo vários serviços da Internet. O perfil de dados então se relaciona ao uso da Internet por usuários individuais e é significado ser usado para prover serviços melhorados ou novos através da Internet, por exemplo, para comercialização visada por entidades autorizadas por anúncios de bandeira personalizados. Neste caso, a identidade do mundo real de um usuário a ser protegido pode incluir como identificadores, por exemplo, um Localizador de Recurso Uniforme (URL), um endereço de email, um endereço de IP, um número de telefone, o nome de uma pessoa, ou um endereço residencial.
[0004] A fim de derivar perfis de dados cumulativos em tempo para qualquer usuário particular, é exigido intrinsecamente ligar dados diferentes juntos relativos ao mesmo usuário a momentos diferentes. Em essência, esta capacidade de ligação é constrangida visto que só se relaciona aos dados precisados para computar o perfil de dados em um dado momento e não necessariamente para os perfis de dados a momentos diferentes. A fim de assegurar esta capacidade de ligação constrangida, um método convencional consiste em usar um pseudônimo estático (em seguida, um pseudônimo também será chamado PID) em lugar de uma identidade (em seguida também chamado ID), onde as associações entre IDs e PIDs deveriam permanecer escondidas dos nós de rede processando e armazenando os dados sensíveis.
[0005] O problema principal com usar pseudônimos estáticos é que a capacidade de ligação provida é irrestrita, como é ilimitada em tempo e também relaciona-se aos perfis de dados de um usuário a momentos diferentes. A capacidade de ligação irrestrita significa que os perfis de dados a momentos diferentes estão ligados juntos pelo mesmo pseudônimo estático e consequentemente podem ser usados para obter as curvas de perfil de dados em tempo para qualquer usuário visado, indiferente de como o perfil de dados muda em tempo. Como uma consequência, a capacidade de ligação irrestrita derivando do uso de pseudônimos estáticos resulta na falta de privacidade dianteira/reversa e aumenta o risco da recuperação de identidade de usuário analisando as curvas de perfil de dados. Nenhuma ou privacidade dianteira/reversa escassa significa que se a identidade de um usuário for comprometida a um dado momento, então os perfis de dados correspondentes no passado e no futuro estão todos comprometidos, que em si mesmo resulta na rastreabilidade completa do usuário identificado.
[0006] Desde que uma curva de perfil de dados contém muito mais informação do que um único perfil de dados em um dado momento, o risco de ter alguém capaz de recuperar a identidade do usuário correspondente aumenta significativamente, dependendo do perfil de dados, especialmente se for possível correlatar a curva de perfil de dados com dados da vida real. Em geral, este risco é assim muito mais alto do que no caso de usar perfis de dados a tempos únicos somente.
[0007] US 7.213.032 B2 descreve um método e sistema implementados por computador para perfilagem anônima de, e comercialização visada para, usuários anônimos em uma rede de dados, tal como a Internet. Rede de dados está dividida em três partes: a parte confiada anônima (ATP), parte não anônima (NAP) e parte sem perfilagem (NPP). Os perfis de usuário anônimos são computados, mantidos e usados em ATP, as transações não anônimas requerendo identidades de usuário do mundo real são executadas dentro de NAP, e os perfis do usuário anônimos levados de ATP também são usados dentro de NPP. O anonimato de perfis de usuário é assegurado nomeando um identificador único (UID) para cada usuário em ATP e um UID possivelmente diferente em NPP. Os perfis do usuário etiquetados por UID são armazenados em um banco de dados de ATP. Os usuários são autenticados anonimamente em ATP ou NPP usando nomes de usuário virtuais autoescolhidos ou pseudônimos junto com senhas ao se registrar no sistema. O ponto central de US 7.213.032 B2 é que a identidade do mundo real de usuário só é usada em NAP e nunca é revelada a qualquer parte de ATP ou NPP, enquanto os perfis de usuário nunca são usados explicitamente em NAP. Porém, é permitido que denominados "valores transacionais representacionais ou indexados" podem atravessar o limite entre NAP por um lado e ATP e NPP pelo outro. Tais valores estão definidos como "qualquer informação codificada que pode ser gerada ou resgatada por um usuário e não contém nem perfil de usuário nem identidade do mundo real de usuário". Tais valores têm um papel importante para conectar as partes anônimas e não anônimas da rede e assim habilitar as transações não anônimas dentro de NAP.
[0008] US 7.844.717 B2 expõe um método para troca de pseudônimo de dados pessoais privados associados com usuários entre dois ou mais servidores de armazenamento de dados ou dentro de um único servidor de armazenamento de dados, onde a privacidade de usuários e servidores de armazenamento de dados é protegida usando pseudônimos em vez de identidades do mundo real. No sistema, os usuários e servidores são autenticados por métodos padrão usando pseudônimos e credenciais seguros validados (em particular, o método de D. Chaum e J. H. Evertse, "A secure and privacy-protecting protocol for transmitting personal information between organizations", em 'Proceedings of Crypto '86', 'Lecture Notes Computer Science', vol. 263, p. 118-167, 1987).
[0009] O ponto central do método é o uso de um servidor de procuração confiado chamado o servidor de pseudônimo para controlar o acesso a dados privados por regras de controle de acesso, em que os usuários e servidores são registrados e representados pelos identificadores únicos associados (UIDs) junto com tipos de usuário e servidor, respectivamente. As identidades do mundo real de usuário podem ser armazenadas também.
[00010] US 7.610.390 B2 descreve um método para ligar contas de usuário armazenadas a nós diferentes em uma rede de dados tal como a Internet, onde cada conta de usuário contém alguma informação de identidade de conta de usuário localmente única (ID), composta de identificadores do mundo real, localmente escolhidos possivelmente parciais (que deveriam ser considerados como privados se eles especificarem exclusivamente o usuário) ou nomes de conta de usuário locais escolhidos arbitrariamente, informação auxiliar composta dos denominados identificadores, e, possivelmente, outros dados privados (por exemplo, perfis de usuário, preferências, políticas, serviços autorizados a ter acesso, direitos de controle de acesso, etc.). Há dois tipos básicos de nós, chamados provedores de identidade e provedores de serviços. O papel principal do anterior é autenticar os usuários e, consequentemente, os IDs locais armazenados incluem necessariamente identificadores do mundo real. O papel principal do posterior é prover vários serviços e, consequentemente, pode ou não incluir identificadores do mundo real tais como partes dos IDs locais armazenados.
[00011] Os nós de serviço e identidade interagem entre si e assim proveem serviços diferentes para usuários de rede. Esta interação requer que as contas de usuário armazenadas a nós diferentes estejam ligadas juntas. O papel dos identificadores é habilitar esta ligação sem trocar os IDs de conta de usuário locais. Isto é alcançado tendo o mesmo identificador sendo compartilhado (como um segredo comum) pelos dois nós se comunicando um ao outro. O mesmo identificador compartilhado assim determina que as duas contas de usuário correspondem ao mesmo usuário. Cada identificador correspondendo a um usuário consiste em duas partes, que são geradas respectivamente pelos dois nós e enviadas um ao outro, em uma forma possivelmente codificada. Se o mesmo nó se comunicar a vários outros nós, então a parte do identificador gerada por aquele nó é a mesma para todas as conexões, isto é, depende da conta de usuário local em lugar da conexão. Neste sentido, pode ser chamado um pseudônimo da conta de usuário local a um dado nó. Um par de pseudônimos associados com dois nós assim determina, como um identificador, a conexão entre as contas de usuário, do mesmo usuário, nos dois nós. É ademais sugerido que escolhendo pseudônimos dinâmicos, isto é, os pseudônimos que mudam em tempo, "a visibilidade do nome de conta pode ser reduzida".
[00012] O documento de S. Fouladgar e H. Afifi, "A simple privacy protecting scheme enabling delegation and ownership transfer for RFID tags", 'Journal of Communications', vol. 2, no. 6, p. 6-13, 2007, lida com um protocolo de comunicação para autenticação mútua em um sistema composto de etiquetas de RFID (identificação por radiofreqüência) e leitores de etiqueta por um banco de dados em linha confiado. O protocolo é de um tipo de intimação-resposta usando pseudônimos dinâmicos para autenticação de etiqueta, onde os pseudônimos são gerados de chaves secretas pré- compartilhadas e valores aleatórios locais gerados por contador usando reedição criptográfica ou funções de criptografia. Os IDs de etiquetas e chaves secretas são armazenadas no banco de dados em linha confiado e só são revelados pelo protocolo a leitores autorizados, enquanto os pseudônimos dinâmicos asseguram que a autenticação de etiqueta permaneça não rastreável por leitores não autorizados.
SUMÁRIO DA INVENÇÃO
[00013] Com relação a US 7.213.032 B2, o Requerente observa que, apesar da sua importância para o método exposto, a definição e papel dos denominados "valores transacionais representacionais ou indexados" permanecem bastante vagos e obscuros. O Requerente também observa que os UIDs de usuário têm o papel de pseudônimos estáticos únicos associados com usuários e perfis de usuário e que a separação lógica ou física exigida de NAP deveria assegurar que os UIDs de usuário nunca sejam armazenados em equipamento de usuário e nunca possam ser ligados com identidades do mundo real de usuário por qualquer informação associada com os usuários (por exemplo, por endereços de IP de equipamento de usuário na Internet). Isto pode ser difícil para implementar dado o amplo uso de UIDs de usuário em ATP e NPP. Em todo caso, como explicado acima, o uso de pseudônimos estáticos resulta na capacidade de ligação irrestrita indesejada tempos de perfis de usuário.
[00014] Com relação a US 7.844.717 B2, o Requerente observa que UIDs têm o papel de pseudônimos estáticos únicos associados com as entidades envolvidas e, consequentemente, resultam na capacidade de ligação de tempo irrestrita das trocas de dados privados. Além disso, se pseudônimos estáticos forem usados para representar os dados privados armazenados a servidores de dados individuais, então a capacidade de ligação irrestrita resultante a tempo destes dados privados pode ser indesejável em muitas aplicações.
[00015] Com relação a US 7.610.390 B2, o Requerente observa que as reivindicações principais de US 7.610.390 B2 (Reivindicações independentes 1, 5 e 12) estão imperfeitas, porque elas não especificam como o nó que é o primeiro a receber a parte do identificador enviado do outro nó determina a que conta de usuário esta parte do identificador deveria estar associada. Isto é, os IDs de conta de usuário não são transmitidos e sem alguma informação comum especificando a conta de usuário, as partes do identificador não podem ser compartilhadas, isto é, a ligação inicial não pode ser estabelecida. Pela mesma razão, partes geradas dinamicamente do identificador já existente não podem ser compartilhadas do modo especificado pelas reivindicações. Examinando o texto de US 7.610.390 B2, o Requerente achou que os autores podem ter assumido que a ligação exigida (ambos inicialmente e depois quando as partes geradas localmente do identificador são mudadas) pode ser estabelecida usando, para cada par de nós, tanto presença simultânea do usuário a ambos os nós por um endereço de IP comum ou armazenamento para as partes do identificador no mesmo equipamento de usuário usado para acessar ambos os nós (por exemplo, em uma forma de um 'cookie' por navegador de Internet de usuário). O Requerente observa que no caso posterior é necessário executar autenticação de usuário a ambos os nós, e não só a um dos nós, como especificado por Reivindicações 5 e 12. Isto é porque os 'cookies' não podem ser considerados autênticos (até mesmo quando codificados, devido a ataques de repetição).
[00016] Outra observação do Requerente é que apesar das partes geradas dinamicamente propostas do identificador, cada conta de usuário, com todos os dados privados armazenados, é ligável em tempo a cada nó, onde a capacidade de ligação é determinada por mesmo ID conta de usuário armazenado como também pela parte inalterada armazenada ou partes do identificador. Ainda outra desvantagem do método, como observado pelo Requerente, é que ele não provê privacidade de dados privados armazenados a menos que haja confiança total em cada um dos provedores de identidade. Isto é, contas do usuário comprometidas de um provedor de identidade habilitaria ligar os IDs de conta de usuário correspondentes a dados privados armazenados a outros nós conectados a este provedor. Porém, ter esta confiança parece ser irreal no cenário distribuído.
[00017] O Requerente lidou com o problema de projetar um método para pseudonimização dinâmico de usuários para redes de perfilagem de dados que proveem anonimato de dados usando pseudônimos dinâmicos que mudam em tempo a fim de prevenir capacidade de ligação irrestrita de perfis de dados, que, como discutido acima, é inerente ao método de pseudonimização estático convencional e é desvantajoso pelas razões discutidas no antecedente. O método da presente invenção trabalha no caso geral de nós de perfilagem de dados (em seguida, para concisão também chamados "nós de dados") de uma rede de perfilagem de dados, em que os nós de perfilagem de dados recebem entradas pseudoanônimas de múltiplas fontes de dados ou outros nós de perfilagem de dados.
[00018] O Requerente observou que uma rede de perfilagem de dados composta de nós de dados pode ser sincronizada para trabalhar com dados pseudoanônimos dinamicamente, com cada pseudônimo mudando em tempo aleatoriamente ou pseudoaleatoriamente ou como uma função chaveada da identidade respectiva onde a chave varia em tempo. O método de acordo com a presente invenção habilita cada nó de dados na rede de perfilagem de dados achar o registro de dados certo correspondendo a dados de entrada pseudoanônimos dinamicamente, processar os dados de entrada respectivos em dados de saída, nomear um pseudônimo dinâmico aos dados de saída, e enviar dados de saída pseudoanônimos dinamicamente para outros nós de dados na rede de perfilagem de dados. Acesso a perfis dados de usuário armazenados por entidades autorizadas é habilitado utilizando identidades de usuário ou pseudônimos de usuário.
[00019] O método da presente invenção também pode ser aplicável a redes de perfilagem de dados combinadas, isto é, redes de perfilagem de dados compostas de nós de dados separados, mas compartilhando possivelmente os mesmos usuários. Em uma forma de realização, o método da presente invenção habilita trocar perfis de dados de usuário individuais correspondendo a um mesmo usuário em redes de perfilagem de dados diferentes. Em outra forma de realização, o método da presente invenção habilita agregação de perfis de dados de usuário correspondendo a conjuntos especificados de usuários (possivelmente todos eles) em redes de perfilagem de dados diferentes.
[00020] De acordo com um aspecto da presente invenção, é provido um método de pseudonimização dinâmico para um rede de perfilagem de dados incluindo pelo menos um nó de dados configurado para receber dados de entrada relacionados a usuários e transformar ditos dados de entrada em perfil de dados de usuário de saída relacionado a usuários, dito nó de dados incluindo registros de dados de usuário para armazenar dados de entrada relacionados a usuários junto com pseudônimos de entrada dinâmicos dos usuários, dito nó de dados sendo configurado para computar dito perfil de dados de usuário de saída relacionado a um usuário de ditos dados de entrada e para armazenar os perfis de dados de saída computados em ditos registros de dados de usuário disso. O método inclui: receber no nó de dados, novos dados de entrada relacionados a um usuário junto com um novo pseudônimo de usuário associado e um pseudônimo de usuário antigo que estava associado com dados de entrada recebidos previamente relacionados ao usuário no passado ou um conjunto de pseudônimos de usuário antigos candidatos; em dito nó de dados, achar o registro de dados de usuário correspondendo aos novos dados de entrada recebidos como o registro de dados de usuário tendo armazenado nele um pseudônimo de usuário de entrada dinâmico igual a dito pseudônimo de usuário antigo recebido junto com ditos novos dados de entrada ou a um pseudônimo de usuário pertencendo ao conjunto recebido de pseudônimos de usuário antigos candidatos; armazenar temporariamente, no registro de dados de usuário achado, os novos dados de entrada; fixar o pseudônimo de usuário de entrada dinâmico armazenado em dito registro de dados de usuário de dito nó de dados igual ao último novo pseudônimo de usuário recebido associado com os dados de entrada recebidos relacionados ao usuário; computar a tempos dito perfil de dados de usuário de saída usando novos dados de entrada acumulados no registro de dados de usuário, armazenar o perfil de dados de usuário de saída computado no registro de dados de usuário, e então apagar ditos novos dados de entrada acumulados do registro de dados de usuário.
[00021] Em uma forma de realização da invenção, o método pode incluir: em dito nó de dados, gerar e armazenar em dito registro de dados de usuário um pseudônimo de usuário de saída dinâmico junto com dito perfil de dados de usuário de saída computado; enviar a tempos dito perfil de dados de usuário de saída para pelo menos um outro nó de dados em dita rede de perfilagem de dados, cada vez gerando um novo valor de dito pseudônimo de usuário de saída dinâmico, substituir dito novo valor de pseudônimo de dito usuário de saída dinâmico por um valor antigo armazenado previamente de dito pseudônimo de usuário de saída dinâmico, e enviar para dito pelo menos um outro nó de dados ambos os valores antigo e novo de dito pseudônimo de usuário de saída dinâmico junto com dito perfil de dados de usuário de saída.
[00022] Ditos dados de entrada podem ser recebidos pelo nó de dados de pelo menos um nó de fonte de dados da rede de perfilagem de dados, ou de pelo menos um outro nó de dados da rede de perfilagem de dados.
[00023] Em uma forma de realização da invenção, o método pode incluir: prover, em dita rede de perfilagem de dados, pelo menos um nó de pseudonimização operável para: receber do pelo menos um nó de fonte de dados identidades de usuário, ditas identidades de usuário identificando o usuário em dita fonte de dados, as identidades de usuário incluindo um ou mais identificadores dos usuários conhecidos à fonte de dados; gerar pseudônimos de usuário das identidades de usuário recebidas; prover ao nó de fonte de dados os pseudônimos de usuário gerados.
[00024] Ditos pseudônimos de usuário podem ser gerados como valores aleatórios ou pseudoaleatórios, ou valores chaveados gerados por uma função chaveada de identidades de usuário e uma chave secreta.
[00025] Dito nó de pseudonimização pode ser operável para codificar e autenticar os pseudônimos de usuário gerados a serem providos ao nó de fonte de dados.
[00026] Os pseudônimos de usuário aleatórios ou pseudoaleatórios gerados podem ser armazenados no nó de pseudonimização em associação com as identidades de usuário correspondentes.
[00027] As identidades de usuário podem ser diferentes para nós de fonte de dados diferentes. O método pode incluir prover, em dita rede de perfilagem de dados, pelo menos um nó de administração de identidades de usuário equivalentes operável para administrar como identidades equivalentes diferentes de um mesmo usuário correspondendo a fontes de dados diferentes.
[00028] Em uma forma de realização da invenção, o método pode incluir: ao receber, a dito nó de dados, novos dados de entrada relacionados a um usuário da pelo menos uma fonte de dados ou do pelo menos um outro nó de dados, se nenhum registro de dados de usuário for achado que inclui o dito pseudônimo de usuário antigo recebido junto com os novos dados de entrada ou um pseudônimo de usuário pertencendo ao dito conjunto de pseudônimos de usuário de candidato antigos recebidos junto com os novos dados de entrada, ter o nó de dados averiguando, explorando o dito pseudônimo de usuário antigo ou o dito conjunto de pseudônimos de usuário antigos candidatos recebidos junto com os novos dados de entrada, se um registro de dados de usuário em relação àquele usuário já existir, em que dito registro de dados de usuário foi criado para armazenar dados de entrada relacionados àquele usuário recebidos de pelo menos uma outra fonte de dados no passado. No caso que os novos dados de entrada são recebidos por dito nó de dados da pelo menos uma fonte de dados, dita averiguação pode incluir: fazer com que o dito nó de dados envie para trás um pedido a dita pelo menos uma fonte de dados para obter pseudônimos equivalentes do usuário, dito pedido contendo o pseudônimo de dito usuário antigo ou o dito conjunto de pseudônimos de usuário antigos candidatos; fazer com que a dita pelo menos uma fonte de dados recupere a identidade de usuário armazenada temporariamente nela, enviar a identidade de usuário recuperada ao nó de administração de identidades de usuário equivalentes, e pedir a dito nó de administração de identidades de usuário equivalentes para prover as identidades equivalentes do usuário ao nó de pseudonimização; fazer com que o nó de pseudonimização recobre os pseudônimos equivalentes do usuário e então enviá-los aos nós de fonte de dados conectados a isso;
[00029] executar um processo de inundação dianteira incluindo: fazer com que os nós de fonte de dados conectados ao nó de pseudonimização enviem adiante para todos os nós de dados conectados a isso pedidos que contêm os pseudônimos equivalentes recebidos do usuário; quando um nó de dados em dita rede de perfilagem de dados recebe a suas entradas um ou mais pedidos que contêm pseudônimos equivalentes de pelo menos um outro nó de dados conectados a isso, ter o nó de dados pesquisar o registro de dados de usuário armazenando um dos pseudônimos equivalentes recebidos como pseudônimos de usuário de entrada; se tal registro de dados de usuário for achado e o nó de dados for o dito nó de dados recebendo os novos dados de entrada, ter o nó de dados usar o registro de dados de usuário achado para armazenar os novos dados de entrada recebidos; se tal registro de dados de usuário for achado e o nó de dados for diferente do dito nó de dados recebendo os novos dados de entrada, ter o nó de dados continuar o processo de inundação dianteira enviando adiante os pseudônimos de usuário de saída armazenados no registro de dados de usuário para todos os outros nós de dados conectados a suas saídas.
[00030] No caso que os novos dados de entrada são recebidos por dito nó de dados do pelo menos um outro nó de dados, dita averiguação pode incluir executar um processo de rastreamento reverso, um processo de recuperação de pseudônimos equivalentes, e um processo de inundação dianteira onde: o dito processo de rastreamento reverso inclui: fazer com que o dito nó de dados envie para trás um pedido ao dito pelo menos um outro nó de dados para obter pseudônimos equivalentes do usuário, dito pedido contendo o dito pseudônimo de usuário antigo ou o dito conjunto de pseudônimos de usuário antigos candidatos; fazer com que o dito pelo menos um outro nó de dados pesquise o registro de dados de usuário armazenando um dos pseudônimos de usuário antigos recebidos como pseudônimo de usuário de saída e então enviar para trás pelo menos um pedido a qualquer outro nó de dados conectado a suas entradas, dito pedido contendo o pseudônimo de usuário de entrada armazenado no registro de dados de usuário; quando um nó de dados em dita rede de perfilagem de dados recebe a quaisquer de suas saídas um pedido de qualquer outro nó de dados conectado a isso, ter o nó de dados pesquisar o registro de dados de usuário armazenando o pseudônimo de usuário recebido como pseudônimo de usuário de saída e então enviar para trás pelo menos um pedido a quaisquer de outros nós de dados ou quaisquer de nós de fonte de dados conectados a suas entradas, dito pedido contendo o pseudônimo de usuário de entrada armazenado no registro de dados de usuário; quando um nó de fonte de dados em dita rede de perfilagem de dados recebe a sua saída um pedido de qualquer nó de dados conectado a isso, ter a fonte de dados remeter o pseudônimo de usuário recebido para o nó de pseudonimização com um pedido para prover os pseudônimos equivalentes do usuário; o dito processo de recuperação de pseudônimos equivalentes inclui: fazer com que o nó de pseudonimização receba de dito nó de fonte de dados um pseudônimo de usuário e então recobrar os pseudônimos equivalentes do usuário, tanto usando diretamente uma tabela armazenada de pseudônimos ou usando indiretamente uma função chaveada reversível para recuperar a identidade de usuário, então enviar esta identidade de usuário ao nó de administração de identidades de usuário equivalentes para prover as identidades equivalentes do usuário, então gerar os pseudônimos equivalentes de candidato do usuário das identidades equivalentes recebidas do usuário, e então enviá-las aos nós de fonte de dados conectados a isso; o dito processo de inundação dianteira inclui: fazer com que os nós de fonte de dados conectados ao nó de pseudonimização enviem adiante para todos os nós de dados conectados a isso os pedidos que contêm os pseudônimos equivalentes recebidos do usuário; quando um nó de dados em dita rede de perfilagem de dados recebe a suas entradas um ou mais pedidos que contêm pseudônimos equivalentes de pelo menos um outro nó de dados conectado a isso, ter o nó de dados pesquisar o registro de dados de usuário armazenando um dos pseudônimos equivalentes recebidos como pseudônimos de usuário de entrada; se tal registro de dados de usuário for achado e o nó de dados for o dito nó de dados recebendo os novos dados de entrada, ter o nó de dados usar o registro de dados de usuário achado para armazenar os novos dados de entrada recebidos; se tal registro de dados de usuário for achado e o nó de dados for diferente do dito nó de dados recebendo os novos dados de entrada, ter o nó de dados continuar o processo de inundação dianteira enviando adiante os pseudônimos de usuário de saída armazenados no registro de dados de usuário para todos os outros nós de dados conectados a suas saídas.
[00031] Em uma forma de realização da invenção, o método pode incluir: no caso, em dito nó de dados, o registro de dados de usuário correspondendo aos novos dados de entrada recebidos não é achado até mesmo depois de receber os pseudônimos de usuário equivalentes, ter o nó de dados criar um novo registro de dados de usuário em relação a dito usuário, e armazenar os novos dados de entrada recebidos nisso junto com o novo pseudônimo de usuário recebido, recebido junto com os novos dados de entrada recebidos.
[00032] Ditos pseudônimos de usuário podem ser mudados dinamicamente depois de um tempo predeterminado dependendo de um período de tempo de validade do perfil de dados de usuário.
[00033] O pelo menos um nó de dados e o pelo menos um nó de fonte de dados são preferivelmente impedidos de nomear, usar ou armazenar, em associação com dados relacionados a um usuário, pseudônimos de usuário estáticos que não mudam em tempo ou valores antigos de pseudônimos de usuário dinâmicos gerados e usados no passado para o usuário.
[00034] Em uma forma de realização da invenção, o método pode incluir: quando uma entidade pedinte de perfil dados de usuário quer recobrar perfil de dados de usuário armazenado no pelo menos um nó de dados: fazer com que a entidade pedinte de perfil dados de usuário envie um pedido de perfil de dados de usuário a um selecionado entre o pelo menos um nó de dados da rede de perfilagem de dados, em que dito pedido de perfil de dados de dados de usuário contém um identificador do nó de dados que armazena o perfil de dados de usuário pedido a ser recobrado, e o pseudônimo de usuário de entrada ou saída atualmente válido armazenado respectivamente no registro de dados de usuário de dito selecionado entre o pelo menos um nó de dados para qual o pedido de dados de perfil de dados de usuário é enviado; no caso que dito selecionado entre o pelo menos um nó de dados recebendo o pedido de perfil de dados de usuário é o nó de dados armazenando o perfil de dados de usuário pedido, ter o nó de dados recobrar o perfil de dados de usuário pedido armazenado no registro de dados de usuário em associação com o pseudônimo de usuário de entrada ou saída atualmente válido especificado, e prover à entidade pedinte de perfil de dados de usuário o perfil de dados de usuário recobrado; no caso que dito selecionado entre o pelo menos um nó de dados recebendo o pedido de perfil de dados de usuário não é o nó de dados armazenando o perfil de dados de usuário pedido: a) ter dito selecionado entre o pelo menos um nó de dados identificar, nos registros de dados de usuário armazenados nisso, o pseudônimo de usuário de saída correspondendo ao pseudônimo de usuário de saída atualmente válido contido no pedido de perfil de dados de usuário recebido ou o pseudônimo de usuário de saída correspondendo ao pseudônimo de usuário de entrada atualmente válido recebido contido no pedido de perfil de dados de usuário recebido, e remeter o pseudônimo de usuário de saída recobrado para todos os nós de dados adicionais conectados a isso; e b) repetir a etapa a) usando o pseudônimo de usuário de saída recobrado recebido em vez de dito pseudônimo de usuário de saída atualmente válido ou dito pseudônimo de usuário de entrada atualmente válido, até que o nó de dados armazenando o perfil de dados de usuário pedido seja alcançado e, então, fazer com que o nó de dados recobre o perfil de dados de usuário pedido armazenado no registro de dados de usuário correspondente.
[00035] O método pode ademais incluir, antes de executar as etapas anteriores, ter a entidade pedinte de perfil de dados de usuário pedir ao nó de pseudonimização um pseudônimo de entrada atualmente válido do usuário correspondendo a um dado identificador de usuário temporário ou permanente contido em dito pedido de perfil de dados de usuário.
[00036] A rede de perfilagem de dados pode incluir pelo menos uma primeira e uma segunda redes de perfilagem de dados separadas, cada uma incluindo nós de dados respectivos, fontes de dados respectivas provendo dados de entrada na base dos quais perfis de dados de usuário são calculados pelos nós de dados, nós de pseudonimização respectivos para gerar pseudônimos de usuário de identidades de usuário, e em que um nó de administração de identidades de usuário equivalentes combinadas é provido, operável para administrar como identidades diferentes equivalentes de um mesmo usuário correspondendo a fontes de dados diferentes na primeira e segunda redes de perfilagem de dados, o nó de administração de identidades de usuário equivalentes combinadas sendo explorado para recobrar perfis de dados de usuário de um usuário na segunda rede de perfilagem de dados quando ditos perfis de dados de usuário são pedidos pela primeira rede de perfilagem de dados.
[00037] Outro aspecto da presente invenção relaciona-se a uma rede de perfilagem de dados configurada para executar o método anterior.
BREVE DESCRIÇÃO DOS DESENHOS
[00038] Estas e outras características e vantagens da presente invenção serão feitas aparentes pela descrição detalhada seguinte de formas de realização exemplares e não limitantes disso, com referência aos desenhos anexos, em que: a figura 1 mostra a estrutura geral de uma rede de perfilagem de dados exemplar em que o método de acordo com a presente invenção pode ser implementado, a rede de perfilagem de dados incluindo nós D, um nó ID, um nó PID confiado como também fontes de dados (DSs ou nós DS) provendo entrada de dados brutos à rede (no exemplo considerado, 4 fontes de dados e 8 nós D); a figura 2 mostra a estrutura geral de um nó D da rede de perfilagem de dados (no exemplo considerado aqui, um nó D com 3 canais de entrada e 2 canais de saída); a figura 3 mostra a interação entre um DS, o nó PID e um nó D, recebendo entrada de um nó DS, e uma mudança de pseudônimos e dados no D nó entrada receptora do nó DS; a figura 4 mostra mudança de pseudônimos e dados em uma entrada receptora de nó D de outro nó D; a figura 5 ilustra uma cadeia de pseudônimos dinâmicos formados em um dado momento por 4 nós D consecutivos na rede de perfilagem de dados.
DESCRIÇÃO DETALHADA DE FORMAS DE REALIZAÇÃO DA INVENÇÃO Rede de Perfilagem de Dados
[00039] De acordo com uma forma de realização da presente invenção, um Rede de Perfilagem de Dados (em seguida, brevemente, DPN) é uma rede de computadores incluindo três tipos de nós lógicos: (1) nós de identidade (em seguida, também chamado nós ID), (2) nós de pseudônimo (em seguida, também chamado nós PID), e (3) nós de perfilagem de dados ou, simplesmente, nós de dados (em seguida, também chamados nós D). Os nós lógicos da DPN podem ser implementados fisicamente de um modo centralizado ou distribuído usando a tecnologia de computador.
[00040] Dados introduzidos à DPN (em seguida, também chamado dados de entrada brutos) são providos por várias fontes de dados (DSs ou nós DS). Além disso, componentes associados da DPN são usuários, planejados como entidades do mundo real que proveem dados de entrada brutos por várias fontes de dados e utilizam o perfil de dados de saída produzido pela DPN. Por exemplo, usuários podem ser os indivíduos (pessoas) ou grupos de pessoas, companhias, organizações, sites da Web da Internet, ou dispositivos tais como computadores pessoais e telefones móveis.
[00041] Se referindo ao exemplo descrito na Figura 1, a DPN, denotada globalmente como 100, inclui um nó ID 105, um nó PID 110, oito nós D 1151 - 1158, e quatro fontes de dados (nós DS) 1201 - 1204. Os quatro DS nós 1201 - 1204 podem, por exemplo, corresponder a quatro sites da Web da Internet diferentes colecionando dados de entrada brutos sobre o uso de site da Web pelos usuários, enquanto os oito nós D 1151 - 1158 agregam e processam os dados de entrada recebidos relacionados a um mesmo usuário nos dados de saída correspondentes (perfis de dados) a serem usados para aplicações diferentes (por exemplo, para comercialização visada por entidades autorizadas por anúncios de bandeira personalizados). Alternativamente, os quatro DS nós 1201 - 1204 podem corresponder a redes diferentes (por exemplo, fixas ou móveis) dos mesmos ou diferentes ISPs, em qual caso os dados de entrada brutos são extraídos dos dados de tráfego correspondentes (por exemplo, através de sondas de rede).
[00042] Nós ID (como nó ID 105 no exemplo considerado) administram identidades equivalentes (em seguida também chamados IDs) dos usuários de DPN, em que cada uma das identidades equivalentes de um certo usuário corresponde a uma fonte de dados diferente. A suposição subjacente é que, na DPN, todos os usuários sendo representados por uma mesma identidade com relação a qualquer fonte de dados são considerados efetivamente como um único usuário. Um ID nó assim implementa uma tabela de equivalência de identidade armazenando identidades equivalentes correspondendo ao mesmo usuário, onde cada identidade corresponde a uma fonte de dados diferente e se ela mesma composta de um conjunto ordenado dos identificadores do usuário. Na tabela de equivalência de identidade contida pelo nó ID, os IDs de identidades são indexados pelas fontes de dados respectivas i (i sendo um índice que identifica uma única fonte de dados: por exemplo, 120i, com i = 1, 2, 3, 4), e a tabela de equivalência de identidade assim consiste em conjuntos de identidade equivalentes {i, ID}, um conjunto para cada único usuário.
[00043] Nós ID têm um modo de operação de atualização: no modo de operação de atualização, um nó ID atualiza a tabela de equivalência de identidade respectiva baseado nas identidades equivalentes recebidas a sua entrada. Além disso, um nó ID também pode gerar e armazenar uma nova identidade única para um usuário que pode ser explorada uma representação única (possivelmente estática) do conjunto de identidades equivalentes desse usuário.
[00044] Nós ID têm um modo operacional de geração: no modo operacional de geração, um nó ID recebe a sua entrada, de uma fonte de dados i, um ID de identidade, isto é, (i, ID), de um usuário, e provê o conjunto correspondente de identidades equivalentes {i, ID} para esse usuário a sua saída. Formalmente, no modo operacional de geração, um nó ID realiza um mapeamento (i, ID) ^ {i, ID}.
[00045] Para uma dada DPN, pode existir um único nó ID administrando as identidades de todos os usuários e em relação a todas as fontes de dados, ou, alternativamente múltiplos Nós ID conectados mutuamente podem ser providos, cada um administrando as identidades para subconjuntos respectivos de usuários e fontes de dados. Cada nó ID pode ser implementado como um servidor de computador em uma rede de computadores. Porém, sem perda de generalidade, a pluralidade de Nós ID servindo uma única DPN pode ser considerada como um único nó ID lógico; doravante, será assumido, portanto que a DPN inclui um único nó ID.
[00046] Identificadores e identidades de usuário na DPN são administrados por fontes de dados e por nós ID. Cada identificador de usuário pode ser classificado como temporário (isto é, curto prazo) ou permanente (isto é, longo prazo) de acordo com o período de validade de identificador de usuário sendo relativamente curto ou relativamente longo, respectivamente. Um exemplo de identificador permanente é o nome de uma pessoa (não é esperado que mude durante a vida da pessoa) ou endereço residencial (que pode mudar esporadicamente), enquanto um exemplo de identificador temporário é um identificador de localização descrevendo uma localização temporária de uma fonte de dados, tal como um endereço de IP através da Internet. Nós ID podem administrar só identificadores de usuário permanentes e as identidades equivalentes correspondentes, mas em alguns casos, identificadores de usuário temporários também podem ser administrados pelos nós ID juntamente com os identificadores permanentes.
[00047] Uma identidade de usuário pode ser composta de um ou mais identificadores permanentes e um ou mais identificadores temporários; então, pseudonimização pode se relacionar tanto à identidade como um todo ou a identificadores particulares (permanentes e/ou temporários) ou a subconjuntos de identificadores selecionados entre os identificadores compondo a identidade. Em particular, pode ser desejável tornar pseudoanônimo identificadores temporários individuais separadamente dos identificadores permanentes de uma identidade.
[00048] Um nó PID (tal como nó PID 110 no exemplo considerado) transforma (isto é, torna pseudoanônimo) um dado identificador de usuário ou uma identidade de usuário como um todo, definida como um conjunto ordenado de identificadores de usuário (permanentes e temporários), em um pseudônimo correspondente. De acordo com a presente invenção, enquanto o acrônimo ID é usado equivalentemente como uma notação genérica para uma identidade como um todo ou para um identificador pertencendo ao conjunto de identificadores constituindo uma identidade, o acrônimo PID é usado como uma notação genérica para o pseudônimo correspondente. Um nó PID recebe um ID a sua entrada e gera o pseudônimo correspondente PID a sua saída. Formalmente, um nó PID realiza um mapeamento injetor ID ^ PID, onde o mapeamento pode depender de uma fonte de dados particular e, possivelmente, de identificadores individuais ou subconjuntos de identificadores para uma dada fonte de dados. A qualquer momento, cada fonte de dados usa o mesmo ID para o mesmo usuário, isto é, um DS não pode usar dois IDs diferentes para o mesmo usuário ao mesmo tempo; mas, em tempo, o ID de um usuário usado por um DS pode mudar (por exemplo, se o ID for temporário). Deveria ser notado que se o mapeamento ID ^ PID realizado pelo nó PID não for injetor, então subconjuntos de IDs resultando em um mesmo PID são tratados efetivamente como um único usuário. Como explicado acima, é assumido implicitamente que os IDs equivalentes (identidades ou indivíduo ou subconjuntos de identificadores compondo as identidades) se originando de fontes de dados diferentes e os pseudônimos correspondentes são indexados pelas fontes de dados respectivas. Por conseguinte, uma identidade com relação a uma certa fonte de dados é transformada em um único PID se todos os identificadores incluídos na identidade forem transformados juntamente. Alternativamente, se os identificadores incluídos na identidade forem transformados individualmente, então a identidade é transformada em um conjunto ordenado PID de pseudônimos individuais, cada um correspondendo aos identificadores individuais ou seus subconjuntos. Até mesmo mais geralmente, se um nó PID receber um conjunto {ID} de IDs equivalentes correspondendo a uma ou mais fontes de dados indexadas a sua entrada, então gera um conjunto correspondente {PID} de pseudônimos equivalentes a sua saída. Para proteção de privacidade, é assumido que os nós PID são confiados, para não revelar as associações de ID ^ PID a entidades não autorizadas. Cada nó PID pode ser implementado como um servidor de computador seguro em uma rede de computadores ou como um módulo de segurança de hardware resistente à violação (HSM).
[00049] Nós D (como nós D 1151 - 1158 no exemplo considerado) lidam com os dados de usuário a serem perfilados dentro da DPN, isto é, nós D geram perfis de dados dos usuários.
[00050] Os nós D do DPN podem ser nós D de entrada, nós D intermediários e nós D de saída.
[00051] Um nó D de entrada (como nós D 1151 - 1153 e 1155 no exemplo considerado) recebe dados de entrada brutos diretamente de pelo menos uma fonte de dados (no exemplo considerado, nó D de entrada 1151 recebe dados de entrada brutos diretamente de fonte de dados DS1 (1201) e DS2 (1202); nó D de entrada 1152 recebe dados de entrada brutos diretamente de fonte de dados DS3; nó D de entrada 1153 recebe dados de entrada brutos diretamente de fontes de dados DS3 (1203) e DS4 (1204); e nó D de entrada 1155 recebe dados de entrada brutos diretamente de fonte de dados DS2) e, possivelmente, recebe dados de entrada de outros nós D igualmente (como por exemplo, nó D de entrada 1155, que recebe dados de entrada brutos também de D nó 1151). Nós D de entrada de primeiro nível recebem dados de entrada brutos só diretamente de pelo menos uma fonte de dados, e não de outros nós D (isto é, por exemplo, o caso de nós D 1151, 1152, 1153).
[00052] Um nó D intermediário recebe dados de entrada só de outros nós D (e não de qualquer fonte de dados) e, ao processar, provê dados de saída para outros nós D, mas não diretamente para os usuários. Por conseguinte, basta que os nós D intermediários implementem só armazenamento temporário de dados de saída. No exemplo considerado, nó D 1156 é um nó intermediário se não fizer disponíveis dados de saída diretamente aos usuários.
[00053] Um nó D de saída recebe dados de entrada de fontes de dados ou outros nós D e, ao processar, provê dados de saída diretamente aos usuários e, possivelmente, para outros nós D igualmente. Por conseguinte, nós D de saída implementam armazenamento permanente de dados de saída, por exemplo, na forma de banco de dados ou qualquer outra memória não volátil. No exemplo considerado, nós D 1154, 1157, 1158 são nós D de saída, desde que eles não fazem disponíveis dados de saída para outros nós D. Um tipo especial de nós D de saída são nós D de usuário, armazenando perfis de dados de usuário no equipamento de usuário (por exemplo, computadores pessoais de telefones móveis).
[00054] A conexão orientada entre um DS genérico e um nó D genérico (como a conexão orientada 125 entre o DS 1201 e o nó D 1151 no exemplo considerado) e entre dois nós D genéricos na DPN (como a conexão orientada 1301 entre nó D 1151 e nó D 1154, e a conexão orientada 1302 entre nó D 1151 e nó D 1155 no exemplo considerado) é chamado um "canal de dados" ou simplesmente um "canal". Todos os dados transmitidos entre DSs e nós D e entre nós D através de canais de dados são tornados pseudoanônimos, isto é, etiquetados por pseudônimos dinâmicos, que, de acordo com a presente invenção, podem ser usados para ligar juntos os dados correspondendo ao mesmo usuário a momentos diferentes, aplicando o método de pseudonimização dinâmico descrito na sequência.
Funcionalidade de Nós D
[00055] Um nó D na DPN pode ter várias entradas e várias saídas conectadas a outros nós D através de canais de saída (se referindo ao exemplo considerado, nó D 1151 tem duas saídas, conectadas respectivamente a nó D 1154 e D nó 1155 por um canal de saída respectivo 1301 e 1302). Uma saída genérica de um nó D pode ser conectada a um ou mais entradas de outros nós D através de canais de saída individuais. Como explicado acima, se um nó D for um nó D de saída, então pode existir saídas do nó D sem qualquer canal de saída: neste caso, os dados de saída correspondentes não são enviados para outros nós D, mas deveriam ser acessíveis por usuários autorizados. Cada entrada para um nó D está conectada a uma fonte de dados (DS) ou a outro nó D por um canal de entrada, que provê os dados de entrada correspondendo a usuários diferentes e etiquetados por pseudônimos.
[00056] Deixe as entradas e saídas individuais para um nó D genérico serem indexadas por j e k, respectivamente. Então, os dados de entrada tornados pseudoanônimos recebidos por um D nó podem ser armazenados temporariamente em um registro de dados de entrada {(j, Datain, PIDin)}, onde j é o índice identificando a j-ésima entrada do nó D, Datain são os dados de entrada recebidos pelo nó D na j-ésima entrada, e o pseudônimo de entrada PIDin é um pseudônimo de valor único ou um pseudônimo de multivalores, isto é, um conjunto ordenado de valores de pseudônimo representando os dados de entrada Datain para a j-ésima entrada. Semelhantemente, os dados de saída tornados pseudoanônimos de um nó D podem ser armazenados em um registro de dados de saída {(k, Dataout, PIDout)}, onde k é o índice identificando a k-ésima saída do nó D, Dataout são os dados de saída, e o pseudônimo de saída PIDout é um pseudônimo de valor único representando os dados de saída Dataout para a k-ésima saída. O pseudônimo de saída é assumido levar um valor único por simplicidade, enquanto o pseudônimo de entrada pode levar múltiplos valores se os dados de entrada forem recebidos diretamente de um DS. Para distinção, pseudônimos de entrada de multivalores são doravante também denotados como (PIDin). Deveria ser notado que o pseudônimo de saída do PIDout da k-ésima saída não é precisado se esta saída não tiver nenhum canal de saída associado. Os registros de dados de entrada e saída podem ser armazenados juntos em um registro de dados conjunto ({(j, Datain, PIDin)}; {(k, Dataout, PIDout)}) correspondendo a um usuário anônimo. Se os registros de dados de entrada e saída forem armazenados separadamente, então eles deveriam compartilhar pseudônimos de entrada e saída em comum, que apontam ao mesmo usuário anônimo. Figura 2 mostra esquematicamente um nó D 115 com três entradas 2051, 2052, 2053, com registros de dados de entrada associados 2101, 2102, 2103, e duas saídas 2151, 2152, com registros de dados de saída associados 2201, 2202.
[00057] Uma DPN pode ser representada por um gráfico dirigido consistindo em nós D e DSs atuando como nós de entrada externos. A suposição subjacente é que o gráfico não dirigido correspondente está conectado. Caso contrário, a DPN poderia ser dividida em vários componentes separados funcionando separadamente entre si.
[00058] De acordo com a forma de realização exemplar descrita aqui do método de pseudonimização dinâmico da presente invenção, os pseudônimos de entrada e saída armazenados nos registros de dados ({(j, Datain, PIDin)}; {(k, Dataout, PIDout)}) dos nós D na DPN mudam em tempo de um modo que habilita cada nó D achar em cada momento o registro de dados certo correspondendo aos dados de entrada tornados pseudoanônimos recebidos. O paradigma principal habilitando esta funcionalidade é que em cada momento, o novo pseudônimo de entrada de um nó D (nó D receptor) está definido como o último novo pseudônimo de saída recebido do nó D prévio correspondente (nó D remetente) na DPN. Consequentemente, o pseudônimo de entrada antigo do nó D receptor armazenado em seu registro de dados de entrada {(j, Datain, PIDin)} é assim igual ao pseudônimo de saída antigo do nó D remetente, armazenado no registro de dados de saída {(k, Dataout, PIDout)} do nó D remetente, recebido pelo nó D receptor no passado. Isto habilita o nó D receptor achar o registro de dados de usuário certo usando o pseudônimo de saída antigo, que precisa ser enviado pelo D nó remetente junto com o novo pseudônimo de saída. O pseudônimo de saída antigo recebido então casará com o valor armazenado do pseudônimo de entrada antigo no registro de dados de entrada respectivo do nó D receptor, correspondendo ao usuário certo, contudo anônimo, contanto que este valor já exista na tabela de registros de dados armazenados do nó D receptor. Ao achar o registro de dados certo, o novo pseudônimo de saída recebido é então substituído pelo pseudônimo de entrada antigo armazenado (isto é, o novo pseudônimo de saída recebido se torna o novo pseudônimo de entrada).
[00059] Um nó D acumula dados de entrada e atualiza dados de saída (isto é, perfis de usuário) processando os dados de entrada acumulados em tempos determinados (por exemplo, periodicamente). Entre duas atualizações sucessivas, os dados de entrada são só acumulados e, consequentemente, Datain denota todos os dados de entrada acumulados para um certo usuário desde a última atualização, para qualquer dada entrada de nó D. Por outro lado, como descrito acima, para qualquer dada entrada, os pseudônimos de entrada não são acumulados, mas são só renovados aos valores novos recebidos e, consequentemente, em cada momento, PIDin denota o pseudônimo de entrada mais recente (desde a última atualização) do nó D receptor, que é igual ao último valor de pseudônimo de saída recebido do nó D remetente respectivo.
[00060] Os dados de saída de um nó D são atualizados (isto é, substituídos por um novo valor computado) processando os dados de entrada acumulados de um modo sem estado ou com estado; um nó D atualizando os dados de saída de um modo sem estado é chamado um "D nó sem estado", enquanto um D nó atualizando os dados de saída de um modo com estado é chamado um " nó D com estado". Por atualização sem estado é significado que para cada saída de nó D, os dados de saída Dataout são computados como uma função de {(j, Datain)}, enquanto por atualização com estado é significado que para cada saída de nó D, os dados de saída Dataout são computados como uma função de {(j, Datain)} e a variável adicional S chamada o estado correspondendo àquela saída de nó D. Além disso, porque cada saída de nó D, o estado S é atualizado como uma função do estado prévio e {(j, Datain)}. Isto implica que o registro de dados de saída de um nó D com estado contém {(k, S, Dataout, PIDout)}, onde S é o estado para a k- ésima saída de nó D. Por exemplo, se os dados de saída estiverem definidos como o valor médio dos dados de entrada atuais e dados de entrada prévios através de um período de tempo passado, então o estado inclui todos os dados de entrada prévios que são precisados para a computação do valor médio. É assumido que a atualização ocorre ao mesmo tempo para todas as entradas de nó D (se não, então um nó D pode ser dividido logicamente em vários nós D). Depois de cada atualização, os dados de entrada (temporários) Datain são apagados do registro de dados de entrada, que então se torna simplesmente {(j, PIDin)}, isto é, só os pseudônimos de entrada permanecem para serem armazenados.
[00061] Se um nó D tiver pelo menos um canal de saída conectado a suas saídas, então, em tempos determinados, os dados de saída Dataout são enviados através dos canais de saída respectivos para os nós D correspondentes na DPN (por exemplo, nó D 1151 envia os dados de saída Dataout para nó D 1154 através do canal de saída 1301). Em particular, isto pode ocorrer depois de cada atualização dos dados de saída. Enviar os dados de saída não precisa ocorrer ao mesmo tempo para todas as saídas de nó D. Para os dados de saída Dataout serem enviados, o pseudônimo de saída antigo PIDoutold está definido como o valor prévio (armazenado) de PIDout e o pseudônimo de saída PIDout é atualizado computando o novo valor de pseudônimo de saída como uma função dos pseudônimos de entrada atuais {(PIDin)} de todas as entradas (na hora de envio). Preferivelmente, esta função deveria ser sensível a mudanças de uma ou mais entradas individuais. Em particular, se os pseudônimos de entrada atuais {(PIDin)} contiverem só um valor de pseudônimo PIDin, então o novo pseudônimo de saída PIDout pode ser definido como PIDout=PIDin. Mais geralmente, o pseudônimo de saída PIDout pode ser definido como a operação lógica XOR de pseudônimos de entrada individuais representados como carreiras binárias. Os dados de saída Dataout são então enviados juntos com os valores antigos e novos do pseudônimo de saída correspondente PIDoutold, PIDout, isto é, como a trinca (Dataout, PIDoutold, PIDout). Como explicado acima, o registro de dados de usuário certo no nó D receptor pode então ser achado usando o pseudônimo de saída antigo transmitido PIDoutold, desde que no nó D receptor este valor coincide com o valor armazenado do pseudônimo de entrada no registro de dados respectivo. Ao achar o registro de dados de usuário certo, o valor de pseudônimo de entrada no registro de dados de entrada do nó D receptor é então renovado ao novo valor PIDout.
[00062] O processo descrito acima está esquematizado na Figura 4, em que dois nós D interconectados genéricos 115a e 115b são mostrados, nó D 115a sendo o nó D remetente e nó D 115b sendo o nó D receptor. O desenho mostra a evolução dos dois nós D 115a e 115b, em termos dos dados e valores de PID armazenados nos registros de saída e entrada disso, antes e depois que os dados de saída são enviados pelo nó D remetente 115a antes e depois de uma atualização no nó D receptor 115b.
[00063] Se um nó D for um nó D intermediário, então os dados de saída (temporários) Dataout são apagados do registro de dados de saída depois que são enviados através dos canais de saída respectivos, enquanto o pseudônimo de saída permanece armazenado (a fim de ser enviado junto com o novo pseudônimo de saída futuro no próximo envio dos dados de saída atualizados Dataout). A parte correspondente do registro de dados de saída para a k-ésima saída então de um nó D intermediário se torna (k, S, PIDout). Para o apagamento ser possível, é assumido que, se um nó D for intermediário e houver múltiplos canais de saída conectados à mesma saída de nó D, então enviar os dados de saída ocorre ao mesmo tempo através de todos estes canais de saída.
[00064] Se um nó D for um nó D de saída, então os dados de saída Dataout são armazenados a fim de serem acessíveis por usuários autorizados. Neste caso, pode ou não existir canais de saída e, se canais de saída existirem, então os dados de saída não são apagados depois que são enviados através dos canais de saída respectivos. Em particular, os canais de saída podem conduzir a nós D de usuário. Se canais de saída não existirem para uma dada saída, então o pseudônimo de saída PIDout não é precisado na realidade para aquela saída, porque os dados de saída Dataout podem ser achados e acessados usando quaisquer dos pseudônimos de entrada atuais correspondentes de {(PIDin)}, como descrito mais tarde.
[00065] A funcionalidade de um nó D de entrada com relação aos dados de entrada tornados pseudoanônimos recebidos diretamente de um DS em vez de outro nó D é análoga, com a única diferença sendo que o novo pseudônimo de saída recebido de um DS pode ser um pseudônimo de valor único (como é o caso para qualquer nó D que não é um nó de entrada) ou um pseudônimo de multivalores, isto é, um conjunto ordenado de pseudônimos correspondendo a identificadores diferentes ou subconjuntos de identificadores do mesmo usuário com relação ao dado DS. Este novo pseudônimo de saída de valor único ou multivalores PIDout é gerado, no pedido do DS, por um nó PID (tal como o nó PID 110 no exemplo considerado) e enviado ao DS junto com o pseudônimo de saída antigo de valor único ou multivalores ou um conjunto de pseudônimos de saída de candidato antigos. Por conseguinte, quando o nó D de entrada receptor acha o registro de dados certo, então o pseudônimo de entrada PIDin do nó D de entrada receptor é fixado igual ao novo pseudônimo de saída de valor único ou multivalores PIDout recebido do DS remetente, respectivamente. Por outro lado, como descrito previamente, quando os dados de entrada tornados pseudoanônimos são recebidos de outro nó D, então o pseudônimo de saída recebido sempre é um pseudônimo de valor único PIDout gerado pelo nó D remetente e consequentemente o pseudônimo de entrada correspondente PIDin do nó D receptor é então um único pseudônimo.
Funcionalidade de Nós PID
[00066] Um nó PID (tal como o nó PID 110 na DPN exemplar considerada aqui) opera na DPN como uma entidade de serviço em relação a fontes de dados e nós ID. O nó PID pode receber um ID como um único identificador ou uma identidade (conjunto de identificadores) de um DS pedinte (como um dos quatro DSs 1201 - 1204, no exemplo considerado) a sua entrada, em que caso o nó PID gera o novo PID de valor único correspondendo a sua saída e então envia de volta este PID recentemente gerado ao DS pedinte, junto com o conjunto de possíveis valores antigos do PID. Se um nó PID receber a sua entrada de um DS um ID como um conjunto ordenado de identificadores ou subconjuntos disso a ser transformado individualmente, então o PID nó gera o novo PID de multivalores correspondente como um conjunto ordenado de valores de PID a sua saída, e envia de volta este novo PID de multivalores ao DS, junto com o conjunto de possíveis valores antigos do PID. Em um caso especial, se os novos valores de pseudônimo coincidirem com os valores de pseudônimo antigos, então o pseudônimo não é mudado efetivamente. Alternativamente, se um nó PID receber um conjunto {ID} de IDs equivalentes do nó ID (como o nó ID 105 na Figura 1), onde os IDs equivalentes são indexados pelos DSs respectivos, então o nó PID reproduz o conjunto indexado atual correspondente {PID} a sua saída, e envia este conjunto {PID} para o ID nó.
[00067] A suposição subjacente é que cada identificador tornado pseudoanônimo ou identidade é uma representação única de um usuário no dado ambiente (global ou local), com probabilidade 1 ou com uma probabilidade muito alta. Em uma forma de realização da presente invenção, os PIDs antigos e novos gerados pelo nó PID são transmitidos juntamente a um DS pedinte, preferivelmente em uma forma codificada e autenticada, a ser então remetida pelo DS aos nós D de entrada correspondentes junto com os dados de entrada brutos relacionados com um usuário anônimo. Para privacidade, o DS não armazena quaisquer dados, identidades, identificadores, ou os pseudônimos correspondentes. É assumido que os nós D de entrada compartilham com o nó PID as chaves correspondentes precisadas para a decifração e autenticação.
[00068] Um nó PID pode gerar um PID dinâmico aleatoriamente, pseudoaleatoriamente, ou como uma função chaveada do ID de entrada, onde a chave secreta usada é dinâmica, isto é, muda em tempo. A função chaveada pode ser definida em termos de funções de reedição de codificação e criptográficas. Pseudônimos dinâmicos variam em tempo, possivelmente, de um modo dependendo de um DS particular. Pseudônimos podem ser mudados periodicamente, a tempos predefinidos, ou de uma maneira baseada em evento, na ocorrência de certos eventos. Em particular, eventos ativando a mudança de pseudônimo podem ser definidos pelos DSs (por exemplo, iniciação do processo de aquisição de dados tal como uma sessão de IP na Internet ou um acesso a um dado site da Web) ou pelo próprio nó PID (por exemplo, em termos dos períodos de validade e tempos de vencimento associados com os pseudônimos gerados). PIDs aleatórios e pseudoaleatórios precisam ser armazenados seguramente na tabela (ID, PID) do nó PID, enquanto PIDs chaveados não precisam ser armazenados, desde que um novo PID pode ser gerado a qualquer momento usando a chave secreta atual, enquanto um conjunto de possíveis PIDs antigos pode ser reproduzido usando um conjunto de possíveis chaves de segredo antigas que podem ter sido usadas no passado, com relação a um dado período de validade. Por conseguinte, a qualquer momento, a tabela (ID, PID) do nó PID armazena os PIDs gerados mais recentes. Deveria ser notado que desde que na prática o espaço de todos os possíveis IDs não é normalmente muito grande, armazenar a tabela (ID, PID) em um meio de armazenamento é possível usando tecnologias atuais. Por armazenamento seguro é significado que as entradas de PID deveriam ser armazenadas codificadas e que a chave de criptografia de memória deveria ser armazenada seguramente em hardware ou software.
[00069] A qualquer momento, o mapeamento (ID, PID) deveria ser injetor em um conjunto de possíveis IDs, isto é, IDs diferentes deveriam ser mapeados em PIDs diferentes. A função chaveada e seu inverso deveriam ser difíceis de computar com as tecnologias atuais se a chave for desconhecida. Em particular, isto implica que a chave deveria ser praticamente imprevisível (por exemplo, uma chave de 128 bits). A capacidade de injeção pode ser garantida tanto teoricamente, com probabilidade 1, ou praticamente, com uma probabilidade muito alta. Por exemplo, a capacidade de injeção está teoricamente garantida se uma função de criptografia for escolhida para a função chaveada e está garantida com uma probabilidade muito alta se a função chaveada estiver definida como uma reedição criptográfica da saída de uma função de criptografia ou uma reedição criptográfica de uma concatenação do ID de entrada e a chave secreta. Desde que, na prática, o espaço de todos os possíveis IDs não é normalmente muito grande, a capacidade de injeção pode a qualquer momento ser verificada separando os PIDs gerados para todos os possíveis IDs. Cada novo PID aleatório ou pseudoaleatório pode então ser gerado repetidamente até que a capacidade de injeção seja obtida. Alternativamente, se os PIDs forem escolhidos aleatoriamente de um espaço suficientemente grande, então a capacidade de injeção pode ser satisfeita com uma probabilidade muito alta e não precisa ser verificada.
[00070] Um nó PID pode implementar a funcionalidade de pseudonimização dinâmica para um DS individual ou por um conjunto de DSs (possivelmente todos eles, como o nó PID 110 no DPN exemplar da Figura 1). No caso de pseudônimos chaveados, a chave pode depender de um DS particular. Com relação a um dado DS, um nó PID pode implementar a funcionalidade de pseudonimização dinâmica para um identificador individual ou por um conjunto de identificadores (possivelmente todos eles). Os valores de pseudônimo, junto com os IDs respectivos, correspondendo a um único usuário (para DSs múltiplos e identificadores múltiplos para um único DS) são armazenados juntamente no mesmo registro de dados da tabela (ID, PID) de um dado nó PID. É assumido que um nó DS está conectado a todos os nós PID gerando os pseudônimos precisados. Como mencionado no antecedente, sem perda de generalidade, a multidão de nós PID servindo uma única DPN pode ser considerada como um único nó PID lógico, chamado o nó PID na presente invenção.
[00071] Se o nó PID armazenar uma tabela (ID, PID), então o valor antigo de um PID é recuperado diretamente da tabela, antes que o novo PID gerado seja substituído por este valor de PID antigo. Para um PID chaveado, que não está armazenado em uma tabela, o valor antigo que foi gerado usando uma chave antiga, não pode ser reproduzido se o valor usado da chave antiga for desconhecido. Neste caso, o nó PID gera um conjunto de PIDs de chaves antigas, do mesmo ID, usando um conjunto de chaves antigas que podem ter sido usadas em um período de validade adotado para os perfis de dados correspondentes, e então envia este conjunto PIDs de candidato antigo ao DS pedinte. Por exemplo, se T denotar o período de validade e TK o período de mudar a chave, então há |T/TK| valores de chave antigos que podem ter sido usados no último período de validade. Alternativamente, em uma solução com armazenamento, o nó PID armazena uma tabela (ID, IK), onde IK denota que o índice da chave usada para gerar o PID mais recente, junto com uma tabela segura (muito menor) (IK, K) mapeando os índices de chave nos valores de chave. A vantagem é que a tabela relativamente grande (ID, IK) não tem que ser armazenada seguramente. Neste caso, o PID antigo pode ser reproduzido a qualquer momento recuperando IK da primeira tabela e o K correspondente da segunda tabela armazenada seguramente.
Operação da DPN
[00072] Como mencionado acima, uma DPN, tal como a DPN exemplar 100 na Figura 1, consiste em nós D (tais como nós D 1151 - 1158), nós PID (tal como nó PID 110) e nós ID (tal como ID nó 105), como também de DSs (tais como DSs 1201 - 1204) provendo entrada de dados brutos à DPN onde as pluralidades de nós ID e nós PID podem ser consideradas respectivamente como um único nó ID lógico e um único nó PID lógico, chamado aqui o nó ID e o nó PID, respectivamente. Como descrito no antecedente, os nós D de entrada de primeiro nível (tais como nós D 1151, 1152, 1153 na Figura 1) têm entradas conectadas a canais de entrada só vindo de DSs, enquanto outros nós D de entrada podem receber canais de entrada ambos de DSs e outros nós D. Os nós D estão conectados juntos por canais de dados em uma rede que pode ser representada por um gráfico acíclico ou cíclico. Os nós D de saída armazenam e proveem dados de saída a usuários autorizados, enquanto os nós D intermediários armazenam temporariamente e proveem dados de saída a outros nós D somente.
[00073] Como esquematizado na Figura 3, cada DS (um DS genérico 120 é mostrado na Figura 3) ocasionalmente envia os dados de entrada brutos tornados pseudoanônimos relacionados com um usuário anônimo aos nós D de entrada conectados a isso, por exemplo, simultaneamente (na Figura 3, é mostrado um nó D genérico 115). Mais precisamente, dados de entrada brutos Dataraw são enviados juntos com os valores antigos e novos do pseudônimo de saída correspondente, que o DS recebeu do nó PID, isto é, como a trinca (Dataraw, {PIDoutold}, PIDoutnew). Todos os pseudônimos são preferivelmente codificados juntamente e autenticados, as chaves de criptografia e verificação sendo armazenadas seguramente nos nós D de entrada respectivos (assim, como descrito na Figura 3, a trinca enviada pelo nó DS 120 é de fato (Dataraw, Enc({PIDoutold}, PIDoutnew)). O nó DS armazena temporariamente os dados enviados junto com o ID, como o registro de dados (ID, Dataraw, {PIDoutold}, PIDout), que são apagados depois disso ao receber um reconhecimento do nó D de entrada, reconhecendo que os dados foram recebidos e armazenados com êxito.
[00074] Se os pseudônimos ou os índices das chaves usadas forem armazenados no nó PID, então o conjunto de possíveis pseudônimos antigos {PIDoutold} se reduz a um único pseudônimo antigo PIDoutold, que ele mesmo pode ser de valor único ou multivalores, dependendo de se os identificadores são tornados pseudoanônimos separadamente ou juntamente, respectivamente. O campo de PIDoutold está vazio se a entrada correspondente na tabela (ID, PID) no nó PID não existir, isto é, se o novo pseudônimo PIDout for gerado pelo nó PID pela primeira vez (porque é a primeira vez que, para esse usuário, um DS pede ao nó PID a geração de um pseudônimo). Se o campo de PIDoutold não estiver vazio, então, devido a uma submissão de dados prévia, existe um registro de dados em cada um dos nós D de entrada conectados que contém PIDoutold como a entrada de PIDin para aquele DS. O registro de dados certo em cada nó D receptor é então achado como o registro (único) contendo PIDoutold (PIDold na Figura 3) como a entrada de PIDin respectiva. Ao achar o registro de dados, o pseudônimo de entrada achado PIDin é então renovado ao novo valor recebido PIDout (PIDnew na Figura 3) e os dados brutos Dataraw são acumulados em Datain (na Figura 3, Datainnew é obtido acumulando Datainold e Dataraw).
[00075] Se não houver nenhuma tabela armazenada (ID, PID) no nó PID, então o conjunto de possíveis pseudônimos antigos {PIDoutold} geralmente contém múltiplos pseudônimos de candidato, obtidos do mesmo ID usando chaves antigas diferentes, com relação a um período de validade adotado. O registro de dados certo em cada nó D receptor, se existir, é então achado como o registro (único) contendo um dos pseudônimos antigos candidato {PIDoutold} como a entrada de PIDin para aquele DS. Ao achar o registro de dados certo, se existir, o pseudônimo de entrada achado PIDin é então renovado ao novo valor recebido PIDout e Dataraw é acumulado em Datain.
[00076] Cada DS pode ser implementado como uma família de DSs constituintes, todos conectados ao nó PID, onde cada DS constituinte envia para nós D só uma parte dos dados brutos Dataraw e, possivelmente, só uma parte de PIDout de multivalores que determina exclusivamente um usuário anônimo, e pode ou não ser atualizado a um novo valor. O registro de dados certo é então achado usando só a parte de PIDout de multivalores para a família de DS respectiva. Os DSs constituintes podem ser separados logicamente ou fisicamente.
[00077] Em uma forma de realização, um DS pode enviar aos nós D conectados a isso só um novo pseudônimo de saída PIDout atualizado a um novo valor, acompanhado por nenhum dado bruto Dataraw (para um pseudônimo de multivalores PIDout só alguns dos valores de pseudônimo constituintes podem ser atualizados). O pseudônimo é mudado tanto porque um dos identificadores temporários (por exemplo, um localizador tal como um endereço de IP) mudou ou o pseudônimo correspondendo a um dos identificadores permanentes precisa ser mudado a fim de evitar que o mesmo pseudônimo esteja sendo usado através de períodos longos (por exemplo, este pode ser o caso ao enviar dados brutos de alto volume Dataraw).
[00078] Em outra forma de realização, os dados brutos Dataraw são enviados juntos com só uma parte de PIDout, que não está atualizada a um novo valor, mas é suficiente para identificar um usuário. Por exemplo, um identificador temporário tal como um localizador (por exemplo, um endereço de IP através da Internet) pode ser usado para enviar os dados brutos, mas o pseudônimo correspondente não é exigido ser mudado cada vez que os dados brutos são enviados contanto que o identificador temporário permaneça o mesmo.
[00079] Se, a um nó D, os registros de dados buscados com pseudônimo armazenado PIDin casando com o pseudônimo recebido PIDoutold ou {PIDoutold} recebido de um DS remetente não for achado, então isto significa que tal DS está enviando os dados brutos relativo ao usuário respectivo pela primeira vez. Porém, é possível que o registro desse mesmo usuário já exista, devido ao fato que dados brutos relativos àquele usuário foram enviados ao nó D considerado no passado de outros DSs ou dados de saída relativos àquele usuário foram enviados ao nó D considerado no passado de outros nós D (este caso posterior se aplica a um nó D de entrada que não é um nó D de entrada de primeiro nível, isto é, um nó D de entrada que também pode receber dados de entrada de outro nó D). Isto pode ocorrer tanto se o campo de PIDoutold estiver vazio (no caso de pseudônimos armazenados) ou se não estiver vazio (no caso de pseudônimos chaveados que não estão armazenados). Em qualquer caso, o registro de dados buscado é inicialmente tentado ser achado usando os pseudônimos atuais de candidato correspondendo aos identificadores temporários (por exemplo, um localizador) que pode ser compartilhado em comum por vários DSs ou outros nós D, sob a suposição que os PIDs correspondentes também são os mesmos. Isto é, se o mesmo localizador (por exemplo, um endereço de IP) for usado simultaneamente para dois DSs diferentes (por exemplo, dois sites da Web na Internet), então o registro pode ser achado possivelmente usando o mesmo pseudônimo correspondente para qualquer um dos dois DSs.
[00080] Se este exame inicial de identificadores temporários comuns não produzir um registro de dados, então o registro de dados buscado é tentado ser achado invocando um procedimento doravante chamado o protocolo de correlação de ID, que envolve o DS respectivo e o nó ID usando os pseudônimos de candidato atuais enviados por outros DSs ou por outros nós D no passado. Consequentemente, o protocolo de correlação de ID é corrido cada vez que o registro de dados buscado não é achado no nó D de entrada respectivo, ao receber dados de entrada brutos tornados pseudoanônimos de um DS, usando os pseudônimos de candidato antigos enviados pelo DS junto com os dados de entrada brutos, contanto que exista outras entradas ao nó D de entrada e que o supracitado exame inicial de identificadores temporários comuns não achou um registro de dados correspondendo ao usuário considerado. Em particular, nem o exame inicial nem o protocolo de correlação de ID é executado se existir só uma entrada ao nó D de entrada, vindo do DS considerado. Antes de executar o protocolo de correlação de ID, o nó D de entrada armazena a trinca recebida (Dataraw, {PIDoutold}, PIDout). É assumido que a cada nó D de entrada na DPN é nomeado um identificador estático único (por exemplo, um índice de nó D).
[00081] O protocolo de correlação de ID é iniciado pelo nó D de entrada receptor que gera, armazena e envia de volta ao DS remetente uma mensagem iniciando o protocolo de correlação de ID. A mensagem de iniciação contém um identificador de mensagem incluindo um valor aleatório (um "número usado uma vez") gerado localmente pelo nó D de entrada (por exemplo, uma marca de tempo ou um número de série) e o identificador (por exemplo, o índice de nó D) do nó D de entrada que deveria ser único na DPN. Esta mensagem de iniciação também contém os pseudônimos antigos candidatos recebidos PIDoutold ou {PIDoutold}. Ao receber esta mensagem do nó D de entrada, o DS acha o ID correspondente do registro de dados armazenado temporariamente (usando os pseudônimos antigos candidatos)) e envia isto ao nó ID pedindo para os PIDs atuais de candidato correspondendo aos IDs equivalentes do usuário, com relação a todos os DSs na DPN, serem reproduzidos. O nó ID então gera o conjunto correspondente {(i, ID)} dos IDs de usuário equivalentes, indexados pelos DSs respectivos, e envia este conjunto ao nó PID. Deveria ser notado que se o nó ID armazenar só os identificadores permanentes, então cada ID gerado, embora consistindo só em identificadores permanentes, também determina exclusivamente o usuário. Baseado no conjunto recebido {(i, ID)}, o nó PID reproduz o conjunto correspondente de pseudônimos atuais de candidato {(i, {PIDoutold})} a sua saída e os envia, preferivelmente codificados e autenticados, para os DSs respectivos junto com o identificador de mensagem de iniciação. No caso de pseudônimos armazenados, este conjunto de pseudônimos de candidato atuais {(i, {PIDoutold})} também pode incluir os pseudônimos já armazenados para identificadores temporários que foram recebidos diretamente dos DSs no passado. No caso que o nó PID não armazena os pseudônimos, este conjunto só contém os pseudônimos para identificadores permanentes recebidos do nó ID. O protocolo de correlação de ID continua então por uma fase de inundação dianteira, descrita abaixo.
[00082] Cada DS, exceto o DS remetente que enviou os dados de entrada brutos ao nó D iniciando o protocolo de correlação de ID, remete o conjunto codificado e autenticado recebido de pseudônimos atuais de candidato para os nós D de entrada vizinhos na DPN, à qual está conectado, junto com o identificador de mensagem de iniciação recebido, sem quaisquer dados de entrada brutos. Cada nó D de entrada vizinho então decifra e autentica os pseudônimos atuais de candidato recebidos. Agora, se um dos nós D de entrada é do nó D que iniciou o protocolo de correlação de ID (isto é, o nó D com o mesmo identificador de nó D como o contido no identificador de mensagem de iniciação), então este nó D de entrada armazena a mensagem recebida contanto que o identificador de mensagem de iniciação na mensagem recebida case com um dos identificadores de mensagem de iniciação armazenada, caso contrário apaga a mensagem se não houver nenhum casamento (devido a falhas). Caso contrário, se o identificador de mensagem de iniciação recebido contiver um identificador de nó D diferente, então um nó D de entrada procede remetendo uma mensagem modificada a todos os nós D vizinhos subseqüentes na DPN, por cada uma de suas saídas, onde a modificação consiste em substituir os pseudônimos atuais de candidato recebidos pelos pseudônimos atuais de saída correspondentes, contanto que um registro de dados seja achado. Isto é alcançado achando o registro de dados, se existir, usando cada pseudônimo atual de candidato recebido como um pseudônimo de entrada e tirando o pseudônimo de saída atual correspondente da saída respectiva. Cada nó D na DPN (com um identificador de nó D diferente) então procede da mesma maneira remetendo a mensagem contendo o mesmo identificador de mensagem e o pseudônimo atual substituído aos nós D vizinhos subseqüentes na DPN. No caso de nós D conectados ciclicamente, uma mensagem com o mesmo identificador de mensagem de iniciação não é remetida pelo mesmo nó D mais de uma vez.
[00083] Consequentemente, o nó D de entrada que iniciou o protocolo de correlação de ID receberá e armazenará, dentro de um prazo adotado, um conjunto de mensagens com o mesmo identificador de mensagem de iniciação, casando um dos identificadores de mensagem armazenados, contendo os pseudônimos atuais de candidato para todas as entradas conectadas a DSs ou outros nós D. O registro de dados buscado é então achado, se existir, usando este conjunto de pseudônimos atuais de candidato e procurando um casamento com um pseudônimo de entrada para a entrada respectiva. Se o registro de dados buscado não for achado, então o registro não existe mesmo e o nó D de entrada então cria um novo registro de dados usando o novo pseudônimo armazenado PIDout para o DS respectivo como o pseudônimo de entrada correspondente.
[00084] Em um cenário mais geral, se um D nó de recipiente (em particular, um nó D de entrada) for receber dados de entrada tornados pseudoanônimos de outro nó D em vez de um DS, e se, ao nó D de recipiente, o registro de dados buscado não é achado, então um procedimento que é uma versão modificada do protocolo de correlação de ID, doravante chamado o protocolo de correlação de PID, é usado. Isto é, no protocolo de correlação de ID, o nó de DS enviando os dados é capaz de enviar o ID correspondente (isto é, o ID correspondendo ao pseudônimo que é enviado ao nó D junto com os dados) para o nó ID, devido ao fato que o DS armazena temporariamente um registro de dados contendo o ID. Porém, um nó D enviando os dados não conhece o ID de usuário por qualquer um dos DSs, mas só os pseudônimos de entrada e saída atuais e um novo valor gerado do pseudônimo de saída, onde os valores antigos e novos do pseudônimo de saída são enviados ao nó D considerado, junto com os dados de saída.
[00085] O protocolo de correlação de PID é iniciado se o registro de dados buscados em um nó D de recipiente recebendo dados (perfil de dados relacionado a um certo usuário) de outro, nó D remetente e tendo pelo menos uma outra entrada não é achado usando o pseudônimo antigo enviado por dito nó D remetente, contanto que o supracitado exame inicial de identificadores temporários comuns falhou para achar um registro de dados. O objetivo do protocolo de correlação de PID é achar o registro de dados buscados usando os pseudônimos atuais enviados por outros nós D remetentes ou os pseudônimos atuais de candidato enviados por DSs ao nó D de recipiente sob consideração. O protocolo de correlação de PID consiste nas fases reversa e dianteira descritas com relação ao protocolo de correlação de ID, onde a fase dianteira consiste na inundação dianteira como no protocolo de correlação de ID. Porém, a fase reversa é mais complexa do que no protocolo de correlação de ID, porque a mensagem iniciando o protocolo de correlação de PID não é enviada diretamente a um DS que enviou os dados de entrada brutos e que armazena temporariamente o ID de usuário correspondente. Ao invés, a mensagem de iniciação de protocolo de correlação de PID é enviada a um nó D enviando ao nó D de recipiente os dados de saída, e o nó D remetente não tem conhecimento do ID de usuário correspondente.
[00086] A fase reversa do protocolo de correlação de PID consiste em reversão do nó D de recipiente que recebeu os dados de saída junto com os valores antigos e novos do pseudônimo de saída de outro, nó D remetente, na forma (Dataout, PIDoutold, PIDout). A fase reversa começa pelo nó D recipiente enviando a mensagem iniciando o protocolo de correlação de PID a este nó D remetente, onde a mensagem contém PIDoutold. Este nó D remetente podem então remeter a mensagem de volta por pelo menos um de seus canais de entrada (por exemplo, todos eles) provendo os dados de entrada contribuindo a seu Dataout associado com PIDoutold onde, para cada uma das entradas envolvidas, o pseudônimo de entrada atual PIDin correspondendo àquela entrada está contido na mensagem enviada de volta por aquela entrada ao nó D remetente prévio correspondente na DPN. Desde que o PIDin enviado coincide com o pseudônimo de saída PIDout do nó D prévio, este nó D pode achar o registro de dados respectivo correspondendo ao PIDout e recuperar os pseudônimos de entrada correspondentes PIDin para as entradas existentes. O processo de rastreamento reverso assim continua para trás, de qualquer nó D alcançado a pelo menos um D nó prévio conectado a esse nó D alcançado, cada vez substituindo o pseudônimo de entrada atual correspondente do nó D atual para o pseudônimo de entrada recebido na mensagem, até que, finalmente, a mensagem alcance pelo menos um DS (por exemplo, todos eles) contribuindo aos dados de saída Dataout recebidos pelo nó D iniciando o protocolo de correlação de PID. Esta mensagem assim contém o pseudônimo de entrada correspondente PIDin como o último pseudônimo de saída PIDout enviado pelo DS e gerado pelo nó PID (para o usuário respectivo). Este processo de rastreamento reverso é assim habilitado essencialmente pelas cadeias existentes de pseudônimos armazenados (como esquematizado na Figura 5), onde, de acordo com o método proposto na presente invenção, em cada momento, o pseudônimo de entrada atual de qualquer nó D na DPN é igual ao pseudônimo de saída atual do nó D prévio conectado a este nó D.
[00087] O DS alcançado não pode reconstruir o ID do pseudônimo recebido PIDin, que é igual ao último pseudônimo PIDout enviado por aquele DS, devido ao fato que qualquer DS só armazena temporariamente o ID e o apaga depois de receber o reconhecimento de um nó D recipiente conectado a isso, mas o DS alcançado pode remeter a mensagem ao nó PID. Alternativamente, o processo de rastreamento reverso pode parar quando a mensagem alcança pelo menos um nó D de entrada, que recebe pelo menos uma entrada de um DS. Este D nó de entrada então produz a mesma mensagem e a envia diretamente ao nó PID, em vez de remetê-la pelo DS respectivo. Agora, como no protocolo de correlação de ID, o nó PID deveria reproduzir o conjunto correspondente de pseudônimos atuais de candidato equivalentes {(i, {PIDoutold})} a sua saída e enviá-los, codificados, e autenticados, para os DSs respectivos, junto com o identificador de mensagem, a fim de iniciar a fase de inundação dianteira do protocolo de correlação de PID, que é o mesmo como no protocolo de correlação de ID. Desde que isto não pode ser feito usando o conjunto de IDs equivalentes produzidos pelo nó ID como no protocolo de correlação de ID, o nó PID deveria reproduzir diretamente o conjunto de todos os PIDs equivalentes ao PIDin recebido, que é válido para o DS do qual PIDin era recebido. Em princípio, há duas soluções para o problema dependendo de se o nó PID armazena a tabela (ID, PID) ou não.
[00088] No caso que o nó PID implementa um armazenamento dos PIDs, o nó PID procura pela tabela armazenada usando PIDin como chave de pesquisa, e então recupera o conjunto {(i, PIDoutold)} do registro achado. Este conjunto também pode conter os pseudônimos armazenados para identificadores temporários. No caso de pseudônimos chaveados sem armazenamento, a função chaveada usada deveria satisfazer uma exigência adicional que seu inverso deveria ser fácil de computar quando a chave é conhecida (por exemplo, pode ser definida como uma função de criptografia). O ID correspondente pode assim ser reconstruído pelo nó PID de PIDin e enviado ao nó ID na forma codificada e autenticada. Como no protocolo de correlação de ID, o nó ID então gera o conjunto correspondente {(i, ID)} de IDs equivalentes indexados pelos DSs respectivos e envia este conjunto gerado de volta ao nó PID na forma codificada e autenticada. O nó PID então reproduz o conjunto correspondente de pseudônimos atuais de candidato {(i, {PIDoutold})} a sua saída, usando as chaves antigas de candidato usadas no passado, como no protocolo de correlação de ID. Este conjunto só contém os pseudônimos para os identificadores permanentes recebidos do nó ID. Em ambos os casos, o nó PID então envia o conjunto recuperado ou reproduzido de pseudônimos, codificado e autenticado, para os DSs respectivos junto com o identificador de mensagem, para iniciar a fase de inundação dianteira como no protocolo de correlação de ID.
[00089] Em uma forma de realização da presente invenção, a fim de controlar a capacidade de ligação temporal de perfis de dados, a lei de privacidade, implementada por autoridades legais, deveria especificar os tempos máximos de capacidade de ligação para vários perfis de dados de usuário de interesse. Mais precisamente, a lei de privacidade deveria especificar os tempos máximos permitidos para manter os pseudônimos dinâmicos inalterados, para vários perfis de dados, onde estes tempos podem depender do período de validade de perfis de dados particulares. Desde que estes tempos podem ser prolongados efetivamente memorizando os valores passados dos pseudônimos dinâmicos, deveria ser proibido pela lei de privacidade que qualquer entidade lidando com dados brutos ou perfis de dados em uma DPN (isto é, um DS ou um nó D) possa nomear, armazenar e usar qualquer pseudônimo estático associado com os registros de dados de usuários individuais ou armazenar os valores antigos de pseudônimos dinâmicos gerados e usado no passado. Em particular, para prevenir os endereços de memória física de serem usados efetivamente como pseudônimos estáticos, um registro de dados nos nós D (especialmente, nos nós D de saída) deveria ser atualizado apagando o registro prévio e armazenando o conteúdo atualizado em um novo registro.
Acessando Perfis de Dados em DPN
[00090] Cada nó D de saída em uma DPN armazena os perfis de dados de usuários anônimos individuais como os dados de saída, os perfis de dados armazenados sendo marcados pelos pseudônimos dinâmicos de valor único ou multivalores correspondendo a entradas e saídas individuais do nó D. A qualquer momento, o valor atual de cada pseudônimo de entrada é o último pseudônimo recebido de um nó D prévio ou, diretamente, de um DS. Pseudônimos recebidos de um DS podem ser PIDs de valor único, correspondendo à identidade de usuário ID como um todo, ou PIDs de multivalores, correspondendo a subconjuntos de identificadores individuais incluindo a identidade. A qualquer momento, o valor atual de cada pseudônimo de saída é o último pseudônimo enviado a nós D subseqüentes, que foram gerados como um pseudônimo de valor único dos pseudônimos de entrada na hora de último envio. Os pseudônimos de saída são gerados e usados só para os dados de saída sendo enviados para outros nós D. Os dados de saída são atualizados processando dados de entrada acumulados em tempos determinados de atualização.
[00091] Na base de perfis de dados de usuários anônimos individuais, cada nó D de saída pode também armazenar quaisquer dados estatísticos computados dos perfis de dados individuais (por exemplo, por técnicas de cálculo de média ou contagem) e relacionados a certos subconjuntos de usuários, possivelmente todos eles. Em uma forma de realização da presente invenção, a cada nó D de saída, os perfis de dados e dados estatísticos são armazenados em uma forma codificada que pode ser decifrada só por usuários autorizados.
[00092] A qualquer momento, usuários autorizados podem ter acesso aos perfis de dados de saída e dados estatísticos armazenados em nós D de saída, onde a autorização pode ser definida pelas regras de controle de acesso e deveria ser complacente com a lei de privacidade. Para ambos os perfis de dados individuais e dados estatísticos, o nó D de saída e a saída específica desse nó D de saída armazenando os perfis de dados desejados deveriam ser especificadas. Para acessar os dados estatísticos, é suficiente ter a autorização necessária aceita pelo nó D de saída. Para acessar perfis de dados individuais de usuários anônimos, à parte da autorização, os perfis de dados pedidos deveriam ser especificados usando os respectivos pseudônimos de entrada e/ou saída (dinâmicos) de um modo praticamente significante. Os pseudônimos podem ser especificados tanto diretamente ou, alternativamente, pelos identificadores de usuário conforme a lei de privacidade, em qual caso o nó PID precisa ser envolvido para reproduzir os pseudônimos a partir dos identificadores de usuário especificados. Os próprios pseudônimos podem se relacionar ao nó de saída especificado ou a qualquer outro nó D na DPN tal como, por exemplo, qualquer nó D de entrada. No caso posterior, o nó D de saída especificado pode ser alcançado pelo processo de inundação dianteira descrito no antecedente. Alguns casos exemplares de especificar o perfil de dados individuais a ser acessado são descritos na sequência. Deveria ser notado que os casos não são necessariamente desconexos.
[00093] Em um primeiro caso exemplar, qualquer pseudônimo de entrada atual de um nó D de entrada escolhido que foi recebido diretamente de um DS no passado é usado para especificar o perfil de dados a ser acessado. Tal pseudônimo de entrada pode ser um pseudônimo de valor único correspondendo a um DS individual ou qualquer componente ou subconjunto de componentes de um pseudônimo de multivalores correspondendo a um DS. Mais geralmente, o usuário autorizado também pode usar qualquer subconjunto de tais pseudônimos.
[00094] A fim de acessar o perfil de dados pedido, o usuário autorizado envia o pseudônimo escolhido ao nó D de entrada escolhido junto com o identificador de um nó D de saída contendo o perfil de dados desejado a ser recobrado. O nó D de entrada então inicia o processo de inundação dianteira com a mensagem contendo o identificador de nó D de saída. O nó D de saída correspondendo a tal identificador então acha o perfil de dados pedido usando o último pseudônimo de entrada correspondente recebido de um nó D prévio ou diretamente de um DS, ao término da cadeia subjacente de pseudônimos dinâmicos (como esquematizado na Figura 5).
[00095] Em um segundo caso exemplar, o pseudônimo de entrada usado no primeiro caso exemplar para acessar um perfil de dados desejado é obtido pelo PID nó de um identificador de usuário temporário especificado, conforme a lei de privacidade. Em particular, o identificador de usuário temporário especificado pode definir a localização atual de um usuário anônimo visado (por exemplo, o endereço de IP atual na Internet). Neste caso, os perfil de dados recuperado do usuário pode ser usado para enviar informação comercial (por exemplo, anúncio personalizado) para o usuário em uma dada localização.
[00096] Em um terceiro caso exemplar, o pseudônimo de entrada usado do primeiro caso exemplar é obtido pelo nó PID de um identificador de usuário permanente especificado, conforme a lei de privacidade. A lei de privacidade deveria especificar os identificadores, os perfis de dados, os usuários autorizados, e as condições relacionadas para acessar e usar os perfis de dados de usuário. Em particular, se o identificador de usuário permanente especificado identificar exclusivamente o usuário (globalmente ou localmente), então a lei de privacidade deveria especificar a granularidade mínima de dados como o número mínimo de usuários por perfil de dados pedido para o acesso a ser permitido.
[00097] Em um quarto caso exemplar, o perfil de dados a ser acessado é especificado diretamente por um pseudônimo de entrada do nó D de saída escolhido armazenando o perfil de dados desejado. Tal pseudônimo de entrada pode ser recebido tanto de outro nó D ou de um DS, como no primeiro caso exemplar. Em particular, o nó D de saída escolhido pode ser um nó D de usuário armazenando um perfil de dados de um usuário particular no equipamento de usuário, onde o perfil de dados junto com o pseudônimo de entrada correspondente foi recebido de um nó D de banco de dados de saída, que armazena os perfis de dados de todos os usuários durante a última atualização de perfil de dados (aperiódica ou periódica) para aquele usuário. Neste caso, um usuário autorizado pode tanto recuperar diretamente o perfil de dados atualmente armazenado (antigo) do equipamento de usuário em uma dada localização, em qual caso o pseudônimo de entrada não é usado, ou pode acessar o mais recente perfil de dados do usuário no nó D de banco de dados usando o pseudônimo de entrada do equipamento de usuário como o pseudônimo de saída no nó D de banco de dados. O perfil de dados mais recentes recuperado do usuário, junto com o mais recente pseudônimo de entrada recebido, são então armazenados no equipamento de usuário e podem ser usados para enviar informação comercial (por exemplo, anúncio personalizado) para o usuário em uma dada localização.
Funcionalidade de DPN Combinada
[00098] Uma DPN combinada é um sistema composto de várias (duas ou mais) DPNs separadas. Cada DPN funciona separadamente, mas os conjuntos correspondentes de usuários não precisam ser separados. DPNs individuais podem assim compartilhar os usuários comuns. O objetivo principal de uma DPN combinada de acordo com a presente invenção é habilitar acesso conjunto a perfis de dados de um mesmo usuário armazenado em DPNs diferentes, sem mudar as DPNs individuais. É assumido que os perfis de dados estão armazenados em nós D de saída, que são especificados por seus identificadores, únicos para as DPNs respectivas. A combinação desejada de DPNs pode ser alcançada introduzindo um nó ID combinado formado fundindo, isto é, agregando os nós ID das DPNs individuais. Por conseguinte, o nó ID combinado implementa uma tabela combinada armazenando todas as identidades equivalentes do mesmo usuário, para DPNs diferentes e para fontes de dados diferentes de cada DPN, onde cada DPN é nomeada a um índice diferente para distinção.
[00099] Em uma forma de realização, um usuário autorizado acessando um perfil de dados em uma saída especificada (em seguida denotada como Out1) de um nó D de saída especificado (doravante denotado como D1) em uma dada DPN em um dado momento deseja acessar o perfil de dados do mesmo usuário, se existir, em uma saída especificada (doravante denotada como Out2) de um nó D de saída especificado (doravante denotado como D2) de outra DPN, que ela mesma está especificada pelo índice correspondente. As duas DPNs são doravante denotadas como DPN1 e DPN2, respectivamente. O usuário autorizado especifica o perfil de dados pedido em D1/Out1 de DPN1 por um pseudônimo ou por um identificador de usuário, como explicado acima. A fim de recobrar o perfil de dados pedido em DPN2, é necessário recuperar os pseudônimos de entrada ou saída atuais correspondendo ao mesmo usuário em D2 de DPN2.
[000100] Se o perfil de dados pedido em DPN1 for especificado por um identificador de usuário, então os pseudônimos correspondentes em DPN2 podem ser recuperados por uma variante do protocolo de correlação de ID, descrita na sequência. O protocolo é iniciado pelo nó D D1 armazenando e enviando uma mensagem ao nó ID combinado com o identificador de mensagem consistindo em um valor aleatório gerado localmente (por exemplo, uma marca de tempo ou um número de série), o identificador de D1/Out1 em DPN1, o identificador de D2/Out2 em DPN2, e os índices de DPN1 e DPN2. A mensagem contém um identificador de usuário em DPN1. Junto com a mensagem, o nó D D1 também armazena localmente o perfil de dados recuperado em D1/Out1 e um identificador do usuário autorizado. O nó ID combinado então recupera do identificador de usuário recebido todas as identidades equivalentes do mesmo usuário em DPN2 e as envia ao nó PID em DPN2. Como no protocolo de correlação de ID, o nó PID recupera os pseudônimos (candidato) correspondendo às identidades de usuário equivalentes para todos os DSs em DPN2 e então envia a mensagem com o mesmo identificador de mensagem para cada DS em DPN2 substituindo os pseudônimos recuperados (candidato) pelo identificador de usuário enviado originalmente no conteúdo de mensagem.
[000101] Remetendo a mensagem recebida aos nós D vizinhos em DPN2, cada DS então inicia a fase de inundação dianteira do protocolo com o objetivo de enviar o identificador de mensagem, junto com o pseudônimo de entrada atual para o mesmo usuário, para o nó de saída de destino D2. Por conseguinte, semelhantemente como no protocolo de correlação de ID descrito acima, cada nó D diferente de D2 procede remetendo a mensagem com o conteúdo modificado em que os pseudônimos de entrada recebidos (candidato) são substituídos pelo pseudônimo de saída correspondente aos nós D vizinhos subseqüentes em DPN2. Quando a mensagem alcança D2 por uma das entradas, D2 acha o registro de dados, se existir, usando o pseudônimo de entrada recebido ou pseudônimos de entrada de candidato e extrai o perfil de dados da saída especificada Out2, substitui este perfil pelos pseudônimos recebidos no conteúdo de mensagem, e envia esta mensagem para D1 (por exemplo, diretamente, usando uma rede de comunicação comum tal como a Internet). D1 recupera o perfil de dados armazenado previamente de D1/Out1 usando o identificador de mensagem recebido, anexa o perfil de dados recebido de D2/Out2, e então envia o perfil de dados conjunto ao usuário autorizado pedinte. Alternativamente, em vez da inundação dianteira, nós D em DPN2 podem usar as tabelas de roteamento (com localizadores apropriados) para remeter a mensagem somente a um dos nós D vizinhos subseqüentes, em vez de todos eles, como os protocolos de roteamento comuns em redes de comunicação padrão.
[000102] Se o perfil de dados pedido em DPN1 for especificado por um pseudônimo, então os pseudônimos correspondentes em DPN2 podem ser recuperados por uma variante do protocolo de correlação de PID descrita na sequência. A fase reversa do protocolo consiste em rastreamento reverso a partir de D1, que armazena e envia uma mensagem de iniciação para trás por pelo menos um canal de entrada (por exemplo, todos eles) provendo os dados de entrada contribuindo ao perfil de dados pedido em D1/Out1. Como acima, o identificador de mensagem consiste em um valor aleatório gerado localmente (por exemplo, uma marca de tempo ou um número de série), o identificador de D1/Out1 em DPN1, o identificador de D2/Out2 em DPN2, e os índices de DPN1 e DPN2. Junto com a mensagem, D1 também armazena localmente o perfil de dados recuperado em D1/Out1 e um identificador do usuário autorizado. A diferença é que a mensagem contém agora o pseudônimo de entrada correspondendo a uma entrada escolhida em vez de um identificador de usuário para especificar um perfil de dados em D1/Out1. Deveria ser notado que todos os pseudônimos de entrada podem ser recuperados de qualquer pseudônimo de entrada ou saída especificando exclusivamente o perfil de dados em D1/Out1.
[000103] Como no protocolo de correlação de PID, no processo de rastreamento reverso, qualquer nó D alcançado prévio remete a mensagem para trás a pelo menos um nó D prévio conectado àquele nó D, cada vez substituindo o pseudônimo de entrada atual correspondente pelo pseudônimo de entrada recebido na mensagem, até que, finalmente, a mensagem alcance pelo menos um nó D de entrada, que recebe pelo menos uma entrada de um DS em DPN1. Este nó D de entrada então recupera do registro de dados achado o pseudônimo de entrada correspondente PIDin recebido daquele DS como o último pseudônimo de saída PIDout enviado pelo DS e gerado pelo nó PID (para o usuário respectivo). Ao término da fase reversa, qualquer tal nó D de entrada envia uma mensagem com o mesmo identificador de mensagem contendo um pseudônimo (PIDout) para o nó PID em DPN1, ou diretamente ou pelo DS respectivo. Agora, como no protocolo de correlação de PID, o nó PID tanto recupera (no caso de armazenamento) ou reproduz (no caso sem armazenamento) o ID correspondente e o envia ao nó ID combinado, que então recupera do ID recebido todas as identidades equivalentes do mesmo usuário em DPN2 e as envia ao nó PID em DPN2. A fase dianteira do protocolo em DPN2 é então a mesma como descrita acima.
[000104] Em outra forma de realização, um nó D de saída de DPN1 pode, em um dado momento, desejar fundir um subconjunto de perfis de dados (por exemplo, todos eles) armazenados a uma ou mais de suas saídas com o subconjunto de perfis de dados correspondendo aos mesmos usuários armazenados a uma ou mais saídas de um nó D de saída especificado de DPN2. O subconjunto de perfis de dados em DPN1 está especificado através de pseudônimos. Então, cada pseudônimo correspondente em DPN2 pode ser recuperado individualmente pela variante do protocolo de correlação de PID descrita acima. Para este fim, cada identificador de mensagem criado deveria conter um valor aleatório diferente. Desde que os valores aleatórios efetivamente desempenham o papel de novos pseudônimos criados para fundir ou trocar os perfis de dados dos nós D em DPN1 e DPN2, eles podem introduzir capacidade de ligação temporal indesejada dos perfis de dados trocados, especialmente se os perfis de dados dos mesmos subconjuntos de usuários (anônimos) forem fundidos repetidamente, por exemplo, se os perfis de dados de todos os usuários estão fundidos. Consequentemente, os valores aleatórios deveriam preferivelmente ser gerados aleatoriamente ou pseudoaleatoriamente como pseudônimos de uma vez.
[000105] Em ainda outra forma de realização, em vez de recuperar os pseudônimos e perfis de dados individualmente, um depois de outro, é mais simples fazer isto juntamente usando uma lista de pseudônimos e valores aleatórios como um todo. Mais precisamente, deixe PID1 e PID2 denotar pseudônimos genéricos em D1/Out1 de DPN1 e D2/Out2 de DPN2, respectivamente, e deixe {PID1'} e {PID2'} denotar os subconjuntos correspondentes de pseudônimos na origem de cadeias de pseudônimo em DPN1 e DPN2 terminando com PID1 e PID2, respectivamente. Deixe PID' denotar um valor aleatório genérico como pseudônimo de uma vez usado para fundir os perfis de dados. D1 então prepara a forma inicial de uma mensagem conjunta com o identificador de mensagem incluindo o identificador de D1/Out1 em DPN1, o identificador de D2/Out2 em DPN2, e os índices de DPN1 e DPN2. A mensagem contém uma lista {(PID1, PID')}, onde cada PID1 especifica exclusivamente um perfil de dados, Dataout,1, em D1/Out1 de DPN1 e PID' é um pseudônimo gerado aleatoriamente ou pseudoaleatoriamente de uma vez. Então, D1 prepara a forma final da mensagem contendo a lista {({PID'1}, PID')}, que é obtida substituindo {PID'1} por PID1, para cada PID1, onde {PID'1} é obtido pelo processo de rastreamento reverso, tanto de DSs ou diretamente dos nós D de entrada correspondentes em DPN1.
[000106] D1 envia a mensagem com a lista {({PID'1}, PID')} para o nó PID em DPN1. Para cada PID1, o nó PID tanto recupera (no caso de armazenamento) ou reproduz (no caso sem armazenamento) o ID correspondente e o envia ao nó ID combinado, que então recupera do ID recebido todas as identidades equivalentes do mesmo usuário em DPN2 e as envia ao nó PID em DPN2. O nó PID então gera o subconjunto correspondente {PID'2} e inicia o processo de inundação dianteira em DPN2, que finalmente resulta no pseudônimo de entrada PID2 recebido por D2 junto com PID'. D2 então recupera o perfil de dados em D2/Out2 usando PID2 e associa este perfil de dados, Dataout,2, com o PID' recebido correspondendo a PID2. D2 pode assim preparar um arquivo contendo {(PID', Dataout,2)} e envia este arquivo para D1. D1 pode então fundir Dataout,2 com Dataout,1 usando o mesmo PID', para cada PID'. Se fundir os perfis de dados for mútuo, então D1 envia {(PID', Dataout,1)} para D2, que pode então fundir os perfis de dados analogamente.
[000107] A presente invenção foi descrita aqui em termos de algumas possíveis formas de realização dela. Aqueles qualificados na técnica entenderão prontamente que várias modificações e formas de realização diferentes são possíveis, sem partir da extensão de proteção definida nas reivindicações anexas.

Claims (16)

1. Método de pseudonimização dinâmico para uma rede de perfilagem de dados (100), caracterizado pelo fato de compreender pelo menos um nó de dados (1151-1158) configurado para receber dados de entrada relacionados a usuários e transformar ditos dados de entrada em perfil de dados de usuário de saída relacionado a usuários, dito nó de dados compreendendo registro de dados de usuário (2101-2103) para armazenar dados de entrada relacionados a usuários junto com pseudônimos de entrada dinâmicos dos usuários, dito nó de dados estando configurado para computar dito perfil de dados de usuário de saída relacionado a um usuário de ditos dados de entrada e para armazenar os perfis de dados de saída computados em ditos registros de dados de usuário (2201-2202) disso, o método compreendendo: receber no nó de dados, novos dados de entrada relacionados a um usuário junto com um novo pseudônimo de usuário associado e um pseudônimo de usuário antigo que era associado com dados de entrada recebidos previamente relacionados ao usuário no passado ou um conjunto de pseudônimos de usuário antigos candidatos; em dito nó de dados, achar o registro de dados de usuário correspondendo aos novos dados de entrada recebidos como o registro de dados de usuário tendo armazenado nele um pseudônimo de usuário de entrada dinâmico igual a dito pseudônimo de usuário antigo recebido junto com ditos novos dados de entrada ou a um pseudônimo de usuário pertencendo ao conjunto recebido de pseudônimos de usuário antigos candidatos; armazenar temporariamente, no registro de dados de usuário achado, os novos dados de entrada; fixar o pseudônimo de usuário de entrada dinâmico armazenado em dito registro de dados de usuário de dito nó de dados igual ao último novo pseudônimo de usuário recebido associado com os dados de entrada recebidos relacionados ao usuário; computar em tempos determinados o dito perfil de dados de usuário de saída usando novos dados de entrada acumulados no registro de dados de usuário, armazenar o perfil de dados de usuário de saída computado no registro de dados de usuário, e então apagar ditos novos dados de entrada acumulados do registro de dados de usuário.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de compreender: em dito nó de dados, gerar e armazenar em dito registro de dados de usuário um pseudônimo de usuário de saída dinâmico junto com dito perfil de dados de usuário de saída computado; enviar a tempos dito perfil de dados de usuário de saída a pelo menos um outro nó de dados em dita rede de perfilagem de dados, cada vez gerando um novo valor de dito pseudônimo de usuário de saída dinâmico, substituir dito novo valor de dito pseudônimo de usuário de saída dinâmico por um valor antigo armazenado previamente de dito pseudônimo de usuário de saída dinâmico, e enviar para dito pelo menos um outro nó de dados ambos os valores antigo e novos de dito pseudônimo de usuário de saída dinâmico junto com dito perfil de dados de usuário de saída.
3. Método de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que ditos dados de entrada são recebidos pelo nó de dados de pelo menos um nó de fonte de dados (1201-1204) da rede de perfilagem de dados, ou de pelo menos um outro nó de dados da rede de perfilagem de dados.
4. Método de acordo com a reivindicação 3, caracterizado pelo fato de que dita rede de perfilagem de dados (100) compreende adicionalmente, pelo menos um nó de pseudonimização (110) configurado para receber identidade de usuários e transformar ditas identidades de usuários em pseudônimos, e em que o método compreende adicionalmente: receber, no dito nó de pseudonimização do pelo menos um nó de fonte de dados identidades de usuário, ditas identidades de usuário identificando o usuário em dita fonte de dados, as identidades de usuário compreendendo um ou mais identificadores dos usuários conhecidos à fonte de dados; gerar, no dito nó de pseudonimização, pseudônimos de usuário das identidades de usuário recebidas; prover ao nó de fonte de dados os pseudônimos de usuário gerados.
5. Método de acordo com a reivindicação 4, caracterizado pelo fato de que ditos pseudônimos de usuário são gerados como valores aleatórios ou pseudoaleatórios, ou valores chaveados gerados por uma função chaveada de identidades de usuário e uma chave secreta.
6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que dito nó de pseudonimização é operável para codificar e autenticar os pseudônimos de usuário gerados a serem providos ao nó de fonte de dados.
7. Método de acordo com a reivindicação 5 ou 6, caracterizado pelo fato de que os pseudônimos de usuário aleatórios ou pseudoaleatórios gerados são armazenados no nó de pseudonimização em associação com as identidades de usuário correspondentes.
8. Método de acordo com qualquer uma das reivindicações 4 a 7, caracterizado pelo fato de que as identidades de usuário são diferentes para nós de fonte de dados diferentes, e em que a dita rede de perfilagem de dados compreende pelo menos um nó de administração de identidade de usuário equivalente (105), e em que o método compreende adicionalmente: administrar, em dito nó de administração de identidades de usuário equivalentes (105), como identidades diferentes equivalentes de um mesmo usuário correspondendo a fontes de dados diferentes.
9. Método de acordo com a reivindicação 8, caracterizado pelo fato de compreender: ao receber, no dito nó de dados, novos dados de entrada relacionados a um usuário da pelo menos uma fonte de dados ou do pelo menos um outro nó de dados, se nenhum registro de dados de usuário for achado que inclui o pseudônimo de dito usuário antigo recebido junto com os novos dados de entrada ou um pseudônimo de usuário pertencendo ao dito conjunto de pseudônimos de usuário antigos candidatos recebidos junto com os novos dados de entrada, tendo o nó de dados, averiguar, explorando o dito pseudônimo de usuário antigo ou o dito conjunto de pseudônimos de usuário antigos candidatos recebidos junto com os novos dados de entrada, se um registro de dados de usuário em relação àquele usuário já existir, em que dito registro de dados de usuário foi criado para armazenar dados de entrada relacionados àquele usuário recebidos de pelo menos uma outra fonte de dados no passado.
10. Método de acordo com a reivindicação 9, caracterizado pelo fato de que, no caso que os novos dados de entrada são recebidos por dito nó de dados da pelo menos uma fonte de dados, dita averiguação compreende: fazer com que o dito nó de dados envie para trás um pedido à dita pelo menos uma fonte de dados para obter pseudônimos equivalentes do usuário, dito pedido contendo o dito pseudônimo de usuário antigo ou o dito conjunto de pseudônimos de usuário antigos candidatos; fazer com que a dita pelo menos uma fonte de dados recupere a identidade de usuário armazenada temporariamente nisso, enviar a identidade de usuário recuperada ao nó de administração de identidades de usuário equivalentes, e pedir a dito nó de administração de identidades de usuário equivalentes para prover as identidades equivalentes do usuário ao nó de pseudonimização; fazer com que o nó de pseudonimização recobre os pseudônimos equivalentes do usuário e então enviá-los aos nós de fonte de dados conectados a isso; executar um processo de inundação dianteira compreendendo: fazer com que os nós de fonte de dados conectados ao nó de pseudonimização enviem adiante para todos os nós de dados conectados a isso pedidos que contêm os pseudônimos equivalentes recebidos do usuário; quando um nó de dados utilizado em dita rede de perfilagem de dados recebe a suas entradas um ou mais pedidos que contêm pseudônimos equivalentes de pelo menos um outro nó de dados conectados a isso, ter o nó de dados pesquisar o registro de dados de usuário armazenando um dos pseudônimos equivalentes recebidos como pseudônimos de usuário de entrada; se tal registro de dados de usuário for achado e o nó de dados for o dito nó de dados recebendo os novos dados de entrada, ter o nó de dados usar o registro de dados de usuário achado para armazenar os novos dados de entrada recebidos; se tal registro de dados de usuário for achado e o nó de dados for diferente do dito nó de dados recebendo os novos dados de entrada, ter o nó de dados continuar o processo de inundação dianteira enviando adiante os pseudônimos de usuário de saída armazenados no registro de dados de usuário a todos os outros nós de dados conectados a suas saídas.
11. Método de acordo com a reivindicação 9, caracterizado pelo fato de que, no caso que os novos dados de entrada são recebidos por dito nó de dados do pelo menos um outro nó de dados, dita averiguação compreende executar um processo de rastreamento reverso, um processo de recuperação de pseudônimos equivalentes, e um processo de inundação dianteira, onde: o dito processo de rastreamento reverso compreende: fazer com que o dito nó de dados envie para trás um pedido aos ditos pelo menos um outro nó de dados para obter pseudônimos equivalentes do usuário, dito pedido contendo o dito pseudônimo de usuário antigo ou o dito conjunto de pseudônimos de usuário antigos candidatos; fazer com que o dito pelo menos um outro nó de dados pesquise o registro de dados de usuário armazenando um dos pseudônimos de usuário antigos recebidos como pseudônimo de usuário de saída e então enviar para trás pelo menos um pedido a qualquer outro nó de dados conectado a suas entradas, dito pedido contendo o pseudônimo de usuário de entrada armazenado no registro de dados de usuário; quando um nó de dados utilizado em dita rede de perfilagem de dados recebe a quaisquer de suas saídas um pedido de qualquer outro nó de dados conectado a isso, ter o nó de dados pesquisar o registro de dados de usuário armazenando o pseudônimo de usuário recebido como pseudônimo de usuário de saída e então enviar para trás pelo menos um pedido a quaisquer de outros nós de dados ou quaisquer de nós de fonte de dados conectado a suas entradas, dito pedido contendo o pseudônimo de usuário de entrada armazenado no registro de dados de usuário; quando um nó de fonte de dados utilizado em dita rede de perfilagem de dados recebe a sua saída um pedido de qualquer nó de dados conectado a isso, ter a fonte de dados remeter o pseudônimo de usuário recebido para o nó de pseudonimização com um pedido para prover os pseudônimos equivalentes do usuário; o dito processo de recuperação de pseudônimos equivalentes compreende: fazer com que o nó de pseudonimização receba de dito nó de fonte de dados um pseudônimo de usuário e então recobrar os pseudônimos equivalentes do usuário, tanto usando diretamente uma tabela armazenada de pseudônimos ou usando indiretamente uma função chaveada reversível para recuperar a identidade de usuário, então enviar esta identidade de usuário ao nó de administração de identidades de usuário equivalentes para prover as identidades equivalentes do usuário, então gerar os pseudônimos equivalentes do usuário de candidato das identidades equivalentes recebidas do usuário, e então enviá-las aos nós de fonte de dados conectados a isso; o dito processo de inundação dianteira compreende: fazer com que os nós de fonte de dados conectados ao nó de pseudonimização enviem adiante para todos os nós de dados conectados a isso os pedidos que contêm os pseudônimos equivalentes recebidos do usuário; quando um nó de dados utilizado em dita rede de perfilagem de dados recebe a suas entradas um ou mais pedidos que contêm pseudônimos equivalentes de pelo menos um outro nó de dados conectado a isso, ter o nó de dados pesquisar o registro de dados de usuário armazenando um dos pseudônimos equivalentes recebidos como pseudônimos de usuário de entrada; se tal registro de dados de usuário for achado e o nó de dados for o dito nó de dados recebendo os novos dados de entrada, ter o nó de dados usar o registro de dados de usuário achado para armazenar os novos dados de entrada recebidos; se tal registro de dados de usuário for achado e o nó de dados for diferente do dito nó de dados recebendo os novos dados de entrada, ter o nó de dados continuar o processo de inundação dianteira enviando adiante os pseudônimos de usuário de saída armazenados no registro de dados de usuário para todos os outros nós de dados conectados a suas saídas.
12. Método de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de compreender: no caso que, dentro do dito nó de dados, o registro de dados de usuário correspondendo aos novos dados de entrada recebidos não é achado até mesmo depois de receber os pseudônimos de usuário equivalentes, ter o nó de dados criar um novo registro de dados de usuário em relação a dito usuário, e armazenar os novos dados de entrada recebidos nisso junto com o novo pseudônimo de usuário recebido, recebido junto com os novos dados de entrada recebidos.
13. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que ditos pseudônimos de usuário são mudados dinamicamente depois de um tempo predeterminado dependendo de um período de tempo de validade do perfil de dados de usuário.
14. Método de acordo com qualquer uma das reivindicações 2 a 13, caracterizado pelo fato de compreender: quando uma entidade pedinte de perfil de dados de usuário quer recobrar perfil de dados de usuário armazenado no pelo menos um nó de dados: fazer com que a entidade pedinte de perfil de dados de usuário envie um pedido de perfil de dados de usuário a um selecionado entre o pelo menos um nó de dados da rede perfilagem de dados, em que dito pedido de perfil de dados de dados de usuário contém um identificador do nó de dados que armazena o perfil de dados de usuário pedido a ser recobrado, e o pseudônimo de usuário de entrada ou saída atualmente válido armazenado respectivamente no registro de dados de usuário de dito selecionado entre o pelo menos um nó de dados ao qual o pedido de dados de perfil de dados de usuário é enviado; no caso que dito selecionado entre o pelo menos um nó de dados recebendo o pedido de perfil de dados de usuário é o nó de dados armazenando o perfil de dados de usuário pedido, ter o nó de dados recobrar o perfil de dados de usuário pedido armazenado no registro de dados de usuário em associação com o pseudônimo de usuário de entrada ou saída atualmente válido especificado, e prover a entidade pedinte de perfil de dados de usuário o perfil de dados de usuário recobrado; no caso que dito selecionado entre o pelo menos um nó de dados recebendo o pedido de perfil de dados de usuário não é o nó de dados armazenando o perfil de dados de usuário pedido: a) ter dito selecionado entre o pelo menos um nó de dados identificar, nos registros de dados de usuário armazenados nisso, o pseudônimo de usuário de saída correspondendo ao pseudônimo de usuário de saída atualmente válido recebido contido no pedido de perfil de dados de usuário recebido ou o pseudônimo de usuário de saída correspondendo ao pseudônimo de usuário de entrada atualmente válido recebido contido no pedido de perfil de dados de usuário recebido, e remeter o pseudônimo de usuário de saída recobrado para todos os nós de dados adicionais conectados a isso; e b) repetir a etapa a) usando o pseudônimo de usuário de saída recobrado recebido em vez de dito pseudônimo de usuário de saída válido atualmente ou dito pseudônimo de usuário de entrada válido atualmente, até que o nó de dados armazenando o perfil de dados de usuário pedido seja alcançado e, então, fazer com que o nó de dados recobre o perfil de dados de usuário pedido armazenado no registro de dados de usuário correspondente.
15. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que a rede de perfilagem de dados (100) compreende pelo menos uma primeira e uma segunda redes de perfilagem de dados separadas, cada uma compreendendo nós de dados respectivos, fontes de dados respectivas provendo dados de entrada na base dos quais perfis de dados de usuário são calculados pelos nós de dados, nós de pseudonimização respectivos para gerar pseudônimos de usuário de identidades de usuário, e em que um nó de administração de identidades de usuário equivalentes combinadas é provido, operável para administrar como identidades diferentes equivalentes de um mesmo usuário correspondendo a fontes de dados diferentes na primeira e segunda redes de perfilagem de dados, o nó de administração de identidades de usuário equivalentes combinadas sendo explorado para recobrar perfis de dados de usuário de um usuário na segunda rede de perfilagem de dados quando perfis de dados de dito usuário são pedidos pela primeira rede de perfilagem de dados.
16. Rede de perfilagem de dados (100) configurada para executar o método como definido em qualquer uma das reivindicações anteriores.
BR112014015694-8A 2011-12-27 2011-12-27 Método de pseudonimização dinâmico para uma rede de perfilagem de dados, e, rede de perfilagem de dados BR112014015694B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/074102 WO2013097886A1 (en) 2011-12-27 2011-12-27 Dynamic pseudonymization method for user data profiling networks and user data profiling network implementing the method

Publications (3)

Publication Number Publication Date
BR112014015694A2 BR112014015694A2 (pt) 2017-06-13
BR112014015694A8 BR112014015694A8 (pt) 2017-07-04
BR112014015694B1 true BR112014015694B1 (pt) 2022-04-12

Family

ID=45562934

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014015694-8A BR112014015694B1 (pt) 2011-12-27 2011-12-27 Método de pseudonimização dinâmico para uma rede de perfilagem de dados, e, rede de perfilagem de dados

Country Status (8)

Country Link
US (1) US9754128B2 (pt)
EP (1) EP2798809B1 (pt)
CN (1) CN104094573B (pt)
AR (1) AR089484A1 (pt)
BR (1) BR112014015694B1 (pt)
ES (1) ES2565842T3 (pt)
IL (1) IL233314A (pt)
WO (1) WO2013097886A1 (pt)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978152B1 (en) 2012-03-30 2015-03-10 Protegrity Corporation Decentralized token table generation
US8793805B1 (en) 2012-07-30 2014-07-29 Amazon Technologies, Inc. Automatic application dependent anonymization
US20150038164A1 (en) * 2013-08-01 2015-02-05 Deutsche Telekom Ag System for analyzing mobile telephone users locations and classifications, while maintaining users privacy constraints
EP3063691B1 (en) * 2013-11-01 2020-03-11 Anonos Inc. Dynamic de-identification and anonymity
US11030341B2 (en) 2013-11-01 2021-06-08 Anonos Inc. Systems and methods for enforcing privacy-respectful, trusted communications
US10043035B2 (en) 2013-11-01 2018-08-07 Anonos Inc. Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments
US9619669B2 (en) 2013-11-01 2017-04-11 Anonos Inc. Systems and methods for anonosizing data
US10572684B2 (en) 2013-11-01 2020-02-25 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
JP6399382B2 (ja) * 2014-01-08 2018-10-03 パナソニックIpマネジメント株式会社 認証システム
US9633209B1 (en) * 2014-02-21 2017-04-25 Amazon Technologies, Inc. Chaining of use case-specific entity identifiers
US10929858B1 (en) * 2014-03-14 2021-02-23 Walmart Apollo, Llc Systems and methods for managing customer data
EP2924620B1 (en) * 2014-03-27 2019-10-30 Alcatel Lucent Method and system for high-performance private matching
CN103986580B (zh) * 2014-05-22 2017-02-15 四川理工学院 一种动态的系统匿名性度量方法
WO2016176142A1 (en) 2015-04-30 2016-11-03 Visa International Service Association Method of securing connected devices on a network
CN106909811B (zh) * 2015-12-23 2020-07-03 腾讯科技(深圳)有限公司 用户标识处理的方法和装置
WO2017158542A1 (en) * 2016-03-15 2017-09-21 Ritchie Stuart Privacy impact assessment system and associated methods
US10579828B2 (en) 2017-08-01 2020-03-03 International Business Machines Corporation Method and system to prevent inference of personal information using pattern neutralization techniques
US10657287B2 (en) * 2017-11-01 2020-05-19 International Business Machines Corporation Identification of pseudonymized data within data sources
WO2020022819A1 (en) * 2018-07-25 2020-01-30 Samsung Electronics Co., Ltd. Communication via simulated user
US10880273B2 (en) * 2018-07-26 2020-12-29 Insight Sciences Corporation Secure electronic messaging system
US11562134B2 (en) * 2019-04-02 2023-01-24 Genpact Luxembourg S.à r.l. II Method and system for advanced document redaction
US11212263B2 (en) 2019-05-29 2021-12-28 Microsoft Technology Licensing, Llc Dynamic generation of pseudonymous names
US11416635B1 (en) 2020-07-10 2022-08-16 Wells Fargo Bank, N.A. Pseudonymous browsing mode
IL280116A (en) * 2021-01-12 2022-08-01 Google Llc Secure network communication that restricts information

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
CA2298194A1 (en) 2000-02-07 2001-08-07 Profilium Inc. Method and system for delivering and targeting advertisements over wireless networks
AU2001281294A1 (en) 2000-07-06 2002-01-21 Protigen, Inc. System and method for anonymous transaction in a data network and classificationof individuals without knowing their real identity
US6944662B2 (en) * 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US7610390B2 (en) 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US7844717B2 (en) 2003-07-18 2010-11-30 Herz Frederick S M Use of proxy servers and pseudonymous transactions to maintain individual's privacy in the competitive business of maintaining personal history databases
US7207058B2 (en) * 2002-12-31 2007-04-17 American Express Travel Related Services Company, Inc. Method and system for transmitting authentication context information
US20090193249A1 (en) * 2004-05-28 2009-07-30 Koninklijke Philips Electronics, N.V. Privacy-preserving information distribution system
JP5065911B2 (ja) * 2005-01-24 2012-11-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プライベートな、かつ制御された所有権の共有
CN101400054B (zh) * 2007-09-28 2012-10-17 华为技术有限公司 保护用户终端的隐私的方法、系统和设备
US8219752B1 (en) * 2008-03-31 2012-07-10 Amazon Technologies, Inc. System for caching data
FR2933322B1 (fr) * 2008-07-02 2010-08-13 Adel Procede de fabrication de virole pour compresseur a spirales
US9135348B2 (en) * 2008-11-21 2015-09-15 Alcatel Lucent Method and apparatus for machine-learning based profiling
CN101998377B (zh) * 2009-08-25 2013-04-17 华为技术有限公司 国际移动用户识别码的保护方法、装置和通信系统
CN101710984B (zh) * 2009-12-04 2013-06-26 深圳创维数字技术股份有限公司 基于pid重构的数字电视节目处理方法
CN101720086B (zh) * 2009-12-23 2011-12-28 成都三零瑞通移动通信有限公司 一种移动通信用户身份保护方法
CN101777982B (zh) * 2010-01-11 2011-12-28 华中师范大学 一种可重复使用假名的普适计算隐私保护方法
CN101959183B (zh) * 2010-09-21 2013-01-23 中国科学院软件研究所 一种基于假名的移动用户标识码imsi保护方法

Also Published As

Publication number Publication date
US20140359782A1 (en) 2014-12-04
IL233314A0 (en) 2014-08-31
EP2798809A1 (en) 2014-11-05
BR112014015694A8 (pt) 2017-07-04
BR112014015694A2 (pt) 2017-06-13
CN104094573B (zh) 2017-02-15
ES2565842T3 (es) 2016-04-07
EP2798809B1 (en) 2015-12-23
IL233314A (en) 2017-03-30
WO2013097886A1 (en) 2013-07-04
AR089484A1 (es) 2014-08-27
US9754128B2 (en) 2017-09-05
CN104094573A (zh) 2014-10-08

Similar Documents

Publication Publication Date Title
BR112014015694B1 (pt) Método de pseudonimização dinâmico para uma rede de perfilagem de dados, e, rede de perfilagem de dados
US7992194B2 (en) Methods and apparatus for identity and role management in communication networks
Fedrecheski et al. Self-sovereign identity for IoT environments: a perspective
Schanzenbach et al. reclaimID: Secure, self-sovereign identities using name systems and attribute-based encryption
Wachs et al. A censorship-resistant, privacy-enhancing and fully decentralized name system
WO2009087939A1 (ja) 秘匿通信方法
JP5211342B2 (ja) 秘匿通信方法
JP5491932B2 (ja) ネットワーク・ストレージ・システム、方法、クライアント装置、キャッシュ装置、管理サーバ、及びプログラム
Tourani et al. Catch me if you can: A practical framework to evade censorship in information-centric networks
Huynh et al. A decentralized solution for web hosting
Ramkumar Symmetric Cryptographic Protocols
CN112242898A (zh) 一种针对洋葱网络系统共识文件的加密方法
Fotiou et al. Enabling self-verifiable mutable content items in IPFS using Decentralized Identifiers
Schanzenbach et al. Practical decentralized attribute-based delegation using secure name systems
Martinez-Julia et al. A Novel Identity-based Network Architecture for Next Generation Internet.
Hamdane et al. Towards a secure access to content in named data networking
Zhang et al. Investigating the design space for name confidentiality in Named Data Networking
Fischer et al. Enhancing privacy in collaborative scenarios utilising a flexible proxy layer
Cui et al. Defend against Internet censorship in named data networking
Henrici et al. A hash-based pseudonymization infrastructure for RFID systems
Nandini Efficient-way of Data Storage on Decentralized Cloud using Blockchain Technology
Confais et al. Mutida: A rights management protocol for distributed storage systems without fully trusted nodes
Li et al. A secured transmission model for EPC network
Kamal Client-based confidential data sharing using untrusted clouds
Schanzenbach et al. RFC 9498 The GNU Name System

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 29/06

Ipc: H04L 29/06 (2006.01), G06F 21/62 (2013.01)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 27/12/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 11A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2703 DE 25-10-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.