Kuinka allekirjoittaa asiakirja sähköisellä allekirjoituksella. Kuinka allekirjoittaa digitaalinen allekirjoitustiedosto oikein Xml:n allekirjoittaminen digitaalisella allekirjoituksella

En pysty ymmärtämään yleisesti xml-dokumenttien allekirjoitusmekanismeja. Olisin kiitollinen avustasi sen selvittämisessä)

Oma tilanteeni on tällainen:

1) on varmenneviranomainen, jonka myöntämät varmenteet sijoitetaan palvelimille windows-tallennustilassa... henkilökohtaiseen, luotettuun jne... ei ole pointtia.

Kirjautuessaan sisään sovellukseen käyttäjä allekirjoittaa satunnaisesti luodun merkkijonon valitsemallaan varmenteella. Palvelimella tämä allekirjoitus on vahvistettu:

CAPICOM.SignedData _signedData = uusi CAPICOM.SignedData(); _signedData.Verify(allekirjoitettuData, false, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE); if (_signedData.Content != data) throw new Exception("Allekirjoituksen sisältö ei vastaa vastaanotettua sisältöä"); var _certificate = _signedData.Certificates; // käyttäjän varmenne

Näin saamme käyttäjävarmenteen (julkisen avaimen). Tärkeää on, että allekirjoitus varmistetaan vain, jos varmenteen vastaava julkinen avain on palvelimella varmennevarastossa. Tätä me tarvitsemme päästämään sisään vain ne, joiden sertifikaatit olemme itse myöntäneet) Tässä näyttää selvältä.

2) nyt tarvitsemme näitä samoja käyttäjiä allekirjoittamaan xml-tiedostot varmenteillaan. Asiakkaan ohjelmistoni luo xml-tiedostot itse ja allekirjoittaa ne käyttäjän määrittämällä varmenteella:

Julkinen staattinen void SignXml(XmlDocument xmlDoc, /*RSA*/AsymmetricAlgorithm Key) ( SignedXml signedXml = new SignedXml(xmlDoc); signedXml.SigningKey = Avain; Viiteviite = uusi Viite(); referenssi.Uri = "";//allekirjoitus koko xml-dokumentti XmlDsigEnvelopedSignatureTransform env = uusi XmlDsigEnvelopedSignatureTransform(); reference.AddTransform(env); signedXml.AddReference(reference); KeyInfo keyInfo = new KeyInfo(); keyInfo.AddClause.ROSTKeyInfo /Crypt/KeyInfo signedXml.KeyInfo = keyInfo; signedXml.ComputeSignature(); XmlElement xmlDigitalSignature = signedXml.GetXml(); xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true)); )

XmlDocument doc = uusi XmlDocument(); doc.PreserveWhitespace = tosi; doc.Load(polku); SignedXml sx = uusi SignedXml(doc); XmlNodeList nodeList = doc.GetElementsByTagName("Allekirjoitus"); sx.LoadXml((XmlElement)solmuluettelo); return sx.CheckSignature();

Koodi toimii, mutta minulla on ymmärtäväisiä kysymyksiä: tässä tapauksessa voit allekirjoittaa xml:n millä tahansa varmenteella, jota ei ole myöntänyt CA, ja koska tiedot julkisesta avaimesta on tallennettu allekirjoitettuun xml-tiedostoon, allekirjoitus varmistetaan. . Tämä vaihtoehto ei sovi minulle. CheckSignature-menetelmässä on ylikuormitus AsymmetricAlgorithm-tyypin parametrilla, joka tarkistaa allekirjoitusvarmenteen olemassaolon kaupassa, tarkistaa sen voimassaolon, vanhenemispäivän ja niin edelleen. Tätä tarvitsen, mutta en tiedä etukäteen, mikä käyttäjä lähetti allekirjoitetun xml:n.

Kerro minulle: kuinka tarkistaa xml-allekirjoitus tai miten se luodaan oikein niin, että vain ne xml-tiedostot, jotka on allekirjoitettu vain meidän varmenteillamme (jotka on asennettu tallennustilaan) tarkistetaan?

P.s. ja mitä järkeä on säilyttää sekä itse allekirjoitus että julkinen avain allekirjoituksen salauksen purkamiseksi xml:ssä? Jos poistat rivin signedXml.KeyInfo = keyInfo; , xml ei läpäise allekirjoituksen tarkistusta.

ML:stä eli eXtensible Markup Languagesta on nyt tulossa standardi tapa siirtää tietoa verkossa (ja sen ulkopuolella). Lisäksi ilmestyy yhä enemmän lisäosia, jotka käyttävät XML-syntaksia (XML-sovelluksia). Näitä ovat esimerkiksi yksinkertaistettu objektien pääsyprotokolla SOAP (Simple Object Access Protocol), jossa XML toimii yleisenä keinona edustaa parametreja etäproseduurien kutsumiseksi RPC (Remote Procedure Call). Toinen esimerkki laajennuksesta on RDF (Resource Description Framework) -kehys. Voit katsoa World Wide Web Consortiumia (W3C), joka kehittää standardeja tällä alalla (http://www.w3.org/), ja nähdä, että XML todellakin kiinnittää enemmän huomiota.

Muistakaamme, että XML:n päätarkoitus on kuvata dokumentin rakennetta ja semantiikkaa. XML:n tärkein etu muihin sähköisiin dokumenttimuotoihin verrattuna on, että se erottaa dokumentin ulkoisen esityksen kuvauksen dokumentin rakenteesta ja sisällöstä. XML on joustava kieli, jota voidaan käyttää moniin tarkoituksiin ja joka voi olla rajapinta monien järjestelmien ja tietokantojen kanssa. Siten XML:ää käytetään nykyään monissa tietojärjestelmissä pääasiallisena tiedonsiirtomuotona. Lisäksi tietokannanhallintajärjestelmien valmistajat ovat ottaneet voimakkaan askeleen kohti XML:ää. Esimerkiksi Oracle on julkaissut XSU:n (XML-SQL Utility), joka on JDBC:n lisäosa, jonka avulla voit tallentaa ja hakea XML-tietoja tietokantaan (http://otn.oracle.com/tech/xml/ xdk_java/content .html). XSU on Java-luokkien hierarkia, joka on suunniteltu muuttamaan tietoja oja -näkymistä XML-muotoon, lisäämään tietoja XML-dokumenteista taulukoihin ja näkymiin sekä muita hyödyllisiä toimintoja.

Tarve suojata XML-dokumentteja

ML on tehokas työkalu, jota käytetään usein tietojen vaihtamiseen Internetin kautta. Mutta valitettavasti se itse ei tarjoa tarvittavaa suojaa "kuljettamilleen" tiedoille. Toisin sanoen XML-muotoa käytettäessä (kuten myös muita muotoja käytettäessä) on vakavia turvallisuusongelmia.

XML:n avulla voidaan helposti siirtää tapahtumaviestejä pankin ja pankkiautomaatin välillä, luottamuksellisia tai puoliluottamuksellisia tietoja henkilöistä, tietoja sähköisistä tapahtumista tai yksinkertaisesti välittää omistusoikeudellisia asiakirjoja tässä muodossa. Mutta samalla on tarpeen varmistaa tietojen suojaus tahattomalta tai tahalliselta vääristymiseltä sekä tietojärjestelmien käyttäjien taholta että viestintäkanavien kautta siirrettäessä. Suojauksen tulee perustua seuraaviin toimintoihin:

  • vuorovaikutuksessa olevien osapuolten todennus;
  • tietojen aitouden ja eheyden vahvistaminen;
  • siirrettyjen tietojen kryptografinen sulkeminen.

Tietosuojan varmistamiseksi on suositeltavaa käyttää sähköistä digitaalista allekirjoitusta (EDS) ja tietojen salausmenetelmiä. Lisäksi digitaalinen allekirjoitus mahdollistaa pääsääntöisesti todennuksen, aitouden ja eheyden vahvistuksen ja tietojen sulkeminen tapahtuu salauksella.

Yleistä tietoa sähköisistä digitaalisista allekirjoituksista

EDS ja sen väärentämisen mahdollisuus

Sähköinen digitaalinen allekirjoitus on alkuperäiseen tietolohkoon (asiakirjaan) lisättyä tietoa, joka on saatu sen salausmuunnoksen tuloksena (riippuen salaisesta avaimesta ja alkuperäisestä tietolohkosta tai asiakirjasta). EDS varmistaa viestien (asiakirjojen) eheyden ja takaa sen tekijän (asiakirjan allekirjoittajan) tunnistetiedot, jotka lähetetään useimmiten suojaamattomia yleisiä tietoliikennekanavia pitkin.

Tietolohkon sähköisen digitaalisen allekirjoituksen varmennus suoritetaan salausmuuntamalla digitaalinen allekirjoitus käyttämällä julkista avainta, joka vastaa digitaalisen allekirjoituksen asennusprosessiin osallistunutta salaista avainta.

Sähköisen digitaalisen allekirjoituksen väärentämisen mahdottomuus saavutetaan käyttämällä erittäin suurta määrää matemaattisia laskelmia (esimerkiksi allekirjoituksen väärentämisen mahdottomuus voi johtua diskreetin logaritmin ongelman ratkaisemisen monimutkaisuudesta p-elementin kentässä El-Gamal allekirjoitusmalli). Allekirjoituksen asettaminen asiakirjaan ei muuta itse dokumenttia, vaan mahdollistaa vain vastaanotetun tiedon aitouden ja tekijän tarkistamisen (eli asiakirjaan itseensä tai siitä erillään lisätään tietolohko - asiakirjan digitaalinen allekirjoitus). Tämä asiakirja).

Varmenneviranomainen

Edellä mainittiin termit "yksityinen avain" ja "julkinen avain". Mistä nämä avaimet ovat peräisin? Ne muodostaa varmenneviranomainen - tietty rakenne (organisaatio), joka hallinnoi varmenteita. Julkisen/yksityisen avaimen varmenne edustaa seuraavaa tietojoukkoa:

  • järjestelmän subjektin tai objektin nimi, joka yksilöi sen järjestelmässä;
  • järjestelmän subjektin tai objektin julkinen/yksityinen avain;
  • lisäattribuutit, jotka määräytyvät varmenteen käytön vaatimuksissa järjestelmässä;
  • julkaisijan (varmentajan) sähköinen digitaalinen allekirjoitus, joka vahvistaa näiden tietojen kokonaisuuden.

Siten esimerkiksi yksityisen avaimen varmenne sisältää itse yksityisen avaimen ja lisätietoja siitä.

Varmennekeskus (CA) tuottaa jokaiselle tietojärjestelmän rekisteröidylle käyttäjälle kaksi varmennetta: yksityisen avaimen varmenteen ja julkisen avaimen varmenteen. Tässä tapauksessa ensimmäinen SO annetaan henkilökohtaisesti rekisteröidylle käyttäjälle (esimerkiksi levykkeelle) eikä kenellekään muulle - tämä on "allekirjoitus". Varmentaja julkaisee toisen, avoimen varmenteen julkisessa arkistossa, jotta kaikki kiinnostuneet löytävät sen helposti.

Digitaalisen allekirjoituksen luominen ja todentaminen

Tiedon lähettäjä käyttää salaista avainta ja tilaajien välisellä sopimuksella ennalta valittua epäsymmetristä algoritmia (digitaalisen allekirjoituksen algoritmi), joka salaa lähetetyn tiedon digitaalisessa muodossa ja vastaanottaa siten tiedoista digitaalisen allekirjoituksen. Seuraavaksi tiedon lähettäjä lähettää edellä kuvatulla tavalla saadun salaamattoman tiedon ja digitaalisen allekirjoituksen vastaanottajalle avoimen viestintäkanavan kautta.

Viestin vastaanottaja purkaa digitaalisen allekirjoituksen turvaluokituksen käyttämällä julkista avainta (joka on julkisesti saatavilla) ja tilaajien välisellä sopimuksella valittua digitaalista allekirjoitusalgoritmia. Seuraavaksi hän vertaa saamaansa salaamatonta tietoa digitaalisen allekirjoituksen salauksen purkamisen yhteydessä saatuihin tietoihin. Jos digitaalista allekirjoitusta ei ole väärennetty ja lähetetty avoin tieto ei ole vääristynyt, näiden kahden tiedon tulee vastata täysin. Jos allekirjoitus on väärennetty, niin vastaanotettu avoin tieto ja salauksen purkamisen aikana saadut tiedot eroavat toisistaan ​​merkittävästi (kuva 1).

Hash-funktiot

Yllä olevassa lähettäjän ja vastaanottajan välisessä vuorovaikutuskaaviossa yksi operaatio puuttuu. Se liittyy tietojen salausvaiheeseen, jonka aikana muodostetaan sähköinen digitaalinen allekirjoitus. Jos luomme vain digitaalisen allekirjoituksen, se osoittautuu (algoritmista riippuen) yleensä suunnilleen saman pituiseksi kuin alkuperäinen tietolohko, ja meidän on lähetettävä verkon yli kaksinkertainen viesti. Luonnollisesti tämä vaikuttaisi negatiivisesti koko järjestelmän toimintaan. Siksi ennen digitaalisen allekirjoituksen luomista alkuperäinen data käsitellään hash-funktiolla, jolloin allekirjoituksesta tulee kompakti. Tietenkin oikean tuloksen saamiseksi vastaanottajan on suoritettava sama muunnos vastaanotetulle datalohkolle.

Käytettävän hash-funktion on kyettävä muuttamaan minkä tahansa pituinen viesti kiinteän pituiseksi binäärisekvenssiksi. Lisäksi sen on täytettävä seuraavat vaatimukset:

  • viestin hajautusfunktion käytön jälkeen tulee riippua jokaisesta alkuperäisen viestin bitistä ja niiden järjestyksestä;
  • Viestin tiivistettyä versiota käyttämällä ei ole mahdollista palauttaa itse viestiä.

Salauksen ymmärtäminen

Tietojen salaus ja sen ero digitaaliseen allekirjoitukseen

Tiedon salaus on yksi yhteen matemaattinen (salauksen) muunnos, joka riippuu avaimesta (salainen muunnosparametri), joka vastaa jossain digitaalisessa koodauksessa esitettyä avoimen tiedon lohkoa salatun tiedon lohkoon, joka esitetään myös digitaalisessa muodossa. koodaus. Salaus yhdistää kaksi prosessia: tiedon salauksen ja salauksen purkamisen (kuva 2).

Perusero digitaalisen allekirjoituksen ja salausmenetelmien välillä (tarkastelemme nyt epäsymmetrisiä algoritmeja, joissa salaukseen ja salauksen purkamiseen käytetään erilaisia, mutta matemaattisesti toisiinsa liittyviä avaimia) on se, että salauksessa käytetään vastaanottajan julkista avainta ja salauksen purkamisessa yksityistä avainta. , kun taas Digitaalinen allekirjoitusalgoritmi vaatii kirjoittajan salaisen avaimen viestin allekirjoittamiseen ja viestin kirjoittajan julkisen avaimen digitaalisen allekirjoituksen vahvistamiseen.

Murtumassa

Teoriassa mikä tahansa avainta käyttävä salausalgoritmi voidaan rikkoa etsimällä kaikki avainarvot. Jos avain valitaan, tarvittava tietokoneen teho kasvaa eksponentiaalisesti avaimen pituuden mukaan. 32-bittinen avain vaatii 232 (noin 109) askelta. Tämän tehtävän voi tehdä kuka tahansa amatööri, ja se voidaan ratkaista kotitietokoneella. 40-bittisellä avaimella varustetut järjestelmät (esimerkiksi RC4-algoritmin viety amerikkalainen versio) vaativat 240 askelta; tällainen tietokoneteho on saatavilla useimmissa pienissä yrityksissä. Järjestelmät, joissa on 56-bittiset avaimet (DES) vaativat paljon vaivaa avatakseen, mutta ne voidaan avata helposti erikoislaitteilla. Tällaisten laitteiden kustannukset ovat huomattavat, mutta ne ovat edullisia mafialle, suuryrityksille ja hallituksille. 64 bitin pituisia avaimia voivat tällä hetkellä avata suuret valtiot, ja lähivuosina ne ovat rikollisjärjestöjen, suuryritysten ja pienten valtioiden avattavissa. 80-bittiset avaimet voivat haavoittua tulevaisuudessa. 128 bitin pituiset avaimet pysyvät todennäköisesti raa'alla voimalla murtumattomina lähitulevaisuudessa. Myös pidempiä avaimia voidaan käyttää.

Avaimen pituus ei kuitenkaan ole kaikki kaikessa. Monet salaukset voidaan rikkoa kokeilematta kaikkia mahdollisia yhdistelmiä, mutta käyttämällä erityistä algoritmia (esimerkiksi polynomikompleksisuudella). Yleensä on erittäin vaikeaa keksiä salausta, jota ei voitaisi avata toisella menetelmällä, joka on tehokkaampi kuin raaka voima.

Huomaa, että salausjärjestelmä on vain niin vahva kuin sen heikoin lenkki. Mitään järjestelmän suunnittelun näkökohtaa ei pidä jättää huomiotta, algoritmin valinnasta avainkäyttö- ja jakelukäytäntöihin.

XML-asiakirjojen sähköinen digitaalinen allekirjoitus

XML:n kanssa työskentelevät ovat jo pitkään ymmärtäneet, kuinka tärkeää on hallita siirrettyä ja XML:ssä esitettävää dataa. Tärkeimmät vaatimukset siirrettävälle tiedolle ovat vuorovaikutuksessa olevien osapuolten autentikointi ja XML-dokumentin tietojen aitouden ja eheyden varmistaminen. Tällaiset ongelmat ratkaistaan ​​XML-dokumenttien digitaalisella allekirjoituksella.

W3C:n digitaalisen allekirjoituksen XML:n tekniset tiedot

W3C kehittää parhaillaan XML Signature Syntax and Processing -spesifikaatiota ja muita asiaan liittyviä asiakirjoja. Tällä hetkellä sillä on suosituksen tila (http://www.w3.org/TR/xmldsig-core/). Tämä asiakirja mahdollistaa sekä koko XML-dokumentin että sen osan allekirjoittamisen. Jotta XML-allekirjoitusprosessista tulisi ainutlaatuinen, määritellään XML-tietojen kanonisen esityksen käsite. Esimerkiksi XML-dokumentissa tunnisteet, jotka ovat samalla tasolla hierarkiapuussa, voidaan sekoittaa yhteen, mikä luo epäselvyyttä allekirjoitusprosessille. XML:n kanoninen esitys on eräänlainen lajittelu (tai pikemminkin pelkistys yksinkertaisimpaan muotoon), joka ei salli tällaisia ​​vapauksia. XML-kanonisointimenetelmät ja -säännöt on kuvattu erillisessä asiakirjassa "Canonical XML" (http://www.w3.org/TR/xml-c14n), jolla on myös suositus. Muut XML-asiakirjojen allekirjoittamiseen liittyvät materiaalit ovat saatavilla osoitteessa: http://www.w3.org/Signature/.

Tag XML-allekirjoitus

"XML-allekirjoituksen syntaksi ja käsittely" -suositus määrittelee, että allekirjoituksen ja sitä koskevien tietojen tulee olla tagissa. , jossa on seuraavat osat (neitä tarvitaan pääasiassa allekirjoituksen tarkistamiseen):

  • CanonicalizationMethod määrittää tietyt säännöt XML-ilmentymän yksinkertaistamiseksi ja jäsentämiseksi ennen allekirjoittamista. Näillä tiedoilla varmistetaan, että allekirjoitetut tiedot ovat oikeassa muodossa, jotta varmennusalgoritmi antaa positiivisen tuloksen, jos sisältötietoja ei ole muutettu;
  • allekirjoitusmenetelmä (SignatureMethod) määrittelee sanoman tiivistelmän allekirjoitusalgoritmin. Viestitiivistelmä on yksilöllinen kiinteän kokoinen merkkijono, se on tulos tietojen käsittelystä käyttämällä tiivistelmämenetelmän määrittelemää yksisuuntaista hajautusfunktiota.
  • tiivistelmämenetelmä (DigestMethod) -algoritmi tiivistelmän laatimiseksi viestistä, joka on allekirjoitettu tietyllä allekirjoitusmenetelmällä. Tietyn tiivistysmenetelmän määrittäminen varmistaa, että tiedot käsitellään samalla tavalla.
  • digest value (DigestValue) itse sanoman tiivistelmä eli kiinteäpituinen merkkijono, joka syntyy tiivistelmäalgoritmia käyttävän tietojenkäsittelyn tuloksena. Tällainen merkkijono on ainutlaatuinen ja peruuttamaton: sitä on käytännössä mahdotonta saada muusta sisällöstä, eikä siitä ole mahdollista luoda alkuperäisiä tietoja uudelleen. Se on kuin sormenjälki allekirjoitettaville tiedoille; tiivistelmäarvojen positiivinen vertailu takaa sisällön eheyden;
  • itse allekirjoitus (SignatureValue) tämä on allekirjoitusmenetelmällä käsittelyn jälkeen saatu tieto;
  • tiedot julkisesta avaimesta (KeyInfo) digitaalisen allekirjoituksen vahvistamista varten. Tarkemmin sanottuna ei avain, vaan varmenne, koska siinä voidaan itse avaimen lisäksi ilmoittaa omistajan nimi ja digitaalinen allekirjoitusalgoritmi.

Tämä ei tietenkään ole tyhjentävä tieto siitä, mitä tagi voi sisältää. . Tässä on yksinkertaisin esimerkki tällaisesta allekirjoituksesta (listaus 1).

Digitaalisen allekirjoituksen XML muodostaminen

On huomattava, että XML-allekirjoitusprosessin ja perinteisen prosessin välillä on joitain eroja. Tosiasia on, että XML-ilmentymän allekirjoitusprosessi alkaa kanonisoinnilla, eli tietorakenteen yksinkertaistamisella. Kuten jo mainittiin, tämä toimenpide on välttämätön, jotta digitaalinen allekirjoitus voidaan varmentaa oikein samalle XML-asiakirjalle eri tavoin esitettynä. Tämä tarkoittaa, että kaikki XML-asiakirjat on muunnettava yhteen kanoniseen muotoon ennen allekirjoittamista. Loput vaiheet ovat samat kuin tavallinen digitaalisen allekirjoituksen lisäysprosessi: tiedoille luodaan tiivistelmäarvo määritetyllä menetelmällä, jonka jälkeen tämä arvo allekirjoitetaan asiakirjan tekijän yksityisellä avaimella.

XML digitaalisen allekirjoituksen vahvistus

Allekirjoituksen vahvistamiseksi sinun on suoritettava kaksi vaihetta: itse allekirjoitus ja tiivistelmän arvon vahvistaminen.

Itse allekirjoitus varmistetaan ensin sen omistajan todentamisen varmistamiseksi ja kieltäytymisen estämiseksi. Sen jälkeen tiivistelmäarvo tarkistetaan sen varmistamiseksi, että tiedot eivät ole muuttuneet, ja XML-dokumentin sisällön eheys varmistetaan.

XML-asiakirjojen salaus

W3C:n XML-salauksen tekniset tiedot

Siirrytään salaukseen, jonka avulla voimme sulkea (eli muuttaa muotoon, jossa merkitys on epäselvä) lähetetyn tiedon ja palauttaa sen vastaanottajalle. W3C-konsortio on luonut työryhmän (http://www.w3.org/Encryption/2001/), joka käsittelee erityisesti XML-tietojen salaukseen liittyviä kysymyksiä. XML Encryption Syntax and Processing -spesifikaatio on nyt suositus, ja se on saatavilla osoitteessa: http://www.w3.org/TR/xmlenc-core/.

Tag

  • salausmenetelmä (EncryptionMethod) kuvaa tietojen salausalgoritmin. Jos tämä tunniste puuttuu, salausalgoritmi on oltava vastaanottavan puolen tiedossa, muuten viestin salauksen purku on mahdotonta;
  • salattu data (CipherData) todellinen salattu tieto tai linkki sen sijaintiin. Salattavien tietotyyppien ja niiden loogisen organisointimenetelmien valikoima on käytännössä rajaton;
  • tiedot avaimista (KeyInfo) tiedot avaimista, joilla salaus ja vastaavasti salauksen purku suoritetaan. Ne voidaan tallentaa muualle ja korvata XML-instanssissa URL-linkillä;
  • muita tietoja (esimerkiksi aiotuista vastaanottajista).

Tag-esimerkki näkyy listauksessa 2.

Salaus ja salauksen purkuprosessi

XML-data salataan perinteisillä julkisen avaimen salausmenetelmillä. Ensin itse tiedot salataan, yleensä käyttämällä satunnaisesti generoitua salaista avainta, joka sitten myös salataan aiotun vastaanottajan julkisella avaimella. Nämä tiedot on pakattu niin, että vain aiottu vastaanottaja voi purkaa salaisen avaimen ja purkaa tietojen salauksen. Salaista avainta käytetään salaisen avaimen salauksen purkamiseen, minkä jälkeen tietojen salaus puretaan löydettyä salaista avainta käyttämällä.

XML-dokumenttien suojauksen toteuttaminen

Kävimme läpi sähköisten digitaalisten allekirjoitusten yleiset toimintaperiaatteet ja W3C-konsortion tällä alueella kehittämät spesifikaatiot. Tämä on hyvä ja hyvä, mutta entä jos on todella tarve toteuttaa kuvatut XML-tietosuojajärjestelmät?

Jo tänään, huolimatta siitä, että W3C-standardit ilmestyivät melko äskettäin, jotkut yritykset ovat ilmoittaneet julkaisevansa pakettejaan (luokkakirjastoja), jotka toteuttavat sekä digitaalisen allekirjoituksen että salauksen. Katsotaanpa joidenkin niistä ominaisuuksia.

XML Security Suite (IBM)

Tämä Java-ohjelmointikieleen perustuva paketti on saatavilla osoitteessa http://www.alphaworks.ibm.com/tech/xmlsecuritysuite. XML Security Suite on työkalu, joka tarjoaa suojausominaisuuksia, kuten digitaalisen allekirjoituksen, salauksen ja XML-asiakirjojen käytönhallinnan. Sen avulla voit saavuttaa suuremman menestyksen kuin käyttämällä siirtokerroksen suojausprotokollien (esimerkiksi Secure Sockets Layer, SSL) ominaisuuksia.

Tämä paketti toteuttaa kolme tekniikkaa:

  • Digitaalinen allekirjoitus perustuu W3C:n ja IETF:n "XML Signature Syntax and Processing" -määritykseen (ja Canonical XML -määritykseen);
  • salaus toteutetaan W3C:n XML Encryption Syntax and Processing -määrityksen perusteella;
  • XML-dokumenttien pääsynhallinta (XML Access Control Language).

XML Security Suite on yksi parhaista nykyaikaisista työkaluista XML-dokumenttien suojaamiseen. Itse arkiston (JAR) ja luokkakirjaston lisäksi se sisältää yksityiskohtaista dokumentaatiota ja esimerkkejä, joiden avulla voit nopeasti navigoida luokkahierarkiassa.

XML-suojaus (Apache)

XML-pohjainen tietosuoja

Security Assertion Markup Language (SAML)

XML-tietojen suojaamisesta erilainen, mutta siihen läheisesti liittyvä alue on XML-pohjaisten järjestelmien (protokollien) turvallisuuden parantaminen. Tässä tapauksessa muut asiakirjat/järjestelmät/sovellukset suojataan XML:llä. Tällä hetkellä Organisaation for the Advancement of Structured Information Standards (OASIS) turvallisuuskomitea kehittää SAML-kieltä (Security Assertion Markup Language).

Liittovaltion laki sähköisestä digitaalisesta allekirjoituksesta

Tavoitteet

Otetaan pieni tauko Web-alan lainsäätäjiin ja harkitaan liittovaltion lakia "Sähköisestä digitaalisesta allekirjoituksesta", jonka Venäjän federaation presidentti hyväksyi 10. tammikuuta 2002 (http://www.internet-law). .ru/intlaw/laws/ecp.htm). Tämän lain antaminen antoi lailliset edellytykset sähköisten digitaalisten allekirjoitusten käytölle sähköisissä asiakirjoissa, jolloin sähköisessä asiakirjassa oleva sähköinen digitaalinen allekirjoitus tunnustetaan vastaavaksi paperiasiakirjassa olevaa käsinkirjoitettua allekirjoitusta. Näin on luotu perusta juridisesti merkittävän sähköisen dokumentinhallinnan syntymiselle.

Sähköisen allekirjoituksen ja tavallisen allekirjoituksen vastaavuusehdot

Laissa määritellään digitaalisessa allekirjoituksessa käytettävät peruskäsitteet, kuten varmenne, julkiset ja yksityiset avaimet, sähköisen digitaalisen allekirjoituksen aitouden varmistus (tarkastelimme niitä aiemmin) jne. Lisäksi laissa määritellään ehdot, joiden täyttyessä sähköisessä asiakirjassa oleva sähköinen digitaalinen allekirjoitus vastaa paperilla olevan asiakirjan allekirjoitusta. Tämä tarkoittaa ennen kaikkea sitä, että tähän sähköiseen digitaaliseen allekirjoitukseen liittyvä allekirjoitusavainvarmenne ei ole menettänyt voimassaoloaan varmentamishetkellä tai sähköisen asiakirjan allekirjoitushetkellä. Lisäksi sähköisen digitaalisen allekirjoituksen aitous on varmistettava ja että digitaalista allekirjoitusta käytetään allekirjoitusavaimen varmenteessa määritettyjen tietojen mukaisesti.

Sertifikaatit ja varmenneviranomaiset

Laissa kuvataan yksityiskohtaisesti, mistä allekirjoitusavainvarmenne koostuu (yksilöllinen rekisterinumero, omistajan koko nimi, julkinen digitaalinen allekirjoitusavain, varmennekeskuksen nimi ja sijainti jne.); ehdot ja menettely varmenteen säilyttämiseksi varmennekeskuksessa. Näin ollen sähköisenä asiakirjana olevan allekirjoitusavainvarmenteen säilytysaika varmennekeskuksessa määräytyy varmennekeskuksen ja allekirjoitusavainvarmenteen omistajan välisellä sopimuksella. Mitä tulee varastointiin, se määräytyy Venäjän federaation arkistoja ja arkistoasioita koskevassa lainsäädännössä.

Sertifiointikeskuksille on omistettu erillinen luku laissa. Sähköisen digitaalisen allekirjoituksen kehittämis- ja varmennusprosessi voi tapahtua ilman varmennekeskusten osallistumista, jos se vahvistetaan osapuolten välisellä sopimuksella. Julkisissa tietojärjestelmissä ja monissa yritysten tietojärjestelmissä digitaalisten allekirjoitusten käyttö ilman varmennekeskusten toimintaa on kuitenkin mahdotonta, koska se johtaa melko yksinkertaisiin mekanismeihin allekirjoituksen väärentämiseen.

Yksityiset (salaiset) avaimet

Sähköinen digitaalinen allekirjoitus voi suorittaa tehtävänsä vain, jos allekirjoittajalla on tietoja, jotka ovat tuntemattomien ulottumattomissa. Tämä tieto on samanlainen kuin salausavain, ja siksi sitä kutsutaan "sähköisen digitaalisen allekirjoituksen yksityiseksi avaimeksi" (aiemmin käytettiin samanlaista termiä "salainen avain"). Sekä yksityinen avain että salausavain on pidettävä salassa, koska yksityisen allekirjoitusavaimen tunteminen vastaa tyhjää paperia, jossa on yksityisen avaimen omistajan allekirjoitus ja jolle hyökkääjä voi kirjoittaa minkä tahansa tekstin, joka liitetään yksityisen avaimen todelliseen omistajaan. Taide. Lain 12 §:ssä määrätään suoraan allekirjoitusavainvarmenteen haltijan velvollisuudesta pitää yksityinen avain salassa ja vaatia välittömästi allekirjoitusavaimen varmenteen keskeyttämistä, jos on syytä epäillä, että yksityisen allekirjoitusavaimen salaisuutta on rikottu.

Taide. Lain 5 §:ssä säädetään yksityisten allekirjoitusavainten luomismenettelystä ottaen huomioon niiden luomissalaisuuden tiukka noudattaminen. Art. viittaa myös samaan seikkaan. Varmennekeskusten toimintaa koskevan lain 9 §. Yritystietorakenteissa EDS-yksityisten avainten tuottaminen ja jakelu voidaan ratkaista omin menetelmin, mutta EDS-käyttäjän tulee olla tietoinen tällaisen EDS-toiminnan organisoinnin mahdollisista seurauksista. On täysin mahdollista, että jotain säännöllistä sekvenssiä käytetään yksityisenä avaimena, kuten tapahtuu salasanajärjestelmää käytettäessä.

Kotimaiset standardit digitaalisille allekirjoitusalgoritmeille

El Gamal -ohjelma

Vuonna 1994 ensimmäinen kotimainen standardi digitaalisen allekirjoituksen alalla otettiin käyttöön GOST R34.10 94 "Tietotekniikka. Kryptografisten tietojen suojaus. Menettelyt epäsymmetriseen salausalgoritmiin perustuvan sähköisen digitaalisen allekirjoituksen kehittämiseksi ja todentamiseksi." Se määrittelee menettelyt digitaalisten allekirjoitusten kanssa työskentelemiseksi ElGamal-mallin perusteella. Allekirjoituksen väärentämisen mahdottomuus johtuu diskreetin logaritmin ongelman ratkaisemisen monimutkaisuudesta p elementin kentässä tai monimutkaisuudesta määrittää luku x, joka on annettu suurelle alkuluvulle p ja numerot a, b väliltä 2 - p-1, joka suoritetaan vertailulla:

Ax==bmodp.

Matemaatikot eivät kuitenkaan pysy paikallaan, ja viime aikoina on edistytty huomattavasti menetelmien kehittämisessä diskreetin logaritmin ongelman ratkaisemiseksi p-elementtien alalla. Äskettäin luotiin niin kutsuttu numerokenttäseulamenetelmä. Sen avulla voit hakkeroida yllä olevalla menetelmällä luodun digitaalisen allekirjoituksen (ainakin 512-bittisen moduulin p tapauksessa).

Yksi yksinkertaisimmista ratkaisuista tähän ongelmaan on lisätä moduulin p pituutta. Mutta valitettavasti p:n kasvaessa algoritmin toimintaominaisuudet huononevat, koska julkisen avaimen pituus ja allekirjoituksen generointi- ja varmistusaika kasvavat.

Elliptinen käyrä

Venäläiset tiedemiehet tulivat lopulta siihen tulokseen, että El-Gamal-mallia oli mahdollista monimutkaistaa hieman ja siten ilman lisälaskentakustannuksia lisätä digitaalisen allekirjoituksen väärentämisen monimutkaisuutta tuhansia kertoja. ElGamal-kaavion uusi versio käyttää elliptisten käyrien laitteistoa p-elementin äärellisen kentän yli, jotka määritellään joukoksi lukupareja (x, y) (joista kukin on alueella 0 - p-1 ) joka tyydyttää vertailun (luvut a ja b ovat kiinteitä ja vastaavat jotakin lisäehtoa):

Y2 == x3 + ax + bmodp.

Muut resurssit

  • Tietoja Oracle XML-SQL -apuohjelmasta http://otn.oracle.com/tech/xml/xdk_java/content.html
  • SAML-määritykset http://www.oasis-open.org/committees/security/
  • XKMS-määritys http://www.w3.org/TR/xkms/
  • Liittovaltion laki sähköisestä digitaalisesta allekirjoituksesta

Nykyään, kun lähes kaikki asiakirjavirrat muuttuvat paperittomaksi, asiakirjojen allekirjoittaminen avustuksella on arkipäivää.

Julkisten hankintojen alalla jätetyt hakemukset allekirjoitetaan sähköisesti. Tämä antaa asiakkaille takuun siitä, että he ovat tekemisissä todellisten osallistujien kanssa. Myös julkisten hankintojen tuloksena tehdyt sopimukset tulevat voimaan vasta sähköisellä digitaalisella allekirjoituksella tehdyn hyväksynnän jälkeen.

Digitaalinen allekirjoitus vaaditaan myös seuraavissa tilanteissa:

  1. Raportointi viranomaisille. Voit lähettää sen sähköisesti palveluille, kuten liittovaltion veroviranomaisille, Rosstatille, eläkerahastolle ja sosiaalivakuutusrahastolle. Tämä yksinkertaistaa huomattavasti tiedon siirtoa ja lisää tarkkuutta: useimmat palvelut tarjoavat automaattisen virheentarkistuksen.
  2. Sähköinen asiakirjahallinta (EDF). Yksi yleisimmistä käyttötavoista, koska tällä tavalla allekirjoitettu kirje vastaa paperikirjettä, jossa on leima ja viisumi. Voit siirtyä paperittomaan asiakirjavirtaan sekä yrityksen sisällä että sen ulkopuolella.
  3. Valtion palvelut. Venäjän federaation kansalainen voi hyväksyä osastoille lähetettyjä hakemuksia valtion palveluportaalin kautta, osallistua julkisiin aloitteisiin, käyttää henkilökohtaista tiliä liittovaltion veropalvelun verkkosivustolla ja jopa hakea lainaa.
  4. Todisteena voidaan käyttää laskuja, sopimuksia, sähköisesti allekirjoitettuja virallisia kirjeitä. Venäjän federaation välimiesmenettelylain mukaan tällainen asiakirja on analoginen paperille, jossa on käsin kirjoitettu viisumi.

Millaisia ​​sähköisiä allekirjoituksia on olemassa?

Sähköinen digitaalinen allekirjoitus on "leima", jonka avulla voit tunnistaa sen omistajan ja varmistaa allekirjoitetun asiakirjan eheyden. Digitaalisten allekirjoitusten tyypit ja niiden toteuttamismenettely on hyväksytty. Hän totesi, että allekirjoituksia on kolmenlaisia:

  1. Yksinkertainen. Käytetään yleisesti kirjeiden tai eritelmien allekirjoittamiseen, vahvistetaan salasanoilla, koodeilla ja muilla tavoilla, joita käytetään useimmiten yritysten EDI-järjestelmissä.
  2. Vahvistettu. Se saadaan tiedon kryptografisen käsittelyn ja yksityisen avaimen käytön kautta. Voit määrittää, kuka allekirjoitti asiakirjan, sekä sen, että muutoksia on tehty allekirjoittamisen jälkeen.
  3. Vahvistettu. Se on samanlainen kuin pätemätön, mutta sen luomiseen ja tarkistamiseen käytetään Venäjän federaation FSB:n sertifioimia kryptografisia suojaustekniikoita. Tällaisia ​​sähköisiä allekirjoituksia antaa vain akkreditoitu

On olemassa useita tapoja hyväksyä asiakirja. Katsotaanpa yleisimpiä.

Allekirjoitamme CryptoPRO CSP -ohjelmistopaketilla

Kuinka allekirjoittaa sähköinen Word-asiakirja(MS Word)

1. Avaa haluamasi tiedosto, napsauta valikkoa "Tiedosto" - "Tiedot" - "Lisää sähköinen allekirjoitus (CRYPTO-PRO)".

2. Valitse haluamasi sähköinen allekirjoitus, lisää tarvittaessa kommentti ja napsauta "Allekirjoita".

3. Jos virheitä ei ole, järjestelmä näyttää ikkunan, jossa allekirjoitus onnistui.

Jos CryptoPRO Office Signature -laajennus on asennettu

1. Avaa haluamasi tiedosto, valitse "Tiedosto" ja sitten "Lisää digitaalinen allekirjoitus".

2. Valitse edellisen vaihtoehdon tapaan tarvittava sähköinen allekirjoitus, lisää tarvittaessa kommentti ja napsauta "Allekirjoita".

3. Jos virheitä ei ole, järjestelmä näyttää viestin, että asiakirja on allekirjoitettu onnistuneesti.

Kuinka allekirjoittaa PDF-dokumentti sähköisesti(Adobe Acrobat PDF)

1. Avaa tarvittava PDF-tiedosto, napsauta "Työkalut"-paneelia ja katso "Sertifikaatit"-tarra. Valitaan se.

2. Napsauta "Käytä digitaalista allekirjoitusta" ja valitse tiedostosta alue, jossa allekirjoitusmerkki sijaitsee.

4. Ikkuna, jossa on leiman esikatselu, avautuu. Jos kaikki on oikein, napsauta "Allekirjoita".

5. Järjestelmä lähettää ilmoituksen onnistuneesta allekirjoituksesta. Siinä kaikki.

Allekirjoitus CryptoARM-ohjelmistopaketilla

Tällä menetelmällä on mahdollista salata kaikki nykyaikaiset muodot sekä arkistot.

Joten selvitetään se kuinka allekirjoittaa digitaalisen allekirjoituksen asiakirja käyttämällä CryptoARM:ia.

1. Avaa "CryptoARM"-ohjelma ja valitse ensimmäinen toimintokohde - "Sign".

2. Tutustumme huolellisesti ES Creation Masterin ohjeisiin. Napsauta "Seuraava".

3. Napsauta "Valitse tiedosto", siirry haluamasi tiedoston kohdalle, napsauta sitä ja napsauta "Seuraava".

4. Valitse allekirjoitettava tiedosto ja napsauta "Seuraava".

5. Näemme "Output Format" -ikkunan. Jos pakollisia vaatimuksia ei ole, jätämme koodauksen ennalleen. Voit tallentaa ZIP-muodossa (sähköpostitse lähettämistä varten) tai valita sijainnin, johon lopputulos tallennetaan. Napsauta "Seuraava".

6. ”Parametrit” -kohdassa voit valita ominaisuuden, lisätä kommentin ja valita myös liitteenä olevan sähköisen allekirjoituksen (liitteenä lähdetiedostoon) tai irrotetun (tallennetaan erillisenä tiedostona) sekä haluttaessa lisäparametreja. Kun kaikki on valmis, napsauta "Seuraava".

7. Nyt sinun on valittava varmenne, napsauta "Valitse", osoita tarvittava varmenne ja napsauta "Seuraava".

8. Seuraavassa vaiheessa näemme viimeisen ikkunan, jossa on lyhyt kuvaus tiedoista. Jos seuraavan kerran tiedostot allekirjoitetaan samassa järjestyksessä, voit tallentaa profiilin. Napsauta "Valmis".

9. Jos virheitä ei ole, järjestelmä näyttää onnistuneesta allekirjoituksesta kertovan viestin.

Yksi parhaillaan käynnissä olevista projekteista ratkaisi XML-dokumenttien eli SOAP-pakettien allekirjoittamisen (sähköisen allekirjoituksen käyttämisen) ongelman. Suositeltu muoto oli OASIS Standard 200401 X.509 Certificate Token -profiililla. Nämä asiakirjat kuvaavat www-consortium (W3C) XML Digital Signature (XMLDSig) -muodon käyttöä SOAP-sanomissa. XML-allekirjoitukset, kuten muun tyyppiset sähköiset allekirjoitukset, tukevat todennusta, tietojen eheyttä ja tietojen allekirjoittamisen kiistämättömyyttä.

Panen merkille useita XMLDSig-muodon ominaisuuksia:

1. Allekirjoituskohteena ei voi toimia koko XML-dokumentti, vaan vain osa siitä, ts. tietty solmu. OASIS-standardin 200401 mukaan allekirjoitettava objekti on runko (solmu Runko) SOAP-viestit.

2. Useat allekirjoittajat voivat allekirjoittaa XML-asiakirjan eri osia.

3. XML-allekirjoitus voi olla eri tasoilla suhteessa allekirjoitettavaan objektiin:

  • allekirjoitusrakenne voi sisältää URI(yhtenäinen resurssitunniste);
  • XML-allekirjoitus voi olla samalla tasolla kuin allekirjoitettava solmu;
  • XML-allekirjoitus voi olla allekirjoitettavan solmun sisällä;
  • Allekirjoitettava solmu voi sisältyä XML-allekirjoitusrakenteeseen.

4. Sähköisen allekirjoituksen oikeellisuuden tarkistamiseksi tarvitaan pääsy allekirjoitusobjektiin.

SOAP-kuoren rakenne

Yleensä viesti koostuu otsikosta ja tekstistä: Otsikko Ja Runko. Otsikko sisältää metatietoja ja Runko tiedot. XML-allekirjoitus sijoitetaan solmuun Otsikko.

Salausalgoritmit ja kanonisointi.

Käyttämämme ongelman ratkaisemiseksi GOST R 34.11-94- Venäjän salausstandardi hash-funktion laskelmiin ja GOST R 34.10-2001- sähköisen allekirjoituksen standardi.

XML-kokoonpanosääntöjen joustavuuden ansiosta sama dokumentin rakenne ja sama tieto voidaan esittää erilaisilla XML-dokumenteilla. Katsotaanpa kahta asiakirjaa:

Loogisesta näkökulmasta ne ovat samanarvoisia, eli niillä on sama XML-skeema. Mutta näiden listausten XML-tiedostot eivät sisällä samaa merkkijonoa, mikä johtaa erilaisiin tuloksiin esimerkiksi haetessa hash-arvoa.

Tällaisten ristiriitojen välttämiseksi otettiin käyttöön tiukat muotoilusäännöt ja vaatimukset XML-sanomien sisällölle. Prosessia, jossa XML-asiakirjat tuodaan yhtenäiseen (kanoniseen) muotoon, kutsutaan kanonisointi(englanniksi: Canonicalization). Esimerkkejä säännöistä voivat olla tietyn koodausmallin (UTF-8) käyttö, attribuuttiarvojen normalisointi, lainausmerkkien käyttö attribuuttiarvoissa, tietty attribuuttien ja nimiavaruusmäärittelyjen järjestys jne. XML-kanonisointia on useita tyyppejä, jotka eroavat sääntöjen koostumuksesta. Voit lukea lisää kanonisointiprosessista virallisesta W3C-spesifikaatiosta (venäjänkielisiä artikkeleita tästä aiheesta löytyy ja)

SIRCrypt-kirjasto

XML-allekirjoituksen toteuttamiseksi DIRECTUMissa kirjoitettiin COM-kirjasto, jossa on kuvattu 3 luokkaa: Hasher, Allekirjoittaja Ja XMLCanonicalizer saadakseen XML-dokumenttien hajautusarvon, ES-arvon ja kanonisoinnin.

Kirjasto vaatii Crypto PRO CSP(testattu versiolla Crypto PRO CSP 3.6.6497 KC2) Ja .NETTO(vähintään 2,0).

Kirjaston rekisteröinti tapahtuu suorittamalla seuraava komento:

> regasm.exe "polku tiedostoon dll" /codebase /tlb

Hasher-objekti hash-laskentaan GOST:n mukaan

Sisältää kenttiä Sisältö (kirjoita "merkkijono") ja HashValueAsBase64 (kirjoita "merkkijono"), sekä menetelmä hash-arvon laskentaan Hash(). Laskemiseksi on tarpeen määritellä Sisältö , kutsu menetelmää Hash(), minkä seurauksena kentällä HashValueAsBase64 hash-arvo kirjoitetaan Base64:ään.

Allekirjoitusobjekti ES-arvon saamiseksi GOST:n mukaan

Sisältää kenttiä Sisältö (kirjoita "string"), Säilön nimi (kirjoita "string"), CertificateAsPEM (kirjoita "string"), BESignatureValueAsBase64 (kirjoita "merkkijono"), menetelmä Merkki(). Objektin alustamisen jälkeen sinun on määritettävä Sisältö (allekirjoitustiedot), Säilön nimi (varmenteen yksityisen avaimen säilön nimi), kutsumenetelmä Merkki(). Siis kentällä CertificateAsPEM yksityistä avainta vastaava varmenne on Base64:ssä ja kenttä BESignatureValueAsBase64 allekirjoitusarvo Base64-merkkijonona.

XMLCanonicalizer-objekti XML-kanonisointia varten

Sisältää kenttiä XMLContent (kirjoita "string"), CanonicalXML (kirjoita "merkkijono"), menetelmä C14NEexc(). Kanonisen XML-lomakkeen saamiseksi sinun on määritettävä XMLContent , puhelu C14NEexc(), saat tuloksen kentältä CanonicalXML .

XML-allekirjoitusrakenne

Allekirjoituksen luominen näyttää tältä: ensin muodostuu saippuapakkauksen pohja, solmut Otsikko Ja Runko. Runko täytetään tiedoilla ja attribuutti lisätään wsu:ID="Body"- allekirjoitetun tiedon tunniste.

Rakenteen täyttäminen Turvallisuus tapahtuu seuraavassa järjestyksessä:

  1. Body-solmun hash-arvo otetaan kanonisessa muodossa ja sijoitetaan DigestValue-solmuun.
  2. Solmu SignedInfo alennettu kanoniseen muotoon, allekirjoitettu sähköisellä allekirjoituksella. Tulos Base64-merkkijonomuodossa menee solmuun SignatureValue.
  3. Allekirjoitukseen käytetyn varmenteen julkinen avain sijoitetaan solmuun BinarySecurityToken Base64-merkkijonomuodossa.

Tällä tavalla luodun ES:n tarkistamiseksi sinun on suoritettava kaikki vaiheet käänteisessä järjestyksessä, nimittäin:

  1. saada elementin kanoninen muoto SignedInfo.
  2. Tarkista edellisen vaiheen tuloksesta, onko solmun ES-arvo kelvollinen SignatureValue käyttämällä varmenteen julkista avainta. Tässä vaiheessa tarkistetaan vain sähköisen allekirjoituksen oikeellisuus, mikä ei takaa tietojen muuttumattomuutta.
  3. Jos sähköisen allekirjoituksen kelpoisuustarkastus onnistuu, verrataan solmun hajautusarvoa DigestValue ja datan sisältävän solmun tiiviste. Jos ne ovat eriarvoisia, allekirjoitetut tiedot on muutettu ja koko sähköinen allekirjoitus on virheellinen.

Käyttöesimerkki

Kehityspaketti ja kirjasto

Esimerkkejä XML-allekirjoituksesta ISBL:llä (skriptillä): dev.zip (5,95 kt)

Pysyvää käyttöä varten valmiin SOAP-kirjekuoren standardiallekirjoituksen suorittava koodi siirretään toimintoon SignSOAP().

Allekirjoitukseen käytetään nykyisen käyttäjän henkilökohtaisen varmennevaraston varmennetta.

Tämä osio tarjoaa ohjelman lataamisen XML Converter / XML Designer / XML Reports / Just Sign / XML Contact - Rosreestr.

Esimerkkejä asiakirjojen sähköisten versioiden luomisesta käyttämällä XML Constructor ohjelmat ja niiden painettuja analogeja käyttäen XML Reports -ohjelmat voi ladata osiosta. Suosittelemme myös katsomaan osaa, josta löydät erilaisia ​​ilmaisia ​​apuohjelmia, kirjastoja ja paljon muuta.

XML Converter -ohjelma määritetty muuttamaan XML-tiedostoja/Rosreestr-asiakirjoja, kuten maarekisteriotteita, alueen maarekisterisuunnitelmia muihin helppokäyttöisiin muotoihin, kuten MIF/MID, DXF, CSV, TXT, HTML.

XML Designer ohjelma on konfiguroitu luomaan sähköisiä XML-muotoisia versioita kiinteistötoimintojen asiakirjoista, kuten rajasuunnitelmat, tekniset suunnitelmat, kartta (suunnitelma) jne. sekä irtaimen omaisuuden panttiilmoitukset ja FATCA-lain mukaiset ilmoitukset.

XML Reports -ohjelma konfiguroitu muuntamaan kiinteistöjen sähköiset asiakirjat, kuten rajasuunnitelmat, tekniset suunnitelmat, kartta (suunnitelma) vastaaviksi painetuiksi (paperi-) vastineiksi.

Just Sign -ohjelma suunniteltu sähköisten digitaalisten allekirjoitusten (EDS) luomiseen ja tarkistamiseen.

XML-ohjelma Contact-Rosreestr on tarkoitettu vuorovaikutukseen Rosreestr-verkkopalvelun kanssa, ts. tonttien ja kiinteistöjen kiinteistörekisteröintihakemusten laatiminen, kiinteistörekisteritietopyynnöt, näiden hakemusten ja pyyntöjen tulosten saaminen.

Kaikissa ohjelmissa (paitsi Just Sign ja XML Contact-Rosreestr) on 30 päivää kestävä demotila, jonka avulla voit käyttää ohjelmien toimintoja rajoituksetta. Demojakson päätyttyä sinun on joko ostettava täysversiot ohjelmista tai lopetettava niiden käyttö. Simply Sign -ohjelma on ilmainen ohjelma, jonka käytölle ei ole rajoituksia. Contact-Rosreestr XML-ohjelma on beta-testauksessa ja on tällä hetkellä ilmainen käyttää.

TÄRKEÄ! Muuntaa ohjelman avulla XML-muunnin tai XML-konstruktori Suuret XML-tiedostot on ladattava ja asennettava ulkoinen XQuery-kyselyprosessori ja määritettävä se ohjelman asianmukaisessa kentässä ennen muuntamista. Tällä hetkellä tuetaan kahta vapaasti saatavilla olevaa kyselyprosessoria: AltovaXML 2010 (kehittäjä www.altova.com) ja Saxon-HE 9.5 (kehittäjä www.saxonica.com). Voit ladata ne valmistajan verkkosivustolta tai tältä sivustolta käyttämällä alla olevia linkkejä:

TÄRKEÄ! Ennen kuin alat työskennellä ohjelmien kanssa, sinun on luettava ohjeet. Tämä on erityisen tärkeää XML Constructor -ohjelmalle, koska ennen työtä on ymmärrettävä tämän ohjelman toimintaperiaate. Ohjeet sijaitsevat samassa kansiossa ohjelman suoritettavan tiedoston kanssa, eli XML Constructorille kansiossa “c:\ProgramFiles\XMLCON\XMLConstructor\XMLConstructor-help.rtf”. Voit kutsua ohjeet Windows-ohjelmien päävalikon pikakuvakkeen kautta, eli XML Designerille “Käynnistä->Ohjelmat->XML-suunnittelija->XML-suunnittelija - Ohjeet”. XML Designer -ohjelman ohjeet ovat saatavilla myös Ohje-valikosta.