man 4 random
memiliki deskripsi yang sangat kabur tentang sumber entropi kernel Linux:
Generator nomor acak mengumpulkan kebisingan lingkungan dari driver perangkat dan sumber lain ke dalam kumpulan entropi.
Transfer Entropi kertas di Generator Angka Acak Linux juga tidak jauh lebih spesifik. Ini mencantumkan:
add_disk_randomness()
,add_input_randomness()
, danadd_interrupt_randomness()
.
Fungsi-fungsi ini berasal dari random.c
, yang mencakup komentar berikut:
Sumber keacakan dari lingkungan termasuk pengaturan waktu antar-keyboard
, pengaturan waktu antar-interupsi dari beberapa interupsi, dan kejadian
lainnya yang keduanya (a) non-deterministik dan (b) sulit untuk
pengamat luar untuk mengukur.
Lebih jauh ke bawah, ada fungsi add_hwgenerator_randomness(...)
menunjukkan dukungan untuk pembuat nomor acak perangkat keras.
Semua informasi tersebut agak kabur (atau, dalam kasus kode sumber, memerlukan pengetahuan mendalam tentang kernel Linux untuk memahami). Apa sumber entropi aktual yang digunakan, dan apakah kernel Linux mendukung pembuat nomor acak perangkat keras apa pun yang siap digunakan?
Jawaban yang Diterima:
Sebagian besar perangkat keras PC komoditas memiliki generator nomor acak hari ini. VIA Semiconductor telah menempatkan mereka di prosesor mereka selama bertahun-tahun; kernel Linux memiliki driver via-rng untuk itu. Saya menghitung 34 modul sumber di drivers/char/hw_random/
direktori di pohon sumber terbaru, termasuk driver untuk perangkat keras Intel dan AMD, dan untuk sistem yang memiliki perangkat TPM. Anda dapat menjalankan rng daemon (rngd) untuk mendorong data acak ke kumpulan entropi kernel.