Tutorial ini untuk kernel linux amd64 / x86_64 versi lebih besar dan sama dengan 2.6.9. Ini menjelaskan cara menginstal pandom:generator nomor acak yang benar-benar kacau waktu yang dikelola oleh ncomputers.org
Pengantar
Generator bilangan acak asli kernel Linux bawaan menyediakan throughput yang rendah dalam keadaan modern, seperti misalnya:komputer pribadi dengan solid state drive (SSD) dan server pribadi virtual (VPS).
Masalah ini menjadi populer dalam implementasi linux, karena kebutuhan yang terus meningkat akan bilangan acak yang benar, terutama untuk tujuan kriptografi yang beragam.
Pandom menghasilkan sekitar 8 KiB/s entropi 64 ubit / 64 bit, kompatibel dengan lingkungan fisik dan virtual dan mengasumsikan, bahwa tidak ada proses lain yang berjalan saat pengguna root menulis ke /dev/random.
1 Pemasangan pandom
1.1 Dapatkan akses root
Pandom harus diinstal sebagai root, jalankan perintah ini jika diperlukan.
su -
1.2 Instal dependensi build
Untuk mengunduh dan menginstal pandom, Anda memerlukan:GNU sebagai sembler, GNU buat , GNU tar dan GNU wget (dua yang terakhir biasanya sudah terpasang). Anda dapat menghapusnya nanti sesuka hati.
Sistem berbasis lengkung
pacman -S binutils make
Sistem berbasis Debian
apt-get install binutils make
Sistem berbasis Red Hat
dnf install binutils make
yum install binutils make
Sistem berbasis SUSE
zypper install binutils make
1.3 Unduh dan ekstrak sumber
Perintah ini mengunduh dan mengekstrak sumber pandom dari ncomputers.org menggunakan wget dan tar .
wget http://ncomputers.org/pandom.tar.gz
tar xf pandom.tar.gz
cd pandom/amd64-linux
1.4 Uji sebelum menginstal (disarankan)
Tes yang direkomendasikan ini memakan waktu sekitar 8 menit. Ini memeriksa dukungan kernel dan menghasilkan file bernama checkme (dianalisis pada bagian berikutnya).
make check
1.5 Tentukan sistem init
Sebelum menginstal pandom, Anda perlu tahu, perangkat lunak init mana yang digunakan sistem Anda. Jika perintah berikut mengeluarkan kata berjalan , artinya sistem Anda menggunakan systemd , jika tidak, kemungkinan besar sistem Anda menggunakan init.d implementasi (mis:pemula, sysvinit). Mungkin ada beberapa pengecualian, informasi lebih lanjut dalam jawaban unix.stackexchange.com ini.
systemctl is-system-running
running
1.6 Instal pandom
Setelah Anda mengetahui sistem mana yang digunakan implementasi linux Anda, maka Anda dapat menginstal pandom yang sesuai.
sistem init berbasis init.d (mis:pemula, sysvinit)
Instal pandom yang menjalankan perintah ini, jika sistem Anda menggunakan init.d implementasi (misalnya:pemula, sysvinit).
make install-init.d
systemd sebagai sistem init
Instal pandom yang menjalankan perintah ini, jika sistem Anda menggunakan systemd .
make install-systemd
2 Analisis file checkme
Sebelum menggunakan pandom untuk tujuan kriptografi, sangat disarankan untuk menganalisis checkme file yang dihasilkan selama proses instalasi di bagian sebelumnya dari tutorial ini. Tugas ini berguna untuk mengetahui apakah bilangan tersebut benar-benar acak atau tidak. Bagian ini menjelaskan cara menganalisis checkme file menggunakan ncomputers.org/entropyarray :skrip shell, yang menguji entropi dan korelasi serial dari inputnya.
Catatan :analisis ini mungkin dijalankan di komputer lain, seperti laptop atau komputer desktop. Misalnya:jika Anda memasang pandom di server pribadi virtual (VPS) sumber daya terbatas, Anda dapat memilih untuk menyalin checkme file ke komputer pribadi Anda, untuk menganalisisnya di sana.
Anda juga dapat menggunakan Entropy Online Tester .
2.1 Dapatkan akses root
Entropyarray harus diinstal sebagai root, jalankan perintah ini jika diperlukan.
su -
2.2 Instal dependensi build
Untuk mengunduh dan menginstal entropyarray, Anda memerlukan:GNU g++ kompiler, GNU membuat , GNU tar dan GNU wget (dua yang terakhir biasanya sudah terpasang). Anda dapat menghapusnya nanti sesuka hati.
Sistem berbasis lengkung
pacman -S gcc make
Sistem berbasis Debian
apt-get install g++ make
Sistem berbasis Red Hat
dnf install gcc-c++ make
yum install gcc-c++ make
Sistem berbasis SUSE
zypper install gcc-c++ make
2.3 Unduh dan ekstrak sumber
Perintah ini mengunduh dan mengekstrak sumber entropyarray dari ncomputers.org menggunakan wget dan tar .
wget http://ncomputers.org/rearray.tar.gz
wget http://ncomputers.org/entropy.tar.gz
wget http://ncomputers.org/entropyarray.tar.gz
tar xf entropy.tar.gz
tar xf rearray.tar.gz
tar xf entropyarray.tar.gz
2.4 Instal entropyarray
Catatan :kesalahan mengenai -std=c++11 berarti bahwa GNU g++ versi kompiler tidak mendukung standar ISO C++ 2011. Anda dapat mencoba mengkompilasi ncomputers.org/entropy dan ncomputers.org/rearray di sistem lain yang mendukungnya (misalnya:GNU g++ dalam versi lebih baru dari distribusi linux favorit Anda) dan kemudian instal binari yang dikompilasi menggunakan make install dalam sistem yang ingin Anda jalankan entropyarray , atau lewati langkah ini, meskipun sangat disarankan agar Anda menganalisis checkme file sebelum menggunakan pandom untuk tujuan kriptografi apa pun.
cd rearray; make install; cd ..
cd entropy; make install; cd ..
cd entropyarray; make install; cd ..
2.5 Analisis file checkme
Catatan :Implementasi pandom 64 ubits / 64 bit akan menghasilkan pengujian ini dengan entropi di atas 15.977 dan maks frekuensi di bawah 70 . Jika hasil Anda terlalu berbeda, Anda dapat mencoba meningkatkan ketidakpastian implementasi pandom Anda seperti yang dijelaskan di bagian kelima dari tutorial ini. Jika Anda melewatkan langkah terakhir, Anda dapat menggunakan alat lain seperti tes urutan nomor pseudorandom.
entropyarray checkme
entropyarray in /tmp/tmp.mbCopmzqsg
15.977339
min:12
med:32
max:56
15.977368
min:11
med:32
max:58
15.977489
min:11
med:32
max:59
15.977077
min:12
med:32
max:60
15.977439
min:8
med:32
max:59
15.977374
min:13
med:32
max:60
15.977312
min:12
med:32
max:67
2.6 Copot pemasangan entropyarray (opsional)
Jika Anda berencana untuk tidak menggunakan entropyarray lagi, Anda mungkin ingin menghapusnya sesuka hati.
cd entropyarray; make uninstall; cd ..
cd entropy; make uninstall; cd ..
cd rearray; make uninstall; cd ..
3 Instalasi menggunakan repositori debian
Jika Anda ingin terus memperbarui pandom pada sistem berbasis debian Anda, Anda dapat memilih untuk menginstal / menginstal ulang menggunakan repositori debian ncomputers.org.
3.1 Dapatkan akses root
Paket debian di bawah ini harus diinstal sebagai root, jalankan perintah ini jika diperlukan.
su -
3.2 Instal gantungan kunci
Paket debian ini menyertakan kunci publik dari repositori debian ncomputers.org.
wget http://ncomputers.org/debian/keyring.deb
dpkg -i keyring.deb
rm keyring.deb
3.3 Instal daftar sumber
Paket debian ini menyertakan daftar sumber dari repositori debian ncomputers.org sesuai dengan distribusi debian terbaru (tahun 2017).
Catatan :Dimungkinkan juga untuk menulis baris komentar di bawah di /etc/apt/sources.list , daripada menginstal paket debian masing-masing untuk distribusi debian Anda, tetapi jika sumber-sumber ini berubah di masa mendatang, maka Anda perlu memperbaruinya secara manual.
Mengi
#deb http://ncomputers.org/debian wheezy main
wget http://ncomputers.org/debian/wheezy.deb
dpkg -i wheezy.deb
rm wheezy.deb
Jessie
#deb http://ncomputers.org/debian jessie main
wget http://ncomputers.org/debian/jessie.deb
dpkg -i jessie.deb
rm jessie.deb
Peregangan
#deb http://ncomputers.org/debian stretch main
wget http://ncomputers.org/debian/stretch.deb
dpkg -i stretch.deb
rm stretch.deb
3.4 Perbarui daftar sumber
Setelah keyring dan daftar sumber diinstal.
apt-get update
3.5 Uji pandom
Setelah diuji, Anda dapat menghapus paket di bawah ini sesuka hati.
Catatan :jika Anda telah menguji pandom dalam implementasi linux Anda, Anda dapat melewati langkah ini.
apt-get install pandom-test
pandom-test
generating checkme file, please wait around 8 minutes ...
entropyarray in /tmp/tmp.5SkiYsYG3h
15.977366
min:12
med:32
max:57
15.977367
min:13
med:32
max:57
15.977328
min:12
med:32
max:61
15.977431
min:12
med:32
max:59
15.977437
min:11
med:32
max:57
15.977298
min:11
med:32
max:59
15.977196
min:10
med:32
max:57
3.6 Instal pandom
apt-get install pandom
4 Mengelola pandom
Setelah pandom diinstal, Anda mungkin ingin mengelolanya.
4.1 Tes kinerja
Pandom menawarkan sekitar 8 kilobyte per detik, tetapi kinerjanya dapat bervariasi tergantung pada lingkungan.
dd if=/dev/random of=/dev/null bs=8 count=512
512+0 records in
512+0 records out
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.451253 s, 9.1 kB/s
4.2 Entropi dan uji korelasi serial
Selain ncomputers.org/entropyarray , ada lebih banyak tes, misalnya NIST testsuite oleh Ilja Gerhardt.
entropyarray /dev/random 1M
4.3 Layanan sistem
Pandom berjalan sebagai layanan sistem.
sistem init berbasis init.d (mis:pemula, sysvinit)
/etc/init.d/random status
/etc/init.d/random start
/etc/init.d/random stop
/etc/init.d/random restart
systemd sebagai sistem init
systemctl status random
systemctl start random
systemctl stop random
systemctl restart random
5 Meningkatkan ketidakpastian atau kinerja
Jika Anda ingin mencoba meningkatkan ketidakpastian atau kinerja implementasi pandom Anda, Anda dapat mencoba menambah atau menghapus pengukuran waktu CPU.
5.1 Mengedit file sumber
Dalam file sumber test.s dan tRNG.s menambah atau menghapus blok pengukuran sesuka hati.
#measurement block
mov $35,%rax
syscall
rdtsc
[...]
#measurement block
mov $35,%rax
syscall
rdtsc
[...]
5.2 Menguji ketidakpastian
Kami menyarankan untuk selalu menguji implementasi pandom yang dipersonalisasi sebelum menggunakannya untuk tujuan kriptografi.
make check
5.3 Instal pandom yang dipersonalisasi
Jika Anda puas dengan hasilnya, Anda dapat menginstal implementasi pandom yang dipersonalisasi.
make install
Informasi tambahan dan pembaruan:http://ncomputers.org/pandom