Többszörös aláírás

Többszörös (kollektív) aláírás ( angolul  Aggregate signature ) - az elektronikus aláírás (EDS) megvalósítására szolgáló séma (protokoll) , amely lehetővé teszi, hogy több felhasználó írjon alá egyetlen dokumentumot.

A kollektív aláírás lehetőséget biztosít egy elektronikus dokumentum egyidejű aláírására, mivel az egyetlen oszthatatlan átalakítás eredményeként jön létre, és nem osztható fel egyedi aláírásokra; emellett nem bővíthető, azaz egy vagy több személy további aláírása ágyazható be [1] .

Bevezetés

A "kollektív aláírás" kifejezés megegyezik a " csoportos aláírás " kifejezéssel, de ezek a fogalmak különböznek egymástól. A csoportos digitális aláírási protokoll megoldja azt a problémát, hogy egy adott csoport bármely felhasználója aláírást hozzon létre a teljes csoport nevében. A csoportos EDS-protokoll szabályozza azon személyek jelenlétét is, akik meghatározhatják az aláírást létrehozó személyek listáját (ez utóbbiaknak feltételezhetően lehetőségük van az aláírásra a csoport bármelyik tagja számára). Az elektronikus dokumentumokkal végzett kollektív munka esetén szükséges, hogy sok felhasználó alá tudja írni azokat [2] . Az egy elektronikus dokumentumot aláíró felhasználók egyéni EDS-készletének generálásával járó rendszerváltozatnak számos kifejezett hátránya van - a kollektív EDS (CEDS) méretének lineáris növekedése az aláírók számának növekedésével, valamint a kollektív digitális aláírás sértetlenségének és hiánytalanságának további ellenőrzésének szükségessége a dokumentumot aláíró résztvevők számának és névösszetételének helyettesítésének kiküszöbölése érdekében [1] .

A megosztott nyilvános kulcs fogalma

A résztvevők nyilvános kulcsai alapján kollektív nyilvános kulcs generálódik, amely lehetővé teszi a kollektív elektronikus aláírás kidolgozását és hitelességének ellenőrzését. A megosztott nyilvános kulcsra számos korlátozás vonatkozik a méretre, az integritásra, a felhasználóktól való függetlenségre, a megosztott nyilvános kulcs egyidejű generálására és a folytonosságra vonatkozóan. Más szóval, a CECP-ből nem lehet érvényes CECP-t kiszámítani bármely más résztvevőcsoport számára a jelenlegiek halmazából, a CECP nincs a résztvevők összetételéhez kötve - bármely felhasználó létrehozhat egy csoportot és kialakíthatja saját CECP-jét. A kollektív nyilvános kulcs, a felhasználók nyilvános kulcsainak függvénye, az egész kollektív aláírási protokoll alapja [3] .

A QECP-t a fenti követelményeknek megfelelően fejlesztették ki olyan algoritmusok felhasználásával, amelyek stabilitását a következő számításilag nehéz problémák biztosítják: diszkrét logaritmus nagy prímrendű multiplikatív csoportban, nagy prímfok gyökeinek kinyerése modulo nagy prím, diszkrét logaritmus speciális alakú elliptikus görbe pontjainak csoportja [3] .

EDS szabványokon alapuló protokollok megvalósítása

EDS szabvány - GOST R 34.10-94

A GOST R 34.10−94 [4] szabvány szerint a használt p prímszámra korlátozások vonatkoznak. Egy p prímszám kapacitása bináris ábrázolásban: bit vagy bit. A számnak tartalmaznia kell egy nagy prímosztót úgy, hogy for vagy for . Az EDS generálásához és ellenőrzéséhez olyan számot használnak , ahol  a kellően nagy prímrendű alcsoport generátora .

EDS számítási algoritmus 1. Egy véletlen szám jön létre . 2. A rendszer kiszámítja az értéket , amely az aláírás első része. 3. A GOST R 34.11–94 szerint a hash függvényt az aláírt üzenetből számítják ki. 4. Az aláírás második része kiszámításra kerül: , ahol a titkos kulcs. Ha , az aláírásgenerálási eljárás megismétlődik. EDS hitelesítési algoritmus 1. A feltételek teljesítését és igazoljuk . Ha a feltételek nem teljesülnek, akkor az aláírás érvénytelen. 2. Az érték kiszámításra kerül , ahol az ellenőrizendő aláírást létrehozó felhasználó nyilvános kulcsa található. 3. A és értékeket összehasonlítjuk . Ha , akkor az aláírás érvényes A CECP protokoll megvalósítása

Minden egyes felhasználó létrehoz egy nyilvános kulcsot az alábbi formában , ahol  egy privát (titkos) kulcs, = , , … , .

A kollektív nyilvános kulcs a termék

Minden felhasználó kiválaszt egy véletlenszerű titkos kulcsot  , egy számot, amelyet csak egyszer használ fel.

Számított

elérhető minden csapattag számára, aki fejleszti a CECP-t

Ezután a KECP-t fejlesztő csapattagok mindegyike az általa meghatározott érték és eredmény szerint számol

- az aláírás része.

A kollektív aláírás egy értékpár lesz , ahol  az összes modulo összege [3] .

Kollektív elektronikus digitális aláírás ellenőrzése

A közös aláírás ellenőrzése a képlet szerint történik

Ha , akkor a felhasználók halmazának CEC-je valódi, mivel csak az ebből a csoportból származó összes felhasználó részvételével jöhet létre, mivel a létrehozásához mindegyikük titkos kulcsának használata szükséges. Vegye figyelembe, hogy a kollektív digitális aláírás hitelesítésekor az értékek automatikusan hitelesítésre kerülnek. Ha egy behatoló megpróbálja lecserélni ezeket az értékeket, vagy lecseréli azokat korábban használt értékekkel, akkor a digitális aláírás hitelesítésekor azonnal észleli a protokoll zavarásának tényét , azaz . Nyilvánvaló, hogy a QECP mérete nem függ [3] -tól .

A javasolt CECP algoritmus helyességének bizonyítása

Helyettesítse be a kapott aláírást az egyenletbe – egy pár (R,S), ahol R az R i modulo q szorzata, S az S i modulo q : egyenlet összege , amelyet az EDS GOST R 34.10-94 szabvány szabályoz.

Hamisítás lehetősége CECP

Nyilvánvaló, hogy a szabálysértők számára a CECP-hamisítás bonyolultságát a csoport egy tagjának egyéni aláírásának hamisításának összetettsége határozza meg. Lehetőség nyílik azoknak a felhasználóknak, akik egyesítik erőfeszítéseiket egy olyan kollektívához kapcsolódó CECP létrehozására, amely rajtuk kívül még egy vagy több másik felhasználót is tartalmaz, akiket erről nem értesítenek (a bizonyíték mindkét esetben hasonló). Hagyja , hogy az m-1 felhasználók egy megosztott nyilvános kulccsal ellenőrizhető QEDP-t alkossanak , ahol , azaz a felhasználók egyesítik erőfeszítéseiket , hogy olyan számpárt alkossanak , hogy . Ez azt jelenti, hogy hamisíthatnak egy nyilvános kulcsú aláírást , azaz kiszámíthatják a és az egyenletet kielégítő értékeket . Ez magában foglalja a digitális aláírás hamisításának lehetőségét az alap EDS sémában, mivel annak véletlenszerű értéke van [3] .

Támadás a CECP másik társtulajdonosa titkos kulcsának kiszámítása ellen

Legyen - a -edik felhasználó által a hash függvénynek megfelelő dokumentumhoz generált digitális aláírás (a támadást a felhasználók hajtják végre). Ekkor a következő igaz: A támadók véletlenszerű értékeket generálnak és kiszámítják . számára . Ezután kiszámítjuk azokat a és paramétereket , amelyek kielégítik az egyenleteket , ahol . Az elnevezés bevezetésével . Van , hol és . Ez azt jelenti, hogy a támadók megszerezték annak a kollektív aláírásnak a megfelelő értékét, amelyben ők és egy másik, nyilvános kulccsal rendelkező felhasználó részt vesz . A feltételezés szerint a kapott kollektív aláírásból a támadók ki tudják számítani a titkos kulcsot . Könnyen kiolvasható a for kifejezésből és a képletből : . A támadók az EDS alapalgoritmus keretein belül generált egyéni EDS segítségével számították ki a th felhasználó titkos kulcsát . Ez bizonyítja azt a feltételezést, hogy a javasolt CECP protokoll nem csökkenti az alapul szolgáló EDS algoritmus erejét. [3]

EDS szabvány - GOST R 34.10−2001

A GOST R 34.10-2001 [5] szabvány szerint korlátozások vonatkoznak a használt prímszámra , prímszámra és pontra . A prímszám egy elliptikus görbe (EC)  modulusa , amelyet a derékszögű koordináta-rendszerben egy egyenlet ad meg együtthatókkal és : ∈ (  a Galois -féle rendű mező ). A prímszám  egy elliptikus görbe pontjainak ciklikus részcsoportjának sorrendje. Pont  - egy pont az elliptikus görbén koordinátákkal , amely eltér az origótól, de a pont egybeesik az origóval. A titkos kulcs egy meglehetősen nagy egész szám . A nyilvános kulcs pont .

Aláírás kialakítása 1. Egy véletlenszerű egész szám jön létre . 2. Számítsa ki az EK pont koordinátáit és határozza meg az értéket , ahol a pont koordinátája . 3. Kiszámítjuk az értéket , ahol . Az aláírás egy számpár . [5] Aláírás ellenőrzése

Az aláírás ellenőrzése az EK-pont koordinátáinak kiszámításából áll:

valamint az értékmeghatározásban és az egyenlőség-ellenőrzésben is . [5]

A CECP protokoll megvalósítása

A csoport minden tagja létrehozza az űrlap nyilvános kulcsát

, ahol egy privát (titkos) kulcs, .

A kollektív nyilvános kulcs az összeg

A csoport minden tagja generál egy számot  – egy egyszeri véletlenszerű titkos kulcsot. Ennek az egyszeri véletlenszerű kulcsnak a segítségével kiszámítja a pont koordinátáit . A számítás eredményét a csoport minden tagja elküldi közös használatra. Az összeg kiszámításra kerül

Az érték a kapott összegből kerül kiszámításra . A csoport minden tagja kiszámítja a rájuk eső részt az aláírásból:

[3] CECP ellenőrzése

Kiszámítja

Az eredmény kiszámításra kerül

Ha , akkor az m felhasználóból álló halmaz QEC-je valódi, mivel csak a csoport minden egyes felhasználójának részvételével jöhet létre, mivel a QEC kialakításához minden résztvevő titkos kulcsára van szükség [3] .

Többszörös aláírás megvalósítása RSA alapján

Kettős aláírási séma

A kettős digitális aláírási séma kiterjeszti a hagyományos RSA sémát . A kettős digitális aláírási sémában nem egy kulcspár (nyilvános / privát kulcs), hanem egy hármas (két privát és egy nyilvános) jön létre. A szokásos RSA-sémához hasonlóan a résztvevők választanak egy számítási egységet  - két egyszerű hosszú szám szorzatát. 2 véletlenszerű privát kulcs van kiválasztva 1 és tartományban , ami együtt lesz a következővel , ahol  az Euler függvény . A nyilvános kulcs a képlet szerint jön létre . Az érték a nyilvános kulcs lesz. Az érték aláírásához az első résztvevő kiszámítja . A számítás eredménye a csoport második tagjának bemenetére kerül. A második résztvevőnek lehetősége van megnézni, mit ír alá. Ehhez az értéket az értékből kapja . Miután a második résztvevő készen áll az érték aláírására , ki kell számítania . Az aláírás ellenőrzése a segítségével történik . [6]

A kettős aláírási séma kiterjesztése a tagokra

Véletlenszerű privát kulcsok generálódnak . A nyilvános kulcs kiszámítása a képlet segítségével történik . Minden -edik résztvevő aláírja az M üzenetet a képlet szerint . Ezután kiszámítjuk az értéket . Az aláírás ellenőrzése a képlet szerint történik . [6]

Jegyzetek

  1. 1 2 Moldovyan Nyikolaj Andrejevics, Eremejev Mihail Alekszejevics, Galanov Alekszej Igorevics. TÖBBSZÖRÖS ALÁÍRÁS: ÚJ MEGOLDÁSOK A KOLLEKTÍV NYILVÁNOS KULCS ALAPJÁN  (rus.)  // "Information and Control Systems" folyóirat. - 2008. - Kiadás. 1 .
  2. B. Schneier. Alkalmazott kriptográfia (orosz)  // John Wiley & Sons. - 1996. - S. 98 . Az eredetiből archiválva : 2018. december 18.  
  3. 1 2 3 4 5 6 7 8 9 Nyikolaj Andrejevics Moldovyan, Andrej Alekszejevics Kosztin, Lidia Vjacseszlavovna Gortyinszkaja, Mihail Jurijevics Ananijev. AZ EDS-SZABVÁNYOK ALAPJÁN ALAPULÓ KÖZÖSSÉGI ALÁÍRÁS JEGYZŐKÖNYV VÉGREHAJTÁSA  (rus.)  // "Information and Control Systems" folyóirat. - 2005. Archiválva : 2016. november 21.
  4. GOST R 34.10–94. Információs technológia. Az információk kriptográfiai védelme. Az elektronikus digitális aláírás létrehozásának és ellenőrzésének folyamatai  (orosz)  // Az Orosz Föderáció Gosstandartja. - 1994. - május 25.
  5. 1 2 3 GOST R 34.10–2001. Információs technológia. Az információk kriptográfiai védelme. Az elektronikus digitális aláírás létrehozásának és ellenőrzésének folyamatai  (orosz)  // Az Orosz Föderáció Gosstandartja. - 2001. - szeptember 12.
  6. 1 2 Mihir Bellare, Gregory Neven. Digital Multi Signature Schemes (angol)  // Springer-Verlag Berlin Heidelberg. - 2007. - S. 145-162 . (nem elérhető link)