Apa entropi yang tersedia benar pada sistem UNIX?

12

Saya punya tiga pertanyaan terkait dengan entropi pada sistem UNIX:

  1. Aku memeriksa entropi di Linux menggunakan: cat /proc/sys/kernel/random/entropy_avail. Apakah ini tempat standar dengan informasi tentang entropi yang tersedia yang didefinisikan dalam POSIX?
  2. Apa yang benar tersedia yang harus saya harapkan? Saya mendengar bahwa entropi harus sama atau lebih dari 100 dan bahwa mungkin ada masalah jika entropi terus-menerus di bawah 100.
  3. Apakah entropi ini digunakan oleh /dev/randomatau apakah itu ada hubungannya dengan /dev/urandom?
syntagma
sumber

Jawaban:

9

/dev/randomtidak standar. POSIX tidak menyediakan cara apa pun untuk menghasilkan data acak yang aman secara kriptografis dan tidak memiliki gagasan tentang entropi.

Perhitungan entropi kernel Linux sesuai dengan model informasi-teori entropi yang tidak relevan dengan penggunaan praktis. Satu-satunya kasus di mana ini relevan adalah pada perangkat baru yang tidak pernah punya waktu untuk mengakumulasi entropi (ini termasuk distribusi langsung; sistem yang diinstal menyimpan entropi mereka dari satu boot ke boot berikutnya). Terlepas dari situasi ini, selalu ada cukup entropi, karena entropi tidak menguras. Karena Linux /dev/randommemblokir ketika ia berpikir itu tidak memiliki cukup entropi, gunakan /dev/urandom, yang tidak pernah menghalangi. Penggunaan /dev/urandombaik untuk semuanya termasuk menghasilkan kunci kriptografi (kecuali, seperti yang disebutkan di atas, pada perangkat yang baru dicetak).

Singkatnya:

  1. Tidak, ini bukan standar.
  2. Kamu tidak peduli
  3. Gunakan/dev/urandom .

Banyak, tetapi tidak semua sistem unix memiliki /dev/urandomdan /dev/random. Lihat halaman Wikipedia untuk diskusi lebih rinci.

Gilles 'SANGAT berhenti menjadi jahat'
sumber