Şamir'in gizli bölüşüm şeması

Bir senaryoyu düşünelim, bankacılık oturumunun güvenliğini sağlamak gerekiyor. Bu, size işe başladığınız gün verilen anahtar olmadan tamamen erişilemez kabul edilir. Amacınız, anahtarı güvenli bir şekilde saklamaktır.

Diyelim ki anahtarı her zaman yanınızda tutmaya karar verdiniz, gerektiğinde oturuma erişim sağlayarak. Ancak, oturumu açmak için her seferinde fiziksel varlığınızın gerektiğini fark edeceksiniz ki bu pratikte ölçeklenebilir bir çözüm değil. Peki, size vaat edilen tatile ne olacak? Ayrıca, tek anahtarınızı kaybetmeniz durumunda daha korkutucu bir soru ortaya çıkıyor.

Tatil düşüncesiyle, anahtarın bir kopyasını yapmaya ve başka bir çalışana emanet etmeye karar verdiniz. Ancak bunun da ideal olmadığını anlıyorsunuz. Anahtar sayısını iki katına çıkardığınızda, anahtarın çalınma olasılığını da artırmış oluyorsunuz.

Umutsuzca, kopyayı yok ediyorsunuz ve asıl anahtarı iki parçaya ayırmaya karar veriyorsunuz. Artık düşünüyorsunuz ki, anahtarın parçalarını taşıyan iki güvenilir kişinin fiziksel olarak bulunması gerekiyor ki anahtarı birleştirip oturumu açsınlar. Bu, birinin iki parça çalmasını gerektiriyor ki bu da bir anahtar çalmaktan iki kat daha zor. Ancak, birinin anahtarın yarısını kaybetmesi durumunda, tam anahtarın geri kazanılamayacağını anlamakta gecikmiyorsunuz.

Bu sorunu bir dizi ek anahtar ve kilit ile çözmek mümkündür, ancak bu yaklaşımda hızla birçok anahtar ve kilide ihtiyaç duyulacaktır. İdeal şemanızın anahtarı bölmek olduğunu düşünüyorsunuz, böylece güvenlik tamamen tek bir kişiye bağlı kalmamalı. Ayrıca, bir parçayı kaybettiğinizde (ya da bir kişi tatile gittiğinde) tüm anahtarın işlevsel kalabilmesi için belli bir parça sayısının olması gerektiğini düşünüyorusunuz.

Gizli bir sır nasıl paylaşılır

Bu tür bir anahtar yönetim şeması hakkında Adi Shamir, 1979 yılında yayınladığı çalışmasında düşünmüştür. «Gizli Paylaşım»başlıklı makalesinde anlatılmıştır. Makalede, sözde Şamir'in gizli bölüşüm şeması eşik şeması açıklanmakta ve gizli bir değeri (örneğin, kriptografik anahtar) etkin bir şekilde Şamir'in gizli bölüşüm şeması parçalara ayırma yöntemini açıklamaktadır. Daha sonra, ancak en az Şamir'in gizli bölüşüm şeması biz Şamir'in gizli bölüşüm şeması parça toplandığında, sır kolayca geri kazanılabilir. Şamir'in gizli bölüşüm şeması.

Güvenlik açısından, bu şemanın önemli bir özelliği, bir saldırganın en az Şamir'in gizli bölüşüm şeması parça yoksa tamamen hiçbir şey öğrenmemesidir. Hatta Şamir'in gizli bölüşüm şeması parça varlığının herhangi bir bilgi vermemesi gerekmektedir. Bu özelliğe anlamsal güvenlik.

denir.

Polinom interpolasyonu Şamir'in gizli bölüşüm şeması Şamir’in eşik şeması, polinom interpolasyonu kavramı etrafında inşa edilmiştir.Bu konseptlə tanış deyilsinizsə, əslində o, olduqca sadədir. Ümumiyyətlə, əgər heç vaxt qrafikdə nöqtələr çəkib, sonra onları xət və ya əyrilərlə birləşdirmisinizsə, artıq onu istifadə etmisiniz!

Şamir'in gizli bölüşüm şeması
İki nöqtədən sonsuz sayda 2-ci dərəcəli polinom keçmək mümkündür. Onlardan yalnız birini seçmək üçün üçüncü bir nöqtə lazımdır. İllüstrasiya: Vikipediya

1-ci dərəcəli bir polinomu nəzərdən keçirək, Şamir'in gizli bölüşüm şeması. Əgər bu funksiyanı qrafikdə qurmaq istəyirsinizsə, neçə nöqtəyə ehtiyacınız var? Bilirik ki, bu, xətti bir funksiyadır, bu da deməkdir ki, ən azı iki nöqtə lazımdır. İndi isə 2-ci dərəcəli polinomiya baxaq, Şamir'in gizli bölüşüm şeması. Bu, kvadrat funksiyadır, buna görə də qrafiki qurmaq üçün ən azı üç nöqtə lazımdır. Üçüncü dərəcəli polinom haqqında necə? Ən azı dörd nöqtə. Və belə davam edir.

Bu xüsusiyyətin həqiqətən də maraqlı tərəfi ondan ibarətdir ki, polinom funksiyasının dərəcəsini və ən azı Şamir'in gizli bölüşüm şeması nöqtəni nəzərdən keçirərək, bu polinom funksiyası üçün əlavə nöqtələri çıxara bilərik. Bu əlavə nöqtələrin ekstrapolyasiyasına polinomial interpolasiya.

Sirrinin tərtibi

Bəlkə də burada Şamir ssenarisi işə düşür. Fərz edək ki, bizim sirrimiz Şamir'in gizli bölüşüm şeması — bu Şamir'in gizli bölüşüm şeması. Biz bunu Şamir'in gizli bölüşüm şeması qrafikdə bir nöqtəyə çevirə bilərik Şamir'in gizli bölüşüm şeması və bu nöqtəyə uyğun olan Şamir'in gizli bölüşüm şemasıdərəcədən bir polinomiya funksiyası icad edə bilərik. Qeyd edək ki, Şamir'in gizli bölüşüm şeması lazım olan parça sayının eşik nöqtəsini təmin edəcək, buna görə də əgər eşiği üç parçaya qoysak, iki dərəcəli bir polinomiya funksiyası seçməliyik.

Bizim polinomumuz aşağıdakı formada olacaq: Şamir'in gizli bölüşüm şeması, burada Şamir'in gizli bölüşüm şemasıŞamir'in gizli bölüşüm şeması — təsadüfi seçilmiş müsbət tam ədədlər. Biz yalnız Şamir'in gizli bölüşüm şemasıdərəcəli bir polinom qururuq, burada sabit əmsal Şamir'in gizli bölüşüm şeması bizim sirrimizdir, Şamir'in gizli bölüşüm şemasısonrakı hər bir Şamir'in gizli bölüşüm şeması üzvün təsadüfi seçilmiş müsbət əmsalı var. Əvvəlki misala qayıdaraq, əgər Şamir'in gizli bölüşüm şemasıolsalar, o zaman aşağıdakı funksiya əldə edərik: Şamir'in gizli bölüşüm şeması.

Bu mərhələdə biz parçalara yaratmaq üçün Şamir'in gizli bölüşüm şeması unikal tam ədədləri birləşdirərək Şamir'in gizli bölüşüm şeması, burada Şamir'in gizli bölüşüm şeması (çünki bu, bizim sirrimizdir). Bu nümunədə dörd parça paylaşmaq istəyirik, eşik isə üçdür, buna görə də təsadüfi nöqtələr yaradaraq Şamir'in gizli bölüşüm şeması bu dörd etibarlı insan, açar mühafizəçilərinə bir nöqtə göndəririk. Həmçinin insanlara bildiririk ki, Şamir'in gizli bölüşüm şemasıçünki bu, ictimai məlumat sayılır və bərpa etmək üçün lazımdır. Şamir'in gizli bölüşüm şeması.

Sirrinin bərpası

Biz artıq polinomial interpolasiya anlayışını və onun Şamir infrastrukturunun əsasını müzakirə etmişik. Şamir'in gizli bölüşüm şemasıİstənilən üç dörd etibarlı şəxslər Şamir'in gizli bölüşüm şemasısirrini bərpa etmək istədikdə, yalnız Şamir'in gizli bölüşüm şeması öz unikal nöqtələri ilə interpolasiya etmələri lazımdır. Bunun üçün onlar öz nöqtələrini müəyyən edə bilərlər. Şamir'in gizli bölüşüm şeması və Lagrange interpolasiya polinomunu aşağıdakı formuldan istifadə edərək hesablamaq. Əgər proqramlaşdırma sizin üçün riyaziyyatdan daha aydındırsa, onda pi əslində operatoru təsvir edir. for, bütün nəticələri çarpan, sigma isə for, hər şeyi toplayandır.

Şamir'in gizli bölüşüm şeması

Şamir'in gizli bölüşüm şeması

İstifadə Şamir'in gizli bölüşüm şeması bunu aşağıdakı kimi həll edə bilərik və ilkin polinom funksiyamızı qaytara bilərik:

Şamir'in gizli bölüşüm şeması

Çünki bilirik ki, Şamir'in gizli bölüşüm şeması, bərpa Şamir'in gizli bölüşüm şeması sadəcə həyata keçirilir:

Şamir'in gizli bölüşüm şeması

Təhlükəsiz olmayan tam ədəd arifmetikasından istifadə

Bizi Şamirinin əsas ideyasını uğurla tətbiq etmiş olsaq da, Şamir'in gizli bölüşüm şeması, indiyə qədər yaddaqalan bir problemin qaldığını görürük. Bizim polinom funksiyamız təhlükəsiz olmayan tam ədəd arifmetikasını istifadə edir. Hər əlavə nöqtə üçün, hücum edənlər bizim funksiyanın qrafikində əldə etdiyi zamana, digər nöqtələr üçün azı imkanlar qalır. Bunu tam ədədi arifmetika istifadə edərək polinom funksiyasının nöqtə sayını artırdıqca qrafik çizəndə öz gözlərinizlə görə bilərsiniz. Bu, bizə təhlükəsizliyi nəzərdə tutduğumuz məqsədə ziddir, çünki hücum edən heç bir şey bilməməlidir, nə zamana qədər ən azı Şamir'in gizli bölüşüm şeması fragments.

Tam ədəd arifmetikasının zəifliyi ilə bağlı bir ssenari göstərə bilərik. Hücum edən iki nöqtə əldə edərsə Şamir'in gizli bölüşüm şeması və ictimai məlumatların olduğunu bilir ki, Şamir'in gizli bölüşüm şeması. Bu məlumatdan o, Şamir'in gizli bölüşüm şeması, iki bərabər olmaq üzrə və məlum dəyərləri formulaya qoymaq üçün istifadə edə bilər. Şamir'in gizli bölüşüm şemasıŞamir'in gizli bölüşüm şeması.

Şamir'in gizli bölüşüm şeması

Sonra, hücum edən Şamir'in gizli bölüşüm şemasıtapmaq üçün Şamir'in gizli bölüşüm şeması:

Şamir'in gizli bölüşüm şeması

hesablaya bilər. Şamir'in gizli bölüşüm şeması Çünki Şamir'in gizli bölüşüm şemasıtəsadüfi seçilmiş tam ədəd müsbət ədədlər kimi müəyyən etdiyimiz üçün, mümkün olan sayı məhduddur. Şamir'in gizli bölüşüm şemasıBu məlumatla, hücum edən Şamir'in gizli bölüşüm şeması tapmaq imkanına malikdir, çünki beşdən böyük olan hər şey Şamir'in gizli bölüşüm şeması

mənfi edir. Bu doğrudur, çünki biz Şamir'in gizli bölüşüm şemasıSonra, hücum edən mümkün dəyərləri hesablaya bilər Şamir'in gizli bölüşüm şeması daxilindədir. Şamir'in gizli bölüşüm şeması:

Şamir'in gizli bölüşüm şeması

, Şamir'in gizli bölüşüm şeması üçün məhdud seçim təqdim edilərkən Şamir'in gizli bölüşüm şemasınecə asanlıqla uyğun dəyərləri tapmaq və yoxlamaq mümkün olduğunu göstərir.

Burada yalnız beş variant var.

Təhlükəsiz olmayan tam ədəd arifmetikasının problemini həll etmək Şamir'in gizli bölüşüm şeması buna Şamir'in gizli bölüşüm şeması, burada Şamir'in gizli bölüşüm şemasıŞamir'in gizli bölüşüm şeması Bu zəifliyi aradan qaldırmaq üçün, Şamir modulyar arifmetikadan istifadə etməyi təklif edir,

— bütün sadə ədədlərin cəmidir. Şamir'in gizli bölüşüm şemasıModulyar arifmetikanın necə işlədiyini tez yadıma salaq. Saatlar — artıq tanış konsepsiyadır. Bu, saatları istifadə edir, hansı ki, olar ki, onlardir. Saat göstəricisi on iki keçəndə birə qayıdır. Bu sistemin maraqlı xüsusiyyəti odur ki, sadəcə saatlara baxaraq, saat göstəricisi neçə dövr keçdiyini bilmək olmur. Ancaq əgər biz bilsək ki, saat göstəricisi 12-dən dörd dəfə keçib, sadə bir formulla keçən saatların sayını tam müəyyən etmək mümkündür. Şamir'in gizli bölüşüm şeması, burada Şamir'in gizli bölüşüm şeması — bu bizim bölücümüzdür (burada Şamir'in gizli bölüşüm şeması), Şamir'in gizli bölüşüm şeması — bu katsayıdır (bölücü, tam olarak kaç kez ana sayıya geçer, burada Şamir'in gizli bölüşüm şeması), və Şamir'in gizli bölüşüm şeması — bu genellikle mod operatörü çağrısının döndürdüğü kalandır (burada Şamir'in gizli bölüşüm şeması). Bu değerlerin hepsini bilmek, denklemi çözmemizi sağlar, Şamir'in gizli bölüşüm şeması, ancak katsayıyı atlarsak, başlangıç değerini asla geri kazanamayız.

Bunun, önceki örneğimize uygulayarak ve Şamir'in gizli bölüşüm şemasıgüvenliğimizi nasıl artırdığını gösterebiliriz. Yeni polinom fonksiyonumuz Şamir'in gizli bölüşüm şeması, yeni noktalar ise Şamir'in gizli bölüşüm şeması. Artık anahtar sahipleri, toplama ve çarpma işlemlerinin mod alarak gerçekleştirilmesi gerektiği bu sefer polinom interpolasyonunu yeniden kullanabilirler Şamir'in gizli bölüşüm şeması (örneğin, Şamir'in gizli bölüşüm şeması).

Bu yeni örneği kullanarak, varsayalım ki bir saldırgan bu yeni noktalardan ikisini öğrendi, Şamir'in gizli bölüşüm şeması, ve kamuya açık bilgi Şamir'in gizli bölüşüm şeması. Bu sefer saldırgan, elindeki tüm bilgilere dayanarak şu işlevleri çıkarıyor, burada Şamir'in gizli bölüşüm şeması — tüm pozitif tam sayıların kümesi, ve Şamir'in gizli bölüşüm şeması modülün katsayısını temsil eder. Şamir'in gizli bölüşüm şeması.

Şamir'in gizli bölüşüm şeması

Şimdi saldırganımız tekrar şunları buluyor, Şamir'in gizli bölüşüm şeması, hesaplayarak Şamir'in gizli bölüşüm şeması:

Şamir'in gizli bölüşüm şeması

Sonra tekrar çıkarmaya çalışıyor, Şamir'in gizli bölüşüm şemasıSonra, hücum edən mümkün dəyərləri hesablaya bilər Şamir'in gizli bölüşüm şeması daxilindədir. Şamir'in gizli bölüşüm şeması:

Şamir'in gizli bölüşüm şeması

Bu sefer ciddi bir problemi var. Formülde değerler eksik, Şamir'in gizli bölüşüm şeması, Şamir'in gizli bölüşüm şemasıŞamir'in gizli bölüşüm şeması. Bu değişkenlerin sonsuz sayıda kombinasyonu olduğundan, ek bir bilgi elde edemez.

Güvenlik düşünceleri

Shamir'in gizli paylaşım şeması, bilgi teorisi açısından güvenlik sunar.. Bu, matematiğin sınırsız hesaplama gücüne sahip bir saldırgana karşı bile dayanıklı olduğu anlamına gelir. Ancak şemanın hala bilinen bazı sorunları vardır.

Örneğin, Shamir'in şeması, doğrulanabilir parçalaroluşturmaz, yani insanlar sahte parçaları serbestçe sunabilir ve doğru sırrın kurtarılmasını engelleyebilir. Yeterli bilgiye sahip olan düşman bir parça bile üretebilir, Şamir'in gizli bölüşüm şeması istediği şekilde değiştirerek. Bu sorun, doğrulanabilir gizli paylaşım şemaları, Feldman şeması gibi, kullanılarak çözülür.

Başka bir sorun ise, herhangi bir parçanın uzunluğunun ilgili sıranın uzunluğuna eşit olmasıdır; böylece sıranın uzunluğu kolayca belirlenebilir. Bu sorun, sırayı sabit bir uzunluğa kadar rastgele sayılarla doldurarak basitçe çözülür. şəkil uzunluğuna qədər təsadüfi ədədlərin sirri.

Nəhayət, bizim təhlükəsizliklə bağlı narahatlıqlarımız yalnız əsas sxemlə kifayətlənmir. Həqiqi kriptoqrafiya tətbiqlərində çox vaxt xarici kanallar vasitəsilə hücumlar təhlükəsi var, burada hücumçu proqramın icra müddətindən, keşləmə, qəza və s. məlumatları əldə etməyə çalışır. Əgər bu narahatlıq doğurursa, inkişaf zamanı mühafizə tədbirlərinin istifadəsini diqqətlə nəzərdən keçirmək, məsələn, sabit icra müddətinə əsaslanan funksiyaları nəzərə almaq, yaddaşı diske saxlamağı qarşısını almaq və bu məqalədən kənarda bir sıra digər məsələləri düşünmək lazımdır.

Demo

Üçün bu səhifədə Şamirin gizli bölüşdürmə sxeminin interaktiv nümayişi var. Nümayiş ssss-js, populyar proqramın JavaScript portu olan ssssdır. Böyük dəyərləri hesablamaq üçün Şamir'in gizli bölüşüm şeması, Şamir'in gizli bölüşüm şemasıŞamir'in gizli bölüşüm şeması biraz vaxt lazım ola bilər.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster