A XAdES aláírás-típusok összehasonlítása

 

A XAdES aláírás-típusok összehasonlítása
Dr. Berta István Zsolt

2007. február

Bevezetés

Az elektronikus aláírásról szóló 2001. évi XXXV. törvény szerint az elektronikus aláírás megfelel az írásba foglaltság követelményeinek, a minősített elektronikus aláírással hitelesített dokumentum pedig a polgári perrendtartásról szóló törvény szerint teljes bizonyító erejű magánokiratnak minősül. Így az elektronikus aláírásról szóló jogszabályok a letagadhatatlanság néven ismert műszaki fogalmat a bizonyító erő nevű jogi fogalomra vezetik vissza.

Bármekkora bizonyító erővel is rendelkezik egy elektronikus aláírás, egy bíróság - indokolt esetben - megkérdőjelezheti annak érvényességét. (Például, ha bizonyítható, hogy az aláírást nem az aláíró személy, hanem például az ő számítógépét irányító vírus hozta létre.) A letagadhatatlanság műszaki fogalom, azt jelenti, hogy gyakorlatilag kizárható, hogy egy adott tanúsítvány alapján elfogadható aláírást nem a tanúsítványhoz tartozó magánkulccsal hoztak létre. Jogi értelemben letagadhatatlanságról nem, hanem csak bizonyító erőről beszélhetünk.

Egy elektronikus aláírás kizárólag akkor rendelkezhet - jogi szempontból - bizonyító erővel, ha "érvényes", tehát letagadhatatlansága műszaki szempontból bizonyítható. Jelen dokumentumban különböző aláírásfajtákat tekintünk át, amelyek elsősorban abban térnek el egymástól, hogy milyen további bizonyítékokat csatoltak az aláírást jelentő bitfolyamhoz a későbbi ellenőrizhetőség érdekében, illetve hogyan állapítható meg az aláírás készítésének időpontja, és mi bizonyítja, hogy az aláíró tanúsítványa akkor még érvényes volt. Jogi szempontból az itt tárgyalt különböző típusú aláírások egyenértékűek, de a gyakorlatban előfordulhatnak olyan esetek, amikor - hosszabb-rövidebb idő elteltével - bizonyos fajta aláírások letagadhatatlansága műszaki szempontból megkérdőjelezhető, és így a hozzá kapcsolódó bizonyító erő elvész.

Számos nemzetközi szabvány foglalkozik az elektronikus aláírás formátumával. Ezek közül jelen dokumentumban az ún. XAdES elektronikus aláírásokról írunk. Az itt leírt aláírásformátumok ETSI 101 903 - XML Advanced Electronic Signatures (XAdES) néven európai (ETSI) szabvány szintjére emelkedtek. Hazánkban e széles körben elterjedt formátumot nemcsak az e-Szignó aláírás-létrehozó program támogatja, hanem számos más szoftver is, amelyek együttműködését a Magyar Elektronikus Aláírás Szövetség az ún. MELASZ-Ready interoperabilitási tesztelések keretében bizonyította.

E dokumentumban azt mutatjuk be, hogy az egyes XAdES aláírások közül melyik milyen problémát old meg, és mikor melyiket célszerű alkalmazni. A következő XAdES aláírás-típusokat mutatjuk be:

 

Alap aláírás (XAdES-BES)

Elektronikus aláírás létrehozásakor az aláíró egy dokumentumot hitelesít. Aki értelmezni szeretné az aláírást, annak a következőkre van szüksége: Ha az aláíró (illetve az aláíró által használt aláírás-létrehozó alkalmazás) csupán a fenti információkat nyújtja át az aláírást ellenőrző fél számára (például egy e-akta formájában), akkor beszélünk alap aláírásról(XAdES-BES - basic electronic signature).


1. ábra - Alap aláírás (XAdES-BES)

A "Hogyan kell ellenőrizni egy elektronikus aláírást?" című dokumentumban részletesen leírjuk, hogy az aláírás ellenőrzésekor pontosan milyen lépéseket kell végrehajtani. Többek között fel kell építeni a tanúsítványláncot. Ez azt jelenti, hogy meg kell vizsgálni, hogy az aláíró tanúsítványát melyik hitelesítés szolgáltató adta ki (illetve ezen hitelesítés szolgáltató tanúsítványát melyik felsőbb hitelesítés szolgáltató adta ki stb.), és vissza kell vezetni az aláíró tanúsítványát egy megbízható hitelesítés szolgáltató megbízható gyökértanúsítványára.

(A tanúsítványlánc csatolható - a Melasz-Ready formátum szerint kötelező is csatolni - az alap aláíráshoz, de nem aláírt elem. Így az aláírás nem köti meg, hogy őt milyen tanúsítványlánc szerint kell ellenőrizni; egy adott tanúsítványlánc szerint létrehozott aláírás más tanúsítványlánc szerint is elfogadható.)

Ellenőrzéskor a tanúsítványlánc minden elemére meg kell vizsgálni, hogy az adott tanúsítvány az aláírás pillanatában érvényes volt-e. Máris eljutottunk egy nagyon izgalmas problémához: Az aláírást ellenőrző fél hogyan győződhet meg róla, hogy az aláírás mikor készült? A XAdES-BES aláírás tartalmazza ugyan az aláírás időpontját, de ezen időpont nem megbízható forrásból származik - tipikusan az aláíró számítógépe szerinti időpont kerül ide. Mivel az aláíró bármikor átállíthatja a számítógépében lévő órát, a XAdES-BES aláírásban szereplő időpont alapján nem szabad felelős döntést hozni.

Miért fontos, hogy pontosan mikor készült az aláírás? Előfordulhat például, hogy egy tolvaj ellopja az aláíró intelligens kártyáját, és valahogy hozzájut a kártya PIN kódjához is. (Ekkor mondjuk, hogy a kártyán lévő aláírás-létrehozó adat kompromittálódott.) Ekkor a tolvaj pontosan ugyanolyan aláírásokat hozhatna létre, mint az aláíró. Ha az aláíró időben észreveszi a lopást, felhívja a tanúsítványát kibocsátó hitelesítés szolgáltatót, és letiltja (visszavonja) a kártyájához tartozó tanúsítványt. Így a visszavonás után készült aláírások érvénytelenek, ezeket senki sem fogadja el.

Ha olyan aláírást ellenőrzünk, amelyhez a tanúsítvány már nem érvényes, akkor meg kell győződni róla, hogy az aláírás akkor készült, amikor a tanúsítvány még érvényes volt.

A XAdES-BES aláírás alapján nem lehet megállapítani, hogy az aláírás mikor készült. Ebből kifolyólag, ha az aláíró tanúsítványa lejár, vagy visszavonják, akkor a XAdES-BES aláírások érvényessége nem bizonyítható. Ezért azt javasoljuk, hogy az aláíráson a lehető leggyorsabban (amíg a XAdES-BES aláírás még érvényes, azaz amíg az aláíráshoz használt tanúsítvány érvényes) helyezzük el egy időbélyeget is, hogy a fenti probléma ne fordulhasson elő. Egyik lehetőség, hogy ezen időbélyeget rögtön az aláíró hozza létre (azaz, ne XAdES-BES, hanem XAdES-T aláírást készítsen), másik lehetőség, hogy az időbélyeget az aláírást befogadó fél helyezi el. Lehetőleg ne csak a XAdES-BES aláírást őrizzük meg, mert az aláíró bármikor letagadhatja az ilyen aláírást, ha a tanúsítványát visszavonatja.

Időbélyeggel ellátott aláírás (XAdES-T)

Az időbélyeggel ellátott elektronikus aláírás (XAdES-T, electronic signature with time) magában foglal egy XAdES-BES aláírást, amelyet időbélyeg véd. Az időbélyeg igazolja, hogy az aláírás az időbélyegzés pillanatában már létezett, vagyis nem később készült, és így például az aláíró tanúsítványának lejárta vagy visszavonása előtt jött létre. Az időbélyeggel ellátott aláírás a legegyszerűbb olyan aláírás, amely biztosítja a műszaki értelemben vett letagadhatatlanságot.


2. ábra - Időbélyeggel védett aláírás (XAdES-T)

Aláírás létrehozásakor célszerű legalább XAdES-T aláírtást készíteni. Ezt követően - amennyiben az adott dokumentum esetén ez szükséges - az aláírás később kiterjeszthető magasabb szintű XAdES aláírásokká is. Ezen kiterjesztést - a szabvány adta lehetőségek között - nem feltétlenül szükséges az aláírás pillanatában elvégezni, hanem később is történhet.


3. ábra - XAdES-típus váltása az e-Szignó programmal

Visszavonási információkkal kiterjesztett aláírás (XAdES-C)

A XAdES-T aláíráshoz további információkat csatolhatunk, köztük olyan adatokat, amelyek a befogadó számára alátámasztják az aláírásunk érvényességét. A XAdES-C aláírásokban elhelyezhetjük az aláírásban mindazon visszavonási információkat (pl. CRL-eket), amelyek igazolják, hogy az aláíráshoz használt tanúsítvány az aláírás pillanatában érvényes volt. Megtehetjük, hogy magát a visszavonási információt csatoljuk az aláíráshoz, de az is lehet, hogy csak egy rá mutató hivatkozást, URL-t teszünk ide. Ha csak a hivatkozás kerül az aláírásba, akkor kisebb aláírást kapunk, de a hivatkozás csatolása sokszor nem elegendő. A szabványok megengedik, hogy a hitelesítés szolgáltató a visszavont és később lejárt tanúsítványokat ne tüntesse fel a CRL-ben (azért, hogy a CRL-ek idővel ne növekedhessenek kezelhetetlenül nagyra), így ha egy tanúsítvány már lejárt, utólag a CRL alapján nem lehet megállapítani, hogy lejárat előtt visszavonták-e. (Tegyük fel, hogy egy tanúsítványt egy évvel a lejárta előtt visszavontak. A tanúsítvány lejárta után kibocsátott CRL-ekből nem biztos, hogy meg lehet állapítani, hogy a tanúsítvány a lejárta előtt egy héttel érvényes volt-e.) Mivel a hitelesítés szolgáltató nem köteles a korábbi CRL-eket is közzétenni, ezért a hosszú ideig megőrzött aláírásokhoz lehet értelme azon CRL-t hozzácsatolni, amely igazolja, hogy az aláírás érvényes. Ez megkönnyítheti a későbbi ellenőrzéseket. (OCSP-vel történő ellenőrzéskor magát az OCSP választ szokás csatolni az aláíráshoz. Biztonságos, rövid lejáratú OCSP tanúsítvány esetén ennek csak akkor van értelme, ha az OCSP válaszon is időbélyeget helyezünk el, és így már a XAdES-X-L aláíráshoz jutottunk.)

Olyan XAdES-C aláírás lehet Melasz-Ready aláírás, amely tartalmazza az aláírásra vonatkozó visszavonási listákat is. A visszavonási listák esetén jelentkező kivárási idő miatt gyakran nem lehet azonnal XAdES-C aláírást létrehozni, hanem a következő visszavonási lista megjelenéséig az aláírás egy alacsonyabb (pl. BES vagy -T) formátumban létezhet. A Melasz-Ready ajánlás ezért BES/EPES és -T formátumú aláírást is meghatároz.

  Arról szeretne olvasni, hogy a kivárási idő hogyan kezelhető CRL-ek, illetve OCSP válaszok segítségével?

Időbélyeggel védett visszavonási információkkal kiterjesztett aláírás (XAdES-X-L)

További visszavonási információkat is csatolhatunk a XAdES-C aláíráshoz. Például, a XAdES-C aláírás magában foglal egy időbélyeget (ugyanis tartalmazza a XAdES-T aláírást). Az időbélyeg ellenőrzéséhez az időbélyegzőre vonatkozó tanúsítványláncot is fel kell építeni, és az egyes tanúsítványok visszavonási állapotát ellenőrizni kell - az aláíró tanúsítványához hasonló módon. Szintén csatolhatjuk a XAdES aláíráshoz az időbélyegre vonatkozó visszavonási listákat is. Attól függően, hogy pontosan milyen információkat csatolunk, különböző "magasabb" XAdES típusú aláírásokhoz juthatunk.

 

A XAdES aláírásban elhelyezett visszavonási listákon a hitelesítés szolgáltató elektronikus aláírása szerepel. Ezen aláírás érvényessége - a végfelhasználó által létrehozott aláírások érvényességéhez hasonlóan - addig bizonyítható, amíg a hitelesítés szolgáltató tanúsítványa érvényes. Ha azt szeretnénk, hogy a visszavonási listák - és így az aláírásunk - érvényessége ezt követően is igazolható legyen, a visszavonási információkat is időbélyeggel kell védenünk.


4. ábra - Ellenőrzési adatokkal kiterjesztett aláírás (XAdES-X-L)

Ha az aláíráshoz csatolt visszavonási információkat időbélyeggel védjük meg, akkor XAdES-X-L aláírásról beszélünk. Az ilyen aláírások érvényessége azt követően is bizonyítható, hogy a tanúsítványláncban szereplő hitelesítés szolgáltatók tanúsítványai lejártak.


5. ábra - XAdES-X-L aláírás részletei az e-Szignó programmal

Archív aláírás (XAdES-A)

Az ún. archív aláírás magában foglal egy XAdES-X-L aláírást, tehát az aláíró tanúsítványát kibocsátó hitelesítés szolgáltató közreműködése nélkül is ellenőrizhető. A XAdES-A archív aláírás további időbélyegeket tartalmaz a XAdES-X-L-hez képest, amelyek a teljes XAdES-X-L aláírást védik.

Miért van erre szükség?

A nyilvános kulcsú infrastruktúra minden szereplőjének (nemcsak az aláíróknak, de a hitelesítés szolgáltatóknak és az időbélyegzés szolgáltatóknak is) van nyilvános kulcsa és titkos kulcsa. A nyilvános kulcsot minden szereplő hiteles módon - például tanúsítvány formájában - nyilvánosságra hozza, a titkos kulcsot pedig titokban tartja. A rendszer addig működhet helyesen, amíg e titkos kulcsot valóban sikerül titokban tartani. Előfordulhat, hogy a titkos kulcs (amely az aláírás-létrehozó adat szerepét is betöltheti) bizalmassága mégis megkérdőjelezhető. Ilyen egyrészt akkor történhet, ha feltételezhető, hogy a titkos kulcsot illetéktelen személy megszerezte. Másrészt, akkor is megkérdőjelezhető egy titkos kulcs bizalmassága, ha a tudomány és a technika fejlődésével lehetségessé válik a titkos kulcs kiszámítása a nyilvános kulcs alapján. Szerencsére, csak nagyon ritkán következik be ekkora áttörés. A kulcsokat (és a kulcsokat használó kriptográfiai algoritmusokat) úgy szokták megválasztani, hogy erre belátható időn belül egyáltalán ne kerülhessen sor. Mégis előfordulhat, hogy bizonyos méretű kulcsok elavulnak (vagyis már nem jelentenek biztonságot), és ilyenkor hosszabb, nehezebben kitalálható kulcsot szokás választani, és gondoskodni kell a korábban aláírt dokumentumokon lévő aláírások védelméről.

Ha az az algoritmus és kulcsméret (pl: RSA algoritmus, 512 bit hosszú kulccsal), amely segítségével az aláíró aláírt, elavult, akkor nem biztosított az aláírás letagadhatatlansága. E pillanattól kezdve ugyanis - hiába tartotta az aláíró titokban a magánkulcsát - más is létrehozhatta az aláírást az aláíró nevében. Az elavult algoritmussal létrehozott aláírás csak akkor letagadhatatlan, ha - például időbélyeg segítségével - bizonyítható, hogy az aláírás akkor készült, amikor az algoritmus még nem avult el.

Természetesen az időbélyeg is valamilyen kulcs és algoritmus segítségével készül, és ezek is elavulhatnak. Az elavult algoritmussal készült időbélyeg - az elavult algoritmussal készült aláíráshoz hasonlóan - nem rendelkezik bizonyító erővel. Így egy elavult technológiával készült aláírás letagadhatatlanságát csak egy olyan időbélyeg bizonyíthatja, amely friss, biztonságos technológiával készült, de akkor, amikor az aláírás készítésére használt technológia mg nem volt elavult.

Előfordulhat például a következő eset: Egy olyan XAdES-X-L aláírást, amelyben az aláírás és az időbélyegek 512 bites RSA algoritmussal készültek (ez mára már elavult technológiának minősül) 768 bites RSA algoritmussal készült időbélyeggel védtek meg (mielőtt az 512 bites RSA algoritmus elavult). Ezt követően a 768 bites RSA-val készült időbélyeggel megvédett XAdES-X-L aláírást (tehát egy XAdES-A aláírást) 1024 bites RSA algoritmussal készült archív időbélyeggel védtek meg, mielőtt a 768 bites RSA algoritmus elavult volna. A 1024 bites RSA ma biztonságosnak számít, de az 1024 bites RSA-val készült időbélyeggel megvédett XAdES-A aláírást célszerű 2048 bites RSA-val készült időbélyeggel is megvédeni. Ha az 1024 bites RSA elavul, akkor a 2048 bites RSA várhatóan elég hosszú ideig nyújt biztonságot, amíg az aláírást 4096 bites RSA algoritmussal (vagy más, a 2048 bites RSA-nál erősebb algoritmussal) készült időbélyeggel is megvédik.


6. ábra - Archív aláírás (XAdES-A)

A XAdES-A aláírásforumátum magában foglalja a XAdES-X-L aláírást, és a teljes XAdES-X-L-t archív időbélyegekkel is védi. Az archív időbélyegek jellemzően egyre erősebb, biztonságosabb algoritmussal készülnek. Az egyes archív időbélyegek védik az aláírást, a hozzá tartozó tanúsítványláncot, időbélyegeket és visszavonási információkat, védik a korábbi archív időbélyegeket és védik a korábbi archív időbélyegek visszavonási információit (gyengesége a XAdES szabványnak, hogy ezek helyét nem definiálja).

A XAdES-A aláírás minden tanúsítványt, időbélyeget és visszavonási információt tartalmaz, kivéve a legkülső archív időbélyegét. XAdES-A aláírás ellenőrzésekor elegendő a külső archív időbélyeg visszavonási állapotát ellenőrizni, a többi ellenőrzés a XAdES-A aláírás alapján is elvégezhető

A XAdES-X-L aláírással szemben a XAdES-A nem csupán az aláírás formátumát jelenti, hanem azt a folyamatot is, amely szerint az aláírást további archív időbélyegekkel kell ellátni. Célszerű új archív időbélyeget elhelyezni az aláíráson, ha a legkülső archív időbélyeg elkészítésére használt technológia várhatóan nem sokára elavul. Bizonyos rendszerességgel is célszerű újabb archív időbélyeget elhelyezni a XAdES-A aláíráson, mert - habár az időbélyegzés szolgáltatók különösen gondosan védik az időbélyegek aláírására használt kulcsaikat - előfordulhat, hogy az időbélyegző kulcs illetéktelen kezekbe kerül, és ekkor az időbélyegek érvényessége csak az időbélyegzés szolgáltató napló fájljai alapján bizonyítható.

Akkor célszerű XAdES-A archív aláírást készíteni, ha egy aláírt dokumentumot várhatóan nagyon sokáig (akár évtizedekig) meg kell őrizni, és az aláírás érvényességét évtizedekkel később is biztosítani kell. Természetesen az is elképzelhető, hogy aláíráskor mindig XAdES-T aláírást hozunk létre, és csak akkor alakítjuk XAdES-A aláírássá, ha kiderül, hogy a dokumentumra hosszú távon is szükség van. Ezt az átalakítást bárki elvégezheti, nincs szükség hozzá az aláíróra.

Bizonyos esetekben kötelező archív aláírást (vagy más, hasonló technológiát) használni: A 7/2005-ös IHM rendelet szerint, ha egy elektronikusan aláírt dokumentumra vonatkozó megőrzési kötelezettség meghaladja a 10 évet, akkor fel kell építeni az érvényességi láncot, és további időbélyegek rendszeres elhelyezésével kell biztosítani az aláírás érvényességét. Ezen követelmények a XAdES-A formátumnak felelnek meg. A 7/2005-ös IHM rendelet szerint a megőrzésre kötelezett vagy saját maga végzi el ezt a feladatot (például archív aláírás segítségével), vagy elektronikus archiválás szolgáltatást kell, hogy igénybe vegyen.

A XAdES-A formátum gondozása az elektronikus aláírás technológiájának folyamatos figyelését és a dokumentumokon lévő aláírások hosszú távú gondozását (újra-időbélyegzését) igényli, ez nem feltétlenül könnyű feladat. Célszerű mérlegelni, hogy mikor érdemes az elektronikus aláírás érvényességének hosszú távú biztosításával erre felkészült, professzionális, a Nemzeti Hírközlési Hatóság által is nyilvántartásba vett archiválás szolgáltatót megbízni.

Összegzés

Kapcsolódó dokumentumok