Página 2 de 2

Re: CRIPTOGRAFIA

Enviado: 01 Set 2008 17:47
por alaminojunior
Será que existe alguma função que criptografe a base de dados inteira e "descriptografe" a base de dados inteira, também?
Neste caso, como vc já trabalha com a versão 5.2 do Clipper, estude à respeito da Lib Six. Me parece que ela faz isso de uma maneira bem simples.

Enviado: 02 Set 2008 09:39
por Maligno
Em rede só vai dar problema. Em monousuário até vai. Mas ainda assim, há um inconveniente: se o sistema decriptografar o arquivo, logicamente será em disco. Se depois desse processo o programa abortar por qualquer motivo, o arquivo ficará desprotegido. Não vale a pena. É melhor fazer isso "on-the-fly", campo a campo, apenas quando necessário.

Re: CRIPTOGRAFIA

Enviado: 06 Set 2008 21:07
por rochinha
Amiguinhos

Eu também procurei algo a respeito mas a maioria das funções são para uso mono e também usei minhas proprias funções de criptografia em campos que defino como de alta prioridade de salvaguarda.

A criptografia deverá ser efetuada numa primeira vez nos campos pre-definidos e somente descriptografados no momento de uma exibição, impressão, etc.

O que pega é se usarmos este método em campos indexados como, NOME, pois ai existe a necessidade de indexação do dados descriptografados para que no momento de pesquisa de um nome aqueles SSD975843HSSD6F7F dejam reconhecidos como ROCHINHA, por exemplo.

Como ja disseram, "on the fly" e "trabalhão" é a pura realidade.

Re: CRIPTOGRAFIA

Enviado: 06 Set 2008 23:09
por Maligno
O jeito é não criptografar campos que serão parte da chave de índice.

Re: CRIPTOGRAFIA

Enviado: 12 Set 2008 22:11
por rochinha
Amiguinho,

No meu caso preciso realmente criptografar alguns campos que fazem parte de chaves como NOME, ENDERECO e TELEFONE e descriptografar no momento de visualizar ou pesquisar.

Algo como:

Criptografar o campo NOME.
Indexar por este campo descriptografando no momento de enviar o comando de INDEXação.
Ao pesquisar passar o dado normalmente ja que a pesquisa ocorre primeiro no indice e depois aponta ao dbf.
Ao salvar sempre criptografar o conteudo antes.
Ao recuperar o dado para visualizar, alterar ou imprimir descriptografar.

Um processo tedioso pois é necessário cercar todos os pontos onde estes dados serão apresentados e modificados.

Comecei a testar esta implemntacao mas dei um tempo por falta do mesmo.

No caso utilizei uma função que implementei o método de Julio Cesar ou Cesar que consiste na troca de letras pela letra anterior ou posterior, que me corrijam de postei algo errado, mas postei um tópico extenso explanando estas técnicas aqui no forum. Ver este link

Primeiro criptografei em todo o DBF o campo NOME:

Código: Selecionar todos

...   
do while .not. eof()
      dbRLock()
      CLIENTES->NOME := MinhaEncriptadora( CLIENTES->NOME )
      dbRUnLock()
      dbCommit()
      skip
enddo
...
Depois promovi a indexacao pelo campo NOME usando o inverso:

Código: Selecionar todos

...   
INDEX ON MinhaDecriptadora(NOME) TO CLIENTES
...
Para pesquisar um determinado dado:

Código: Selecionar todos

...   
dbSelectArea( nArea )
ordSetfocus( nOrdem )
dbSeek( cSeekFrase, lSoftSeek )
...
Neste caso não usei nenhuma função pois o dado passado e o dado que será encontrado no indice esta descriptografado e portanto a pesquisa se efetivará com exito.

Salvar o conteudo no campo do DBF ja criptografado:

Código: Selecionar todos

...   
CLIENTES->NOME := MinhaEncriptadora( M->NOME )
...
Para recuperar o conteudo do campo para vizualizar, alterar etc:

Código: Selecionar todos

...
M->NOME := MinhaDecriptadora( M->NOME )
...
E no browse colocar a chamada ao campo criptografado usando MinhaDecriptadora( M->NOME )

Fica ai o trabalho de verificar onde serão usados campos criptografados e usar as funções corretamente.

Vou usar este método em um módulo para testes e depois homologarei com o cliente o uso em outros módulos, inclusive farei alguns testes em campos com valores, para salvaguardar valores de produtos ou recebimentos.

A aplicabilidade de algo assim é mero segurança e não, um ponto de honra e vai depender do quanto se quer salvaguardar.

Ilustrando o post http://www.5volution.com.br/downloads/forum/crypto.zip

Dicas e sugestões serão benvindas.