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] .
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 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] .
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ásaMinden 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-tEzutá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éseA 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ásaHelyettesí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 CECPNyilvá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 ellenLegyen - 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]
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éseAz 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ásaA 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éseKiszá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] .
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]
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]