Multipel (kollektiv) signatur ( engelsk Aggregate signatur ) - en ordning (protokol) til implementering af en elektronisk signatur (EDS), som giver flere brugere mulighed for at underskrive et enkelt dokument.
En kollektiv signatur giver mulighed for samtidig underskrift af et elektronisk dokument, da det er dannet som et resultat af en enkelt udelelig transformation og ikke kan opdeles i individuelle signaturer; derudover kan den ikke udvides, det vil sige, at der kan indlejres en ekstra signatur af en eller flere personer i den [1] .
Udtrykket "kollektiv signatur" er i overensstemmelse med udtrykket " gruppesignatur ", men disse begreber er forskellige. Gruppens digitale signaturprotokol løser problemet med at gøre det muligt for enhver bruger fra en bestemt gruppe at danne en signatur på vegne af hele gruppen. Gruppe EDS-protokollen regulerer også tilstedeværelsen af specifikke personer, som kan bestemme listen over personer, der har dannet en underskrift (således har sidstnævnte en hypotetisk mulighed for at underskrive for et hvilket som helst af medlemmerne af gruppen). Ved kollektivt arbejde med elektroniske dokumenter er det nødvendigt at kunne underskrive dem af mange brugere [2] . Varianten af ordningen med generering af et sæt individuelle EDS af brugere, der underskriver et elektronisk dokument, har flere udtalte ulemper - en lineær stigning i størrelsen af den kollektive EDS (CEDS) med en stigning i antallet af underskrivere, samt behovet for yderligere kontrol af integriteten og fuldstændigheden af den kollektive digitale signatur for at eliminere muligheden for at erstatte antallet og navnesammensætningen på de deltagere, der underskrev dokumentet [1] .
På baggrund af deltagernes offentlige nøgler genereres en kollektiv offentlig nøgle, som gør det muligt at udvikle og verificere ægtheden af en samlet elektronisk digital signatur. Den delte offentlige nøgle er underlagt en række begrænsninger med hensyn til størrelse, integritet, uafhængighed af brugere, samtidig generering af den delte offentlige nøgle og kontinuitet. Med andre ord er det umuligt at beregne en gyldig CECP fra CECP for ethvert andet sæt deltagere fra sættet af nuværende, CECP er ikke bundet til sammensætningen af deltagere - enhver bruger kan danne en gruppe og udvikle deres egen CECP. Den kollektive offentlige nøgle, en funktion af brugernes offentlige nøgler, er det grundlag, som hele den kollektive signaturprotokol er bygget på [3] .
QECP er udviklet i overensstemmelse med ovenstående krav ved hjælp af algoritmer, hvis stabilitet er sikret af følgende beregningsmæssigt vanskelige problemer: diskret logaritme i en multiplikativ gruppe af stor prime orden , ekstraktion af rødder af en stor prime grad modulo en stor primtal, diskret logaritme i gruppe af punkter i en elliptisk kurve af en speciel form [3] .
Ifølge standarden GOST R 34.10−94 [4] pålægges der restriktioner på det anvendte primtal p. Kapaciteten af et primtal p i binær repræsentation: bit eller bit. Tallet skal indeholde en stor primtal divisor , således at for eller for . For at generere og verificere en EDS , bruges et tal således , at hvor er generatoren af en undergruppe af en tilstrækkelig stor prime-ordre .
EDS-beregningsalgoritme 1. Et tilfældigt tal genereres . 2. Værdien beregnes , som er den første del af signaturen. 3. Ifølge GOST R 34.11–94 beregnes en hash-funktion ud fra den meddelelse, der signeres. 4. Den anden del af signaturen beregnes: , hvor er den hemmelige nøgle. Hvis , gentages signaturgenereringsproceduren. EDS-godkendelsesalgoritme 1. Opfyldelsen af betingelserne og er verificeret . Hvis betingelserne ikke er opfyldt, er underskriften ikke gyldig. 2. Værdien beregnes , hvor er den offentlige nøgle for den bruger, der genererede signaturen, der skal verificeres. 3. Værdierne og sammenlignes . Hvis , så er signaturen gyldig Implementering af CECP-protokollenHver bruger genererer en offentlig nøgle af formen , hvor er en privat (hemmelig) nøgle, = , , … , .
Den kollektive offentlige nøgle er produktet
Hver bruger vælger en tilfældig hemmelig nøgle , et tal, der kun bruges én gang.
Beregnet
er tilgængelig for alle teammedlemmer, der udvikler CECPDerefter beregner hvert af teammedlemmerne, der udvikler KECP, i henhold til værdien og resultatet bestemt af ham
- en del af underskriften.Den kollektive signatur vil være et værdipar , hvor er summen af alle modulo [3] .
Verifikation af en kollektiv elektronisk digital signaturVerifikation af den kollektive underskrift udføres i henhold til formlen
Hvis , så er CEC for sættet af brugere ægte, da det kun kunne dannes med deltagelse af hver bruger fra denne gruppe, da dets dannelse kræver brug af den hemmelige nøgle for hver af dem. Bemærk, at værdierne bliver autentificeret automatisk, når den kollektive digitale signatur er autentificeret. Hvis en ubuden gæst forsøger at erstatte nogen af disse værdier eller erstatte dem med tidligere brugte værdier, vil kendsgerningen af interferens med protokollen straks blive opdaget, når den digitale signatur godkendes , dvs. Størrelsen af QECP afhænger naturligvis ikke af [3] .
Bevis for rigtigheden af den foreslåede CECP-algoritmeErstat den opnåede signatur i ligningen - et par (R,S), hvor R er produktet af R i modulo q, S er summen af Si modulo q : ligning , reguleret af standarden EDS GOST R 34.10-94.
Mulighed for forfalskning af CECPFor krænkere er kompleksiteten af at forfalske CECP naturligvis bestemt af kompleksiteten i at forfalske den individuelle signatur fra et individuelt medlem af gruppen. Der opstår muligheder for brugere, der kombinerer deres bestræbelser for at danne et CECP relateret til et kollektiv, som udover dem omfatter en eller flere andre brugere, som ikke er underrettet om dette (beviset for begge tilfælde er ens). Lad m-1- brugere ønsker at danne en QEDP, der kan verificeres med en delt offentlig nøgle , hvor , det vil sige, brugere kombinerer deres indsats for at danne et par tal, således at . Det vil sige, de kan forfalske en offentlig nøglesignatur , det vil sige beregne værdierne af og som opfylder ligningen . Dette indebærer muligheden for at forfalske en digital signatur i den grundlæggende EDS-ordning, da den har en tilfældig værdi [3] .
Et angreb på beregningen af den hemmelige nøgle for en anden medejer af CECPLad - være den digitale signatur genereret af den -th bruger til dokumentet svarende til hash-funktionen (angrebet udføres af brugere). Så er følgende sandt: Angribere genererer tilfældige værdier og beregner . for . Derefter beregnes de parametre og , der opfylder ligningerne , hvor . Ved at indføre betegnelsen . Vi har , hvor og . Det betyder, at angriberne har opnået den korrekte værdi af den kollektive signatur , som de og en anden bruger, der har den offentlige nøgle, deltager i . Ifølge antagelsen kan angriberne ud fra den modtagne kollektive signatur beregne den hemmelige nøgle . Det er let at få ud fra udtrykket for og formlen : . Angriberne beregnede den hemmelige nøgle for brugeren ved hjælp af hans individuelle EDS, genereret inden for rammerne af den grundlæggende EDS-algoritme. Dette beviser forslaget om, at den foreslåede CECP-protokol ikke reducerer styrken af den underliggende EDS-algoritme. [3]
Ifølge standarden GOST R 34.10−2001 [5] pålægges der restriktioner på det anvendte primtal , primtal og punkt . Et primtal er modulet af en elliptisk kurve (EC), som er givet i det kartesiske koordinatsystem ved en ligning med koefficienter og : ∈ ( er Galois ordensfelt ) . Et primtal er rækkefølgen af en cyklisk undergruppe af punkter på en elliptisk kurve. Punkt - et punkt på en elliptisk kurve med koordinater , som er forskellig fra oprindelsen, men hvor punktet falder sammen med oprindelsen. Den hemmelige nøgle er et ret stort heltal . Den offentlige nøgle er punkt .
Signaturdannelse 1. Et tilfældigt heltal genereres . 2. Beregn koordinaterne for EC-punktet og bestem værdien , hvor er koordinaten for punktet . 3. Værdien beregnes , hvor . Signaturen er et par tal . [5] SignaturbekræftelseSignaturverifikation består i at beregne koordinaterne for EF-punktet:
og også i værdifastsættelse og lighedskontrol . [5]
Implementering af CECP-protokollenHvert medlem af gruppen genererer en offentlig nøgle til formularen
, hvor er en privat (hemmelig) nøgle, .Den kollektive offentlige nøgle er summen
Hvert medlem af gruppen genererer et nummer - en engangs tilfældig hemmelig nøgle. Ved at bruge denne tilfældige engangsnøgle beregnes koordinaterne for punktet . Resultatet af beregningen sendes til alle medlemmer af gruppen til fælles brug. Summen er beregnet
Værdien beregnes ud fra det modtagne beløb . Hvert medlem af gruppen beregner deres del af signaturen:
[3] Kontrollerer CECPBeregn
Resultatet er beregnet
Hvis , så er QEC for sættet af m brugere ægte, da det kun kunne dannes med deltagelse af hver bruger fra denne gruppe, da dannelsen af QEC kræver den hemmelige nøgle for hver af deltagerne [3] .
Den dobbelte digitale signaturordning udvider den konventionelle RSA -ordning . I det dobbelte digitale signaturskema genereres ikke et par nøgler (offentlig / privat nøgle), men en tredobbelt (to private og en offentlig). I analogi med den sædvanlige RSA-ordning vælger deltagerne en beregningsenhed - produktet af to simple lange tal. 2 tilfældige private nøgler er valgt og i området fra 1 til , som vil være coprime med , hvor er Euler - funktionen . Den offentlige nøgle genereres i henhold til formlen . Værdien vil være den offentlige nøgle. For at underskrive værdien beregner den første deltager . Resultatet af beregningen videregives til input fra det andet medlem af gruppen. Den anden deltager har mulighed for at se, hvad han vil skrive under på. For at gøre dette får den værdien fra værdien . Når den anden deltager er klar til at underskrive værdien , skal han beregne . Signaturverifikation udføres ved hjælp af . [6]
Tilfældige private nøgler genereres . Den offentlige nøgle vil blive beregnet ved hjælp af formlen . Hver -te deltager underskriver beskeden M i henhold til formlen . Derefter beregnes værdien . Signaturverifikation udføres i henhold til formlen . [6]