Fabio,

> o meu problema e q eu preciso garantir daqui anos (5, 10
> indeterminado) que foi aquela determinada pessoa quem inseriu aquele
> registro entendeu?
...
> ...preciso garantir por exemplo daqui 2 anos(mesmo q o advogado ja
> tenha saido da empresa) que aquela informacao foi postada por ele, e nao
> foi alterada, essa e a ideia de assinar o registro digitalmente entendeu?

Agora entendi.

>  eu quero saber se
> tem como ele assinar aquele determinado registro com a assinatura
> digital dele, ou assinando a informacao ou isso sendo um recurso do
> proprio banco.

Considerando como recurso do próprio banco, entendo que não vai te servir, 
nem com Postgres nem com solução nativa de banco de dados nenhum.
A questão aí é conceitual. Pelo exposto, não te basta garantir que ninguém, 
nem o administrador do banco, pode mexer em determinada informação presente 
no banco de dados. Mesmo que o postgres assinasse digitalmente ou 
criptografasse cada uma das páginas do banco de dados e ainda por cima 
registrasse o histórico (também assinado digitalmente) de todas as 
alterações, ainda assim isso não te serviria pois quem conhece a estrutura 
do banco (que por ter código aberto é pública) e tivesse acesso aos arquivos 
ou a um back-up poderia usar o mesmo certificado ou chave de criptografia 
para adulterar a organização dos registros, excluindo ou incluindo o que bem 
entendesse.

Se você quer registrar em algum lugar uma informação que não possa ser 
adulterada nem pela empresa nem por qualquer de seus usuários (atuais ou 
antigos, de qualquer nível), então por definição *toda* a informação que 
você quer proteger teria de ser assinada por uma entidade *externa*, 
*juridicamente confiável* e *independente*. Isso exclui a possibilidade de 
qualquer banco de dados resolver sozinho seu problema.

Desconheço soluções prontas que te ajudem nisso, meu único palpite é que a 
solução terá de passar por uma protocoladora digital (diversas empresas 
oferecem esse serviço), e os dados assinados por ela ficarão no seu banco de 
dados como qualquer outro valor, só que unidos no mesmo campo e/ou a 
documentos assinados por outros certificados para evitar adulterações. O 
nível de vinculação entre os registros da base dependerá de quais são seus 
requisitos quanto ao sumiço de informações. Teoricamente pode-se implementar 
qualquer coisa capaz de identificar fraudes em níveis como:
* adulteração ou sumiço de um trecho de um documento: só a assinatura 
digital do advogado já te resolve esse nível;
* adulteração ou sumiço de qualquer documento vinculado a um processo: 
solução trabalhosa usando protocoladora digital;
* adulteração na ordem cronológica das atualizações e conteúdo de 
determinada tabela: solução mirabolante usando muito a protocoladora digital 
e alguns gigabytes de disco;
* adulteração de qualquer campo do banco de dados: essa daria tanto trabalho 
e consumiria tantos recursos que qualquer tentativa de pô-la em prática 
seria questionável.

Antes de sair viajando muito além dos limites do razoável, pondere bem sobre 
qual o custo e qual o benefício de embutir um monte de assinaturas digitais 
sobre hashs de gigabytes de dados em tudo quanto é canto. Normalmente nestes 
casos dá para se achar uma solução bem razoável a um custo acessível. 
Lembre-se de que nem um cartório, que já tem fé pública, precisa de algo tão 
complexo (talvez algum cartório venha a precisar quando abrir mão do 
papel...).

Atenciosamente,

Mozart Hasse 


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a