Soru PGP anahtarı için entropi oluştur


Bir VM'ye uzaktan giriş yaptım ve 4096bit PGP anahtarı oluşturmaya çalışıyorum, sadece sonsuza kadar asılı kalıyor çünkü entropi yok ve uzak masaüstünden çalışıyorum çünkü muhtemelen fare hareketini entropi olarak algılamıyor.

Nasıl biraz üretebilirim?

denedim cat /dev/urandom > /dev/null ama bu yardımcı olmuyor.


12
2017-07-23 08:18


Menşei




Cevaplar:


Veri alma dışarı arasında /dev/random veya /dev/urandom kesinlikle değil Yardım edeceğim, tüm yapacağınız entropi havuzunuzu tüketmek, sorunu daha da kötüleştirmektir. Bu iki dosya arasındaki temel fark, çekirdeğin entropi bittiğinde bile urandom daha az kaliteli rastgele veri üretmeye devam edecek random taze yüksek kaliteli rastgele veri toplayana kadar engeller. PGP, güvenli anahtarlar oluşturmak için mümkün olan en yüksek rastgele veriyi gerektirir, böylece her zaman kullanılır /dev/random.

Etrafta iyi rastgele veri varsa veya başka bir sunucunun bazılarını dışa aktarıyorsanız /dev/random, yapabilirsin cat o içine sunucunuzun /dev/random daha fazla entropi elde etmek için. Asla yapmamalısın cat aynı dosyaya iki kez /dev/random gerçi.

Kendinizi sık sık entropiden yokken buluyorsanız, haveged, arka planda entropiyi yeniden üreten ve yeniden dolduran bir arka plan /dev/random ihyaç olduğu gibi.

Ayrıca sembolik bağlantı kurmak da cazip gelebilir. /dev/random için /dev/urandomAncak bu, kullanıldığında oluşturulmasından daha az güvenli olabileceğinden, bu bir güvenlik riski olarak düşünülmelidir. Bir daha az kritik uygulama için yardımcı olsa da, mümkün olan tüm diğer kullanımları göz önünde bulundurmanız gerekir. /dev/randomkendi anahtarlarını oluşturan diğer kullanıcılar, CSR vb.


13
2017-07-23 09:19



FreeBSD'de, /dev/random bir yüksek kaliteli PRNGve normal olarak engellememelidir. - Kevin
@Kevin /dev/random modern BSD ve Linux'ta yüksek kaliteli PRNG vardır. Ancak yeterli entropi mevcut değilse engellenir. Diğer tarafta, /dev/urandom Yeterli miktarda mevcut değilse engellenmez, ancak rasgelelik kalitesi bu durumda acı çekebilir. Ayrıntılarda, Linux ile çeşitli BSD'ler arasında rastgele ve urandom uygulamaları arasında birçok incelik vardır, ancak yukarıdakiler tüm AFAIK'te doğru olmalıdır. - Huygens
Linux'ta sadece bir sunucuya ping yaparak daha fazla entropi oluşturabilirsiniz (ör. ping 8.8.8.8) Eğer başka bir ağ sunucusuna sahipseniz, her 100 ms'de ping yapmayı deneyin (eğer RTT'niz tabiki <100ms ise). Ve / veya kullanımı find Sabit diskinizdeki dosyaları aramak ve her dosya arama arasında RAM önbelleğini temizlemek için. - Huygens
@Huygens: Bağladığım adam sayfasını aç ve Ctrl + F "kern.random.sys.seeded"; varsayılan olarak, /dev/random FreeBSD'de engellenmez. - Kevin
@Kevin evet haklısınız, entropy havuzu veya hasat belki de PRNG "tohumlama" iki farklı yoludur. Ve benim BSD kutumda bazı testler yaptıktan sonra, rastgele ve urandom'un aynı şekilde davrandığını öğrendim, yeterince iyi PRNG üretemedikleri zaman bloke ettiler. Koşmayı dene dd if=/dev/random of=/tmp/rndtest bs=64M count=1 Yeni bir önyükleme işleminden sonra, 64MB dosya artışını oluşturma süresini görmek için 2 ardışık işlem yapıldı. Bu etkiyi girdi olarak görmüyordum, fakat FreeBSD, Linux'un aksine, onunla da engelleniyor gibi görünüyor. - Huygens


Kullanabilirsiniz haveged.

haveged Gerektiğinde entropi üreten bir servistir.


7
2017-07-23 09:04



Evet apt-get yüklemesi var - Uwe Burger
Sanal ortamda Haveged ile ilgilenin. Hiper yönetici konfigürasyonuna bağlı olarak suboptimal olabilir. Bu sayfayı kontrol et: wiki.archlinux.org/index.php/Haveged#Virtual_machines - Huygens


Debian tabanlı sistemlerde, rng-tools atp-get kullanarak paketleyin ve sonra da entropiyi oluşturmak için daemon'u başlatın:

echo HRNGDEVICE=/dev/urandom >> /etc/default/rng-tools && service rng-tools restart

CentOS-6 sunucularında rng daemon, temel araçlardan biri olarak yüklenir (en azından üzerinde çalıştığım sistemlerin çoğu) ve entropi oluşturmak için aşağıdaki komutu çalıştırabilirsiniz:

sed -i \'s|EXTRAOPTIONS=\"\"|EXTRAOPTIONS=\"-r /dev/urandom\"|g\' /etc/sysconfig/rngd && service rngd restart

3
2017-07-28 20:19



Ben urandom'u rngd için bir kaynak olarak kullanmanın zekice olduğunu düşünmüyorum. Entropinin daha çabuk tükenmesine yardımcı olur ve tükendiğinde entropi için önyargılı bir kaynak olacaktır. Bu yüzden bu çözümden kaçınırdım. - Huygens


Yerel makinenizdeki gpg anahtarlarınızı uzaktakilerden çok daha iyi rastgele olacak şekilde oluşturmanızı tavsiye ederim. Ve sonra uzak makinenize SSH kullanarak anahtarları geçirin.

Lokal olarak üretme daha hızlı olacaktır (entropi için daha fazla kaynak), daha güvenli (makineniz enfekte değilse, daha iyi rastlantısallık yapmıyorsa kimse işlem yapamaz).

Eğer hala bunları uzaktan üretmek istiyorsanız: Linux'ta, yalnızca bir host'a ping yaparak daha fazla entropi oluşturabilirsiniz (ör. ping 8.8.8.8) Eğer başka bir ağ sunucusuna sahipseniz, her 100 ms'de ping yapmayı deneyin (eğer RTT'niz tabiki <100ms ise). Ve / veya kullanımı find Sabit diskinizdeki dosyaları aramak ve her dosya arama arasında RAM önbelleğini temizlemek için.

Ayrıca yükleyebilirsiniz haveged ancak sanal ortamda çalıştırıyorsanız sınırlamaları okuyun: https://wiki.archlinux.org/index.php/Haveged#Virtual_machines


3
2017-08-10 09:17



Aklımda, bu doğru çözüm - benden +1. - MadHatter


sudo yum install haveged && sudo systemctl start haveged

kesinlikle bir CentOS 7.2 VM üzerinde çalışır. Bazen bir grup oluşturuyorsanız ve anahtarlığınızın bozulmasını istiyorsanız, vm'de GPG anahtarları oluşturmak istersiniz.


1
2017-08-18 04:42