Linux'ta / dev / random ile / dev / urandom arasında bağlantı kurmak yanlış mı?


13

Şu anda gpg --genkeybir Linux VM üzerinde test yapıyorum . Ne yazık ki, bu yazılım /dev/randomentropi toplamak için güveniyor gibi görünüyor ve kibarca kriptografik olarak rastgele giriş ekranlarından sonra ekranları manuel olarak yazmasını ister, böylece sonunda bir anahtar üreterek bitebilir ve söylemek için hiçbir komut satırı parametresi bulamadım entropi kaynağı olarak başka bir dosya kullanmak ( bu videodaki adam aynı sorunla karşılaşıyor ...).

Ancak, kullanıcı kullanmayı tercih özgür olmalıdır /dev/urandomberi yerine onunla yanlış bir şey yoktur . Esas olarak, kriptografik bir bakış açısından daha zayıf olan eski PRNG algoritmalarını hatırlatır. Örneğin NetBSD kılavuzunda , ayrımın çok erken önyükleme aşamasında hala yararlı olabileceği kabul edilirken, "folklor" ve "yalnızca fantezi tehdit modellerine karşı savunan hayali bir teori " gibi bir ayrım tanımlanmaktadır . Kimse bu komutun gerektirdiği entropi miktarına ya da entropinin aslında GPG kılavuzunda belirtildiği gibi tüketilen bir şey olduğu konusunda hemfikir değildir ("LÜTFEN, ne yaptığınızı bilmiyorsanız bu komutu kullanmayın, değerli entropiyi sistemden kaldırabilir!" ).

Ben okudum yüklemeden insanlar rngdcini kullanımı ve yapılandırmak /dev/urandombeslemesine entropi kaynağı olarak /dev/random, ama böyle bir uygulama ağır kirli bulabilirsiniz.

Sorunu kaldırmak /dev/randomve /dev/urandombunun yerine bağlayarak FreeBSD şekilde geçici olarak çözmeye çalıştım :

rm /dev/random
ln -s /dev/urandom /dev/random

Bunu " /dev/urandomentropi kaynağı olarak güveniyorum" diyen bir ortam olarak görüyorum .

Bir tür hatayla karşılaşacağımdan korktum, ancak komut şimdi hemen geri döndüğü için bu beklenen sonucu sağlıyor gibi görünüyor.

Sorum şu: bağlama bilinen herhangi pratik ve yanlış yan etkisi yoktur /dev/randomiçin /dev/urandomFreeBSD sistemlerinde varsayılan olarak yapıldığı gibi Linux sistemlerinde? Ya da /dev/randombazı hizmetlerin kilitlenmesi nedeniyle tekrarlayan sorunlar olması durumunda bunu kalıcı olarak (örneğin önyükleme işleminin sonunda bir komut dosyasında) ayarlamak düşünülebilir mi?

Yanıtlar:


2

Uurandom hakkındaki Mitlere bakın , / dev / urandom üzerinde / dev / random'a da saldırı olmayacak bilinen bir saldırı yoktur. Bir Linux sisteminin sahip olduğu temel sorun, klonlamadan sonra kaydedilen entropi havuzunu sıfırlamadan birkaç VM olarak klonlanması ve çalıştırılmasıdır. Bu, istediğiniz şeye teğet olan bir köşe vakası.


0

Hakkında farklı bir şey /dev/randomentropi havuzu kullanıldıktan sonra çıktısını durdurmasıdır. bunu dene:

$ cat /dev/random
(a few short lines of gibberish)^C
$ 

/dev/urandomancak çıktıya devam etmek için aynı havuzu yeniden kullanır. burada gösterildiği gibi:

$ cat /dev/urandom
(tons of gibberish fills the screen)^C
$

(Bu özel aygıtları birleştirmeye çalıştığınızda isteminiz dağınık olabilir. Sadece yazın resetve girin, terminaliniz normale dönecektir)

Kullanım /dev/urandomsadece "randomish" bit sürekli bir akış ile bir şeyler doldurmak gerektiğinde. Kullanım /dev/randomkesinlikle rasgele olması gerektiğini anahtarlar için.


3
OP'nin sorusu şuydu: FreeBSD sistemlerinde varsayılan olarak yapılan Linux sistemlerinde / dev / random / / dev / urandom'u bağlamanın bilinen, pratik ve yanlış yan etkileri var mı?
countermode

İlginçtir, eğer fark bu kadar belirgin ise, bunlar birbirine bağlı olmamalıdır. Diğer tartışmaların birçoğu, önyükleme sonrasında hiçbir fark olmaksızın fikir birliğine varır, ancak bu davranış daha uzun süreli bir farka işaret edebilir.
KalleMP

-2

Linux'ta /dev/randomyüksek kaliteli rastgele bitler verir. Bunlar kaynaklardan elde edilen olmayan öngörülebilir ve olmayan makineye dış tekrarlanabilir. Buna karşılık, (eğer mevcutsa) ile /dev/urandomaynı rastgele verileri kullanır /dev/random, eğer yoksa, deterministik olan bir sahte rastgele sayı üreteci kullanır . Çoğu amaç için, tahmin edilemez, ancak kriptografi gibi çok zorlu uygulamalar için değil ve GPG gibi uzun ömürlü anahtarlar oluşturmak için çok daha az.



@ Paranoya derecenize bağlı olan solungaçlar. GPG için, herkes anahtarınızdan etkilenir (dolaylı olarak).
vonbrand

5
Eğer güven yoksa /dev/urandom, GPG ya güvenmek için hiçbir sebep yok.
Gilles 'SO- kötü olmayı bırak'

3
@vonbrand: Paranoya dereceme bağlı olarak, rasgele üretmek için matematiksel olarak kontrol edilmiş bir PRNG veya çöp "asdfghasdfghasdfgh" tam bir ekran yazmak zorunda bir kullanıcı arasında seçim yapmak zorunda kalırsam, ben çok PRNG yazılımını seçmek istiyorum. Bir bilgisayarın rasgelelik üretmede iyi olmadığını, ancak insanların daha da kötü olduğunu düşündüğünüzü anlıyorum. Yine de, tartışmaya urandomkarşı vs. dışında, soruma geri dönmek için random, /dev/randomdosyayı bir bağlantıyla değiştirmenin başka bir yan etkisi olmaması ve bahsettiğim rngdhile için uygun bir alternatif olması gerektiğini onaylıyor musunuz?
WhiteWinterWolf

2
Bu yanlış. SAME RNG kullanıyorlar, ancak yeterli entropi olmadığını tahmin ederse rastgele bloklar.
Duncan X Simpson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.