wtorek, września 02, 2008


Wiedza o AXdES:

Opis standardu XADES (ze strony http://www.w3.org/TR/XAdES):

Jest to rozszerzenie standardu XML -owego formatu podpisu elektronicznego XMLDSIG o możliwość niezaprzeczalności oraz rozszerzalność zgodnie z dyrektywą unijną "Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures". Rozszerzenie polega na dodaniu węzła ds.:Object. Sam format ma co najmniej trzy warianty:

  • XAdES (Basic) - rozszerza XMLDSIG o dodatkowe pola podpisane (SigningTime, SigningCertificate, SignaturePolicyIdentifier, SignatureProductionPlace, SignerRole, AllDataObjectsTimeStamp, IndividualDataObjectsTimeStamp, DataObjectFormat oraz CommitmentTypeIndication) i jedno niewymagające podpisania (CounterSignature). Nie wymaga dostępu on-line do serwera znaczników
  • XAdES-T ze znacznikiem czasu utworzonym zaraz po utworzeniu
  • XAdES-C z pełną walidacją

Posługiwanie się wariantem - podpisujący może się posługiwać formą podstawową, ale wtedy weryfikujący odbiorca musi utworzyć znacznik czasu otrzymania (albo poprzez utworzenie XAdES-T lub poprzez inne bezpieczne źródło czasu) - wybór wariantu podpisu jest niejasny, dodatkowo są rozszerzenia np. dotyczące archiwizacji.

Znaczenie znaczników (myślę, że lepiej będzie to opisane w specyfikacji XMLSIG):

  • SignedInfo - zawiera informację o tym co będzie podpisywane ( informacja o przekształceniach kanonicznych oraz algorytmie użytym przy podpisywaniu)

<ds:Reference URI="<http://www.example.org/docToBeSigned>" Id="FirstSignedDocument">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha"/>
<ds:DigestValue>h9kmx3rvDH75vKtNpi4NbeBGDnl=</ds:DigestValue>
</ds:Reference>

  • SignedInfo->Reference - zawiera wartość funkcji mieszającej (hash value) jako ciąg bajtów zakodowany base-64 oraz nazwę użytego algorytmu dla każdego obiektu, który ma być podpisany. Dodatkowo musi być wskaźnik do tego obiektu (zwykle jest to lokator zasobów URI w postaci adresu internetowego) wraz z unikalnym 'id'. Takich referencji może być więcej np. reference do części dokumentu XAdES (poprzez wskazanie id) zawierającego sekcję elementów związanych z podpisem, które chcemy dodatkowo podpisać (w celu ochrony przed zmianą).
  • SignedInfo->SignatureValue - zawiera podpis cyfrowy sekcji SignedInfo (base-64), ale ściślej mówiąc wartość przekształcenia wszystkich hash value przy pomocy klucza prywatnego podpisującego

<ds:SignatureValue>....</SignatureValue>

  • SignedInfo->KeyInfo - informacja o certyfikacie w celu zweryfikowania podpisu
  • Przestrzeń ds.:Object - zawiera te nowości, które wprowadza XAdES

Więcej informacji na podstawie http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/:

  • Dokument XML służący do utworzenia i przedstawienia podpisu cyfrowego (digital signature) i może być użyty do dowolnego obiektu cyfrowego (ze słownika w3 jest to digital object) włączając w to XML. Można wyróżnić wersję zakopertowaną (enveloped) i kopertującą (enveloping) kiedy dane do podpisu są w tym samym dokumencie co sam podpis. Jest jeszcze wersja zewnętrzna (detached) kiedy dane są poza plikiem z podpisem.

Brak komentarzy: