
Ha mélyebben belemerülünk az elektronikus aláírások világába, szinte elkerülhetetlen, hogy a különböző elektronikusaláírás-formátumok témakörével is találkozunk. Napjainkban ebben a tekintetben számos európai szabványos megoldás létezik (pl. a CMS alapú CAdES és PAdES aláírások, vagy újabban a JSON alapú JAdES formátum), ám leggyakrabban még mindig az XML fájlformátumon alapuló XAdES (XML Advanced Electronic Signature) aláírás-formátum kerül alkalmazásra. Elektronikus aláírás felhasználóként az elektronikusan aláírt dokumentumokat jellemzően valamely elektronikus aláírás kezelő alkalmazással tekintjük meg.
A következő írásunkat azonban azoknak az elektronikus aláírással foglalkozó szakembereknek szánjuk, akik arra is kíváncsiak, hogy „mi van a motorháztető alatt”, azaz mi található egy elektronikus aláírás állományban, így jelen cikk áttekintést nyújt arról, hogy hogyan épül fel egy XAdES aláírás, illetve arról is, hogy milyen típusai léteznek.
A XAdES alapvető (baseline) szintjeit és felépítő elemeit az ETSI EN 319 132-1 szabvány definiálja, a kibővített (extended) XAdES szinteket pedig az ETSI EN 319 132-2. Egy XAdES szabványnak megfelelő elektronikus aláírás több különböző szinten hozható létre, attól függően, hogy az aláírás csak a legalapvetőbb adatokat foglalja magába, vagy egyéb kiegészítő információkat is tartalmaz. Ennek megfelelően megkülönböztetünk XAdES-B (Basic), XAdES-T (Timestamp), XAdES-LT (Long-Term data) és XAdES-LTA (Long-Term data with Archive timestamp) aláírásokat.. Ezek közül az -LT szinttel viszonylag ritkán találkozhatunk a gyakorlatban, így az alábbiakban a -B, -T és -LTA szintek kerülnek bemutatásra.
Minden szinthez tartozik egy mellékelt aláírt dokumentum, e-akta (.es3) formátumban, ezek mindegyike tartalmaz egy-egy XAdES aláírást. Ezeket egy egyszerű szövegszerkesztővel megnyitva a <ds:Signature> elemben megfigyelhetőek az egyes szintek karakterjegyei.
(Érdemes megjegyezni, hogy a vonatkozó jogszabályok által használt „szintek” – elektronikus aláírás, fokozott biztonságú e-aláírás, minősített e-aláírás – jogi kategóriák, míg a XAdES szabvány szerinti „szintek” műszaki jellegűek, és nincs ellentmondás közöttük: egy fokozott biztonságú e-aláírás is lehet szabványos – pl. a XAdES-B vagy akár XAdES-LTA szerinti, és a jogszabály szerinti legmagasabb szintű ún. minősített elektronikus aláírás is lehet nem szabványos (azaz nem felel meg sem a XAdES-B, sem XAdES-T, sem a XAdES-LTA szabványos formátumnak), ha olyan e-aláíró programmal készült, ami nem megfelelő. Ezért is különösen fontos olyan e-aláírás létrehozó alkalmazásokat használni, amelyek megfelelően támogatják a különböző szabványokat.)
A XAdES-B, vagyis basic szint a legalapvetőbb elemeket tartalmazza, amelyeket egy elektronikus aláírásnak tartalmaznia kell, azaz mindössze a használt algoritmusok azonosítója, az aláíró tanúsítványa és kibővített, EPES (Explicit Policy based Electronic Signature – ld. ETSI EN 319 132-2) esetben az aláírási szabályzat azonosítója szerepel az aláírásban. Ezek mellett opcionálisan megadható az aláírás időpontja, helye, a kötelezettségvállalás típusa, az aláíró szerepköre és az aláírt dokumentum formátuma.
Mivel a XAdES-B szinten létrehozott aláírásokban nem kerül elhelyezésre időbélyeg, fontos, hogy az aláírás érvényessége mindössze a létrehozásához használt tanúsítvány érvényességi idejére korlátozódik. Ez az időtartam minősített elektronikus aláírás esetén Magyarországon jelenleg három év. Ahhoz, hogy ezen túl is érvényes legyen az aláírásunk, szükséges időbélyeget is elhelyezni az állományon.
A példában az aláíró algoritmus azonosítója a <ds:SignatureMethod> elemen belüli Algorithm paraméter értéke (azaz ecdsa-sha256), a PEM-kódolt tanúsítvány pedig az utolsó <ds:Object> <CertificateValues > gyermekelemében található.
A XAdES-T, vagyis timestamp szint tartalmazza mindazon alapvető elemeket, amelyeket a XAdES-B, ám ezek mellett az aláíráson elhelyezésre kerül egy időbélyeg is, amely bizonyítja, hogy az adott állomány az adott időpontban (vagyis az időbélyegzés pillanatában) már létezett.
Mivel az időbélyegző tanúsítványa általában hosszabb időtartamra kerül kiadásra, (akár több, mint 10 év) mint az aláíró tanúsítványé, így az időbélyeges elektronikus aláírás is lényegesen hosszabb érvényességű, mint XAdES-B esetben. Időbélyegzők tanúsítványainak esetében a szolgáltató felelőssége, hogy olyan kriptográfiai algoritmussal adja ki ezeket, amelyek kellően biztonságosak hosszú távon is. Jelenleg ilyennek számítanak például az elliptikus görbén alapuló kriptográfiát (ECC) alkalmazó algoritmusok. Ezért a mindennapi gyakorlatban az a javasolt, hogy legalább XAdES-T szintű (azaz időbélyeget is tartalmazó) elektronikus aláírást hozzunk létre, és a dokumentumainkat ilyennel hitelesítsük.
A példában az időbélyeg értékét az utolsó <ds:Object> elemen belül, a <SignatureTimeStamp> értékeként találhatjuk meg.
A XAdES-LTA, vagyis long-term data with archive timestamp aláírások a XAdES-T szintű elemekhez képest is tartalmaznak további kiegészítő információkat, úgymint az aláíró tanúsítványra vonatkozó visszavonási információkat, az azokon lévő időbélyegeket, az aláíró tanúsítványra és a visszavonási információt kibocsátó szolgáltatóra vonatkozó teljes tanúsítványláncot, minden időbélyeg-szolgáltató teljes tanúsítványláncát és minden tanúsítványlánc minden elemére vonatkozó visszavonási információt. Ezeket egy külső, ún. archív időbélyeg védi.
Ez az aláírástípus már tartalmaz minden olyan adatot, amely az aláírás elkészítését követően beszerezhető a későbbi ellenőrizhetőség elősegítésére, azonban az -LTA aláírások későbbi ellenőrzésekor is szükséges néhány információt beszerezni (például, hogy az alkalmazott kriptográfiai algoritmus nem avult-e el, vagy hogy az archív időbélyeget készítő időbélyegzés szolgáltató kulcs időközben nem kompromittálódott-e).
Az esetlegesen bekövetkező kriptográfiai gyengeségek miatt, azok bekövetkezése előtt újabb archív időbélyeg elhelyezése szükséges az aláíráson, emiatt az archív aláírás rendszeres "karbantartást" igényel. Ez végezhető az aláíró által önállóan is, ugyanakkor ez költséges lehet, továbbá nagy felelősséggel és folyamatos teendőkkel jár. Ennél egy egyszerűbb megoldás, ha egy minősített archiválásszolgáltató végzi ezt a tevékenységet, így nem csak a feladatoktól és a felelősségtől szabadul meg a felhasználó, de jogi vélelem is kapcsolódik hozzá, mivel jogvita esetén amíg „önálló” archiválásnál az archiváló kell bizonyítsa, hogy megfelelően járt el az állományok archiválása során, a minősített archiválásszolgáltató esetében mindez vélelmezett.
Ha megnyitjuk a mellékelt példát, láthatjuk, hogy már első ránézésre is terjedelmesebb, mint az előző kettő. Számos tanúsítványt láthatunk az <EncapsulatedX509Certificate> elemekben, és felfedezhetjük a visszavonási információkat is (ebben az esetben OCSP), amelyeket a <RevocationValues> elemen belüli értékekben találhatjuk; ezt pedig egyből követi az archív időbélyeget tartalmazó <ArchiveTimeStamp> elem is.
© 2023 Microsec zrt. | Cégjegyzékszám: 01-10-047218 | Adószám: 23584497-2-41