Skema Berbagi Rahasia Shamir

Pertimbangkan skenario di mana Anda perlu mengamankan brankas bank. Itu dianggap benar-benar tidak dapat ditembus tanpa kunci yang diberikan kepada Anda pada hari pertama kerja. Tujuan Anda adalah menyimpan kunci dengan aman.

Katakanlah Anda memutuskan untuk selalu menyimpan kunci, memberikan akses ke penyimpanan sesuai kebutuhan. Namun Anda akan segera menyadari bahwa solusi seperti itu tidak dapat diterapkan dengan baik dalam praktiknya, karena kehadiran fisik Anda diperlukan setiap kali Anda membuka penyimpanan. Bagaimana dengan liburan yang dijanjikan kepada Anda? Selain itu, pertanyaannya bahkan lebih menakutkan: bagaimana jika Anda kehilangan satu-satunya kunci?

Dengan mempertimbangkan liburan Anda, Anda memutuskan untuk membuat salinan kunci dan mempercayakannya kepada karyawan lain. Namun, Anda memahami bahwa ini juga tidak ideal. Dengan menggandakan jumlah kunci, Anda juga menggandakan kemungkinan pencurian kunci.

Dalam keputusasaan, Anda menghancurkan duplikatnya dan memutuskan untuk membagi kunci asli menjadi dua. Sekarang, Anda mungkin berpikir bahwa dua orang tepercaya dengan pecahan kunci harus hadir secara fisik untuk mengambil kunci dan membuka brankas. Artinya pencuri perlu mencuri dua buah kunci, yang dua kali lebih sulit daripada mencuri satu kunci. Namun, Anda segera menyadari bahwa skema ini tidak jauh lebih baik daripada hanya satu kunci, karena jika seseorang kehilangan setengah kunci, seluruh kunci tidak dapat diperoleh kembali.

Masalahnya dapat diselesaikan dengan serangkaian kunci dan gembok tambahan, tetapi pendekatan ini akan membutuhkan waktu yang cepat много kunci dan gembok. Anda memutuskan bahwa desain yang ideal adalah berbagi kunci sehingga keamanan tidak bergantung sepenuhnya pada satu orang. Anda juga menyimpulkan bahwa harus ada batasan tertentu untuk jumlah fragmen sehingga jika satu fragmen hilang (atau jika seseorang pergi berlibur), seluruh kunci tetap berfungsi.

Bagaimana cara berbagi rahasia

Skema manajemen kunci jenis ini dipikirkan oleh Adi Shamir pada tahun 1979 ketika ia menerbitkan karyanya "Cara Berbagi Rahasia". Artikel tersebut secara singkat menjelaskan apa yang disebut Skema Berbagi Rahasia Shamir skema ambang batas untuk membagi nilai rahasia secara efisien (seperti kunci kriptografi) menjadi Skema Berbagi Rahasia Shamir bagian. Lalu, kapan dan setidaknya hanya pada saat itu Skema Berbagi Rahasia Shamir dari Skema Berbagi Rahasia Shamir bagian-bagiannya telah dirakit, Anda dapat dengan mudah mengembalikan rahasianya Skema Berbagi Rahasia Shamir.

Dari sudut pandang keamanan, fitur penting dari skema ini adalah bahwa penyerang tidak boleh mengetahui apa pun kecuali dia memiliki setidaknya Skema Berbagi Rahasia Shamir bagian. Bahkan kehadirannya Skema Berbagi Rahasia Shamir bagian tidak boleh memberikan informasi apa pun. Kami menyebutnya properti keamanan semantik.

Interpolasi polinomial

Skema ambang batas Shamir Skema Berbagi Rahasia Shamir dibangun berdasarkan konsep tersebut interpolasi polinomial. Jika Anda belum familiar dengan konsep ini, sebenarnya cukup sederhana. Faktanya, jika Anda pernah menggambar titik-titik pada grafik dan kemudian menghubungkannya dengan garis atau kurva, Anda sudah menggunakannya!

Skema Berbagi Rahasia Shamir
Melalui dua titik Anda dapat menggambar polinomial derajat 2 dalam jumlah tak terbatas. Untuk memilih satu-satunya dari polinomial tersebut, Anda memerlukan titik ketiga. Ilustrasi: Wikipedia

Pertimbangkan polinomial dengan derajat satu, Skema Berbagi Rahasia Shamir. Jika Anda ingin memplot fungsi ini pada grafik, berapa banyak titik yang Anda perlukan? Kita tahu bahwa ini adalah fungsi linier yang membentuk sebuah garis sehingga memerlukan setidaknya dua titik. Selanjutnya, perhatikan fungsi polinomial berderajat dua, Skema Berbagi Rahasia Shamir. Ini adalah fungsi kuadrat, jadi diperlukan setidaknya tiga titik untuk membuat grafik. Bagaimana dengan polinomial yang berderajat tiga? Setidaknya empat poin. Dan seterusnya dan seterusnya.

Hal yang sangat keren tentang properti ini adalah, mengingat derajat fungsi polinomial dan setidaknya Skema Berbagi Rahasia Shamir poin, kita dapat memperoleh poin tambahan untuk fungsi polinomial ini. Kami menyebutnya ekstrapolasi poin tambahan ini interpolasi polinomial.

Membuat rahasia

Anda mungkin sudah menyadari bahwa di sinilah skema cerdik Shamir berperan. Katakanlah rahasia kita Skema Berbagi Rahasia Shamir - Apakah Skema Berbagi Rahasia Shamir. Kita bisa berbalik Skema Berbagi Rahasia Shamir ke suatu titik pada grafik Skema Berbagi Rahasia Shamir dan menghasilkan fungsi polinomial dengan derajat Skema Berbagi Rahasia Shamir, yang memenuhi poin ini. Mari kita ingat hal itu Skema Berbagi Rahasia Shamir akan menjadi ambang batas fragmen yang diperlukan, jadi jika kita menetapkan ambang batas menjadi tiga fragmen, kita harus memilih fungsi polinomial dengan derajat dua.

Polinomial kita akan berbentuk Skema Berbagi Rahasia ShamirDimana Skema Berbagi Rahasia Shamir и Skema Berbagi Rahasia Shamir — bilangan bulat positif yang dipilih secara acak. Kami baru saja membuat polinomial dengan derajat Skema Berbagi Rahasia Shamir, di mana koefisien bebasnya Skema Berbagi Rahasia Shamir - Ini adalah rahasia kami Skema Berbagi Rahasia Shamir, dan untuk masing-masing berikutnya Skema Berbagi Rahasia Shamir syaratnya ada koefisien positif yang dipilih secara acak. Jika kita kembali ke contoh awal dan berasumsi demikian Skema Berbagi Rahasia Shamir, lalu kita mendapatkan fungsinya Skema Berbagi Rahasia Shamir.

Pada titik ini kita dapat menghasilkan fragmen dengan menghubungkan Skema Berbagi Rahasia Shamir bilangan bulat unik di Skema Berbagi Rahasia ShamirDimana Skema Berbagi Rahasia Shamir (karena itu rahasia kami). Dalam contoh ini, kami ingin mendistribusikan empat fragmen dengan ambang batas tiga, jadi kami menghasilkan poin secara acak Skema Berbagi Rahasia Shamir dan kirimkan satu poin ke masing-masing dari empat orang tepercaya, penjaga kunci. Kami juga memberi tahu orang-orang tentang hal itu Skema Berbagi Rahasia Shamir, karena ini dianggap sebagai informasi publik dan diperlukan untuk pemulihan Skema Berbagi Rahasia Shamir.

Memulihkan rahasianya

Kita telah membahas konsep interpolasi polinomial dan bagaimana konsep tersebut mendasari skema ambang batas Shamir Skema Berbagi Rahasia Shamir. Ketika salah satu dari empat wali ingin memulihkan Skema Berbagi Rahasia Shamir, mereka hanya perlu melakukan interpolasi Skema Berbagi Rahasia Shamir dengan poin uniknya sendiri. Untuk melakukan ini, mereka dapat menentukan poinnya Skema Berbagi Rahasia Shamir dan hitung polinomial interpolasi Lagrange menggunakan rumus berikut. Jika pemrograman lebih jelas bagi Anda daripada matematika, maka pi pada dasarnya adalah sebuah operator for, yang mengalikan semua hasil, dan sigma adalah for, yang menambahkan semuanya.

Skema Berbagi Rahasia Shamir

Skema Berbagi Rahasia Shamir

Di Skema Berbagi Rahasia Shamir kita bisa menyelesaikannya seperti ini dan mengembalikan fungsi polinomial asli kita:

Skema Berbagi Rahasia Shamir

Karena kita tahu itu Skema Berbagi Rahasia Shamir, pemulihan Skema Berbagi Rahasia Shamir dilakukan secara sederhana:

Skema Berbagi Rahasia Shamir

Menggunakan aritmatika bilangan bulat yang tidak aman

Meskipun ide dasar Shamir telah berhasil kita terapkan Skema Berbagi Rahasia Shamir, kita dihadapkan pada masalah yang selama ini kita abaikan. Fungsi polinomial kami menggunakan aritmatika bilangan bulat yang tidak aman. Perhatikan bahwa untuk setiap poin tambahan yang diperoleh penyerang pada grafik fungsi kita, kemungkinan poin lainnya semakin kecil. Anda dapat melihatnya dengan mata kepala sendiri ketika Anda memplot peningkatan jumlah poin untuk fungsi polinomial menggunakan aritmatika bilangan bulat. Hal ini kontraproduktif terhadap sasaran keamanan yang kami nyatakan, karena penyerang seharusnya tidak mengetahui apa pun sampai mereka setidaknya mengetahui hal tersebut Skema Berbagi Rahasia Shamir fragmen.

Untuk menunjukkan betapa lemahnya rangkaian aritmatika bilangan bulat, pertimbangkan skenario di mana penyerang memperoleh dua poin Skema Berbagi Rahasia Shamir dan mengetahui informasi publik itu Skema Berbagi Rahasia Shamir. Dari informasi ini dia dapat menyimpulkan Skema Berbagi Rahasia Shamir, sama dengan dua, dan masukkan nilai yang diketahui ke dalam rumus Skema Berbagi Rahasia Shamir и Skema Berbagi Rahasia Shamir.

Skema Berbagi Rahasia Shamir

Penyerang kemudian dapat menemukannya Skema Berbagi Rahasia Shamir, menghitung Skema Berbagi Rahasia Shamir:

Skema Berbagi Rahasia Shamir

Karena kita telah mendefinisikannya Skema Berbagi Rahasia Shamir sebagai bilangan bulat positif yang dipilih secara acak, jumlah kemungkinannya terbatas Skema Berbagi Rahasia Shamir. Dengan menggunakan informasi ini, penyerang dapat menyimpulkan Skema Berbagi Rahasia Shamir, karena angka yang lebih besar dari 5 sudah cukup Skema Berbagi Rahasia Shamir negatif. Ini ternyata benar karena kita sudah menentukannya Skema Berbagi Rahasia Shamir

Penyerang kemudian dapat menghitung nilai yang mungkin Skema Berbagi Rahasia Shamirmenggantikan Skema Berbagi Rahasia Shamir в Skema Berbagi Rahasia Shamir:

Skema Berbagi Rahasia Shamir

Dengan pilihan terbatas untuk Skema Berbagi Rahasia Shamir menjadi jelas betapa mudahnya memilih dan memeriksa nilainya Skema Berbagi Rahasia Shamir. Hanya ada lima pilihan di sini.

Memecahkan masalah dengan aritmatika bilangan bulat yang tidak aman

Untuk menghilangkan kerentanan ini, Shamir menyarankan penggunaan aritmatika modular, penggantian Skema Berbagi Rahasia Shamir pada Skema Berbagi Rahasia ShamirDimana Skema Berbagi Rahasia Shamir и Skema Berbagi Rahasia Shamir — himpunan semua bilangan prima.

Mari kita segera mengingat cara kerja aritmatika modular. Jam dengan tangan adalah konsep yang familiar. Dia menggunakan jam tangan itu Skema Berbagi Rahasia Shamir. Begitu jarum penunjuk jam melewati angka dua belas, ia kembali ke angka satu. Sifat yang menarik dari sistem ini adalah hanya dengan melihat jam, kita tidak dapat menyimpulkan berapa putaran yang telah dilakukan jarum penunjuk jam. Akan tetapi, jika kita mengetahui bahwa jarum penunjuk jam telah melewati 12 sebanyak empat kali, kita dapat menentukan secara lengkap jumlah jam yang telah berlalu dengan menggunakan rumus sederhana. Skema Berbagi Rahasia ShamirDimana Skema Berbagi Rahasia Shamir adalah pembagi kita (di sini Skema Berbagi Rahasia Shamir), Skema Berbagi Rahasia Shamir adalah koefisien (berapa kali pembagi menjadi bilangan asli tanpa sisa, di sini Skema Berbagi Rahasia Shamir), dan Skema Berbagi Rahasia Shamir adalah sisanya, yang biasanya mengembalikan panggilan operator modulo (di sini Skema Berbagi Rahasia Shamir). Mengetahui semua nilai ini memungkinkan kita menyelesaikan persamaannya Skema Berbagi Rahasia Shamir, tetapi jika kita melewatkan koefisiennya, kita tidak akan pernah bisa mengembalikan nilai aslinya.

Kita dapat mendemonstrasikan bagaimana hal ini meningkatkan keamanan skema kita dengan menerapkan skema tersebut pada contoh dan penggunaan kita sebelumnya Skema Berbagi Rahasia Shamir. Fungsi polinomial baru kami Skema Berbagi Rahasia Shamir, dan poin baru Skema Berbagi Rahasia Shamir. Sekarang penjaga kunci dapat sekali lagi menggunakan interpolasi polinomial untuk merekonstruksi fungsi kita, hanya saja kali ini operasi penjumlahan dan perkalian harus disertai dengan reduksi modulo Skema Berbagi Rahasia Shamir (misalnya Skema Berbagi Rahasia Shamir).

Dengan menggunakan contoh baru ini, mari kita asumsikan penyerang mempelajari dua poin baru ini, Skema Berbagi Rahasia Shamir, dan informasi publik Skema Berbagi Rahasia Shamir. Kali ini, penyerang, berdasarkan semua informasi yang dimilikinya, mengeluarkan fungsi berikut, di mana Skema Berbagi Rahasia Shamir adalah himpunan semua bilangan bulat positif, dan Skema Berbagi Rahasia Shamir mewakili koefisien modulus Skema Berbagi Rahasia Shamir.

Skema Berbagi Rahasia Shamir

Sekarang penyerang kita menemukannya lagi Skema Berbagi Rahasia Shamir, menghitung Skema Berbagi Rahasia Shamir:

Skema Berbagi Rahasia Shamir

Lalu dia mencoba lagi Skema Berbagi Rahasia Shamirmenggantikan Skema Berbagi Rahasia Shamir в Skema Berbagi Rahasia Shamir:

Skema Berbagi Rahasia Shamir

Kali ini dia punya masalah serius. Nilai rumus hilang Skema Berbagi Rahasia Shamir, Skema Berbagi Rahasia Shamir и Skema Berbagi Rahasia Shamir. Karena kombinasi variabel-variabel ini jumlahnya tak terhingga, ia tidak dapat memperoleh informasi tambahan apa pun.

Pertimbangan Keamanan

Skema pembagian rahasia Shamir menunjukkan keamanan dari sudut pandang teori informasi. Ini berarti matematikanya tahan bahkan terhadap penyerang dengan daya komputasi tak terbatas. Namun, sirkuit tersebut masih mengandung beberapa masalah yang diketahui.

Misalnya, skema Shamir tidak tercipta pecahan yang akan diperiksa, yaitu, orang dapat dengan bebas menyajikan fragmen palsu dan mengganggu pemulihan rahasia yang benar. Penjaga fragmen yang bermusuhan dengan informasi yang cukup bahkan dapat menghasilkan fragmen lain dengan mengubahnya Skema Berbagi Rahasia Shamir atas kebijaksanaan Anda sendiri. Masalah ini diselesaikan dengan menggunakan skema pembagian rahasia yang dapat diverifikasi, seperti skema Feldman.

Masalah lainnya adalah panjang setiap fragmen sama dengan panjang rahasia yang bersangkutan, sehingga panjang rahasianya mudah ditentukan. Masalah ini bisa diselesaikan dengan cara yang sepele lapisan rahasia dengan angka sembarang hingga panjang tetap.

Terakhir, penting untuk dicatat bahwa masalah keamanan kami mungkin melampaui desain itu sendiri. Untuk aplikasi kriptografi dunia nyata, sering kali terdapat ancaman serangan saluran samping di mana penyerang mencoba mengekstrak informasi berguna dari waktu eksekusi aplikasi, caching, crash, dll. Jika hal ini menjadi perhatian, pertimbangan yang cermat harus diberikan selama pengembangan untuk menggunakan tindakan perlindungan seperti fungsi dan pencarian waktu konstan, mencegah penyimpanan memori ke disk, dan sejumlah pertimbangan lain yang berada di luar cakupan artikel ini.

Demonstrasi

Pada Halaman ini Ada demonstrasi interaktif skema pembagian rahasia Shamir. Demonstrasi berdasarkan perpustakaan ssss-js, yang merupakan port JavaScript dari program populer ssss. Perhatikan bahwa menghitung nilai besar Skema Berbagi Rahasia Shamir, Skema Berbagi Rahasia Shamir и Skema Berbagi Rahasia Shamir mungkin butuh waktu.

Sumber: www.habr.com

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster