Criptografia

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Criptografia

Mensagem por MARCELOG »

Olá pessoal,
com a Minigui eu tenho criado um arquivo ini que contém, dentre outras, a informação relativa ao usuário e senha.
A seção LOGIN e entrada USERNAME contém o nome do usuário de forma criptografada com a função CRYPT() do xHarbour.
Contudo, na hora de ler a informação para descriptografia, o último caractere (da palavra 'root'), apesar de registrado no arquivo, não é retornado.
Copiado diretamente do arquivo ini com o WordPad, o resultado é o que segue abaixo.
O 't', com a chave de criptografia que eu uso vira ''.
Porém, esse resultado não é o que aparece no ini se visualizado através do edit do MsDos.

[LOGIN]
USERNAME=Ô0Õ

Se eu mudo a chave de criptografia, alterando o último caractere, tudo funciona perfeitamente.

Então eu pergunto, esse '' visualizado através do WordPad é um carctere especial?

Obrigado.

MarceloG
Água mole em pedra dura tanto bate que até espirra!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Veja que o usual é nunca armazenar nome e/ou senha. O que se costuma fazer é somar essas duas strings e calcular seu hash MD5 (pra citar um tipo). Grava-se então, apenas esse hash. No log-in o usuário entra nome/senha, recalcula-se o hash e compara-se com o que foi gravado.

Se for fazer assim, uma dica: após a soma das strings, converta tudo para maiúsculas (ou minúsculas). Mantendo a caixa fixa você dá ao cidadão a liberdade de usar a caixa que quiser. Aliás, tem gente que até esquece se usou a primeira letra maiúscula ou não. Então, essa providência facilita um pouco pro usuário.

Se você tiver medo de uma possível tentativa de ataque aos hashs armazenados (acredite, é bem fácil descobrir uma senha), você pode adicionar à essa string resultante de nome+senha o que se chama de "salt", ou seja, uma string fixa, que só você conhece. Daí a dificuldade de quebra se multiplica várias vezes, ficando praticamente impossível descobrir a senha.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
alexpaidajulia
Usuário Nível 1
Usuário Nível 1
Mensagens: 13
Registrado em: 14 Dez 2008 06:38
Localização: japao

Re: CRIPTOGRAFIA

Mensagem por alexpaidajulia »

Se você tiver medo de uma possível tentativa de ataque aos hashs armazenados (acredite, é bem fácil descobrir uma senha), você pode adicionar à essa string resultante de nome+senha o que se chama de "salt", ou seja, uma string fixa, que só você conhece. Daí a dificuldade de quebra se multiplica várias vezes, ficando praticamente impossível descobrir a senha.
Acho que a quebra somente seria possivel via ataque por dicionario, na base da forca bruta mesmo, demandando tempo e poder computacional.

Ficando outra questao, tendo a possibilidade de descompilar o executavel e retornar os fontes, nao seria facil descobrir o algoritimo utilizado para criptografar as senhas ou mesmo cortar o ponto aonde e feita a validacao das senhas?

Geralmente o pessoal utiliza sistemas de criptografia bem rudimentares do tipo que troca uma letra por outra segundo algum tipo de criterio, nada muito elaborado.

abracos
alexpaidajulia
Usuário Nível 1
Usuário Nível 1
Mensagens: 13
Registrado em: 14 Dez 2008 06:38
Localização: japao

Re: CRIPTOGRAFIA

Mensagem por alexpaidajulia »

O proprio dbf do clipper nao tem seguranca alguma, nao tem senha ou criptografia ou algo do genero, esta ali para quem quiser ler.

Alguma solucao existe para isso?

abracos
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: CRIPTOGRAFIA

Mensagem por asimoes »

O proprio dbf do clipper nao tem seguranca alguma, nao tem senha ou criptografia ou algo do genero, esta ali para quem quiser ler.

Alguma solucao existe para isso?
Sim, MySQl, Oracle ou qualquer banco relacional com controle de acesso.

Infelizmente DBF pode até ser aberto até pelo excel, ou seja qualquer um abre.

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
mhackervix
Usuário Nível 3
Usuário Nível 3
Mensagens: 105
Registrado em: 11 Fev 2008 02:06
Localização: ES

Criptografia

Mensagem por mhackervix »

alexpaidajulia escreveu:O proprio dbf do clipper nao tem seguranca alguma, nao tem senha ou criptografia ou algo do genero, esta ali para quem quiser ler.

Alguma solucao existe para isso?

abracos
Sim os Dbf utilizados pelo Xailer (xHarbour) podem ser criptografados ou não. No xailer pode-se definir uma Senha para a Tabela (DBF) e esta é acessada normalmente dentro do programa, porem na gravação em disco o DBF estará criptografado. A ferramenta XaDbu abre/edita estes DBF normalmente desde que fornecemos a Senha.

PS: "deve" haver algo semelhante em outras plataformas (RAIDS) de desenvolvimento do xHarbour.

att.
Mhackervix, Msc.
Responder