• Nenhum resultado encontrado

4.2 Resultado: TRSS

4.2.1 Segurança

Na seção anterior, descrevemos os algoritmos que compõem este esquema. A seguir, mostraremos que eles são seguros e que as reduções de pior caso para caso médio típicas de reticulados ainda são aplicáveis.

Prova de conhecimento zero com vericador honesto

Provamos agora que o algoritmo 8 (GCLRS, abreviação para Generalized CLRS) repre- senta uma prova de conhecimento zero de que um grupo de t usuários (de um total de N) conhece t diferentes pares de chaves (publica, privada). O primeiro elemento de tal par é um vetor binário xide dimensão m+1 e peso de Hamming m/2+1, ao passo que o segundo é uma matriz Ai ∈ Zn×(m+1), tais que Aixi = 0 mod q, com i ∈ {0, . . . , N − 1}. Este algoritmo pode ser visto como uma composição de t execuções simultâneas do esquema de identicação CLRS, da acordo com a Figura 4.2, cuja demonstração de segurança foi inicialmente dada em Cayrel et al. in [21] no modelo de ataque concorrente. Usaremos elementos de tal demonstração para estabelecer a segurança do Algoritmo 8.

Agindo com Vericador com cada um dos outros t − 1 assinantes ao seguir o protocolo GCLRS protocolo, o Líder L não consegue extrair nenhuma informação adicional sobre as chaves secretas destes, exceto o fato de serem válidas. Agindo como Provador, o Líder L, em sua interação com o Vericador V , não expõe nenhuma informação sobre as chaves privadas também. Tudo o que V consegue depreender é que os t usuários pertencentes a U participaram ativamente na geração do vetor binário X de dimensão N(m + 1) e peso de Hamming t(m/2 + 1) tal que t AX = 0 mod q, onde A é denida como abaixo:

A =      A0 0 · · · 0 0 A1 · · · 0 ... ... ... ... 0 0 · · · AN −1     

Lema 4.2.1. Sob o pressuposto da diculdade computacional do problema SIS, encontrar um vetor v com comprimento N(m + 1) e peso de Hamming t(m/2 + 1) satisfazendo (Av = 0 mod q), com A denido da forma acima, tal que N blocos de comprimento m + 1 compondo v tenham peso de Hamming m/2 + 1 ou 0 também é difícil.

Demonstração. Por construção de A e v, encontrar uma solução Av = 0 mod q é pelo menos tão difícil quanto encontrar vi to Aivi = 0 mod q com peso(vi) = m/2 + 1, o qual é difícil sob o pressuposto da intratabilidade do SIS.

Teorema 4.2.2. O esquema GCLRS corresponde a uma prova de conhecimento zero com vericador honesto, com erro de consistência (q+1)/(2q), de que um grupo de t assinantes conhece um vetor binário v de dimensão N(m+1) e peso de Hamming t(m/2+1), tal que

cada um dos N blocos de tamanho m tem peso de Hamming m/2 + 1 ou 0. Este esquema é seguro no modelo de oráculo aleatório com o pressuposto de intratabilidade do problema SIS.

Demonstração. Completude: Um conjunto de assinantes honestos sempre conseguirá com sucesso revelar ao líder as informações necessárias para reproduzir os compromissos indi- viduais c0,iu c1,i, informando σi ou σi(xi)respectivamente, dependendo do desao enviado pelo Vericador V . Para cada usuário indexado por i ∈ {0, . . . , N − 1} dentro do grupo, temos que peso(xi) = m/2 + 1, quando se tratar de um assinante ativo, ou peso(xi) = 0 quando não estiver participando da assinatura corrente. A dimensão de cada um destes vetores é m + 1. O Líder L, por sua vez, sempre será capaz de revelar Π ou Πx para os respectivos desaos. O vetor x possui N componentes x0

i que são permutações de xi, e portanto possuem peso semelhante. Portanto, x tem dimensão total N(m + 1) e peso t(m/2+ 1). Dado que os componentes envolvidos sigam o protocolo, o grupo de assinantes será sempre aceito pelo Vericador.

Consistência: O erro de consistência é dado por (q + 1)/(2q). O esquema GCLRS é composto por t − 1 instâncias de CLRS entre t − 1 pares distintos (provador, vericador). Se GCLRS tiver um erro superior a (q + 1)/(2q), então um adversário pode criar uma estratégia para personicação com probabilidade superior a (q +1)/(2q). Dado que CLRS pode ser reduzido a GCLRS (basta que todas as instâncias compartilhem as mesmas chaves e sigam o procedimento descrito em 4.2), podemos utilizar a mesma estratégia para derrotar o esquema CLRS com probabilidade superior a (q + 1)/(2q). Isto, no entanto, é um absurdo sob as hipóteses de intratabilidade de SIS e resistência a colisões doe esquema de compromisso, que são as bases de segurança do CLRS [21].

Conhecimento Zero (ZK): Seja o simulador construído da seguinte forma: 1 Moeda $

← {0, 1}

2 Preparar resposta para desaos que coincidam com Moeda:

 Para Moeda = 0, escolher xi satisfazendo yi = Aixi, mas sem restrição de norma, para t usuários. Pela forma como os parâmetros foram escolhidos, tal solução existe com alta probabilidade e não envolve alto custo computacional. Quanto aos demais N − t componentes, simplesmente fazer xi = 0.

 Para Moeda = 1, escolher xibinário com peso de Hamming exatamente m/2+1 para t usuários, mas sem satisfazer yi = Aixi. Quanto aos demais N − t componentes, simplesmente fazer xi = 0.

3 b $

← {0, 1}

4 Se Moeda e b tiverem o mesmo valor, registrar os dados da presente rodada como parte da interação. Do contrário, voltar para o passo 1.

5 Repetir a sequência até que o número necessário de sucessos tenha sido atingido. A transcrição da comunicação simulada acima não envolve o conhecimento de nenhuma chave privada. Além disso, a propriedade de ocultamento estatístico do esquema de com- promisso não permite que se faça distinção entre as grandezas calculados pelo simulador

para reproduzir os valores dos compromissos e aquelas que seriam obtidas de uma execu- ção real do protocolo. As duas transcrições de comunicação seguem a mesma distribuição estatística. Desta forma, a transcrição real não informa nada que não consigamos também obter da simulação. Consequentemente, a partir do simulador acima, concluímos que o protocolo GCLRS possui a propriedade de conhecimento zero estatístico.

O teorema 4.2.2 implica que o esquema TRSS-L é resistente a falsicações sob os mo- delos de mensagem escolhida e de oráculo aleatório, com o pressuposto de que o problema SIS seja intratável e que o esquema de compromisso utilizado seja resistente a colisões. Dada propriedade de conhecimento zero satisfeita pelo esquema, nenhuma informação sobre as chaves privadas é vazada a partir de assinaturas prévias de diferentes mensagens. Também, mesmo que um adversário conheça t − 1 chaves privadas quaisquer, ele não será capaz de gerar uma assinatura válida, a menos que consiga derivar o valor de mais uma chave privada, o que violaria nossos pressupostos de segurança.

Teorema 4.2.3. O TRSS-L oculta incondicionalmente os assinantes.

Demonstração. Nosso algoritmo tem estrutura semelhante ao do TRSS-C [3]. Em ambos a entidade desempenhando o papel de Líder cria um vetor secreto que, por blocos, cor- responde a permutações de chaves privadas individuais ou a vetores nulos. Mais, todas as chaves privadas são vetores binários com exatamente o mesmo peso de Hamming, e os compromissos envolvem a soma de permutações aleatoriamente escolhida de tais cha- ves a valores também aleatoriamente escolhidos. Assim, a distribuição dos compromissos associados a um usuário em particular são indistinguíveis dos de qualquer outro usuário, independente de estarem ativamente participando da assinatura ou de estarem sendo si- mulados pelo Líder. Portanto, qualquer subconjunto t de usuários pode produzir uma assinatura com mesma probabilidade.

Documentos relacionados