Quais são as opções --use-urandom ou --use-random no LUKS usadas para?

1

Atualmente, estou tentando aprender alguns sistemas operacionais que não sejam o Windowsland, e imaginei que o Ubuntu Server 16.04 seria o melhor lugar para começar. Tendo "dominado" o LVM, estou tentando me familiarizar com cryptsetup e LUKS.

Estou começando a entender, mas a única coisa que me deixa perplexo é ...

... até que ponto os números aleatórios são gerados pelas opções --use-urandom ou --use-random-used para?

No contexto de um comando cryptsetup, por exemplo:

$ sudo cryptsetup luksFormat --cipher=aes-xts-plain64 --key-size=512 --hash=sha256 --use-random /dev/sdb1 --key-file=/crypto/keyfile

Eu tenho feito algumas leituras aqui que usando / dev / random (que é o que eu suponho - use-random-pulls sua entropia numérica aleatória a partir de) pode levar muito tempo enquanto o sistema gera mais entropia, e assim em certas instâncias é recomendado usar --use-urandom (que correspondentemente puxa de / dev / urandom, que como eu entendo é totalmente pseudo-aleatório) desde que o sistema não vai ficar preso esperando o pool de entropia para "recarregar".

Eu não entendo COMPLETAMENTE a criptografia, mas estou supondo que esta opção é usada apenas uma vez, definindo o estado inicial de todo o esquema de criptografia, e então estamos bem. Se for esse o caso, não tenho nenhum problema em esperar por um bom e caótico leito de criptografia para proteger meus dados - mas se eu tiver que lidar com isso com cada leitura e gravação no disco ... isso pode envelhecer rápido.

Estou certo? Isso é apenas uma coisa de uma só vez? Ou, definindo - use-random no meu comando, estou me condenando a LUKS longos abre e fecha, lê e escreve, etc?

    
por tromlet 22.06.2017 / 07:36

2 respostas

0

using /dev/random (…) can sometimes take a long time as the system generates more entropy

Correto.

in certain instances it's recommended to use --use-urandom (which correspondingly pulls from /dev/urandom

Em praticamente todas as circunstâncias, recomenda-se não usar /dev/random . Consulte É um rand de / dev / urandom seguro para uma chave de login? ou Mitos sobre a urandom .

/dev/urandom, which as I understand it is wholly pseudorandom

Não, urandom não é pseudoaleatório. "Pseudo-aleatório" significa "determinístico". urandom não é determinístico, ele usa um gerador aleatório determinístico (com qualidade criptográfica) que é semeado pela entropia e, portanto, produz um fluxo efetivamente interminável de bytes aleatórios a partir de uma pequena quantidade de dados não determinísticos .

As opções --use-random e --use-urandom afetam apenas o que acontece ao gerar a chave, não o que acontece ao usar o volume. Portanto, --use-random não tornará o volume mais lento, apenas torna a criação mais lenta. No entanto, --use-urandom é geralmente bom, enquanto --use-random é bom para uso interativo, mas não é recomendado em scripts porque pode bloquear para sempre se não houver nada no sistema para aumentar a contagem de entropia. O único caso em que /dev/urandom não deve ser usado é em um sistema recém-instalado e recém-inicializado que ainda não teve tempo de coletar entropia - infelizmente urandom retornará dados previsíveis neste caso. Assim que o sistema for usado por alguns minutos (e até mesmo durante as reinicializações depois de instalar o sistema), /dev/urandom é seguro.

    
por 23.06.2017 / 05:04
1

Basicamente, isso é usado para criar a chave para sua criptografia, é uma única, então você está certo sobre isso.

Quanto ao random vs urandom, geralmente é melhor usar o urandom.

Veja Quando usar / dev / random vs / dev / urandom para os detalhes sangrentos.

    
por 22.06.2017 / 07:49