Hemmelighedsdeling betegner metoder til at fordele en hemmelighed mellem flere personer, så hver deltager kun får en del (et "share") af den samlede hemmelighed. Flere deltagere må samarbejde for at rekonstruere hemmeligheden; en enkelt persons del er ikke nok. Ideen blev formelt indført uafhængigt af Adi Shamir og George Blakley i 1979.
Et praktisk eksempel er RSA-kryptosystemet, som bygger på en hemmelig privatnøgle. Hvis den private nøgle fordeles mellem flere personer med en tærskelbaseret ordning, kan ingen enkelt person lave en signatur. Først når et tilstrækkeligt antal deltagere (tærsklen) samarbejder, kan de sammen udføre en underskrift. Tærskelordninger bruges især, hvor høj pålidelighed og sikkerhed er nødvendig, f.eks. i banker, certifikatudstedere og militære systemer.
Grundlæggende begreber
En typisk model kaldes en t-af-n-tærskel: hemmeligheden er delt blandt n deltagere, og mindst t af dem skal samarbejde for at gendanne den. Vigtige egenskaber er:
- Perfekt (informationsteoretisk) sikkerhed: kendskab til færre end t shares giver ingen information om hemmeligheden; situationen er sikker ud fra et informationsteoretisk synspunkt.
- Tolerance over for tab: hvis nogle shares går tabt eller kompromitteres, kan de resterende shares stadig være tilstrækkelige.
- Fleksibilitet: tærsklen t og antallet n kan vælges efter behov.
De mest kendte metoder
Der findes flere konstruktioner. De to klassiske er:
- Shamir's metode — baseret på polynomier over en endelig krop (felt). Hemmeligheden er konstantleddet i et tilfældigt polynomium af grad t−1. Hvert share er polynomiets værdi i et bestemt punkt. Med mindst t punkter kan man rekonstruere polynomiet (og dermed hemmeligheden) ved hjælp af Lagrange-interpolation. Mindre end t punkter giver ingen information om konstantleddet.
- Blakley's metode — geometrisk fremgangsmåde, hvor hemmeligheden er en koordinat for et punkt i et vektorrum, og hver share er en hyperplan, som punktet ligger på. Skæringen af t passende hyperplaner giver punktet/hemmeligheden.
Udvidelser og praktiske varianter
- Verifiable Secret Sharing (VSS): tilføjer mekanismer, så deltagerne kan kontrollere, at shares er korrekte og konsistente uden at afsløre hemmeligheden — vigtigt hvis der er mistanke om en ondsindet udsteder.
- Distributed Key Generation (DKG): fjerner behovet for en betroet udsteder (dealer) ved at lade deltagerne sammen generere nøglen og deres shares i et distribueret protokolforløb.
- Proaktive ordninger: periodisk opfriskning af shares uden at ændre den underliggende hemmelighed, så gamle kompromitterede shares ikke længere er nyttige.
- Tærskelbaserede signaturer: specialiserede protokoller gør det muligt at lave digitale signaturer (f.eks. RSA eller ECDSA) i en tærskelopsætning, hvor ingen deltager kender hele den private nøgle.
Sikkerheds- og implementeringshensyn
For at opnå sikkerhed i praksis skal man være opmærksom på:
- Brug af en tilstrækkeligt stor endelig krop/felt og kryptografisk tilfældighed (CSPRNG) ved valg af polynomcoefficenter.
- Beskyttelse mod kompromitterede shares — hvis angribere får t eller flere shares, mistes hemmeligheden.
- Sidekanalangreb og dårlig opbevaring af shares (f.eks. ukrypterede backups) kan undergrave sikkerheden.
- Korrekt implementeret VSS/DKG kan forhindre ondsindede deltagere i at sabotere ordningen.
En enkel intuitiv illustration (Shamir)
Forestiller du dig, at hemmeligheden er tallet S. Vælg et tilfældigt polynomium f(x) = S + a1 x + a2 x^2 + ... (mod p) af grad t−1. Beregn shares yi = f(i) for i=1..n og udlever dem til deltagerne. Når t deltagere samles, kan de bruge deres (i, yi)-par til at rekonstruere f(0)=S ved interpolering. Mindre end t par afslører intet om S.
Anvendelser
- Nøgleforvaltning og backup af private nøgler i organisationer.
- Sikker opbevaring af kryptografiske nøgler i HSM-lignende arkitekturer.
- Tærskelbaserede signaturer i distribuerede systemer og blockchain-infrastruktur.
- Sikring af kritiske operationer hvor flere parter skal godkende (multi‑party autorisation).
Hemmelighedsdeling er et fleksibelt og stærkt værktøj i moderne kryptografi. Valg af algoritme, parameterstørrelser, og supplerende protokoller som VSS og DKG er afgørende for at opnå både sikkerhed og praktisk anvendelighed i et givet system.