Como você deve saber, não é tão fácil gerar entropia em uma máquina virtual quanto em um PC "normal". A geração de uma chave gpg em uma máquina virtual pode demorar um pouco, mesmo com as ferramentas corretas.
Existem muito mais funções criptográficas por aí que não são tão conscientes da entropia quanto o gpg.
Então, pode-se dizer que a criptografia é menos segura em uma máquina virtual?
Respostas:
Antes de tudo, deixe-me dizer que não sou especialista em segurança.
Como a criação da chave gpg é usada
/dev/random
como gerador de números aleatórios, é tão segura em uma máquina virtual quanto em uma máquina real./dev/random
é um dispositivo de bloqueio e deixará de fornecer qualquer aleatoriedade além da quantidade disponível. Você pode verificar sua aleatoriedade disponível emcat /proc/sys/kernel/random/entropy_avail
(deve ser por volta de 2000 )Em uma máquina virtual, a aleatoriedade disponível é realmente menor do que em uma máquina real, devido à falta de acesso ao hardware.
Você pode aumentar a entropia aplicando chaves de entropia e / ou alternando para uma máquina não virtualizada.
Há um bom artigo disponível sobre entropia em máquinas virtuais. Infelizmente, ambas as partes do artigo estão disponíveis apenas no cache do Google no momento.
A entropia tem efeitos adicionais em qualquer criptografia ssl / tls. Portanto, o uso de
/dev/urandom
qualquer fonte não-aleatória realmente afeta a segurança de seus aplicativos.Em termos de quão confiável é
/dev/urandom
comparada à verdadeira aleatoriedade;não posso lhe dar uma resposta decente, desculpe.
Para obter mais informações sobre esse tópico, acesse http://security.stackexchange.com e / ou leia, por exemplo. esta postagem
fonte
/dev/urandom
está usando um PRNG criptograficamente seguro (semeado pelo mesmo pool que/dev/random
), portanto, não deverá haver problemas desde que haja entropia inicial suficiente nesse pool. Pode haver um ponto em propagá-lo do pool de entropia da máquina pai.Sim, na maioria das circunstâncias, a criptografia é menos segura em uma máquina virtual do que em um servidor "real".
O último pode pelo menos coletar entropia de algum hardware real. De fato, a operação de um pedaço de HW está - na maioria dos casos - vinculada a algum fenômeno físico, que está sempre sujeito a pequenas variações, aleatórias em todas as contas. Como os servidores geralmente são executados por um período muito longo sem uma redefinição, o pool de entropia resultante acabará por ter qualidade suficiente.
Máquinas virtuais sofrem de três problemas.
A melhor solução é ter a VM simplesmente desistindo e percebendo que o HW que ela vê é uma fonte ruim de entropia. Em seguida, organize um serviço de rede local para distribuir entropia de alta qualidade (consulte Entropy Broker ). O "servidor de entropia" pode extrair a aleatoriedade do HW genérico (nesse caso, ele deve operar por um tempo suficiente e deve ter um sistema operacional decente) ou de um HW criptográfico específico (um chip TPM, um chip VIA Padlock, etc.).
Uma VM que usa esse serviço pode até ser mais segura (criptograficamente) do que um servidor "real" que acabou de inicializar.
fonte