Nama seperti AES-256-CFB1 membawa dua nombor, dan kedua-duanya menjawab soalan berbeza. 256 ialah panjang kunci AES. 1 ialah suap balik CFB, iaitu saiz segmen, sifat bagaimana mod memajukan keadaannya. Jika 1 dibaca sebagai panjang kunci, nama itu kelihatan seperti salah konfigurasi yang malapetaka, itulah sebabnya soalan ini berulang.

Tentukan yang mana antara tiga kuantiti yang anda lihat sebelum menilai nama: saiz kunci, saiz blok atau saiz segmen. Hanya yang pertama ialah parameter keselamatan dalam erti kata biasa.

Tiga nombor, tiga kuantiti

AES menerima kunci 128, 192 atau 256 bit dan mempunyai blok 128 bit walau apa pun pilihan anda. Saiz blok milik AES, bukan mod. Akhiran CFB ialah kuantiti ketiga: berapa banyak data mod guna dan pulangkan setiap langkah. Dokumentasi AES OpenSSL menyenaraikan saiz syif itu secara jelas untuk varian CFB.

CFB1 memulangkan satu bit setiap kali, CFB8 satu bait, CFB128 satu blok penuh. Ketiga-tiganya menggunakan sifer blok 128 bit yang sama di dalam; yang berubah ialah berapa bit setiap blok yang dikira digunakan setiap operasi. Itulah sebabnya akhiran mengubah kos dan tingkah laku penimbalan, bukan kekuatan kunci.

NameKeyAES blockFeedback
AES-256-CFB1256 bits128 bits1 bit
AES-256-CFB8256 bits128 bits8 bits
AES-256-CFB128256 bits128 bits128 bits

Mengapa saiz blok tidak pernah berubah

AES ialah sifer blok dengan blok 128 bit tetap, dan mod ialah binaan yang dibina di sekelilingnya. Tiada satu pun mengecilkan blok untuk sepadan dengan saiz segmen. Pelaksanaan CFB1 masih mengira blok AES penuh dan mengambil satu bit daripada hasilnya. Bit lain dibuang untuk langkah itu, dan di situlah tepatnya kos kecekapan.

Jadi suap balik satu bit tidak bermakna kunci satu bit, dan nama tidak boleh disusun mengikut akhiran. CFB128 bukan empat kali lebih kuat daripada CFB32; ia memproses segmen yang lebih besar.

Apa yang sebenarnya diubah oleh saiz segmen

Saiz segmen mengubah berapa banyak teks sifer dipulangkan setiap langkah dan berapa banyak teks biasa yang boleh dibawa setiap langkah. Ia juga mengubah penyebaran ralat dan tingkah laku penimbalan, yang penting untuk penggunaan seperti strim. Segmen berorientasikan bait sepadan dengan penimbal, yang berorientasikan bit tidak.

Dalam amalan protokol yang memilih mod, bukan pengendali. Saluran data VPN menggunakan binaan yang ditetapkan protokolnya, dengan perlindungan integritinya sendiri, dan senarai pustaka hanya memberitahu nama yang wujud.

Membaca label CFB tanpa kelayakan

Label CFB tanpa kelayakan memerlukan konteks pelaksanaannya. Dalam pengepala OpenSSL 1.0.2, EVP_aes_128_cfb ialah makro untuk EVP_aes_128_cfb128, dengan alias sepadan untuk kunci 192 dan 256 bit. Itu konvensyen penamaan API daripada satu cabang, bukan dakwaan bahawa setiap pustaka, format fail atau GUI mengembangkan singkatan itu dengan cara yang sama. Semak pengepala atau dokumentasi versi yang ada di hadapan anda.

Jika profil lama menyebut CFB dan rakan menerimanya, parameter yang dirundingkan direkodkan di suatu tempat: log, dump konfigurasi, respons API. Baca itu daripada menyimpulkan saiz segmen daripada rentetan paparan.

Apa yang tidak diberitahu oleh nama mod

Nama itu menerangkan tingkah laku penyulitan dan tidak lain. VPN masih memerlukan perlindungan integriti, terbitan kunci dan pengesahan rakan, dan CFB tidak menyediakan satu pun. Menukar CFB8 dengan CFB1 juga bukan perubahan kosmetik: tingkah laku pada wayar berbeza dan kedua-dua pihak mesti menyokong binaan yang sama. Nama dalam pustaka juga tidak membuktikan gateway yang digunakan menerimanya untuk saluran datanya.

Untuk apa-apa yang diselenggara, gunakan susunan perlindungan penuh protokol dan dasar pengendali, dan rekodkan versi pustaka dan gateway, pilihan tepat serta hasil rundingan. Nama lama menerangkan apa yang anda baca; ia tidak mewajarkan menghidupkan semula konfigurasi itu.

Artikel berkaitan