Download - Carimbo de Tempo ( timestamping )
![Page 1: Carimbo de Tempo ( timestamping )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/1.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/2.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/3.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/4.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/5.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/6.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/7.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/8.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/9.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/10.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/11.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/12.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/13.jpg)
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 )](https://reader038.vdocuments.com.br/reader038/viewer/2022110212/568141dd550346895dadb857/html5/thumbnails/14.jpg)
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.