Skema e ndarjes së sekreteve të Shamir

Le të shqyrtojmë një skenar kur është e nevojshme të sigurohet siguria e një depo bankare. Ajo konsiderohet krejtësisht e paprekshme pa çelësin, i cili ju jepet në ditën e parë të punës. Qëllimi juaj është të ruani çelësin në mënyrë të sigurt.

Supozoni se keni vendosur ta mbani gjithnjĂ« çelĂ«sin me vete, duke ofruar akses nĂ« depo sipas nevojĂ«s. Por shpejt do tĂ« kuptoni se ky zgjidhje nĂ« praktikĂ« nuk Ă«shtĂ« e qĂ«ndrueshme, sepse çdo herĂ« pĂ«r tĂ« hapur depon kĂ«rkohet prania juaj fizike. ÇfarĂ« ndodh me pushimet qĂ« ju janĂ« premtuar? PĂ«r mĂ« tepĂ«r, mbetet njĂ« pyetje e frikshme: çfarĂ« ndodh nĂ«se humbni çelĂ«sin tuaj tĂ« vetĂ«m?

Me mendimin për pushimet, vendosët të bëni një kopje të çelësit dhe t'ia besoni një kolegu tjetër. Megjithatë, e kuptoni se kjo gjithashtu nuk është ideale. Duke e dyfishuar numrin e çelësave, gjithashtu keni dyfishuar mundësitë për të vjedhur çelësin.

Duke u dëshpëruar, ju shkaterroni një kopje dhe vendosni të ndani çelësin origjinal në dy pjesë. Tani, mendoni se dy persona të besueshëm me fragmentet e çelësit duhet të jenë fizikisht të pranishëm për të mbledhur çelësin dhe hapur arkën. Kjo do të thotë që hajduti duhet të vjedhë dy fragmente, që është dyfish më e vështirë se vjedhja e një çelësi. Megjithatë, shpejt kuptoni se kjo skemë nuk është shumë më e mirë sesa thjesht një çelës, sepse nëse dikush humbet një pjesë të çelësit, çelësi i plotë nuk mund të restaurohet.

Problemi mund të zgjidhet me një seri çelësash dhe çelësash, por me këtë qasje shpejt do të nevojiten shumë çelësa dhe çelësa. Ju vendosni që në një skemë ideale duhet të ndahet çelësi, në mënyrë që siguria të mos mbështetet plotësisht në një person të vetëm. Ju gjithashtu arrini në përfundimin se duhet të ekzistojë një kufi i caktuar i numrit të fragmenteve, kështu që në rast se humbet një fragment (ose nëse një person largohet për pushime) i gjithë çelësi të mbetet funksional.

Si të ndani një sekret

Për këtë lloj skeme të menaxhimit të çelësave mendohej nga Adi Shamir në vitin 1979, kur publikoi punimin e tij "Si të ndahet një sekret". Artikulli shpjegon shkurtimisht që është e ashtuquajtura Skema e ndarjes së sekreteve të Shamir skema pragmatike për ndarjen efektive të një vlerë sekrete (p.sh., çelësi kriptografik) në Skema e ndarjes së sekreteve të Shamir pjesë. Pastaj, kur dhe vetëm kur të paktën Skema e ndarjes së sekreteve të Shamir nga Skema e ndarjes së sekreteve të Shamir pjesët janë mbledhur, mund të rikuperohet lehtësisht sekreti Skema e ndarjes së sekreteve të Shamir.

Nga pikëpamja e sigurisë, një nga atributet e rëndësishme të kësaj skeme është se një sulmues nuk duhet të dijë absolutisht asgjë, nëse ai nuk ka të paktën Skema e ndarjes së sekreteve të Shamir pjesë. Edhe posedimi i Skema e ndarjes së sekreteve të Shamir pjesëve nuk duhet të japë asnjë informacion. Ne e quajmë këtë atribut siguria semantike.

Interpolimi polinomial

Skema pragmatike e Shamir Skema e ndarjes së sekreteve të Shamir ndërtohet rreth konceptit të interpolimit polinomial. Nëse nuk jeni njohur me këtë koncept, ai në fakt është mjaft i thjeshtë. Në përgjithësi, nëse ndonjëherë keni vizatuar pika në një grafik dhe më pas i keni lidhur ato me linja ose kurba, atëherë keni përdorur tashmë atë!

Skema e ndarjes së sekreteve të Shamir
Përmes dy pikave, mund të tërheqni një numër të pakufizuar polinomësh të gradës 2. Për të zgjedhur vetëm një të tillë - nevojitet një pikë e tretë. Ilustrimi: Wikipedia

Le të shqyrtojmë një polinom me gradë një, Skema e ndarjes së sekreteve të Shamir. Nëse dëshironi të ndërtoni këtë funksion në grafik, sa pika ju nevojiten? E dimë se ky është një funksion linear, i cili formon një vijë dhe për këtë arsye nevojiten të paktën dy pika. Më pas, le të shqyrtojmë një funksion polinomial me gradë dy, Skema e ndarjes së sekreteve të Shamir. Ky është një funksion katror, prandaj për ndërtimin e grafikës kërkohen të paktën tre pika. Si për një polinom me gradë tre? Të paktën katër pika. Dhe kështu me radhë.

Ajo që është vërtet e mrekullueshme në këtë pronë është se, duke marrë parasysh gradën e funksionit polinom, dhe, të paktën, Skema e ndarjes së sekreteve të Shamir pikave, ne mund të nxjerrim pika të tjera për këtë funksion polinomial. Ekstrapolimi i këtyre pikave të tjera ne e quajmë interpolimi polinomial.

Krijimi i një sekreti

Mund tĂ« keni kuptuar tashmĂ« se kĂ«tu hyn nĂ« lojĂ« skema e mençur e Shamir. Le tĂ« supozojmĂ« se sekreti ynĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir — kjo Ă«shtĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir. Ne mund ta kthejmĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir nĂ« njĂ« pikĂ« nĂ« grafik Skema e ndarjes sĂ« sekreteve tĂ« Shamir dhe tĂ« krijojmĂ« njĂ« funksion polinomial me gradĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir, i cili pĂ«rmbush kĂ«tĂ« pikĂ«. Le tĂ« kujtojmĂ« se Skema e ndarjes sĂ« sekreteve tĂ« Shamir do tĂ« jetĂ« prag i kĂ«rkuar pĂ«r fragmentet, prandaj nĂ«se e vendosim pragun nĂ« tre fragmente, duhet tĂ« zgjedhim njĂ« funksion polinom me gradĂ« dy.

Polinomi ynĂ« do tĂ« ketĂ« formĂ«n Skema e ndarjes sĂ« sekreteve tĂ« Shamir, ku Skema e ndarjes sĂ« sekreteve tĂ« Shamir dhe Skema e ndarjes sĂ« sekreteve tĂ« Shamir — numra tĂ« rastĂ«sishĂ«m pozitivĂ« tĂ« plotĂ«. Ne thjesht po ndĂ«rrmarim njĂ« polinom me gradĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir, ku koeficienti i lirĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir — Ă«shtĂ« sekreti ynĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir, ndĂ«rsa secili nga anĂ«tarĂ«t e mbetur Skema e ndarjes sĂ« sekreteve tĂ« Shamir ka njĂ« koeficient pozitiv tĂ« zgjedhur rastĂ«sisht. NĂ«se kthehemi nĂ« shembullin fillestar dhe supozojmĂ« se Skema e ndarjes sĂ« sekreteve tĂ« Shamir, atĂ«herĂ« do tĂ« marrim funksionin Skema e ndarjes sĂ« sekreteve tĂ« Shamir.

Në këtë fazë, mund të gjenerojmë fragmentet, duke lidhur Skema e ndarjes së sekreteve të Shamir numra të plotë unikë në Skema e ndarjes së sekreteve të Shamir, ku Skema e ndarjes së sekreteve të Shamir (sepse ky është sekreti ynë). Në këtë rast, ne duam të japim katër fragmente me prag tre, prandaj gjenerojmë rastësisht pikët Skema e ndarjes së sekreteve të Shamir dhe dërgojmë nga një pikë për secilin nga katër personat e besuar, ruajtësit e çelësave. Ne gjithashtu i njoftojmë njerëzit se Skema e ndarjes së sekreteve të Shamir, pasi kjo konsiderohet informacion publik dhe është e nevojshme për rikuperimin Skema e ndarjes së sekreteve të Shamir.

Rikuperimi i sekretit

Kemi diskutuar tashmë konceptin e interpolimit polinom dhe atë që qëndron në bazë të skemës së pragut të Shamir Skema e ndarjes së sekreteve të Shamir. Kur tre personat nga katër të besueshëm duan të rikuperojnë Skema e ndarjes së sekreteve të Shamir, ata duhet vetëm të ndërtojnë Skema e ndarjes së sekreteve të Shamir me pikat e tyre unike. Për këtë ata mund të përcaktojnë pikat e tyre Skema e ndarjes së sekreteve të Shamir dhe të llogarisin polinomin e interpolimit të Lagrange-it, duke përdorur formulën në vijim. Nëse programimi ju kuptohet më mirë se matematika, pi është në thelb një operator për, i cili shumëzon të gjitha rezultatet, dhe sigma është për, i cili gjithçka i shton.

Skema e ndarjes së sekreteve të Shamir

Skema e ndarjes së sekreteve të Shamir

Në Skema e ndarjes së sekreteve të Shamir ne mund ta zgjidhim këtë duke e bërë në këtë mënyrë dhe të kthejmë funksionin tonë polinomial origjinal:

Skema e ndarjes së sekreteve të Shamir

Duke ditur se Skema e ndarjes së sekreteve të Shamir, rikuperimi Skema e ndarjes së sekreteve të Shamir realizohet thjesht:

Skema e ndarjes së sekreteve të Shamir

Përdorimi i aritmetikës së sigurtë të numrave të plotë

Megjithëse kemi aplikuar me sukses idenë kryesore të Shamirit Skema e ndarjes së sekreteve të Shamir, ne na mbetet një problem, të cilin e kemi injoruar deri më tani. Funksioni ynë polinomial përdor aritmetikë të pa sigurt të numrave të plotë. Mbani parasysh se për çdo pikë shtesë që një sulmues merr në grafikën e funksionit tonë, mbetet një numër më i vogël mundësish për pika të tjera. Mund ta shihni këtë me sy kur ndërtoni grafik me rritjen e numrit të pikave për funksionin polinomial duke përdorur aritmetikë të numrave të plotë. Kjo është kontraproduktive për qëllimin tonë të pretenduar të sigurisë, sepse një sulmues nuk duhet të dijë asgjë derisa të ketë të paktën Skema e ndarjes së sekreteve të Shamir fragmente.

Për të demonstruar sa e dobët është skema e aritmetikës së numrave të plotë, le të shqyrtojmë një skenar në të cilin një sulmues ka marrë dy pika Skema e ndarjes së sekreteve të Shamir dhe di informacionin publik që Skema e ndarjes së sekreteve të Shamir. Nga ky informacion ai mund të nxjerrë Skema e ndarjes së sekreteve të Shamir, i cili është i barabartë me dy, dhe të lidhë në formulë vlerat e njohura Skema e ndarjes së sekreteve të Shamir dhe Skema e ndarjes së sekreteve të Shamir.

Skema e ndarjes së sekreteve të Shamir

Pastaj, sulmuesi mund të gjejë Skema e ndarjes së sekreteve të Shamir, duke e llogaritur Skema e ndarjes së sekreteve të Shamir:

Skema e ndarjes së sekreteve të Shamir

Duke marrë parasysh se ne e kemi përcaktuar Skema e ndarjes së sekreteve të Shamir si numra të plotë pozitivë të zgjedhur rastësisht, ka një numër të kufizuar mundësish Skema e ndarjes së sekreteve të Shamir. Me këtë informacion, një sulmues mund të nxjerrë Skema e ndarjes së sekreteve të Shamir, pasi çdo gjë më shumë se 5 do ta bëjë Skema e ndarjes së sekreteve të Shamir negative. Kjo rezulton të jetë e vërtetë, pasi ne e kemi përcaktuar Skema e ndarjes së sekreteve të Shamir

Pastaj sulmuesi mund të llogarisë vlerat e mundshme Skema e ndarjes së sekreteve të Shamir, duke e zëvendësuar Skema e ndarjes së sekreteve të Shamir në Skema e ndarjes së sekreteve të Shamir:

Skema e ndarjes së sekreteve të Shamir

Me një grup të kufizuar mundësish për Skema e ndarjes së sekreteve të Shamir bëhet e qartë se sa lehtë është të gjenden dhe të verifikohen vlerat Skema e ndarjes së sekreteve të Shamir. Këtu ka vetëm pesë mundësi.

Zgjidhja e problemit me aritmetikën e pasigurt të numrave të plotë

PĂ«r tĂ« eliminuar kĂ«tĂ« dobĂ«si, Shamir sugjeron tĂ« pĂ«rdoren aritmetika modulo, duke zĂ«vendĂ«suar Skema e ndarjes sĂ« sekreteve tĂ« Shamir nĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir, ku Skema e ndarjes sĂ« sekreteve tĂ« Shamir dhe Skema e ndarjes sĂ« sekreteve tĂ« Shamir — grupi i tĂ« gjithĂ« numrave tĂ« thjeshtĂ«.

Le tĂ« rikujtojmĂ« shpejt si funksionon aritmetika modulo. Ora me shifra Ă«shtĂ« njĂ« koncept i njohur. Ajo pĂ«rdor orĂ«t qĂ« janĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir. Sa herĂ« qĂ« akrepi i orĂ«s kalon 12, ai kthehet nĂ« njĂ«. NjĂ« karakteristikĂ« interesante e kĂ«saj sistemi Ă«shtĂ« se vetĂ«m duke e parĂ« orĂ«n, nuk mund tĂ« nxjerrim se sa herĂ« ka kaluar akrepi i orĂ«s. MegjithatĂ«, nĂ«se e dimĂ« qĂ« akrepi i orĂ«s ka kaluar 12 katĂ«r herĂ«, mund tĂ« pĂ«rcaktojmĂ« plotĂ«sisht numrin e orĂ«ve tĂ« kaluara me njĂ« formulĂ« tĂ« thjeshtĂ« Skema e ndarjes sĂ« sekreteve tĂ« Shamir, ku Skema e ndarjes sĂ« sekreteve tĂ« Shamir — ky Ă«shtĂ« ndarĂ«si ynĂ« (kĂ«tu Skema e ndarjes sĂ« sekreteve tĂ« Shamir), Skema e ndarjes sĂ« sekreteve tĂ« Shamir — Ă«shtĂ« koeficienti (sa herĂ« ndahen pa mbetje ndarĂ«si nĂ« numrin fillestar, kĂ«tu Skema e ndarjes sĂ« sekreteve tĂ« Shamir), ndĂ«rsa Skema e ndarjes sĂ« sekreteve tĂ« Shamir — Ă«shtĂ« mbetja, qĂ« zakonisht e kthen thirrja e operatorit modulo (kĂ«tu Skema e ndarjes sĂ« sekreteve tĂ« Shamir). Njohja e tĂ« gjitha kĂ«tyre vlerave na lejon tĂ« zgjidhim ekuacionin pĂ«r Skema e ndarjes sĂ« sekreteve tĂ« Shamir, por nĂ«se e anashkalojmĂ« koeficientin, kurrĂ« nuk do tĂ« jemi nĂ« gjendje tĂ« rikuperojmĂ« vlerĂ«n fillestare.

Mund të demonstrojmë se si kjo përmirëson sigurinë e skemës tonë, duke aplikuar skemën në shembullin tonë të mëparshëm dhe duke përdorur Skema e ndarjes së sekreteve të Shamir. Funksioni ynë polinom i ri Skema e ndarjes së sekreteve të Shamir, dhe pikët e reja Skema e ndarjes së sekreteve të Shamir. Tani ruajtësit e çelësit mund të përdorin përsëri interpolimin polinom për të rikuperuar funksionin tonë, por këtë herë operacionet e mbledhjes dhe shumëzimit duhet të shoqërohen me reduktimin modulo Skema e ndarjes së sekreteve të Shamir (p.sh. Skema e ndarjes së sekreteve të Shamir).

Duke pĂ«rdorur kĂ«tĂ« shembull tĂ« ri, supozoni se njĂ« sulmues ka mĂ«suar dy nga kĂ«to pika tĂ« reja, Skema e ndarjes sĂ« sekreteve tĂ« Shamir, dhe informacioni publik Skema e ndarjes sĂ« sekreteve tĂ« Shamir. KĂ«tĂ« herĂ«, sulmuesi bazuar nĂ« gjithĂ« informacionin qĂ« ka nxjerrĂ« funksionet nĂ« vijim, ku Skema e ndarjes sĂ« sekreteve tĂ« Shamir — Ă«shtĂ« grupi i tĂ« gjithĂ« numrave tĂ« plotĂ« pozitivĂ«, dhe Skema e ndarjes sĂ« sekreteve tĂ« Shamir pĂ«rfaqĂ«son koeficientin e modulit Skema e ndarjes sĂ« sekreteve tĂ« Shamir.

Skema e ndarjes së sekreteve të Shamir

Tani sulmuesi ynë gjen përsëri Skema e ndarjes së sekreteve të Shamir, duke llogaritur Skema e ndarjes së sekreteve të Shamir:

Skema e ndarjes së sekreteve të Shamir

Pastaj ai përpiqet sërish të nxjerrë Skema e ndarjes së sekreteve të Shamir, duke e zëvendësuar Skema e ndarjes së sekreteve të Shamir në Skema e ndarjes së sekreteve të Shamir:

Skema e ndarjes së sekreteve të Shamir

Këtë herë ai ka një problem serioz. Në formulë mungojnë vlerat Skema e ndarjes së sekreteve të Shamir, Skema e ndarjes së sekreteve të Shamir dhe Skema e ndarjes së sekreteve të Shamir. Duke qenë se ekzistojnë një numër të pafund të kombinimeve të këtyre variablave, ai nuk mund të marrë ndonjë informacion të mëtejshëm.

Konsideratat e sigurisë

Skema e ndarjes së sekretit të Shamires ofron siguri nga perspektiva e teorisë së informacionit. Kjo do të thotë se matematika është e qëndrueshme edhe përballë një sulmuesi me fuqinë e pakufizuar të llogaritjes. Sidoqoftë, skema ende përmban disa probleme të njohura.

Për shembull, skema e Shamires nuk krijon fragmente verifikues, domethënë njerëzit mund të paraqesin lirisht fragmente fals dhe të pengojnë rikonsolidimin e sekretit të saktë. Një ruajtës armiqësor i fragmenteve me informacion të mjaftueshëm mund të prodhojë madje një fragment tjetër, duke ndryshuar Skema e ndarjes së sekreteve të Shamir sipërfaqësisht. Ky problem zgjidhet me skema verifikues të ndarjes së sekretit, siç është skema e Feldmanit.

Një tjetër problem është se gjatë e çdo fragmeni është e barabartë me gjatësi e sekretit përkatës, kështu që gjatësi e sekretit përcaktohet lehtësisht. Ky problem zgjidhet me një mbushje triviale sekret me numra të rastit deri në gjatësi të caktuar.

Në fund, është e rëndësishme të theksohet se shqetësimet tona për sigurinë mund të kalojnë përtej vetë skemës. Për aplikacionet reale të kriptografisë, shpesh ka rreziqe të sulmeve nga kanale të jashtme, kur një sulmues përpiqet të nxjerrë informacion të dobishëm nga koha e ekzekutimit të aplikacionit, ndihmësve, dështimeve, etj. Nëse ky është një shqetësim, gjatë zhvillimit duhet të shqyrtohet me kujdes përdorimi i masave mbrojtëse, si funksionet dhe kërkimi me kohë të qëndrueshëm të ekzekutimit, të parandalohet ruajtja e memorjes në disk dhe të merren parasysh një sërë gjërash që kalojnë përtej këtij artikulli.

Demo

Në këtë faqe ka një demo interaktive të skemës së ndarjes së sekretit të Shamir. Demonstra është bërë në bazë të bibliotekës ssss-js, e cila vetë është një port JavaScript i programit të njohur ssss. Vini re se llogaritja e vlerave të mëdha Skema e ndarjes së sekreteve të Shamir, Skema e ndarjes së sekreteve të Shamir dhe Skema e ndarjes së sekreteve të Shamir mund të marrë disa kohë.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster