silvaezequias / secure-db

SecureDB is a simple and powerful local database that helps Node.js developers by storing data in JSON or encrypted.
https://www.npmjs.com/package/secure-db
MIT License
16 stars 0 forks source link

multiple ciphers? #3

Closed ghost closed 3 weeks ago

silvaezequias commented 3 months ago

Cara, uma camada a mais de criptografia sempre é bom mas dependendo do fluxo da sua aplicação pode ser custoso para o servidor. Se for um sistema onde o dado armazenado é acessado várias vezes, não sei se vale a pena implementar isso porque pode pesar bastante o processo de criptografia e descriptografia.

Entretanto, eu achei uma ideia muito incrível para aumentar a segurança dos dados. Você tem alguma sugestão para implementar isso na biblioteca?

silvaezequias commented 3 months ago

sim. tem a biblioteca multi-crypto, que tem varios algoritmos de criptografia, e podemos criar um wrapper disso (uma camada que chama outra funcao ja criada e desenvolvida por outra pessoa)

Top, cara! Eu dei uma olhadinha nessa biblioteca e parece bem robusta e funcional - o padrão de criptografia desse pacote é parecido com o padrão do secure-db, inclusive. (Entrada e Saída) - Gosto da ideia e acho que vai ser uma ótima implementação.

eu estava pensando em criar um property do tipo criptografia, onde o usuario seleciona a criptografia que queira ou por outra esse processo eh randomizado para maior segurança digital.

A uns tempos, eu estava pensando em criar uma classe especialista em criptografia e integrar essa classe ao sistema de banco de dados. Na minha ideia, essa classe teria a responsabilidade de definir qual seria o sistema de criptografia baseado na definições de segurança do usuário e resolveria toda a parte de conversão de dados e criptografia, como esperado.

Segue uma representação de como seria o fluxo com essa "Classe Especializada";


flowchart TD
U("Usuário")
A>"Definições de Segurança"]
B["Classe de Criptografia"]
C("Sistema de Banco de Dados")
D[("Base de Dados")]

A --> B
C -.-> B -.-> C
U --> C
B ==> D

style B color:#FFFFFF, fill:#1675c5, stroke:#FFFFFF

Seria uma abstração mais adequada para esse sistema, o que acha sobre essa ideia? Com ela, podemos isolar a implementação da integração com a multi-crypto e tornaria a construção do código mais semântica e organizada.

se achar relevante, vou reservar um tempo para implementar e enviar o pull request aqui. topa um pull request disso?

Eu super topo! E desde já agradeço, tanto por essa ideia quanto por reservar um tempo para contribuir com essa biblioteca. 😄 🚀

silvaezequias commented 4 weeks ago

Obrigado por iniciar o trabalho na implementação das funcionalidades de múltiplas criptografias! No entanto, o link que você forneceu para o fork está inválido ou está configurado como privado, e, por isso, não consigo acessá-lo (recebo um erro 404).

Poderia, por favor, tornar o fork público ou me adicionar como colaborador? Dessa forma, eu poderei dar uma olhada nas suas alterações e continuar com a análise. Agradeço pela colaboração!

silvaezequias commented 4 weeks ago

Certo, meu email para contato é ezequiaslopesdev@gmail.com. Pode me enviar por lá, ficarei no aguardo.