Slaptas dalijimasis: apibrėžimas, kriptografijos metodai ir taikymai
Dalijimasis paslaptimi (angl. secret sharing) — kriptografijos šaka, apimanti metodus, kuriais viena paslaptis (pvz., slaptasis raktas) padalijama į kelias dalių (dalys vadinamos dalimis, angl. shares) ir paskirstoma keliems dalyviams. Tik bendradarbiaujant tam tikram minimaliam dalyvių skaičiui galima atkurti visą paslaptį; atskira dalis savaime neteikia pakankamai informacijos. Pirmieji plačiai žinomi metodai buvo aprašyti 1979 m. nepriklausomai Adi Šamiro (Shamir) ir Džordžo Blaklio (Blakley).
Pagrindinės sąvokos ir parametrų reikšmė
Dažniausiai naudojamas slaptumo dalijimosi modelis žymimas kaip (n, k) arba (n, t) schema:
- n — bendras dalyvių skaičius;
- k (arba t+1) — slenkstis (threshold) — minimalus dalyvių skaičius, kurio pakanka paslapčiai atkurti;
- privatumo savybė — bet k mažiau nei slenkstis turinčių dalyvių negauna jokios arba gauna ribotą informaciją apie paslaptį;
- atkuriamumas — bet k ar daugiau dalių leidžia rekonstruoti originalią paslaptį.
Populiariausi metodai
Yra keli pagrindiniai slaptumo dalijimosi metodai:
- Shamir (polinominė) schema — paslaptis įkoduojama kaip polinomio konstanta moduliu didelis pirminis skaičius arba laukas GF(p). Pasirenkamas polinomas laipsnio k−1 su atsitiktiniais koeficientais; kiekvienam dalyviui paskiriamas taškas (x, y) — tai jo dalis. Atkuriama naudojant Lagrange interpolaciją. Ši schema yra informacijos teorijos prasme saugi: mažiau nei k dalių duoda jokios informacijos apie paslaptį.
- Blakley (geometrinė) schema — paslaptis laikoma kaip taškas erdvėje; kiekviena dalis yra hipertiesa (hipersfera) priskirta dalyviui, o jų sandūra leidžia rasti tašką. Koncepcija geometrinė, saugumo savybės skiriasi nuo polininės schemos.
- Adityvinė (XOR) schema — paprastesnė schema: paslaptis suskirstoma XOR operacijomis tarp atsitiktinių dalių. Pvz., su dviem dalimis dalis A = atsitiktinis, dalis B = S XOR A. Tai paprasta ir efektyvu, bet keletas pliusų/minusų priklauso nuo konteksto.
- Ramp (palaiptinė) schemos — leidžia sutrumpinti dalių dydį ir sutaupyti vietos, bet keičia privatumą: mažesnis nei slenkstis dalių skaičius gali suteikti ribotą kiekį informacijos apie paslaptį.
- Verifikuojamas dalijimasis paslaptimi (VSS) — papildomi mechanizmai (pvz., Pedersen) leidžia dalyviams patikrinti, ar gautos dalys yra nuoseklios ir ar nuo pat pradžių nebuvo melagingos (apsaugo nuo piktybiško dalintojo).
- Proaktyvus dalijimasis — periodiškai perskirstomos dalys be paslapties atskleidimo, kad būtų apsaugota nuo ilgalaikių „mobilinių“ užpuolikų, kurie per ilgą laiką gali surinkti pakankamai dalių.
Kaip tai veikia (Shamir schema — trumpai)
- Pasirenkamas didelis pirminis skaičius p > S (S — slaptasis skaičius).
- Sukuriamas atsitiktinis polinomas f(x) = S + a1 x + a2 x^2 + ... + a(k−1) x^(k−1) (mod p).
- Kiekvienam dalyviui i priskiriamas skaičius xi ≠ 0 ir jam išduodama dalis yi = f(xi) mod p.
- Surinkus bet kokias k dalių (xi, yi), naudojama Lagrange interpolacija, kad būtų atkurta f(0) = S.
Praktiški pavyzdžiai ir taikymai
Dalijimasis paslaptimi plačiai naudojamas saugumo srityse:
- Slaptažodžių ir raktų valdymas — slaptus raktus (pvz., ilgalaikius privatumo raktus, HSM atsarginę dalį) laikyti saugiai pasiskirsčius tarp kelių asmenų arba sistemų;
- Threshold kriptografija ir parašai — vietoje vieno privataus rakto naudojama paskirstyta rakto valdymo schema: pvz., threshold RSA arba threshold ECDSA, kai reikia kelių šalių, kad būtų suformuotas galiojantis parašas. Reikia pažymėti, kad realus threshold RSA įgyvendinimas reikalauja papildomų protokolų, pvz., paskirstyto rakto generavimo (DKG) ir interaktyvių parašo protokolų;
- Bankininkystė ir korporatyvinis valdymas — svarbių operacijų patvirtinimas tik su kelių vadovų arba skyrių sutikimu;
- Blokčainas ir kriptovaliutos — daugelyje sprendimų naudojami threshold raktai arba multisig sprendimai, kad būtų apsaugoti sąskaitų raktai;
- Saugūs debesijos sandėliai ir atsarginės kopijos — jautri informacija paskirstoma tarp kelių serverių ar tiekėjų, kad vieno tiekėjo kompromisas nekeltų pavojaus;
- PKI ir CA apsauga — slaptieji raktai, naudojami sertifikatų pasirašymui, laikomi paskirstytai, kad būtų išvengta vieno taško, kurį pasikėsinus sugriauti visą sistemą;
- Nacionalinės saugumo ir karo pritaikymai — svarbių branduolinių, finansinių ar kitų valdymo sistemų prieigos saugojimas;
- Elektroniniai balsavimai ir MPC — tyrimai ir sprendimai, kur dalijimasis paslaptimi yra komponentas sudėtingesnių mazgų protokolų (secure multiparty computation).
Saugumo ir praktiniai aspektai
- Informacijos teorijos saugumas: Shamir schema suteikia tvirtą informaciją teorinį privatumo garantą: mažiau nei k dalių neatskleidžia jokių papildomų žinių apie paslaptį.
- Piktybiški dalyviai: praktiškai reikia apsvarstyti scenarijus, kai dalis dalyvių prideda neteisingas dalis; tam skirtos VSS ir robustūs atkūrimo protokolai.
- Komunikacija ir sudėtingumas: dalijimosi, atkūrimo ir galimo perpaskirstymo protokolai reikalauja saugios komunikacijos kanalų ir kriptografinių autentifikacijų.
- Rizikos: netinkama atsitiktinių skaičių generacija, dealerio (dalintojo) kompromisas, dalelių ilgalaikis saugojimas ar nuoseklus nuotėkis gali pakenkti saugumui;
- Implementacijos klaidos: neteisingas lauko/koeficientų pasirinkimas ar netinkama parametrų (p, n, k) parinktis gali sumažinti saugumą.
Trumpas pavyzdys (konceptualiai)
Tarkime, S = 123, norime (5,3) schemos (n=5, k=3). Pasirenkame didelį pirminį skaičių p, sukurti atsitiktinius koeficientus a1, a2 ir formuojame polinomą laipsnio 2: f(x) = 123 + a1 x + a2 x^2 (mod p). Išduodame 5 taškus (xi, yi). Bet kurie 3 taškai leidžia atstatyti f(0) = 123 naudojant interpolaciją; 1 arba 2 taškai duos visiškai nepakankamai informacijos.
Išvados
Dalijimasis paslaptimi yra galingas įrankis, leidžiantis žymiai pagerinti kritinių raktų ir informacijos saugumą, sumažinti vieno kompromiso riziką ir palaikyti kontrolę per jautrius veiksmus. Tinkamai parinkus schemą (Shamir, Blakley, XOR ar jų kombinacijas) ir įdiegiant papildomas apsaugos priemones (VSS, DKG, proaktyvus perskirstymas), galima sukurti patikimas, praktiškai pritaikomas ir teoriškai saugias sistemas.
Vienas iš pavyzdžių, kai naudojamas dalijimasis paslaptimi, yra RSA kriptosistema. Joje naudojamas slaptas raktas. Jei šis raktas paskirstomas daugeliui žmonių, nė vienas asmuo negali pasirašyti. Net jei vieno asmens dalis atskleidžiama arba prarandama, keli iš jų vis tiek gali sudaryti parašą. Tai dažnai naudojama tose srityse, kur saugumas yra labai svarbus, pavyzdžiui, bankuose arba kariuomenėje.
Dalintojas kiekvienam žaidėjui įteikia jo paslapties dalį. Lengvesnėje konfigūracijoje žaidėjų dalys gali būti sujungtos į paslaptį, tačiau su kiekviena dalimi pateikiama papildoma informacija. Tarkime, kad paslapčiai reikia penkių dalių, o trys dalys yra žinomos. Šioje konfigūracijoje atspėti dvi trūkstamas dalis bus lengviau nei atspėti paslaptį, kai nėra žinomos jokios dalys. Informacijos teorijos požiūriu sakoma, kad kita sąranka yra saugi, nes žinant dalį iš reikiamo žaidėjo dalių skaičiaus nepasikeis, kaip sunku atspėti paslaptį.
Yra įvairių saugaus dalijimosi paslaptimis metodų.
Šamiro metodas
Taikant šį metodą paslapčiai atkurti galima naudoti bet kurį t iš n dalijimųsi. Idėja yra ta, kad t-1 laipsnio polinomas apibrėžiamas t polinomo taškų: Tai yra du taškai tiesei apibrėžti, trys - kvadratinei kreivei, keturi - kubinei ir t. t. T-1 laipsnio daugianariui apibrėžti reikia t taškų. Taip galima sudaryti daugianarį, kurio pirmasis koeficientas yra paslaptis; atsitiktinai parinktų koeficientų yra n. Kiekvienas žaidėjas gauna vieną iš n koeficientų. Jei yra bent t žaidėjų, jie gali atstatyti pradinę kreivę ir gauti paslaptį.
Klausimai ir atsakymai
Klausimas: Kas yra slaptas dalijimasis?
A: Paslapčių dalijimasis - tai būdas dalytis paslaptimi tarp daugelio žmonių. Kiekvienas asmuo žino dalį paslapties, kuria dalijamasi, tačiau keli žmonės turi bendradarbiauti, kad atkurtų paslaptį.
K: Kas sukūrė slapto dalijimosi metodą?
A: 1979 m. Adi Šamiras ir Džordžas Blaklis nepriklausomai vienas nuo kito sukūrė slapto dalijimosi metodą.
K: Koks pavyzdys pateikiamas, kai naudojamas slapto dalijimosi metodas?
Atsakymas: RSA kriptosistema pateikiama kaip pavyzdys, kai naudojamas dalijimasis paslaptimi. Joje naudojamas slaptas raktas, kuris paskirstomas daugeliui žmonių, kad nė vienas asmuo negalėtų pasirašyti.
K: Kodėl dalijimasis paslaptimis svarbus tokiose srityse kaip bankai ar kariuomenė?
A: Dalijimasis slaptaisiais raktais svarbus tokiose srityse kaip bankai ar kariuomenė, nes suteikia papildomą saugumo lygį. Net jei atskleidžiama ar prarandama vieno asmens paslapties dalis, paslaptį vis tiek gali atkurti daug kitų žmonių.
K.: Kaip dalijimasis paslaptimis nustatomas paprastesnėje aplinkoje?
A: Lengvesnėje konfigūracijoje žaidėjų dalys gali būti sujungtos į paslaptį, tačiau su kiekviena dalimi yra papildomos informacijos.
K: Kuo skiriasi lengvesnė paslapties dalijimosi sąranka nuo kitos sąrankos?
A: Lengvesnė paslapties dalijimosi sąranka informacijos teorijos požiūriu yra mažiau saugi, nes atspėti dvi trūkstamas dalis bus lengviau nei atspėti paslaptį, kai nežinomos jokios dalys. Kita sąranka yra saugi informacijos teorijos požiūriu.
Klausimas: Ar yra įvairių saugaus dalijimosi paslaptimis metodų?
A: Taip, yra įvairių saugaus dalijimosi paslaptimis metodų.