2 in 1: enkripsi dengan perlindungan keamanan

Tugas klasik yang diselesaikan dengan metode kriptografi adalah untuk memastikan kerahasiaan dan memastikan keaslian / ketidakmampuan data yang disimpan dan dikirim. Sebelumnya (sampai sekitar pertengahan 2000-an), enkripsi (kerahasiaan) dan fungsi menghasilkan kode sisipkan / otentikasi (resistensi imitasi) digunakan untuk menyelesaikan masalah tersebut. Pada saat yang sama, enkripsi dan fungsi menghasilkan insert diimplementasikan oleh mekanisme kriptografi yang terpisah, yang menyebabkan banyak masalah. Pertama-tama, ini terkait dengan pengelolaan informasi utama: ketika menggunakan satu kunci untuk enkripsi dan keamanan, sejumlah skema, misalnya, AES-CBC + AES-CBC-MAC, sepenuhnya tidak stabil. Untuk membuat konstruksi seperti itu aman, perlu untuk menghasilkan kunci tambahan menggunakan, misalnya, fungsi generasi kunci turunan (KDF). Ini, pada gilirannya, menyebabkan komplikasi signifikan dari protokol kriptografi menggunakan skema serupa. Selain itu, penggunaan dua mekanisme yang konsisten tidak selalu merupakan solusi tercepat dalam hal kinerja.

Sejak awal abad ke-21, upaya telah mulai membuat mekanisme enkripsi dengan perlindungan imitasi (kadang-kadang istilah "enkripsi terautentikasi" dapat ditemukan dari Enkripsi Otentikasi Inggris), yang akan menyelesaikan kedua tugas ini sekaligus.

Tahap selanjutnya dalam pengembangan mekanisme tersebut dapat dianggap sebagai mekanisme enkripsi dengan keamanan dan data terkait (dari bahasa Inggris. AEAD - Enkripsi terotentikasi dengan Data Terkait). Fitur mekanisme AEAD adalah mereka dapat secara bersamaan memproses dua jenis data: data yang diperlukan untuk memastikan kerahasiaan dan keamanan (misalnya, data paket IP), dan data yang diperlukan untuk memastikan hanya keamanan tanpa privasi - mereka juga disebut " tambahan data yang dilindungi ”(“ data terkait ”,“ tambahan data yang diautentikasi ”- ini mungkin header paket IP). Salah satu aplikasi yang paling populer untuk mekanisme AEAD adalah berbagai protokol perlindungan data kriptografis, misalnya, IETF TLS 1.3 RFC 8446 yang baru-baru ini diadopsitentang apa yang sudah ditulis di Habré . Jadi, RFC 8446 ini mempertimbangkan algoritma enkripsi terotentikasi yang digunakan dalam protokol (Anda dapat membaca tentang prinsip-prinsip yang mendasari protokol TLS 1.3 di sini ).

Mekanisme AEAD dapat dibangun berdasarkan berbagai desain: stream dan cipher blok, pemetaan kompresi (fungsi hash), sekarang konstruksi populer dari jenis "spons" (dari bahasa Inggris "spons"). Berbagai pilihan dapat dilihat, khususnya, di situs web kompetisi CAESAR dan dalam berbagai ulasan tentang kompetisi ini, lihat misalnya di sini dan di sini. Omong-omong, kontes itu sendiri diselenggarakan pada tahun 2013 hanya untuk menentukan mekanisme AEAD terbaik daripada AES-GCM yang banyak digunakan (mode GCM distandarisasi oleh NIST pada 2007), yang pada waktu itu sejumlah serangan diusulkan ( di sana - sini ). Pada saat yang sama, persyaratan fungsional tambahan dipresentasikan kepada para kontestan CAESAR, seperti kemampuan untuk bekerja "online", kemampuan untuk memparalelkan, kebebasan dari inversi, perlindungan terhadap penggunaan inisialisasi yang tidak tepat dan vektor satu kali, keberadaan prakalkulasi, penambahan data, simulasi menengah, penggunaan kembali yang terkait tetap data. Kami menjelaskan lebih detail.

Bekerja "online": sering kali untuk memastikan kerahasiaan / penolakan imitasi, pertama-tama perlu untuk membentuk seluruh paket data yang sepenuhnya akan diproses, dan baru kemudian memulai prosedur pemrosesan. Mekanisme yang memungkinkan pengoperasian "online" tidak memerlukan ini; mereka dapat bekerja dengan aliran data real-time yang masuk, memprosesnya "dengan cepat." Dengan memparalelkan mekanisme AEAD, yang kami maksud adalah kemungkinan distribusi komputasi antara beberapa prosesor. Bebas dari inversi berarti penggunaan dalam mekanisme AEAD hanya fungsi enkripsi atau hanya fungsi dekripsi. Karakteristik ini penting dari sudut pandang implementasi: untuk beberapa cipher (seperti Grasshopper, AES), enkripsi dan dekripsi diimplementasikan menggunakan transformasi yang berbeda, masing-masing,kebebasan dari inversi berarti area chip yang lebih kecil dalam implementasi perangkat keras atau lebih sedikit perangkat lunak dalam perangkat lunak. Dengan perhitungan awal, semuanya sederhana - ini adalah kesempatan, setelah memilih kunci, untuk melakukan sejumlah perhitungan awal yang selanjutnya akan mempercepat pemrosesan data yang masuk.

Peningkatan data dan penggunaan kembali data terkait tetap dalam arti juga dapat dikaitkan dengan prapenghitungan. Dengan incrementation berarti kemampuan untuk dengan cepat menghitung ulang sisipan, jika kami telah menambahkan beberapa data tambahan ke data yang sudah diproses, tanpa memproses ulang semua data. Penggunaan data yang terkait tetap adalah kemampuan untuk melakukan perhitungan awal untuk data yang sering ditemui sehingga setiap kali mereka muncul, mereka tidak diproses lagi. Properti terakhir (sisipan imitasi menengah), dalam arti tertentu, juga berfungsi "on the fly", yaitu kemampuan untuk memverifikasi di sisi penerima kebenaran data selama pemrosesan, tanpa menunggu akhir transfer. Jadi, jika verifikasi sisipan simulasi perantara gagal,semua aliran data selanjutnya tidak perlu diproses, dan ini menghemat waktu dan sumber daya.

Ternyata, menciptakan mekanisme AEAD yang secara bersamaan memenuhi berbagai macam persyaratan sangat sulit. Hal ini menyebabkan kontes CAESAR berulang kali diperpanjang, tenggat waktu ditunda karena juri tidak dapat memilih pemenang - semua peserta memiliki set properti yang berbeda - dan kompetisi berakhir hanya pada musim semi 2019 dengan memilih beberapa peserta dengan properti yang berbeda.

Prototipe mode AEAD domestik, yang kemudian disebut MGM (Mode Multi Linear Galois), pertama kali diperkenalkanpada 2017, MGM adalah mode operasi blok sandi. Mode ini terdiri dari dua bagian, yang masing-masing didasarkan pada penghitungnya sendiri. Penghitung pertama digunakan untuk menghasilkan urutan, yang kemudian digunakan untuk enkripsi. Prinsip operasi mirip dengan penghitung mode CTR (lihat GOST R 34.13-2015 atau ISO / IEC 10116), tetapi memiliki perbedaan yang signifikan: nilai awal penghitung diperoleh dengan menggunakan enkripsi dari vektor inisialisasi unik (nonce). Penghitung kedua digunakan untuk membangun fungsi multilinear, atas dasar yang mana sisipan imitasi dihasilkan. Penghitung pertama dan kedua bekerja secara berbeda, yang pertama menambah separuh kanan blok, dan yang kedua menambah kiri. Mode operasi ditunjukkan pada gambar.



SiniEk - Cipher blok arbitrer dengan panjang blok nsedikit, SEBUAH1,...,SEBUAHh- blok data terkait, P1,...,Pq- blok plaintext, nHaince- vektor inisialisasi panjang unik n-1sedikit, - operasi penambahan bitwise, - operasi perkalian di lapangan GF(2128), M.SBS- pemotongan blok panjang ke panjang S, len(SEBUAH)||len(C)- Panjang dalam bit data terkait dan ciphertext, masing-masing, sayancr,sayancl- fungsi kenaikan.

Dalam laporan dan dalam artikel, Anda dapat menemukan deskripsi terperinci tentang prinsip-prinsip membangun mode MGM. Singkatnya, tugas berikut ini diselesaikan selama pengembangan: untuk membuat mode operasi fungsional dan paralel dengan baik untuk cipher blok yang tidak akan rentan terhadap serangan yang diketahui, khususnya, serangan yang berhasil diterapkan pada mode GCM. Fitur-fitur mode berikut ditunjukkan dalam laporan yang disebutkan:

  • paralelisasi
  • bekerja online
  • kurangnya inversi,
  • (.. , MGM ),
  • ,
  • ( ()),
  • .

Tidak seperti banyak mode yang saat ini digunakan, MGM berhasil mendapatkan justifikasi formal daya tahan dalam model yang disebut keamanan yang dapat dibuktikan , yang dapat diringkas dalam bentuk dua teorema yang mengevaluasi jumlah blok plaintext yang aman yang dapat diproses menggunakan mode tersebut. MGM tanpa perubahan kunci. Kami menyesali para pembaca dan hanya memberikan kata-kata di sini, mereka yang ingin melihat bukti lengkap dan mencairkan otak sepenuhnya dapat merujuk ke publikasi asli. Teorema pertama mengatakan tentang memastikan kerahasiaan informasi.

Dalil
, q, σ, :

SEBUAHdvM.GM.Perm({0,1}n)Prsayav3(σ+4q)22n



Yang kedua adalah tentang keamanan otentikasi data (resistensi tiruannya).

Dalil
, q, σ, l, :

SEBUAHdvM.GM.Perm({0,1}n)SEBUAHkamuth3(σ+3q+l+2)22n+12s-1



Perhatikan bahwa ketika menggunakan pendekatan "kegigihan yang dapat dibuktikan", pertanyaan selalu muncul dari keakuratan estimasi yang diperoleh (yaitu, seberapa banyak mereka benar-benar sesuai dengan kenyataan dan memadai untuk praktik). Jadi dalam kasus ini, mereka ternyata akurat, yang mengkonfirmasi hasil dari sebuah karya di mana serangan teoritis untuk mode MGM diindikasikan jika volume material tidak memenuhi teorema di atas.

Tabel di bawah menyajikan perbandingan rezim yang dikembangkan dengan finalis dari kontes CAESAR sesuai dengan karakteristik di atas.



Di dalam tabel, primitif yang digunakan adalah BC-block cipher, SC-stream cipher, desain asli Dedic (tidak menggunakan cipher), Sponge - menggunakan spons.

Seperti yang Anda lihat, adalah mungkin untuk mengembangkan suatu rezim yang memenuhi serangkaian persyaratan operasional yang cukup besar, dan, yang sangat penting, untuk mendapatkan justifikasi formal atas daya tahannya.

Pada bulan September tahun lalu, Rosstandart menyetujui rezim MGM dalam rekomendasi untuk standardisasi R 1323565.1.026–2019 “Teknologi informasi. Keamanan informasi kriptografis. Blokir mode sandi yang menerapkan enkripsi terautentikasi . " Selain itu, pada awal tahun ini, IANA mengalokasikan pengidentifikasi , dan Rosstandart mengadopsi rekomendasi untuk standardisasi R 1323565.1.030-2020 “Teknologi informasi. Keamanan informasi kriptografis. Penggunaan algoritma kriptografi dalam protokol keamanan lapisan transport (TLS 1.3) " untuk menggunakan algoritma kriptografi Rusia dalam protokol TLS 1.3, - dan hanya menggunakan mode MGM.

All Articles