Carimbo de Tempo ( timestamping )

14
Protocolos Intermediários Carimbo de Tempo ( timestamping ) Necessidade de provar a existência de um documento em determinada data. A → T : M (documento) T → A : t m (carimbo de tempo) Problemas? Privacidade? Base de dados? Erros de transmisão? Confiança no

description

Carimbo de Tempo ( timestamping ) Necessidade de provar a existência de um documento em determinada data. A → T : M (documento) T → A : t m (carimbo de tempo). Problemas? Privacidade? Base de dados? Erros de transmisão? Confiança no arbitro?. - PowerPoint PPT Presentation

Transcript of Carimbo de Tempo ( timestamping )

Page 1: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Carimbo de Tempo ( timestamping )

• Necessidade de provar a existência de um documento em determinada data.

A → T : M (documento)

T → A : tm (carimbo de tempo)

Problemas?• Privacidade?• Base de dados?• Erros de transmisão?• Confiança no arbitro?

Page 2: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Timestamping com assinatura digital (solução arbitrada melhorada)

A → T : Hm , Alice produz e envia um Hash de um documento m para Trent.

T : tn , Trent anexa a data e tempo que ele recebeu, junto ao Hash.

T → A : SKRT( Hm tm ), Trent assina digitalmente o resultado

e envia para Alice.

Problemas? Confiança no árbitro Trent.• Produção de carimbo, quando desejado. Alice e Trent podem ainda conspirar para

produzir qualquer rótulo de tempo que eles desejem.

Page 3: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Linking Protocol (ligar rótulos de tempo de Alice com rótulos de tempo previamente gerado por Trent)

A → T : Hm, A

T → A : SKRT( n, A, Hm, tn, In-1, Hm-1, tn-1, Ln )

onde: Ln = H ( In-1, Hm-1, tn-1, Ln-1 )

E após Trent rotular o próximo tempo (carimbo):

T → A : In+1 , Identificação do documento posterior ao originador.

Problemas?• Documento fictício

Page 4: Carimbo de Tempo ( timestamping )

Linking Protocol

• Hm : valor do hash de m que Alice deseja ver com rótulo de tempo tn .

• n : indica um número de sequência do pedido para rotular o tempo, ou seja, é o n-ésimo rótulo de tempo que Trent emitiu.

• A : Alice é o originador do pedido de rótulo de tempo.

• tn : é o n-ésimo rótulo de tempo

• tn-1 : é o rótulo de tempo prévio ao documento m

• In-1, Hm-1, tn-1 : identificação do documento prévio, Hash do documento prévio, rótulo de tempo do documento prévio.

• Ln = H ( In-1, Hm-1, tn-1, Ln-1 ) : Link do n-ésimo pedido referenciando o link do pedido para rotular o documento prévio.

Page 5: Carimbo de Tempo ( timestamping )

Linking Protocol

• Se alguém questionar o rótulo de tempo do documento de Alice ( In ), ela pode provar que seu rótulo de tempo está entre os rótulos de tempo de um documento prévio ( In-1 ) e o rótulo de tempo de um documento posterior ( In+1 ) ao seu.

• Este protocolo torna muito difícil para Alice e Trent conspirarem e produzirem um documento rotulado com um tempo diferente do que o tempo real.

• Trent não pode “adiantar a data” de um documento para Alice, visto que ele precisa saber previamente qual rótulo de documento virá antes.

• Trent não pode “antecipar uma data” de um documento para Alice, visto que ele precisa embutir o rótulo de tempo de um documento emitido imediatamente após a data pretendida, e esse documento já foi emitido.

Page 6: Carimbo de Tempo ( timestamping )

Protocolo distribuído

• Pessoas morrem.• Rótulos de tempo ficam perdidos.

• Muitas coisas podem acontecer entre uma rotulação de tempo de um documento e o desafio para Alice obter uma cópia de rótulos de tempo de documentos passados In-1 .

Page 7: Carimbo de Tempo ( timestamping )

Protocolo distribuído

• Este problema pode ser aliviado por considerar, por exemplo, os prévios rótulos de tempo de k pessoas, gerados aleatoriamente por Alice, e então, Alice enviar para cada uma dessas os identificadores das próximas k pessoas.

• Alice terá uma grande chance de descobrir pessoas que ainda tem seus rótulos de tempo.

Page 8: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Protocolo distribuído

Usando Hm como entrada,

A : V1, V2, V3, ... Vk , Alice gera uma string de Vi

onde: Vi = produzidos por geradores pseudo-randômicos seguros.

Alice interpreta cada destes valores como a identificação, I, de uma outra

pessoa.

A → P1 : Hm , V1

A → P2 : Hm , V2. . . . . ........ .........

A → Pk : Hm , Vk

Pi → A : SKRP ( Hm, tn )

A : armazena

Page 9: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Protocolo distribuído

• O gerador de números pseudos-aleatórios, seguro criptograficamente, impede Alice de deliberadamente escolher identificadores I´s corruptos como verificadores Vi .

• Este protocolo funciona porque para Alice falsificar um rótulo de tempo teria que convencer a todas das K pessoas a cooperarem. Como ela escolheu identificadores pessoais aleatoriamente, a chance contra disto é muito alta.

• Quanto mais corrupta for a sociedade é, maior, o número k deve ser.

Page 10: Carimbo de Tempo ( timestamping )

Protocolos IntermediáriosAssinaturas em grupo

Veja o seguinte problema:

• Uma companhia tem diversos computadores, cada conectado a uma rede local.

• Cada departamento da companhia tem sua própria impressora (também conectada à rede) e somente pessoas daquele departamento são permitidas usarem a impressora do seu departamento.

• Antes de imprimir, portanto, a impressora deve estar certa de que o usuário é do departamento.

Page 11: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Assinaturas em grupo

• Ao mesmo tempo, a companhia quer privacidade; o nome do usuário não pode ser revelado.

• Se, contudo, alguém descobre no fim do dia que a impressora foi usada por demasia, o diretor deve ser capaz de descobrir que fez mal uso da impressora, e enviar a ele uma cobrança.

• A solução deste problema é chamada Assinaturas em grupo.

Page 12: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Assinaturas em grupo (propriedades)

(1) Somente membros do grupo podem assinar.

(2) Quem recebe pode verificar que a assinatura é válida e

pertence ao grupo.

(3) Quem recebe não consegue identificar qual membro do

grupo assinou.

(4) No caso de disputa, ou após um período estabelecido, a

assinatura pode ser “aberta” para revelar a identidade de

quem assinou.

Page 13: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Assinaturas em grupo

(1) Árbitro gera um conjunto de pares (KU,KR) e entrega a cada

membro do grupo uma lista diferente contendo KR´s únicas.

Nenhuma dessas chaves privadas, em qualquer lista são idênticas.

Total de pares de chaves (KU,KR) = n * m ( n membros, m pares de chaves cada membro )

(2) Árbitro publica a lista de todas as KU´s para o grupo, em

ordem aleatória. Ele guarda um registro secreto de quais

chaves pertencem a quem.

Page 14: Carimbo de Tempo ( timestamping )

Protocolos Intermediários

Assinaturas em grupo

(3) Quando um membro deseja (usar a impressora) deve

assinar um documento, escolhe uma chave aleatoriamente

de sua lista pessoal.

(4) Quando alguém deseja verificar a qual grupo pertence a

assinatura, busca na lista para a correspondente chave

KU

e verifica a assinatura.

(5) No caso de disputa, o árbitro sabe a quem pertence a

KU.