[JPA] Dúvida sobre segurança ao armazenar dados para conexão
6 respostas
FkJ
No sistema que estou desenvolvendo estou usando Hibernate + JPA. Criei uma opção para o usuário informar os dados para conexão com o banco de dados. Esses dados são salvos em um arquivo de properties, pois desta forma posso fazer leitura dele e passar como parâmetro na criação do entity manager factory.
O problema é que os dados ficam armazenados como texto simples. Alguém conhece uma forma mais segura de armazenamento?
ah, vc pode criptografar o texto antes de serializá-lo e descriptografar ao recuperar o arquivo… Isso?
FkJ
Qual algoritmo vc recomenda?
marcelo_mococa
eu indico MD5.
você pode usar o commons codec pra facilitar o trabalho da criptografia.
kicolobo
ALERTA 1
Algoritmo MD5 não é para encriptação/decriptação de dados. Apenas para geração de hashes. Você pode utilizá-lo para saber por exemplo se houve alteração em arquivos e alguma autenticação do usuário (gerar o hash da senha digitada e comparar com o hash armazenado).
Se você “encriptar” sua senha usando o algoritmo MD5, não irá conseguir decriptá-la depois.
ALERTA 2
Já existem algoritmos que descobrem qual foi a String que gerou o hash usando MD5, o que o torna menos seguro (usando rainbow tables se não me engano).
FkJ
Uso SHA-1 quando preciso de um hash
Pesquisei pra ver se a função de conexão com o banco aceita um hash para a senha, mas pelo jeito não. Mesmo se aceitasse a url e o usuário continuariam desprotegidos, portanto tem que ser um algoritmo de dois caminhos com senha.
É para esse tipo de algoritmo que gostaria de sugestões, pois até hoje só trabalhei com hashes
D
damyhonn
FkJ:
No sistema que estou desenvolvendo estou usando Hibernate + JPA. Criei uma opção para o usuário informar os dados para conexão com o banco de dados. Esses dados são salvos em um arquivo de properties, pois desta forma posso fazer leitura dele e passar como parâmetro na criação do entity manager factory.
O problema é que os dados ficam armazenados como texto simples. Alguém conhece uma forma mais segura de armazenamento?
Obrigado,
Felipe
Olá caro FkJ…
queria aproveitar seu tópico para lhe pedir uma ajuda…
vc poderia me dizer como foi sua solução pra utilizar dados fornecidos pelo usuário para se conectar ao banco?
estou usando hibernate e preciso solicitar ao usuário dados como login, senha, url e o banco a ser utilizado…