Proteger a Privacidade em Compartilhamento de Dados com Várias Partes
Novos métodos pra preservar a privacidade enquanto compartilha informações entre vários grupos.
― 7 min ler
Índice
- Visão Geral do Problema
- Tipos de Interseção de Conjuntos
- Métodos de Cálculo Seguro
- Nossas Soluções Propostas
- O Protocolo de Bitwise-AND Multi-partes
- O Protocolo Sort-Compare-Shuffle Multi-partes
- Usando Hashing para Eficiência
- Etapas de Hashing
- Considerações de Segurança
- Resultados Experimentais
- Conclusão
- Fonte original
- Ligações de referência
No mundo digital de hoje, a privacidade é super importante. A galera muitas vezes precisa compartilhar informações enquanto mantém seus dados em sigilo. Uma situação comum acontece quando vários grupos querem encontrar itens em comum em suas listas privadas, sem revelar suas listas inteiras uns para os outros. Esse problema é conhecido como interseção de conjuntos privados (PSI).
Tradicionalmente, encontrar informações compartilhadas entre dois grupos é mais fácil do que envolver muitos grupos. Quando mais de dois grupos estão envolvidos, a parada fica mais complicada. O objetivo é criar um método que permita a muitos grupos encontrar itens em comum, mantendo seus dados privados e seguros.
Visão Geral do Problema
Imagina uma situação onde três empresas querem saber quais clientes elas têm em comum, sem compartilhar suas listas de clientes inteiras. Se cada empresa compartilhar sua lista completa, pode acabar expondo informações sensíveis. Então, é preciso encontrar uma solução que proteja a privacidade delas, mas que ainda permita descobrir os clientes em comum.
Para resolver isso, precisamos de um método seguro que permita a cada empresa calcular a interseção de suas listas de clientes, enquanto mantém a privacidade. Essa é a essência do nosso trabalho.
Tipos de Interseção de Conjuntos
Existem dois tipos principais de PSI: de duas partes e multi-partes.
PSI de Duas Partes: Envolve duas partes que querem encontrar itens comuns em suas listas. Elas podem usar métodos existentes que são eficientes e seguros.
PSI Multi-Partes: É uma situação mais complexa, onde três ou mais partes colaboram para encontrar itens em comum. É mais desafiador porque cada parte precisa proteger seus dados enquanto ainda participa do processo.
Métodos de Cálculo Seguro
Para realizar esses tipos de PSI, podemos usar métodos de cálculo seguro. Esses métodos permitem que as partes calculem resultados com base em suas entradas, sem expor essas entradas. Existem várias abordagens para implementar o cálculo seguro:
Circuitos Embaralhados: Essa técnica transforma o cálculo em uma forma que mantém os valores de entrada escondidos. Só os resultados são revelados no final. Esse método torna possível executar cálculos complexos sem revelar os dados reais.
Compartilhamento Secreto: Nesse método, um item de dado é dividido em partes, chamadas de shares. Somente um certo número de shares pode reconstruir o dado original. Assim, as partes individuais não conseguem acessar o dado todo.
Nossas Soluções Propostas
No nosso trabalho, focamos em PSI multi-partes e desenvolvemos duas abordagens principais para enfrentar esse problema:
Protocolo de Bitwise-AND Multi-partes (mBWA): Esse protocolo usa vetores de bits, que são arrays de bits, para representar os conjuntos de entrada. Cada parte distribui seus vetores de bits para duas partes designadas para o cálculo. A interseção é encontrada usando operações simples de AND nos vetores de bits.
Protocolo Sort-Compare-Shuffle Multi-partes (mSCS): Esse método estende a técnica Sort-Compare-Shuffle para várias partes. Cada parte ordena seus dados antes de distribuí-los. Depois de ordenar, as partes podem mesclar suas listas ordenadas e identificar elementos comuns.
Ambos os métodos garantem privacidade enquanto permitem que as partes calculem a interseção.
O Protocolo de Bitwise-AND Multi-partes
O protocolo mBWA é feito para situações onde o universo de itens é pequeno. Cada parte representa seu conjunto de entrada como um vetor de bits. O cálculo segue assim:
- Cada parte tem uma lista de itens representada por bits, com cada bit indicando se um item está presente.
- As partes enviam seus vetores de bits para duas partes designadas.
- As partes designadas combinam os vetores de bits usando a operação AND, que encontra efetivamente os itens comuns.
Embora esse método seja eficiente, ele é limitado a conjuntos de dados pequenos, porque o tamanho do vetor de bits cresce exponencialmente com o número de itens.
O Protocolo Sort-Compare-Shuffle Multi-partes
O protocolo mSCS é mais adequado para conjuntos de dados maiores. Esse protocolo funciona por meio de ordenação e embaralhamento:
- Cada parte ordena seus dados localmente.
- Os conjuntos ordenados são distribuídos entre duas partes, que então mesclam as listas ordenadas.
- Assim que as listas são mescladas, as partes podem identificar itens comuns comparando-os.
Para manter a privacidade, depois de identificar os itens comuns, os resultados são embaralhados. Esse processo de embaralhamento oculta qualquer informação posicional, garantindo que os conjuntos de entrada de cada parte permaneçam confidenciais.
Usando Hashing para Eficiência
Para melhorar ainda mais nossos protocolos, usamos Técnicas de Hashing. O hashing ajuda mapeando itens em bins. Isso permite:
Comunicação Reduzida: Ao invés de enviar todos os itens, as partes só enviam itens dentro de seus respectivos bins, reduzindo a quantidade de dados trocados.
Processamento Paralelo: Como os bins operam de forma independente, o cálculo pode ser realizado simultaneamente para cada bin. Isso acelera o processo geral.
Etapas de Hashing
Hashing Simples: Cada parte hash os itens em bins. Se os itens ultrapassarem a capacidade de um bin, eles podem ser ignorados ou remapeados. Cuidados são tomados para minimizar a chance de falhas no mapeamento de itens para bins.
Hashing Baseado em Permutação: Essa técnica permite uma representação mais eficiente dos itens nos bins, reduzindo o comprimento de bits necessário para armazenar os dados. Garante que se dois itens compartilham a mesma representação em um bin, eles são de fato os mesmos itens.
Ao empregar esses métodos de hashing, melhoramos significativamente a eficiência da comunicação e reduzimos a complexidade de nossos protocolos.
Considerações de Segurança
Ao desenhar esses protocolos, é crucial garantir a segurança. Focamos principalmente no modelo semi-honesto. Nesse modelo, assume-se que todas as partes seguem o protocolo como pretendido. Contudo, elas podem tentar aprender o máximo possível sobre os dados dos outros.
Para proteger contra possíveis brechas de privacidade:
Compartilhamento Secreto: Usamos técnicas de compartilhamento secreto para distribuir os conjuntos de forma segura, para que nenhuma parte única possa aprender sobre os dados da outra.
Embaralhamento Oblivioso: Após revelar os resultados da interseção, embaralhamos os dados para evitar qualquer inferência sobre os conjuntos de entrada individuais com base na sua ordem.
Resultados Experimentais
Para validar nossos protocolos, realizamos experimentos para avaliar seu desempenho em cenários práticos. Usando computadores conectados via uma rede local, testamos vários tamanhos de entrada. Os resultados mostram que:
- O protocolo mBWA funciona de forma eficiente em cenários de dados pequenos, mas se limita à medida que os dados escalam.
- O protocolo mSCS, com seus mecanismos de ordenação e embaralhamento, se saía efetivamente mesmo com conjuntos de dados maiores.
- A implementação de técnicas de hashing reduz efetivamente a sobrecarga de comunicação e permite uma melhor utilização de recursos.
Conclusão
A necessidade de compartilhamento de dados privados continua crescendo em vários setores, incluindo negócios, saúde e pesquisa. Nossos protocolos propostos para interseção de conjuntos privados multi-partes fornecem uma base para o cálculo seguro e eficiente de informações compartilhadas entre várias partes.
Ao utilizar técnicas como operações bitwise, ordenação, embaralhamento e hashing, criamos métodos que protegem a privacidade dos participantes enquanto permitem que eles descubram informações compartilhadas. Este trabalho contribui para uma melhor compreensão de como proteger dados sensíveis, permitindo ao mesmo tempo colaboração e extração de insights de conjuntos de dados compartilhados. À medida que a tecnologia avança, a necessidade de protocolos que preservem a privacidade se tornará cada vez mais significativa, tornando nossa pesquisa oportuna e relevante.
No futuro, pretendemos aprimorar ainda mais a eficiência e escalabilidade de nossos protocolos, abordando novos desafios de privacidade que possam surgir em um cenário digital em constante evolução.
Título: Secure and Scalable Circuit-based Protocol for Multi-Party Private Set Intersection
Resumo: We propose a novel protocol for computing a circuit which implements the multi-party private set intersection functionality (PSI). Circuit-based approach has advantages over using custom protocols to achieve this task, since many applications of PSI do not require the computation of the intersection itself, but rather specific functional computations over the items in the intersection. Our protocol represents the pioneering circuit-based multi-party PSI protocol, which builds upon and optimizes the two-party SCS \cite{huang2012private} protocol. By using secure computation between two parties, our protocol sidesteps the complexities associated with multi-party interactions and demonstrates good scalability. In order to mitigate the high overhead associated with circuit-based constructions, we have further enhanced our protocol by utilizing simple hashing scheme and permutation-based hash functions. These tricks have enabled us to minimize circuit size by employing bucketing techniques while simultaneously attaining noteworthy reductions in both computation and communication expenses.
Autores: Jiuheng Su, Zhili Chen
Última atualização: 2023-09-13 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2309.07406
Fonte PDF: https://arxiv.org/pdf/2309.07406
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://www.michaelshell.org/
- https://www.michaelshell.org/tex/ieeetran/
- https://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
- https://www.ieee.org/
- https://www.latex-project.org/
- https://www.michaelshell.org/tex/testflow/
- https://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
- https://www.ctan.org/tex-archive/macros/latex/contrib/cite/
- https://www.ctan.org/tex-archive/macros/latex/required/graphics/
- https://www.ctan.org/tex-archive/info/
- https://www.tug.org/applications/pdftex
- https://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/
- https://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
- https://algorithms.berlios.de/index.html
- https://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/
- https://www.ctan.org/tex-archive/macros/latex/required/tools/
- https://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/
- https://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/
- https://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
- https://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
- https://www.ctan.org/tex-archive/macros/latex/contrib/caption/
- https://www.ctan.org/tex-archive/macros/latex/base/
- https://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
- https://www.ctan.org/tex-archive/macros/latex/contrib/misc/
- https://www.michaelshell.org/contact.html
- https://dx.doi.org/10.14722/ndss.2024.23xxx
- https://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
- https://www.michaelshell.org/tex/ieeetran/bibtex/