O Virtio RNG é um gerador de números aleatórios paravirtualizados. O Virtio RNG fornece números aleatórios de um pool de entropia gerado pela máquina host da instância de máquina virtual (VM, na sigla em inglês). O pool de entropia coleta bits aleatórios de informações do sistema e as usa para gerar números realmente aleatórios que podem ser usados para informações confidenciais, como chaves SSH ou IDs exclusivos.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Limitações
- O Virtio RNG não está disponível para imagens do Windows.
- Por padrão, as VMs do Compute Engine usam o Virtio RNG em vez de um daemon
para preencher o pool de entropia convidado. Se você preferir usar
um daemon de coleta de entropia em vez de ou juntamente do Virtio RNG,
instale um. Para ver um exemplo de daemon de coleta de entropia, consulte a
documentação do
rng-tools
.
Como verificar se o Virtio RNG está ativado
Verifique se o Virtio RNG está ativado na VM executando o seguinte comando:
lsmod | grep rng
Quando o Virtio RNG estiver ativado, a saída será semelhante a esta:
virtio_rng 16384 0 rng_core 16384 2 virtio_rng virtio_ring 28672 4 virtio_rng,virtio_scsi,virtio_pci,virtio_net virtio 16384 4 virtio_rng,virtio_scsi,virtio_pci,virtio_net
Como testar o RNG
É possível testar o Virtio RNG usando o dispositivo /dev/random
.
Conecte-se à VM usando SSH. Por exemplo, é possível usar a CLI gcloud para se conectar:
gcloud compute ssh VM_NAME
Substitua
VM_NAME
pelo nome da VM.Instale
rng-tools
:CentOS
Use o seguinte comando para instalar
rng-tools
:sudo yum install rng-tools
Debian
Use o seguinte comando para instalar
rng-tools
:sudo apt install rng-tools
Fedora CoreOS
Use o seguinte comando para instalar
rng-tools
:sudo yum install rng-tools
RHEL
Use o seguinte comando para instalar
rng-tools
:sudo yum install rng-tools
SLES
Use o seguinte comando para instalar
rng-tools
:sudo zypper install rng-tools
Ubuntu LTS
Use o seguinte comando para instalar
rng-tools
:sudo apt install rng-tools
Algumas imagens do Ubuntu retornam um erro
Package 'rng-tools' has no installation candidate
. Se você receber esse erro, execute os seguintes comandos:sudo apt update sudo apt install rng-tools
Na VM, execute o comando
rngtest
:cat /dev/random | rngtest -c 1000
Se o Virtio RNG não estiver ativado, o comando não retornará nada. Se estiver ativado, você receberá uma resposta semelhante a esta:
rngtest 2-unofficial-mt.14.. rngtest: starting FIPS tests... rngtest: bits received from input: 20000032 rngtest: FIPS 140-2 successes: 1000 rngtest: FIPS 140-2 failures: 0 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 0 rngtest: FIPS 140-2(2001-10-10) Runs: 0 rngtest: FIPS 140-2(2001-10-10) Long run: 0 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=4.801; avg=7.318; max=7.839)Mibits/s rngtest: FIPS tests speed: (min=39.005; avg=69.557; max=72.523)Mibits/s rngtest: Program run time: 2880954 microseconds
A seguir
- Saiba mais sobre o Virtio RNG.
- Saiba mais sobre
/dev/random
- Consulte Detalhes do sistema operacional para saber mais sobre as imagens disponíveis no Compute Engine.