Salajaste võtmete jagamine: definitsioon ja krüptograafilised rakendused

Salajaste võtmete jagamine: õppige Adi Shimari meetodit, turvalisi jagamisskeeme ja rakendusi RSA-s ning mujal — praktiline juhend krüptograafilise turvalisuse jaoks.

Autor: Leandro Alegsa

Saladuse jagamine (inglise keeles secret sharing) on krüptograafia valdkonna meetod, mille abil jagatakse üks tundlik väärtus — näiteks salajane võti — mitme inimese või osapoole vahel nii, et ainult teatud arv nendest osalistest saavad koos selle väärtuse taastada. Iga osaline saab ühe osa (share) saladusest; ühe inimese osa üksi ei anna piisavalt informatsiooni saladuse paljastamiseks. Selliseid skeeme töötasid teineteisest sõltumatult välja Adi Shamir ja George Blakley 1979. aastal.

Põhimõte ja tähtsus

Tavapärane mudel tähistatakse parameetritega (t, n), kus n on kokku antud osade (mängijate) arv ja t on vajalik osade arv saladuse rekonstrueerimiseks. Kui vähemalt t osalist kombineerivad oma osad, saab saladuse tagasi saada; kui aga on vähem kui t osalist, ei muutu saladuse kohta saadaolev teadmiste tase (hüpoteetiliselt) — st. saladus püsib turvalisena. See omadus on eriti oluline olukordades, kus on vaja vältida ühe isiku kontrolli näiteks RSA krüptosüsteemi võtme üle, panganduses, riiklikus julgeolekus või hajutatud süsteemides.

Shamiri ja Blakley skeemide ülevaade

Shamiri skeem kasutab polünoome lõppväljal (finite field). Idee on see, et saladus s on polünoomi f(0) vaba termin ja juhuslikud koefitsiendid moodustavad ülejäänud polünoomi astmed. Iga osaline saab väärtuse f(i) konkreetse i jaoks. Kui on t punkti, saab polüümi (ja seega s = f(0)) Lagrange'i interpoleerimise abil taastada. Oluline omadus: kui koefitsiendid on juhuslikud ja töö toimub sobivas lõppväljas, siis vähem kui t osa ei anna mingit infot saladuse kohta — see on infoteooria seisukohast turvaline skeem.

Blakley skeem põhineb geomeetrial: saladus esitatakse kui punkti ruumis ja iga osa on määratud hüperplaane, mis sisaldavad seda punkti. Piisava hulga hüperplaatide lõikumine taastab punkti. Blakley skeem on kontseptuaalselt teistmoodi kui polünoomne lähenemine, kuid mõlemaid skeeme saab kasutada treshold-turvalisuse saavutamiseks.

Lihtne näide (Shamir)

  • Vali suur algarv p (lõppväli). Saladus s tõlgitakse elemendina Z_p.
  • Vali juhuslikud koefitsiendid a1,...,a_{t-1} ja moodusta polünoom f(x)=s + a1 x + ... + a_{t-1} x^{t-1} (mod p).
  • Anna iga osalisele i paar (i, f(i)).
  • Kui on vähemalt t osalist, saavad nad kasutada interpoleerimist, et leida f(0)=s.

Rakendused ja variandid

Saladuse jagamist kasutatakse mitmesugustes praktikas olulistes stsenaariumites:

  • Võtmete hajutamine — näiteks RSA privaatvõtme jagamine mitme turvalise asutuse vahel; ühekordset või pikaajalist allkirjastamise võimekust kontrollitakse koosoleku või hääletuse kaudu.
  • Threshold-signatuurid — hajutatud allkirjad, kus näiteks t/n osalejast saavad koos genereerida ECDSA- või RSA-allkirja ilma, et keegi hoiab kogu privaatvõtit.
  • Krüptorahakotid ja multisig — mitme osapoole nõue tehingu autoriseerimiseks.
  • Turvaline varundamine ja päästeplaanid — oluline saladus (nt juurvõti) jagatakse mitmele isikule või asutusele, et vältida ainujuhtimist ja samal ajal hoida varundus turvalisena.
  • Distributed Key Generation (DKG) ja Verifiable Secret Sharing (VSS) — skeemid, mis võimaldavad võtme loomist ja jaotamist ilma usaldada ühte diilerit ning samas võimaldavad osalised kontrollida oma osade õigsust.

Turvalisus ja praktilised kaalutlused

Mõned olulised aspektid ja riskid, mida arvestada:

  • Diileri roll: Kui jagaja (diiler) on usaldusväärne, on lihtne rakendada tavalist Shamir-skeemi. Kui diilerit ei saa usaldada, kasutatakse DKG- või VSS-protokolle, et vältida pahatahtlikku jagamist (nt erinevate osade vastuolud).
  • Võimalikud rünnakud: vähem kui t osalist ei peaks saama saladuse kohta informatsiooni, kuid pahatahtlikud osalised võivad proovida valeinformatsiooni sisestada — selle vältimiseks kasutatakse VSS-i ja krüptograafilisi kinnitusi (nt Pedersen commitments).
  • Jagamise uuendamine (proactive secret sharing): regulaarne osade ümberjaotamine vähendab ohtu, et pikaajaliselt kompromiteeritud osaliste kaudu saladus lekib.
  • Varundamine ja kaotused: kui liiga palju osi kaob ja alles jääb vähem kui t, võib saladus olla kaotsi — seetõttu on vaja hoolikat poliitikat osade hoidmiseks ja taastamiseks.
  • Struktuurid ja ligipääsuõigused: lisaks lihtsale treshold-struktuurile on olemas keerukamad ligipääsu-struktuurid (nt hierarhilised või mittemonotoonsed) ja neid saab realiseerida matemaatiliste konstruktsioonidega (nt monotone span programs).

Soovitused rakenduseks

  • Kasutage piisavalt suuri lõppvälju ja tugevaid juhusliku generaatorit koefitsientide valimiseks.
  • Kui ei saa usaldada jagajat, eelistage VSS- või DKG-protokolle.
  • Hoolitsege osade turvalise säilituse ja varunduse eest ning planeerige perioodiline ümberjaotamine (proactive resharing).
  • Testige taastamist (recovery) juhuslike simulatsioonidega, et veenduda, et süsteem töötab ootuspäraselt.

Kokkuvõtlikult on saladuse jagamine võimas tööriist krüptograafiliste võtmete ja muude tundlike andmete hajutamiseks, mis parandab usaldust ja vastupidavust. Õige skeemi, krüptograafiliste tagatiste ja haldusprotseduuride valikul saab saavutada nii kõrge turvalisuse kui ka praktilisuse.

Diiler annab igale mängijale oma osa saladusest. Lihtsamal juhul saab mängijate osad kombineerida saladuse moodustamiseks, kuid iga osaga on lisainformatsioon. Ütleme, et saladus vajab viit osa ja kolm osa on teada. Sellise ülesehituse puhul on kahe puuduva osa äraarvamine lihtsam kui saladuse äraarvamine, kui ühtegi osa ei ole teada. Teise seadistuse kohta öeldakse, et see on infoteooria seisukohalt turvaline, sest kui teatakse osa nõutava arvu mängijate osadest, siis ei muutu saladuse äraarvamise raskus.

On olemas erinevaid turvalise salajase jagamise meetodeid. Lisaks esitatud põhiskeemidele arendatakse pidevalt edasi ka praktilisi, verifitseeritavaid ja distributiivseid lahendusi, mis sobivad kaasaegsete hajutatud süsteemide ja krüptotööstuse nõudmistega.

Shamiri meetod

Selle meetodi puhul võib saladuse taastamiseks kasutada mis tahes t osa n-st. Idee seisneb selles, et t-1 astme polünoomi defineeritakse t punktiga polünoomil: Sirge defineerimiseks on vaja kahte punkti, kvadraatilise kõvera defineerimiseks kolme punkti, kuubilise jaoks neli punkti jne. Astme t-1 polünoomi defineerimiseks on vaja t punkti. Nii on võimalik moodustada polünoom, mille esimene koefitsient on saladus; koefitsiente on n juhuslikult valitud. Iga mängija saab ühe n koefitsiendist. Kui mängijaid on vähemalt t, saavad nad algse kõvera uuesti ehitada ja saada saladuse.

Küsimused ja vastused

K: Mis on salajane jagamine?


V: Salajane jagamine on viis, kuidas jagada saladust paljude inimeste vahel. Iga inimene teab osa jagatavast saladusest, kuid mitu inimest peavad tegema koostööd, et saladus uuesti üles ehitada.

K: Kes töötas välja salajase jagamise meetodi?


V: Adi Shamir ja George Blakley töötasid 1979. aastal üksteisest sõltumatult välja salajase jagamise meetodi.

K: Milline näide on toodud, kus kasutatakse salajase jagamise meetodit?


V: RSA krüptosüsteem on toodud näitena, kus kasutatakse salajase jagamise meetodit. Selles kasutatakse salajast võtit, mis on jaotatud paljude inimeste vahel, nii et ükski inimene ei saa teha allkirja.

K: Miks on salajane jagamine oluline sellistes valdkondades nagu pangad või sõjavägi?


V: Salajane jagamine on oluline sellistes valdkondades nagu pangad või sõjavägi, sest see annab täiendava turvakihi. Isegi kui ühe inimese osa saladusest paljastatakse või kaob, saavad mitmed teised inimesed saladuse ikkagi rekonstrueerida.

K: Kuidas on saladuste jagamine lihtsamalt korraldatud?


V: Lihtsamas ülesehituses saab mängijate osad kombineerida saladuse moodustamiseks, kuid iga osaga kaasneb lisainformatsioon.

K: Mis vahe on lihtsama salajase jagamise seadistuse ja teise seadistuse vahel?


V: Lihtsam salajase jagamise seadeldis on infoteooria seisukohast vähem turvaline, sest kahe puuduva osa äraarvamine on lihtsam kui saladuse äraarvamine, kui osad ei ole teada. Teine seadistus on infoteooria seisukohast turvaline.

K: Kas on olemas erinevaid turvalise salajase jagamise tehnikaid?


V: Jah, on olemas erinevaid turvalise salajase jagamise tehnikaid.


Otsige
AlegsaOnline.com - 2020 / 2025 - License CC3