czwartek, sierpnia 21, 2008

Java i XMLDsig (i nie tylko)
  1. Zgodnie z projektem JSR-000105 XML Digital Signature APIs powstały założenie impelentacji podpisu. Sun udostępnia tutorial Java Web Service Developers Pack gdzie opisuje m.in. podpis cyfrowy dokumentów. Do ściągnięcia jest też sam WSDP w wersji 2.0. Ale ponieważ na konferrencji 2006 JavaOne w San Francisco Sun ogłosił przeniesienie go do projektu GlassFish (blog na ten temat) to tam trzeba szukać dalszych rozwiązań. Artykuł na ten temat ukazał się tu - http://today.java.net/pub/a/today/2006/11/21/xml-signature-with-jsr-105.html z niego wynika, że w wersji Java SE 6 będzie to włączone.
  2. Od dawna wiadomo, że nie należy ufać danym wprowadzonym przez użytkownika i wysyłanym do serwer aprzez GET lub POST. Dlatego proponuje się rozwiązanie polegające na szyfrowaniu danych w URL.
  3. Wady i zalety różnych JPA - http://today.java.net/pub/a/today/2007/12/18/adopting-java-persistence-framework.html
  4. Uruchaminaie skryptów w Java - http://today.java.net/pub/a/today/2007/09/20/scripting-balance-design-performance.html
  5. Zasoby do java - http://www.javawhat.com/gotoDirectorySubmenu.do;jsessionid=4F99A08389EA9F315A2024716B4A4A33?submenu=articles
  6. Opis przetargu na "II.1) OPIS

    II.1.1) Nazwa nadana zamówieniu przez zamawiającego: Postępowanie o zamówienie publiczne w trybie przetargu nieograniczonego na dostawę rozwiązania informatycznego realizującego usługi ochrony informacji oraz licencji dla oprogramowania do podpisu i weryfikacji podpisu elektronicznego dla potrzeb Izby Celnej w Krakowie.


    II.1.2) Rodzaj zamówienia: dostawy.


    II.1.3) Określenie przedmiotu zamówienia: 1. Zadanie 1

    Przedmiotem zamówienia jest dostarczenie dwóch identycznych zestawów komponentów sprzętowych i programowych zapewniających:
    1) Generowanie kodu kryptograficznego służącego do identyfikacji systemu informatycznego wydającego Urzędowe Potwierdzenie Odbioru na podstawie rozporządzenia Prezesa Rady Ministrów z dnia 29 września 2005r. w sprawie warunków organizacyjno-technicznych doręczania dokumentów elektronicznych podmiotom publicznym (Dz. U. Nr 200, poz. 1651 z 2005r.) dla dokumentów XML zgodnie ze standardem W3C XMLdSign wg profilu XAdES-enveloped.
    2) Generowanie kodu kryptograficznego do identyfikacji systemu informatycznego wydającego dokument zgodnie ze standardem W3C XMLdSign wg profilu XAdES-enveloped dla dokumentów XML; kod ten musi być powiązany z dokumentem kluczem Zamawiającego w taki sposób, że jakakolwiek zmiana w dokumencie jest rozpoznawalna.
    3) Generowanie kodu kryptograficznego w oddzielnym pliku XML dla dokumentów binarnych zgodnie ze standardem W3C XMLdSign wg profilu XAdES-detached; kod ten powinien być powiązany z dokumentem i kluczem Zamawiającego w taki sposób, że jakakolwiek zmiana w dokumencie jest rozpoznawalna.
    4) Deszyfrowanie dokumentów XML przeznaczonych dla podmiotu publicznego, zaszyfrowanych zgodnie z XML/Encrypt.
    5) Podawanie bieżącego czasu, z wewnętrznego zegara.

    Urządzenie będzie wchodziło w skład systemu teleinformatycznego Zamawiającego i musi świadczyć wymienione zadania za pomocą usług WebServices udostępnianych przez urządzenie dla aplikacji podmiotu publicznego.
    Zadanie 2.

    Przedmiotem zamówienia jest dostarczenie oprogramowania , które będzie przez Zamawiającego udostępnione w celu umożliwienia osobom trzecim podpisywania dokumentów przesyłanych do systemów informatycznych administracji celnej oraz weryfikacja otrzymanych z tych systemów informacji, zwanego dalej -kontrolką"

  7. Wprowadzenie (elementarne) do XMLSIGN - http://www.xml.com/pub/a/2001/08/08/xmldsig.html co oni piszą "To create a digital signature for a message, the data to be signed is transformed by an algorithm that takes as input the private key of the sender. Because a transformation determined by the sender's private key can only be undone if the reverse transform takes as a parameter the sender's public key, a recipient of the transformed data can be confident of the origin of the data (the identity of the sender). If the data can be verified using the sender's public key, then it must have been signed using the corresponding private key (to which only the sender should have access).

    For signature verification to be meaningful, the verifier must have confidence that the public key does actually belong to the sender (otherwise an impostor could claim to be the sender, presenting her own public key in place of the real one). A certificate, issued by a Certification Authority, is an assertion of the validity of the binding between the certificate's subject and her public key such that other users can be confident that the public key does indeed correspond to the subject who claims it as her own.

    Largely due to the performance characteristics of public-key algorithms, the entire message data is typically not itself transformed directly with the private key. Instead a small unique thumbprint of the document, called a "hash" or "digest", is transformed. Because the hashing algorithm is very sensitive to any changes in the source document, the hash of the original allows a recipient to verify that the document was not altered (by comparing the hash that was sent to them with the hash they calculate from the document they received). Additionally, by transforming the hash with their private key, the sender also allows the recipient to verify that it was indeed the sender that performed the transformation (because the recipient was able to use the sender's public key to "undo" the transformation). The hash of a document, transformed with the sender's private key, thereby acts as a digital signature for that document and can be transmitted openly along with the document to the recipient. The recipient verifies the signature by taking a hash of the message and inputting it to a verification algorithm along with the signature that accompanied the message and the sender's public key. If the result is successful, the recipient can be confident of both the authenticity and integrity of the message. "

  8. Na temat algorytmów XAdEs jest mowa w http://www.podpiselektroniczny.pl/epaczka.htm, szukaj również w http://swik.net/XMLDSIG

  9. Źródło - http://www.aleksey.com/xmlsec/index.html i http://www.west-wind.com/weblog/posts/257599.aspx

Brak komentarzy: