Shamir's Secret Sharing Scheme

Vaatame olukorda, kus on vaja tagada pangahoiustamise turvalisus. Seda peetakse tÀiesti ligipÀÀsmatuks ilma vÔtmeta, mille saad esimesel tööpÀeval. Sinu eesmÀrk on turvaliselt hoida vÔti.

Oletame, et otsustasid alati hoida vĂ”tit enda juures, andes ligipÀÀsu hoiusele vastavalt vajadusele. Aga sa mĂ”istad kiiresti, et selline lahendus ei skaleeru hĂ€sti, kuna iga kord, kui on vaja avada hoius, on vajalik sinu fĂŒĂŒsiline kohalolek. Aga kuidas on puhkuseteemaga, mida lubati? Veelgi enam, hiilivad mĂ”tted: mis juhtub, kui kaotad ainulaadse vĂ”tme?

Puhkuse mÔttega otsustasid sa teha vÔtme koopia ja usaldada selle teisele töötajale. Siiski mÔistad, et see pole ka ideaalne. Kahekordistades vÔtmete arvu, kahekordistad sa ka varguse vÔimalusi.

Kehva vĂ€lja, hĂ€vitad sa koopia ja otsustad jagada algse vĂ”tme kaheks. Praegu arvad sa, et kaks usaldusvÀÀrset inimest fragmentidega vĂ”tmetest peavad fĂŒĂŒsiliselt kohal olema, et kokku koguda vĂ”ti ja avada hoius. See tĂ€hendab, et vargal on vaja varastada kaks fragmenti, mis on kahekordselt keerulisem kui ĂŒhe vĂ”tme varastamine. Kuid peagi mĂ”istad, et see skeem ei ole palju parem kui lihtsalt ĂŒks vĂ”ti, kuna kui keegi kaotab ĂŒhe vĂ”tme osa, ei saa kogu vĂ”tit taastada.

Probleemi saab lahendada tĂ€iendavate vĂ”tmete ja lukkudega, kuid sellise lĂ€henemise puhul on kiiresti vaja palju vĂ”tmeid ja lukke. Otsustad, et ideaalses skeemis tuleks jagada vĂ”ti, et turvalisus ei sĂ”ltuks tĂ€ielikult ĂŒhest inimesest. Oled ka veendunud, et peaks olema mingi lĂ€vi fragmentide arvu osas, et ĂŒhe fraktsiooni kadumise (vĂ”i kui inimene lĂ€heb puhkusele) korral jÀÀks kogu vĂ”ti toimivaks.

Kuidas jagada saladust

Sellise vĂ”tmehalduse skeemi mĂ”tles vĂ€lja Adi Shamir 1979. aastal, kui ta avaldas oma töö „Kuidas jagada saladust”. Artiklis selgitab ta lĂŒhidalt nn Shamir's Secret Sharing Scheme lĂ€vitaskeemi, et tĂ”husalt jagada saladuslik vÀÀrtus (nĂ€iteks krĂŒptograafiline vĂ”ti) osadeks Shamir's Secret Sharing Scheme jĂ€rel. Siis, kui ja ainult siis, kui vĂ€hemalt Shamir's Secret Sharing Scheme API-s Shamir's Secret Sharing Scheme osa on kogutud, saab saladuse kergesti taastada. Shamir's Secret Sharing Scheme.

Turvalisuse seisukohalt on selle skeemi oluline omadus see, et rĂŒndaja ei tohiks teada saada absoluutselt midagi, kui tal ei ole vĂ€hemalt Shamir's Secret Sharing Scheme osakest. Isegi ĂŒhe osakese olemasolu ei tohiks anda mingit teavet. Me nimetame seda omadust Shamir's Secret Sharing Scheme semantiliseks turvalisuseks PolĂŒnoomi interpolatsioon.

Shamira lÀvendiskeem

on ĂŒles ehitatud polĂŒnoomi interpolatsiooni kontseptsiooni ĂŒmber. Kui te pole selle kontseptsiooniga tuttav, siis see on tegelikult ĂŒsna lihtne. Üldiselt, kui olete kunagi graafikule punkte joonistanud ja seejĂ€rel neid joonte vĂ”i kĂ”veratega ĂŒhendades, siis olete seda juba kasutanud! Shamir's Secret Sharing Scheme Kaks punkti vĂ”ivad mÀÀrata piiramatult palju 2. astme polĂŒneome. Nende hulgast unikaalse valimiseks on vajalik kolmas punkt. NĂ€ide: VĂ”tame ĂŒhe astme polĂŒnoomi,. Kui soovite seda funktsiooni graafikule joonistada, kui palju punkte on vaja? Noh, me teame, et see on lineaarefunktsioon, mis moodustab joone, ning seetĂ”ttu on vajalik vĂ€hemalt kaks punkti. JĂ€rgmine vaatleme kahe astme polĂŒnoomi,

Shamir's Secret Sharing Scheme
. See on ruutfunktsioon, seega on graafiku loomiseks vajalik vĂ€hemalt kolm punkti. Ent kuidas on kolme astme polĂŒneomiga? VĂ€hemalt neli punkti. Ja nii edasi. Vikipeedia

TĂ”eliselt lahe asi selle omaduse juures on see, et arvestades polĂŒnoomi funktsiooni astet ja vĂ€hemalt Shamir's Secret Sharing Schemepunkti, saame tuletada tĂ€iendavaid punkte selle polĂŒnoomi funktsiooni jaoks. Nende tĂ€iendavate punktide ekstrapoleerimist nimetatakse Shamir's Secret Sharing SchemepolĂŒnoomi interpolatsiooniks

Saladuse koostamine Shamir's Secret Sharing Scheme VÔite juba aru saada, et siin astub mÀngu nutikas Shamiri skeem. Oletame, et meie saladus on . Saame muuta.

punktiks graafikul

ja vĂ€lja mĂ”elda polĂŒnoomi funktsiooni astmega Shamir's Secret Sharing Scheme — see on Shamir's Secret Sharing Scheme, mis rahuldab seda punkti. Peame meeles pidama, et Shamir's Secret Sharing Scheme on meie nĂ”utud fragmentide lĂ€vend, seega kui seadistame lĂ€ve kolme fragmenti peale, siis peame valima polĂŒnoomi funktsiooni astmega kaks. Shamir's Secret Sharing Scheme Meie polĂŒnoom on kujul Shamir's Secret Sharing Scheme— juhuslikult valitud positiivsed tĂ€isarvud. Me ehitame lihtsalt polĂŒnoomi astmega Shamir's Secret Sharing Scheme , kus vaba kordaja

on meie saladus Shamir's Secret Sharing Scheme, kus Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme , ja iga jĂ€rgmine Shamir's Secret Sharing Schemepunkti jaoks Shamir's Secret Sharing Scheme . Shamir's Secret Sharing Scheme, а у ĐșĐ°Đ¶ĐŽĐŸĐłĐŸ Оз ĐżĐŸŃĐ»Đ”ĐŽŃƒŃŽŃ‰ĐžŃ… Shamir's Secret Sharing Scheme liikmetel on juhuslikult valitud positiivne koefitsient. Kui naasta algse nĂ€ite juurde ja eeldada, et Shamir's Secret Sharing Scheme, saame siis funktsiooni Shamir's Secret Sharing Scheme.

Selles etapis saame genereerida fragmente, ĂŒhendades Shamir's Secret Sharing Scheme ainulaadseid tĂ€isarve Shamir's Secret Sharing Scheme, kus Shamir's Secret Sharing Scheme (sest see on meie saladus). Antud nĂ€ites soovime jagada nelja fragmenti lĂ€vendi kolme, seetĂ”ttu genereerime juhuslikult punktid Shamir's Secret Sharing Scheme ja saadame igale neljale usaldusvÀÀrsele isikule, vĂ”tmekaitsjale, ĂŒhe punkti. Anname ka inimestele teada, et Shamir's Secret Sharing Scheme, kuna seda peetakse avalikuks informatsiooniks ja see on vajalik taastamiseks Shamir's Secret Sharing Scheme.

Saladuse taastamine

Oleme juba arutanud polĂŒnoomi interpolatsiooni kontseptsiooni ja et see on aluseks Shamir'i lĂ€ve skeemile Shamir's Secret Sharing Scheme. Kui tahes kolm neljast usaldusisikust soovivad taastada Shamir's Secret Sharing Scheme, peavad nad lihtsalt interpolatsiooni tegema Shamir's Secret Sharing Scheme oma ainulaadsete punktidega. Selleks vĂ”ivad nad mÀÀrata oma punktid Shamir's Secret Sharing Scheme ja arvutada Lagrange'i interpolatsioonipolĂŒnoomi, kasutades jĂ€rgmist valemit. Kui programmeerimine on teile tuttavam kui matemaatika, siis pii on pĂ”himĂ”tteliselt operaator for, mis korrutab kĂ”ik tulemused, ja sigma on for, mis on kĂ”ik summad.

Shamir's Secret Sharing Scheme

Shamir's Secret Sharing Scheme

Kaugjuhtimisega Shamir's Secret Sharing Scheme saame selle lahendada jĂ€rgmiselt ja tagastada oma algse polĂŒnoomi funktsiooni:

Shamir's Secret Sharing Scheme

Kuna me teame, et Shamir's Secret Sharing Scheme, taastamine Shamir's Secret Sharing Scheme kÀib lihtsalt:

Shamir's Secret Sharing Scheme

Ohutu tÀisarvude aritmeetika kasutamine

Kuigi oleme edukalt rakendanud Shamir'i pĂ”hiideed Shamir's Secret Sharing Scheme, on meil probleem, mida oleme seni ignoreerinud. Meie polĂŒnoomi funktsioon kasutab ebaturvalist tĂ€isarvude aritmeetikat. Pidage meeles, et iga tĂ€iendava punkti puhul, mille rĂŒndeĂ”igus omandab meie funktsiooni graafikult, jÀÀb vĂ€hem vĂ”imalusi teiste punktide jaoks. Saate seda oma silmaga nĂ€ha, kui joonistate graafikut, suurendades polĂŒnoomi funktsioonile punkte, kasutades tĂ€isarvude aritmeetikat. See on meie deklaratsiooni turvalisuse eesmĂ€rgiga vastuolus, sest kurjategija ei tohiks absoluutselt midagi teada, kuni neil pole vĂ€hemalt Shamir's Secret Sharing Scheme fragmente.

Kuna demonstreerime, kui nÔrk on tÀisarvude aritmeetika skeem, arvestame stsenaariumi, kus kurjategija on saanud kaks punkti Shamir's Secret Sharing Scheme ja teab avalikku teavet, et Shamir's Secret Sharing Scheme. Selle teabe pÔhjal saab jÀreldada Shamir's Secret Sharing Scheme, mis on kaks, ja sisestada valemisse tuntud vÀÀrtused Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme.

Shamir's Secret Sharing Scheme

SeejĂ€rel vĂ”ib rĂŒndaja leida Shamir's Secret Sharing Scheme, arvestades Shamir's Secret Sharing Scheme:

Shamir's Secret Sharing Scheme

Kuna oleme mÀÀratlenud Shamir's Secret Sharing Scheme kui juhuslikult valitud positiivsed tĂ€isarvud, on piiratud arv vĂ”imalikke Shamir's Secret Sharing Scheme. Selle teabe abil saab rĂŒndaja jĂ€reldada Shamir's Secret Sharing Scheme, kuna kĂ”ik, mis on ĂŒle 5, muudab Shamir's Secret Sharing Scheme negatiivseks. See osutub tĂ”eks, kuna oleme mÀÀratlenud Shamir's Secret Sharing Scheme

SeejĂ€rel vĂ”ib rĂŒndaja arvutada vĂ”imalikke vÀÀrtusi Shamir's Secret Sharing Scheme, asendades Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme:

Shamir's Secret Sharing Scheme

Piiratud valikute komplektiga Shamir's Secret Sharing Scheme on selge, kui lihtne on leida ja kontrollida vÀÀrtusi Shamir's Secret Sharing Scheme. Siin on kokku viis varianti.

Probleemi lahendamine ohtliku tÀisarvuarvutusega

Selle haavatavuse kĂ”rvaldamiseks soovitab Shamir kasutada moodulaarset aritmeetikat, asendades Shamir's Secret Sharing Scheme . Tundub, et Shamir's Secret Sharing Scheme, kus Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme — kĂ”ikide algarvude hulk.

Korrake kiiresti, kuidas moodulaarne aritmeetika töötab. Kellad on juba tuttav kontseptsioon. Need kasutavad kelli, mis on Shamir's Secret Sharing Scheme. Kui tunni kĂ€si lĂ€bib kaksteist, pöördub see tagasi ĂŒhte. Selle sĂŒsteemi huvitav omadus on see, et lihtsalt kelladele vaadates ei saa me jĂ€reldada, mitu korda tundidoos on kĂ€inud. Kuid kui me teame, et tunni kĂ€si on neli korda möödunud 12-st, saame kogu möödunud tunni arvu tĂ€iesti mÀÀrata lihtsa valemi abil Shamir's Secret Sharing Scheme, kus Shamir's Secret Sharing Scheme — see on meie jagaja (siin Shamir's Secret Sharing Scheme), Shamir's Secret Sharing Scheme — see on koefitsient (mitu korda jagaja jagab algset numbrit ilma jÀÀgita, siin Shamir's Secret Sharing Scheme), ja Shamir's Secret Sharing Scheme — see on jÀÀk, mille tavaliselt tagastab mooduliga operatsiooni vĂ€ljakutse (siin Shamir's Secret Sharing Scheme). KĂ”ikide nende vÀÀrtuste teadmine vĂ”imaldab meil lahendada vĂ”rrandi Shamir's Secret Sharing Scheme, kuid kui me jĂ€tame koefitsiendi vahele, ei saa me kunagi taastada algset vÀÀrtust.

Saame demonstreerida, kuidas see parandab meie skeemi turvalisust, rakendades skeemi meie eelnevale nĂ€itele ja kasutades Shamir's Secret Sharing Scheme. Meie uus polĂŒnoomiline funktsioon Shamir's Secret Sharing Scheme, ja uued punktid Shamir's Secret Sharing Scheme. NĂŒĂŒd saavad vĂ”tmehoidjad uuesti kasutada polĂŒnoomilist interpoleerimist, et taastada meie funktsioon, ainult et seekord peavad liitmis- ja korrutamisoperatsioonid olema koos jÀÀgiga jagamisel Shamir's Secret Sharing Scheme (nt. Shamir's Secret Sharing Scheme).

Kasutades seda uut nĂ€idet, oletame, et rĂŒndaja teada kaks neist uutest punktidest, Shamir's Secret Sharing Scheme, ning avalik teave Shamir's Secret Sharing Scheme. Seekord rĂŒndaja tugineb kogu oma olemasolevale teabele, et tuletada jĂ€rgmisi funktsioone, kus Shamir's Secret Sharing Scheme — kĂ”ik positiivsete tĂ€isarvude kogum, ja Shamir's Secret Sharing Scheme esindab mudelit. Shamir's Secret Sharing Scheme.

Shamir's Secret Sharing Scheme

NĂŒĂŒd leiab meie kurjategija taas Shamir's Secret Sharing Scheme, arvutades Shamir's Secret Sharing Scheme:

Shamir's Secret Sharing Scheme

SeejÀrel proovib ta taas tuletada Shamir's Secret Sharing Scheme, asendades Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme:

Shamir's Secret Sharing Scheme

Seekord on tal tÔsine probleem. Valemist puuduvad vÀÀrtused Shamir's Secret Sharing Scheme, Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme. Kuna nende muutuja kombinatsioone on lÔpmatu arv, ei saa ta mingit lisainfot.

Turvakaalutlused

Shamir'i saladuse jagamise skeem pakub turvalisust teooria kohaselt. See tĂ€hendab, et matemaatika on tugev isegi rĂŒndaja vastu, kellel on piiramatu arvutusvĂ”ime. Siiski sisaldab skeem endiselt mitmeid tuntud probleeme.

NÀiteks Shamir'i skeem ei loo kontrollitavaid fragmente, see tÀhendab, et inimesed saavad vabalt esitada valefragmente ja segada Ôige saladuse taastamist. Vaenulik fragmentide hoidja, kellel on piisavalt teavet, vÔib isegi luua teise fragmendi, muutes Shamir's Secret Sharing Scheme oma ÀranÀgemisel. See probleem lahendatakse kontrollitavate saladuse jagamise skeemide abil, nagu Felmani skeem.

Teine probleem on see, et igasuguse fragmenti pikkus vÔrdub vastava saladuse pikkusega, mistÔttu on saladuse pikkust kerge mÀÀrata. See probleem lahendatakse triviaalsete tÀidete saladuse tÀiendamisega juhuslike numbritega kindla pikkuseni.

LĂ”puks on oluline mĂ€rkida, et meie mured turvalisuse osas vĂ”ivad ulatuda kaugemale skeemi enda piiridest. Reaalsetes krĂŒptograafilistes rakendustes eksisteerib sageli oht kĂ”rvalkanali rĂŒnnakuteks, kui rĂŒndaja pĂŒĂŒab vĂ€lja tuua kasuliku teabe rakenduse tööajast, vahemĂ€lu, tĂ”rgetest jne. Kui see teeb murettekitavaks, tuleks arendada kaitsemeetmete kasutamist, nagu pideva töötlemise ajaga funktsioonid ja otsingud, vĂ€ltida mĂ€lu salvestamist kettale ning kaaluda mitmeid muid aspekte, mis jÀÀvad selle artikli piiridest vĂ€ljapoole.

Demo

Pealehe sellel lehekĂŒljel on interaktiivne Shamir'i saladuse jagamise skeem. Demonstreerimine on tehtud libraryst ssss-js, mis on iseenesest populaarse programmi ssssPange tĂ€hele, et suurte vÀÀrtuste arvutamine Shamir's Secret Sharing Scheme, Shamir's Secret Sharing Scheme ja Shamir's Secret Sharing Scheme vĂ”ib vĂ”tta aega.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster