Schema di spartera secreta di Shamir

Cunsiderate un scenariu induve avete bisognu di assicurà una volta bancaria. Hè cunsideratu assulutamente impregnable senza una chjave, chì vi sò datu in u primu ghjornu di travagliu. U vostru scopu hè di almacenà in modu sicuru a chjave.

Dicemu chì decide di mantene a chjave cun voi in ogni mumentu, furnisce l'accessu à l'almacenamiento quantu necessariu. Ma vi capisce rapidamente chì una tale suluzione ùn scala micca bè in pratica, perchè a vostra presenza fisica hè necessaria ogni volta chì apre u almacenamiento. Chì ci hè di e vacanze chì avete prumessu ? Inoltre, a quistione hè ancu più spaventosa: chì si perde a vostra sola chjave?

Cù e vostre vacanze in mente, decide di fà una copia di a chjave è affidate à un altru impiigatu. Tuttavia, capisci chì questu ùn hè micca ideale. Duppiendu u nùmeru di chjave, duppiate ancu e probabilità di furtu di chjave.

In disperazione, distrughjite u duplicatu è decide di sparte a chjave originale in a mità. Avà, pensate chì duie persone di fiducia cù frammenti chjave anu da esse fisicamenti prisenti per cullà a chjave è apre a volta. Questu significa chì un latru hà bisognu di arrubbari dui pezzi, chì hè duie volte più difficiuli di arrubbari una chjave. In ogni casu, prestu capisce chì stu schema ùn hè micca assai megliu cà una sola chjave, perchè se qualchissia perde a mità di chjave, a chjave completa ùn pò micca esse recuperata.

U prublema pò esse risolta cù una seria di chjavi supplementari è chjusi, ma questu approcciu hà bisognu rapidamente много chjavi è chjusi. Decidite chì u disignu ideale seria di sparte a chjave per chì a sicurità ùn si basa micca solu in una sola persona. Avete ancu cuncludi chì ci deve esse un sogliu per u numeru di frammenti per chì, se un fragmentu hè persu (o se una persona va in vacanze), a chjave sana ferma funziunale.

Cumu sparte un sicretu

Stu tipu di schema di gestione chjave hè stata pensata da Adi Shamir in 1979 quandu hà publicatu u so travagliu "Cumu sparte un sicretu". L'articulu spiega brevemente u cusì chjamatu Schema di spartera secreta di Shamir schema di soglia per dividendu efficacemente un valore secretu (cum'è una chjave criptografica) in Schema di spartera secreta di Shamir parti. Allora, quandu è solu quandu almenu Schema di spartera secreta di Shamir из Schema di spartera secreta di Shamir i pezzi sò assemblati, pudete facilmente restaurà u sicretu Schema di spartera secreta di Shamir.

Da un puntu di vista di sicurità, una pruprietà impurtante di stu schema hè chì l'attaccante ùn deve micca sapè assolutamente nunda, salvu ùn hà almenu Schema di spartera secreta di Shamir parti. Ancu a prisenza Schema di spartera secreta di Shamir e parti ùn deve micca furnisce alcuna infurmazione. Chjamemu sta pruprietà sicurezza semantica.

Interpolazione polinomiale

Schema di soglia di Shamir Schema di spartera secreta di Shamir custruitu intornu à u cuncettu interpolazione polinomiale. Se ùn site micca familiarizatu cù stu cuncettu, hè in realtà abbastanza simplice. In fatti, s'è vo avete mai tracciatu punti nantu à un graficu è dopu li cunnessu cù linee o curve, l'avete digià usatu!

Schema di spartera secreta di Shamir
Per mezu di dui punti pudete disegnà un numaru illimitatu di polinomi di gradu 2. Per sceglie l'unicu da elli, avete bisognu di un terzu puntu. Illustrazione: Wikipedia

Cunsiderate un polinomiu cù u gradu unu, Schema di spartera secreta di Shamir. Se vulete tracciate sta funzione nantu à un graficu, quanti punti avete bisognu? Ebbè, sapemu chì questu hè una funzione lineale chì forma una linea è cusì hà bisognu di almenu dui punti. Dopu, cunzidira una funzione polinomiale cù u gradu dui, Schema di spartera secreta di Shamir. Questa hè una funzione quadratica, cusì almenu trè punti sò richiesti per tracciate u graficu. Cume di un polinomiu cù u gradu trè? Almenu quattru punti. E cetara è cetara.

A cosa veramente bella di sta pruprietà hè chì, datu u gradu di a funzione polinomiale è almenu Schema di spartera secreta di Shamir punti, pudemu derivà punti supplementari per questa funzione polinomiale. Chjamemu l'estrapolazione di sti punti supplementari interpolazione polinomiale.

Fendu un sicretu

Puderete avè digià capitu chì questu hè induve u schema intelligente di Shamir entra in ghjocu. Diciamu u nostru sicretu Schema di spartera secreta di Shamir Is Schema di spartera secreta di Shamir. Pudemu turnà Schema di spartera secreta di Shamir à un puntu nantu à u graficu Schema di spartera secreta di Shamir è vene cun una funzione polinomiale cun gradu Schema di spartera secreta di Shamir, chì satisface stu puntu. Ricordemu chì Schema di spartera secreta di Shamir serà a nostra soglia di frammenti richiesti, cusì se avemu stabilitu u limitu à trè frammenti, duvemu sceglie una funzione polinomiale cù u gradu dui.

U nostru pulinumu avarà a forma Schema di spartera secreta di Shamirinduve Schema di spartera secreta di Shamir и Schema di spartera secreta di Shamir - interi pusitivi selezziunati aleatoriamente. Custruemu solu un polinomiu cù u gradu Schema di spartera secreta di Shamir, induve u coefficient liberu Schema di spartera secreta di Shamir - Questu hè u nostru sicretu Schema di spartera secreta di Shamir, è per ognunu di i seguenti Schema di spartera secreta di Shamir termini ci hè un coefficient pusitivu sceltu aleatoriamente. Se vultemu à l'esempiu originale è assume chì Schema di spartera secreta di Shamir, allora avemu a funzione Schema di spartera secreta di Shamir.

À questu puntu pudemu generà frammenti cunnessendu Schema di spartera secreta di Shamir interi unichi in Schema di spartera secreta di Shamirinduve Schema di spartera secreta di Shamir (perchè hè u nostru sicretu). In questu esempiu, vulemu distribuisce quattru frammenti cù un sogliu di trè, cusì generà punti aleatoriu. Schema di spartera secreta di Shamir è mandà un puntu à ognunu di i quattru persone di fiducia, i custodi di a chjave. Avemu ancu fà sapè chì a ghjente Schema di spartera secreta di Shamir, postu chì questu hè cunsideratu infurmazione publica è hè necessariu per a ricuperazione Schema di spartera secreta di Shamir.

Ritruvà u sicretu

Avemu digià discututu u cuncettu di l'interpolazione polinomiale è cumu si basa à u schema di soglia di Shamir. Schema di spartera secreta di Shamir. Quandu qualsiasi trè di i quattru trustees volenu restaurà Schema di spartera secreta di Shamir, anu solu bisognu di interpolà Schema di spartera secreta di Shamir cù i so punti unichi. Per fà questu, ponu determinà i so punti Schema di spartera secreta di Shamir è calculate u polinomiu d'interpolazione di Lagrange cù a formula seguente. Se u prugramma hè più chjaru per voi cà a matematica, allora pi hè essenzialmente un operatore for, chì multiplica tutti i risultati, è sigma hè for, chì aghjunghje tuttu.

Schema di spartera secreta di Shamir

Schema di spartera secreta di Shamir

à Schema di spartera secreta di Shamir pudemu risolve cusì è rinvià a nostra funzione polinomiale originale:

Schema di spartera secreta di Shamir

Siccomu sapemu chì Schema di spartera secreta di Shamir, ripresa Schema di spartera secreta di Shamir fattu solu:

Schema di spartera secreta di Shamir

Utilizà l'aritmetica intera micca sicura

Ancu s'è avemu appiicatu successu l'idea basica di Shamir Schema di spartera secreta di Shamir, simu lasciati cun un prublema chì avemu ignoratu finu à avà. A nostra funzione polinomiale usa l'aritmetica intera micca sicura. Nota chì per ogni puntu supplementu chì un attaccu ottene nantu à u graficu di a nostra funzione, ci sò menu pussibulità per altri punti. Pudete vede questu cù i vostri ochji quandu tracciate un numeru crescente di punti per una funzione polinomiale cù l'aritmetica intera. Questu hè contraproducente à u nostru scopu di sicurezza dichjaratu, perchè l'attaccante ùn deve sapè assolutamente nunda finu à avè almenu Schema di spartera secreta di Shamir frammenti.

Per dimustrà quantu hè debule u circuitu aritmeticu integeru, cunzidira un scenariu in quale un attaccu hà ottenutu dui punti Schema di spartera secreta di Shamir è cunnosce infurmazione publica chì Schema di spartera secreta di Shamir. Da sta infurmazione pò deduce Schema di spartera secreta di Shamir, uguale à dui, è inserisci i valori cunnisciuti in a formula Schema di spartera secreta di Shamir и Schema di spartera secreta di Shamir.

Schema di spartera secreta di Shamir

L'attaccante pò allora truvà Schema di spartera secreta di Shamir, cuntà Schema di spartera secreta di Shamir:

Schema di spartera secreta di Shamir

Dapoi avemu definitu Schema di spartera secreta di Shamir cum'è interi pusitivi selezziunati aleatoriamente, ci sò un numeru limitatu di pussibuli Schema di spartera secreta di Shamir. Utilizendu sta informazione, un attaccu pò deduce Schema di spartera secreta di Shamir, postu chì qualcosa più grande di 5 farà Schema di spartera secreta di Shamir negativu. Questu risulta esse veru postu chì avemu determinatu Schema di spartera secreta di Shamir

L'attaccante pò tandu calculà i valori pussibuli Schema di spartera secreta di Shamir, rimpiazzà Schema di spartera secreta di Shamir в Schema di spartera secreta di Shamir:

Schema di spartera secreta di Shamir

Cù opzioni limitate per Schema di spartera secreta di Shamir diventa chjaru quantu faciule hè di selezziunà è verificà i valori Schema di spartera secreta di Shamir. Ci sò solu cinque opzioni quì.

Risolve u prublema cù l'aritmetica integera insegura

Per eliminà sta vulnerabilità, Shamir suggerisce aduprà aritmetica modulare, rimpiazzà Schema di spartera secreta di Shamir nantu Schema di spartera secreta di Shamirinduve Schema di spartera secreta di Shamir и Schema di spartera secreta di Shamir - l'inseme di tutti i numeri primi.

Ricurdemu rapidamente cumu funziona l'aritmetica modulare. Un clock with hands hè un cuncettu familiar. Ella usa un orologio chì hè Schema di spartera secreta di Shamir. Appena a lancetta di l'ora passa dodici, torna à unu. Una pruprietà interessante di stu sistema hè chì solu fighjendu u clock, ùn pudemu micca deduce quante rivoluzioni hà fattu a manu di l'ora. Tuttavia, se sapemu chì a manu di l'ora hà passatu 12 quattru volte, pudemu determinà cumplettamente u nùmeru d'ore chì anu passatu cù una formula simplice. Schema di spartera secreta di Shamirinduve Schema di spartera secreta di Shamir hè u nostru divisore (qui Schema di spartera secreta di Shamir), Schema di spartera secreta di Shamir hè u coefficient (quante volte u divisore entra in u numeru originale senza restu, quì Schema di spartera secreta di Shamir), a Schema di spartera secreta di Shamir hè u restu, chì generalmente torna una chjama di l'operatore modulo (qui Schema di spartera secreta di Shamir). Sapendu tutti sti valori ci permette di risolve l'equazioni per Schema di spartera secreta di Shamir, ma s'è no manca u coefficient, ùn puderemu mai ristabilisce u valore uriginale.

Pudemu dimustrà cumu questu migliurà a sicurità di u nostru schema appiendu u schema à u nostru esempiu precedente è utilizendu Schema di spartera secreta di Shamir. A nostra nova funzione polinomiale Schema di spartera secreta di Shamir, è i punti novi Schema di spartera secreta di Shamir. Avà i guardiani chjave ponu una volta aduprà l'interpolazione polinomiale per ricustruisce a nostra funzione, solu sta volta l'operazione di addizione è multiplicazione deve esse accumpagnata da a riduzione di modulo. Schema di spartera secreta di Shamir (per esempiu Schema di spartera secreta di Shamir).

Utilizendu stu novu esempiu, supponemu chì l'attaccante hà amparatu dui di sti novi punti, Schema di spartera secreta di Shamir, è infurmazione publica Schema di spartera secreta di Shamir. Sta volta, l'attaccante, basatu annantu à tutte l'infurmazioni chì hà, pruduce e seguenti funzioni, induve Schema di spartera secreta di Shamir hè l'inseme di tutti i numeri interi pusitivi, è Schema di spartera secreta di Shamir rapprisenta u coefficient di modulu Schema di spartera secreta di Shamir.

Schema di spartera secreta di Shamir

Avà u nostru attaccante ritrova Schema di spartera secreta di Shamir, calculà Schema di spartera secreta di Shamir:

Schema di spartera secreta di Shamir

Allora prova di novu Schema di spartera secreta di Shamir, rimpiazzà Schema di spartera secreta di Shamir в Schema di spartera secreta di Shamir:

Schema di spartera secreta di Shamir

Sta volta hà un prublema seriu. Formula i valori mancanti Schema di spartera secreta di Shamir, Schema di spartera secreta di Shamir и Schema di spartera secreta di Shamir. Siccomu ci hè un nùmeru infinitu di cumminazzioni di sti variàbili, ùn pò micca ottene infurmazioni supplementari.

Considerazioni di sicurezza

U schema di spartera sicretu di Shamir suggerisce sicurità da u puntu di vista di a teoria di l'infurmazione. Questu significa chì a matematica hè resistente ancu contr'à un attaccu cù una putenza informatica illimitata. Tuttavia, u circuitu cuntene ancu parechji prublemi cunnisciuti.

Per esempiu, u schema di Shamir ùn crea micca frammenti da verificà, vale à dì, a ghjente pò presentà liberamente frammenti falsi è interferiscenu cù a ricuperazione di u sicretu currettu. Un guardianu di frammenti ostili cù infurmazioni sufficienti puderia ancu pruduce un altru fragmentu cambiendu Schema di spartera secreta di Shamir à a vostra propria discrezione. Stu prublema hè risolta usendu schemi di spartera sicretu verificabili, cum'è u schema di Feldman.

Un altru prublema hè chì a durata di ogni frammentu hè uguale à a durata di u sicretu currispundente, cusì a durata di u sicretu hè faciule di determinà. Stu prublema pò esse risolta da trivial imbottitura sicretu cù numeri arbitrarii finu à una lunghezza fissa.

Infine, hè impurtante nutà chì e nostre preoccupazioni di sicurezza ponu estenderà oltre u disignu stessu. Per l'applicazioni criptografiche in u mondu reale, ci hè spessu a minaccia di attacchi di u canali laterali induve un attaccu prova di caccià infurmazioni utili da u tempu di esecuzione di l'applicazione, caching, crashes, etc. S'ellu hè una preoccupazione, durante u sviluppu deve esse cunsideratu attente à l'usu di misure protettive, cum'è funzioni è ricerche in tempu constantu, impediscendu chì a memoria sia salvata à u discu, è una quantità di altre considerazioni chì sò fora di u scopu di stu articulu.

Demo

nantu sta pagina Ci hè una dimostrazione interattiva di u schema di spartera secreta di Shamir. Dimustrazione basatu annantu à a biblioteca ssss-js, chì ellu stessu hè un portu JavaScript di u prugramma populari faqs. Nota chì u calculu di grande valori Schema di spartera secreta di Shamir, Schema di spartera secreta di Shamir и Schema di spartera secreta di Shamir pò piglià un pocu di tempu.

Source: www.habr.com

Add a comment