Carimbo de Tempo ( timestamping )

Preview:

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

Citation preview

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?

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.

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

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.

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.

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 .

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.

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

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.

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.

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.

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.

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.

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.

Recommended