Pengarang VPN WireGuard mengeluarkan kemas kini baharu RDRAND

Jason A Donenfeld, pengarang VPN WireGuard menjadikannya diketahui beberapa hari lalu pelaksanaan baharu dikemas kini daripada penjana nombor rawak RDRAND, yang bertanggungjawab untuk pengendalian peranti / dev / rawak dan / dev / urandom dalam kernel Linux.

Pada penghujung November, Jason telah disenaraikan sebagai penyelenggara pengawal rawak dan kini telah menyiarkan hasil pertama kerja kerja semulanya.

Disebutkan dalam pengumuman bahawa pelaksanaan baharu itu penting untuk beralih kepada menggunakan fungsi cincang BLAKE2s dan bukannya SHA1 untuk operasi pencampuran entropi.

BLAKE2s sendiri mempunyai sifat yang baik secara dalaman berdasarkan
Pilih atur ChaCha, yang RNG sudah gunakan untuk pengembangan, jadi
sepatutnya tiada masalah dengan kebaharuan, keaslian atau CPU yang menakjubkan
tingkah laku, kerana ia berdasarkan sesuatu yang sudah digunakan.

Di samping itu, diperhatikan bahawa perubahan juga meningkatkan keselamatan penjana nombor pseudorandom dengan menyingkirkan algoritma SHA1 yang menyusahkan dan mengelak daripada menulis ganti vektor permulaan RNG. Memandangkan algoritma BLAKE2s mendahului prestasi SHA1, penggunaannya juga mempunyai kesan positif terhadap prestasi penjana nombor rawak pseudo (ujian pada sistem dengan pemproses Intel i7-11850H menunjukkan peningkatan kelajuan sebanyak 131%)). .

Satu lagi kelebihan yang menonjol ialah memindahkan campuran entropi kepada BLAKE2 ialah penyatuan algoritma yang digunakan: BLAKE2 digunakan dalam sifir ChaCha, yang telah digunakan untuk mengekstrak urutan rawak.

BLAKE2s biasanya lebih pantas dan pastinya lebih selamat, ia telah benar-benar sangat rosak. Selain itu, Binaan semasa dalam RNG tidak menggunakan fungsi SHA1 penuh, kerana menentukan, dan membolehkan anda menulis ganti IV dengan output RDRAND dengan cara tidak didokumenkan, walaupun RDRAND tidak dikonfigurasikan sebagai "dipercayai", yang yang bermaksud kemungkinan pilihan IV berniat jahat.

Dan panjang pendeknya bermakna untuk menyimpan hanya separuh rahsia apabila menyuap kembali ke pengadun ia memberi kami hanya 2^80 bit kerahsiaan hadapan. Dengan kata lain, bukan sahaja pilihan fungsi hash sudah lapuk tetapi penggunaannya juga tidak begitu baik.

Selain itu, penambahbaikan telah dibuat pada penjana nombor pseudo-rawak crypto-selamat CRNG yang digunakan dalam panggilan getrandom.

Disebutkan juga bahawa penambahbaikan bermuara kepada mengehadkan panggilan kepada penjana RDRAND perlahan apabila mengekstrak entropi, yang Ia boleh meningkatkan prestasi dengan faktor 3,7. Jason menunjukkan bahawa panggilan ke RDRAND Ia hanya masuk akal dalam keadaan di mana CRNG belum dimulakan sepenuhnya, tetapi jika pemula CRNG selesai, nilainya tidak menjejaskan kualiti strim yang dijana dan dalam kes ini, adalah mungkin untuk melakukannya tanpa memanggil RDRAND.

Kompromi ini bertujuan untuk menyelesaikan dua masalah ini dan, pada masa yang sama, mengekalkan struktur umum dan semantik sedekat mungkin dengan yang asal.
Secara khusus:

a) Daripada menulis ganti cincang IV dengan RDRAND, kami masukkan dalam medan "garam" dan "peribadi" BLAKE2 yang didokumenkan, iaitu dicipta khusus untuk kegunaan jenis ini.
b) Oleh kerana fungsi ini mengembalikan hasil cincangan lengkap kepada pengumpul entropi, kami hanya mengembalikan separuh panjang hash, sama seperti yang dilakukan sebelum ini. Ini meningkatkan rahsia pendahuluan pembinaan sebanyak 2 ^ 80 a 2^128 jauh lebih selesa.
c) Daripada hanya menggunakan fungsi "sha1_transform" mentah, sebaliknya kami menggunakan fungsi BLAKE2s yang lengkap dan betul, dengan selesai.

Perubahan dijadualkan untuk dimasukkan dalam kernel 5.17 dan telah pun disemak oleh pembangun Ted Ts'o (penyelenggara kedua pemandu rawak), Greg Kroah-Hartman (bertanggungjawab untuk memastikan kernel Linux stabil), dan Jean-Philippe Aumasson (pengarang algoritma BLAKE2 /3).

Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh merujuk butiran dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.