Quais mecanismos o ssh-agent usa para manter as chaves privadas desbloqueadas seguras na memória?
Pergunta
Estou trabalhando em um biblioteca para fazer acesso rápido a KeepassX arquivos de banco de dados mais fáceis para usuários avançados.No momento, o aplicativo tem vida tão curta na memória que a segurança do banco de dados KeePass não criptografado não é uma grande preocupação.
No entanto, gostaria de adicionar a capacidade de manter o banco de dados desbloqueado por um período de tempo em segundo plano, semelhante ao que a GUI do KeepassX faz.Isso permitiria a consulta imediata de senhas sem ser solicitada a senha mestra.Isso significa que haveria uma espécie de processo daemon que manteria o banco de dados na memória e se comunicaria com um cliente.
Parece que as implicações de segurança disto são semelhantes às ssh-agent
, e estou me perguntando se alguém por aqui está familiarizado com a forma como esse projeto aborda o armazenamento seguro de longo prazo de dados confidenciais (ou seja, chaves privadas SSH desbloqueadas).
Solução
Talvez isso ajude: Homem:mllock(2)
Observe que os soquetes de domínio UNIX são um pouco mais seguros que os soquetes de domínio da Internet, pois só podem ser acessados a partir do host local e o acesso a eles pode ser ainda mais restrito a usuários e grupos específicos (usando chown
e chgrp
e claro, chmod
).