Kuinka allekirjoittaa asiakirja digitaalisella allekirjoituksella. Ohjeet tiedostojen allekirjoittamiseen sähköisellä allekirjoituksella Kuinka allekirjoittaa xml-tiedosto sähköisellä allekirjoituksella

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 on nykyään käytössä monissa tietojärjestelmissä pääasiallisena tiedonvaihdon muotona. 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-asiakirjoja

ML on tehokas työkalu, jota käytetään usein tiedonvaihtoon Internetissä. 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 kirjoittamisen varmentamisen (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äyttöä koskevien vaatimusten mukaisesti 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ätietoa 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 hajautettua versiota käyttämällä ei ole mitään keinoa rekonstruoida 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 amerikkalainen versio) vaativat 240 askelta. 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 jollain muulla, raakaa voimaa tehokkaammalla menetelmällä.

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. Keskeiset 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-dokumenttien 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äärittää 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 digitaalisen allekirjoituksen algoritmi.

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 klassisen allekirjoitusprosessin välillä on joitain eroja. Tosiasia on, että XML-ilmentymän allekirjoitusprosessi alkaa kanonisoinnilla, eli tietorakenteen yksinkertaistamisella. Kuten jo mainittiin, tämä menettely 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 tarkistetaan 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 järjestämisen menetelmien 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 listassa 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 kaikki hyvin, mutta entä jos kuvattujen XML-tietosuojajärjestelmien toteuttaminen todella on tarpeen?

Huolimatta siitä, että W3C-standardit ilmestyivät melko äskettäin, jotkut yritykset ovat jo tänään 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öisen digitaalisen allekirjoituksen 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.

Edellytykset digitaalisen allekirjoituksen ja tavallisen allekirjoituksen vastaavuudelle

Laki määrittelee digitaalisen allekirjoituksen menettelyssä 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 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. Myös Art. 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 käsittelylle ElGamal-mallin perusteella. Allekirjoituksen väärentämisen mahdottomuus johtuu diskreetin logaritmin ongelman monimutkaisuudesta p-elementin kentässä tai suurelle alkuluvulle p annetun luvun x ja lukujen a, b määrittämisen monimutkaisuudesta 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 tutkijat tulivat lopulta siihen tulokseen, että El-Gamal-mallia oli mahdollista monimutkaistaa hieman ja siten ilman ylimääräisiä laskentakustannuksia lisätä digitaalisen allekirjoituksen väärentämisen monimutkaisuutta tuhansia kertoja. ElGamal-kaavion uusi versio käyttää elliptisten käyrien laitteistoa p-elementin äärellisessä kentässä, 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 täyttävät jonkin lisäehdon):

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

Itselleni pitkään kiireellisin kysymys oli, miten ja millä allekirjoitetaan asiakirjat ja XML-tiedostot sähköisellä tai digitaalisella allekirjoituksella. Tämä on hyvä, kun olet toimistossa ja kaikki dokumenttien ja XML-tiedostojen allekirjoitusohjelmat on asennettu työpaikallesi. Mutta työssäni tuli usein tilanteita, kun piti tehdä ja allekirjoittaa dokumentteja, XML-tiedostoja, ollessaan kaukana työpaikaltani, tai kuten aina, kiireesti ja nyt, kotona ollessani. On liian kallista ostaa ja asentaa ohjelmisto sähköiseen allekirjoitukseen digitaalisesti kotona tai kannettavalla tietokoneella ja kantaa sitä mukanasi ikuisesti. Sitten lähdin etsimään Internetistä vapaasti jaettavia ohjelmia, jotka mahdollistavat asiakirjojen ja XML-tiedostojen allekirjoittamisen sähköisellä digitaalisella allekirjoituksella - EDS. Juuri näitä ohjelmia, samoin kuin yhtä maksullista, tarkastelemme alla.

Rosreestrille lähetettäväksi, ja tämä on pakollista, kaikki asiakirjat on allekirjoitettava sähköisellä digitaalisella allekirjoituksella (sähköinen digitaalinen allekirjoitus), ja joskus sinun on tarkistettava oma tai jonkun muun digitaalinen allekirjoitus.

Katsotaanpa, miten ja millä ohjelmistolla voit allekirjoittaa asiakirjan tai XML-tiedoston sähköisellä digitaalisella allekirjoituksella. Yksi ohjelmista on GIS “Panorama” - “Map-2011” versio 11.10.4. Asiakirjojen allekirjoittaminen toimii myös rekisteröimättömässä versiossa. Asiakirjojen, tiedostojen allekirjoitusmenettely Luettelo ohjelmista, joiden avulla voit allekirjoittaa asiakirjoja, XML-tiedostoja, EDS-tiedostoja (sähköinen digitaalinen allekirjoitus) tiedonvaihtoa varten liittovaltion valtion rekisteröinti-, rekisteri- ja kartografiapalvelun, Rosreestrin, julkisten palveluiden portaalin kanssa. Internet EDS on seuraava: käynnistä "Map-2011" tai "Mini Card", paina "F12" avataksesi sovelluksen käynnistysvalikon. Valitse tehtävä avautuvassa ikkunassa sähköisiä asiakirjoja, Edelleen Sähköisen digitaalisen allekirjoituksen muodostaminen

Allekirjoitustiedosto: valitse allekirjoitettava tiedosto ja vastaavasti varmenteessa tarvittava varmenne. Siinä kaikki, asiakirjasi tai XML-tiedostosi on allekirjoitettu sähköisellä allekirjoituksella. Jos haluat tarkistaa olemassa olevan allekirjoituksen, valitse allekirjoitustiedosto (tiedosto, jonka tunniste on "sig"). GIS:n "" virallinen verkkosivusto.

Toinen asiakirjojen ja XML-tiedostojen allekirjoitusohjelma on CryptoLine. Ilmainen, täysin toimiva, voit allekirjoittaa ja salata asiakirjoja sekä tarkistaa digitaaliset allekirjoitukset. Voit ladata tämän ohjelman viralliselta verkkosivustolta tai ladata sen suoran linkin kautta tämän sivuston sivulta. Työskentely ohjelman kanssa on yksinkertaista ja kätevää. Valitse ja lisää allekirjoitettavat tiedostot ja valitse sitten varmenne, jolla haluat allekirjoittaa asiakirjat, XML-tiedostot ja allekirjoittaa asiakirjat. Ole varovainen - valitse vain yksi sertifikaatti allekirjoitukseen!!! Muussa tapauksessa asiakirjat allekirjoitetaan täsmälleen niin monella varmenteella kuin lisäät ohjelmaan. Käyttöohjeet ovat ohjelma-arkistossa. Annan alla esimerkin toimituksen allekirjoittamisesta Rossreestr.

Kun olet asentanut ohjelman ja käynnistänyt sen, lisää ohjelmaan tiedostot, jotka täytyy allekirjoittaa. "Toiminnot" -välilehti, "Lisää" -painike.

Jos haluat allekirjoittaa kaikki tiedostot kerralla, sinun on valittava ne kaikki - "Vaihto + hiiren oikea painike" tai "Vaihto + nuoli alas". Napsauta sitten ”Allekirjoita”, joko lisää varmenne avautuvassa ikkunassa, jätä aiemmin valittu varmenne tai vaihda se toiseen. Jälleen kerran muistan, että Rosreestrille lähetettäessä tässä ikkunassa ei saa olla enempää kuin yksi varmenne! Aseta myös kaikki asetukset kuvan osoittamalla tavalla:

Allekirjoitetaan. Allekirjoituksen jälkeen tiedostot, joiden tunniste on "sigO", lisätään luetteloosi. Tämä on tiedoston allekirjoitus. Jäljelle jää vain allekirjoitustiedostojen tai kaikkien tiedostojen lataaminen (harkintasi mukaan). Valitse, mitä haluat ladata, tässä tapauksessa kolme allekirjoitustiedostoa, ja napsauta "Lataa". Siinä näyttää olevan kaikki. Mutta kuten jokaisessa ilmaisessa juustossa, tässä on pieni vivahde. Rosreestr vannoo tiedostopäätettä "sigO", joten sinun on nimettävä laajennus "sigO":ksi "sig" Explorerissa tai missä tahansa tiedostonhallinnassa.

Rosreestrin verkkosivusto ei ole vahvistanut tämän ohjelman allekirjoitusta. Allekirjoituksen varmennus suoritettiin ohjelmistotuotteilla, jotka ovat vuorovaikutuksessa liittovaltion valtion rekisteröinti-, kiinteistö- ja kartografiapalvelun valtion palveluportaalin kanssa. Kaikki kolme ohjelmaa, jotka tarkastivat tämän ohjelman suorittaman allekirjoituksen, antoivat positiivisen tuloksen. Varmennus suoritettiin tässä mainituilla ohjelmilla, GIS “Panorama”, Crypto ARM ja Polygon-Line Plan -ohjelma. Allekirjoituksen varmentaa myös nettisivuilla oleva digitaalisen allekirjoituksen todennuspalvelu.

Toinen asiakirjojen ja XML-tiedostojen allekirjoitusohjelma on . Voit ladata sen ohjelman viralliselta verkkosivustolta. Itse ohjelma on varsin toimiva ja houkutteleva, kustannukset eivät ole korkeat, vain 1200 ruplaa yhdelle työpaikalle. Tekniikka on olemassa. tukea ja myös laajaa apua. Täydellisimmät ja ajantasaisimmat tiedot ovat saatavilla osoitteessa. Lue myös EDS:stä muistiinpanosta

Jalo päämäärä jalostaa toimintaa tämän päämäärän nimissä.K. Liebknecht

Artikkelissa kuvataan asiakirjojen (pdf, word, excel, xml, arkisto) allekirjoittaminen sähköisellä allekirjoituksella. Pohditaan, mitä ohjelmistoja tarvitaan asiakirjojen allekirjoittamiseen sähköisellä allekirjoituksella, niiden edut ja haitat.

Kuinka allekirjoittaa tiedosto digitaalisella allekirjoituksella

Voit allekirjoittaa tiedoston sähköisellä allekirjoituksella kahdella ohjelmalla:

  1. ViPNet CryptoFile;
  2. CryptoARM.

VIPnet CryptoFile

Tämän ohjelman avulla voit allekirjoittaa minkä tahansa tiedoston, esimerkiksi: doc, xls, jpg, xml, txt, allekirjoittaa digitaalisen allekirjoituksen ilmoituksen, arkisto. Allekirjoituksen jälkeen tiedoston lopussa on .sig

Plussat: Ilmainen ohjelma, joka vaatii rekisteröitymisen verkkosivuilla (saat avaimen sähköpostitse). Tiedostoa sähköisellä allekirjoituksella allekirjoitettaessa on myös mahdollista käyttää tiedostoon liitettyä allekirjoitusta, ts. tiedosto ja avain sijaitsevat samassa tiedostossa tai erillään tiedostosta.

Miinukset: Allekirjoittaessasi voit lisätä vain yhden sähköisen allekirjoituksen;

Voit allekirjoittaa EDS-asiakirjan napsauttamalla tiedostoa hiiren kakkospainikkeella ja valitsemalla valikosta ViPNet CryptoFile -> Kirjaudu sisään.

CryptoARM

Miinukset: maksetut ohjelmistot;

Plussat: voit lisätä useita digitaalisia allekirjoituksia allekirjoittaessasi tiedostoa.

Voit allekirjoittaa EDS-asiakirjan napsauttamalla tiedostoa hiiren oikealla painikkeella ja valitsemalla valikosta CryptoARM -> Allekirjoita.

Kuinka allekirjoittaa pdf digitaalisella allekirjoituksella

Jos haluat allekirjoittaa asiakirjan esimerkiksi verovirastolle, lue yllä oleva ohje "Tiedoston allekirjoittaminen sähköisellä allekirjoituksella", jos tarvitset allekirjoituksen, jossa on näkyvä osa asiakirjassa, niin lue alla olevat ohjeet.

Jotta voit allekirjoittaa pdf-dokumentin digitaalisella allekirjoituksella, tarvitset ohjelmiston.

Plussat: Sähköinen allekirjoitus näkyy asiakirjassa.

Miinukset: Ohjelman hinta (90 päivää ilmaiseksi.)

Sinulla on myös oltava Acrobat Reader DC tai Adobe Acrobat Pro asennettuna.

Ennen kuin lisäät sähköisen allekirjoituksen pdf-dokumenttiin, sinun on määritettävä Acrobat Reader DC toimimaan CryptoPro PDF -ohjelman kanssa. Paina Acrobat Reader DC:ssä Ctrl+K tai siirry Muokkaa-valikkoon -> Asetukset, valitse luokista. Allekirjoitukset -> missä "Luo ja rekisteröinti" klikkaa Lisätietoja, katso kuva:

Valitse "Oletusallekirjoitusmenetelmä" -kohdasta CryptoPro PDF kuvan mukaisesti:

Allekirjoitamme pdf-dokumentin digitaalisella allekirjoituksella

Avaa pdf-dokumentti -> klikkaa oikeasta paneelista täytä ja allekirjoita

Napsauta Acrobat Readerin yläpaneelissa "Täytä ja allekirjoita" -> "Lisätyökalut".

Sinun on valittava Sertifikaatit-työkalu lisätäksesi paneeliin.

Kun olet napsauttanut Sertifikaatit, "Apply Digital Signature" -työkalu tulee näkyviin paneeliin, napsauta sitä ja valitse sitten kohdistimella alue, johon haluat laittaa digitaalisen allekirjoituksen. Näkyviin tulee ikkuna, jossa voit valita varmenteen.

Valitse varmenne -> OK -> Allekirjoita.

Digitaalinen allekirjoitus pdf-muodossa näyttää tältä:



Pdf-dokumenttimme on allekirjoitettu, samalla tavalla voit laittaa useita allekirjoituksia yhteen pdf-tiedostoon.

Word-asiakirjan allekirjoittaminen digitaalisella allekirjoituksella

Jos joudut allekirjoittamaan asiakirjan, jossa on näkyvä osa allekirjoituksesta asiakirjassa, niin lue alla olevat ohjeet, mutta jos sinun on allekirjoitettava word-asiakirja ja lähetettävä se esimerkiksi verotoimistoon, niin yllä olevat ohjeet ” Tiedoston allekirjoittaminen sähköisellä allekirjoituksella” sopii sinulle.

Jotta voimme allekirjoittaa Word-asiakirjan sähköisellä allekirjoituksella, tarvitsemme CryptoPro Office Signature -ohjelman.

— maksullinen ohjelmisto, jota käytetään Wort- ja Excel-asiakirjojen allekirjoittamiseen.

Asennuksen jälkeen voit heti aloittaa Word-asiakirjojen allekirjoittamisen sähköisellä allekirjoituksella tehdäksesi tämän avaamalla Word-asiakirjan, joka on allekirjoitettava sähköisellä allekirjoituksella -> valikko Rate -> Teksti-lohkossa, napsauta Allekirjoitusriviä ja valitse Allekirjoitus; Line (CRYPTO-PRO).

Oletetaan, että sinun täytyy lisätä kaksi sähköistä allekirjoitusta Word-asiakirjaan tehdäksesi tämän, suoritamme yllä olevan toiminnon kahdesti ilman allekirjoitusta. Koska yhdellä allekirjoituksella allekirjoittamisen jälkeen asiakirjasta tulee ei-muokattava. Siksi lisäämme kaksi kenttää sähköiselle allekirjoitukselle.

Tämän jälkeen voit allekirjoittaa napsauttamalla yhtä allekirjoitusta, valita sähköisen allekirjoituksen ja allekirjoittaa, sitten suorittaa samat toimenpiteet toisella allekirjoituksella.

Digitaalisella allekirjoituksella allekirjoitettu Word-asiakirja näyttää tältä:


Excel-asiakirjan allekirjoittaminen digitaalisella allekirjoituksella

En toista itseäni, jotta voit allekirjoittaa Excel-asiakirjan sähköisellä digitaalisella allekirjoituksella, sinun on tehtävä kaikki samoin kuin Wordille, katso juuri yllä.

Huomio: Jos joudut allekirjoittamaan excel-dokumentin, jossa on näkyvä osa allekirjoituksesta, niin lue ohjeet tarkemmin “Word-dokumentin allekirjoittaminen sähköisellä allekirjoituksella”, mutta jos sinun on allekirjoitettava excel-dokumentti ja lähetettävä se esimerkiksi verotoimistoon, niin sivun alussa olevat "Kuinka" ohjeet sopivat tiedoston allekirjoittamiseen digitaalisella allekirjoituksella.

Kuinka allekirjoittaa sopimus digitaalisella allekirjoituksella

Riippuen siitä, missä muodossa sopimus on luotu, lue yllä oleva artikkeli Word- tai PDF-dokumentin allekirjoittaminen.

Kuinka allekirjoittaa valtakirja sähköisellä allekirjoituksella

Lue yllä oleva artikkeli ja valitse sopiva vaihtoehto valtakirjan allekirjoittamiseen sähköisellä allekirjoituksella.

Kysymyksiä:

Saako allekirjoitettua digitaalista allekirjoitustiedostoa muokata?

— Ei, allekirjoituksen jälkeen tiedostoa ei voi muokata, jos esimerkiksi yrität muokata Wordissa allekirjoitettua tekstiä, kaikki allekirjoitukset poistetaan.

Miltä digitaalisella allekirjoituksella allekirjoitettu asiakirja näyttää?

— Kaikki riippuu siitä, millä tavalla allekirjoitit asiakirjan. Jos allekirjoitit asiakirjan alussa olevan ohjeen mukaisesti, tiedoston tunniste on .sig. Myös tiedosto ja digitaalinen allekirjoitus voivat olla erillinen tiedosto, se riippuu tiedoston allekirjoitustavasta.

Jos allekirjoitit pdf-, word- tai excel-asiakirjan erikoisohjelmilla, niitä ei ole mahdollista erottaa. Sinun on avattava asiakirja ja tarkistettava, onko siinä allekirjoitusta vai ei.

Yksi parhaillaan käynnissä olevista projekteista ratkaisi XML-dokumenttien eli SOAP-pakettien allekirjoittamisen (sähköisen allekirjoituksen käyttämisen). 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 eroavaisuuksien välttämiseksi otettiin käyttöön tiukat muotoilusäännöt ja vaatimukset XML-sanomien sisällölle. XML-dokumenttien saattamista 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"), ContainerName (kirjoita "string"), CertificateAsPEM (kirjoita "string"), BESignatureValueAsBase64 (kirjoita "merkkijono"), menetelmä Merkki(). Objektin alustamisen jälkeen sinun on määritettävä Sisältö (allekirjoitustiedot), ContainerName (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 tuloksen avulla, 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.

Kiinteistöjen valtion rekisteröinnistä annetun lain 218-FZ mukaan sähköiset XML-asiakirjat ja asiakirjojen skannatut kuvat on allekirjoitettava parannettu hyväksytty sähköinen allekirjoitus. Kaikki "Polygon"-sarjan ohjelmat, "Polygon Pro" ja "Signature Pro" -ohjelmat on allekirjoitettu juuri sellaisella allekirjoituksella.

Allekirjoitusta varten:

    Saada allekirjoitusavain(sertifikaatti) sertifiointikeskuksessa. Luettelo akkreditoiduista sertifiointikeskuksista on julkaistu Rosreestrin verkkosivustolla (Luettelo sertifiointikeskuksista). Voit hankkia sertifikaatin sertifiointikeskuksestamme, Software Center LLC.

    Osta ja asenna ohjelma tietokoneellesi allekirjoituksen ohella CryptoPro CSP(se sisältää vaaditut venäläiset allekirjoitusstandardit), joita voi myös ostaa Certification Center LLC:ltä "Program Center".

Muita allekirjoitusohjelmia ei vaadita: CryptoARM (CryptoARM:n allekirjoitusominaisuudet ovat samankaltaisia ​​kuin "Polygon", "Polygon Pro" -sarjan ohjelmissa ja "Signature Pro" -ohjelmassa).

Polygon Pro -alustan ohjelmistomoduulit

Allekirjoita sähköinen asiakirja Polygon Pro -ohjelmassa

Voit allekirjoittaa XML-tiedoston seuraavasti:

  • Luo sähköinen asiakirja ilman virheitä.


Voit allekirjoittaa XML-tiedoston heti " XML-katseluohjelma", napsauta työkalupalkin painiketta - "Allekirjoita XML-tiedosto".

  • Napsautuksen jälkeen avautuu ikkuna, jossa on luettelo asennetuista varmenteista. Valitse haluamasi ja napsauta "OK".

  • Ohjelma allekirjoittaa pääasiakirjan ja näyttää onnistumisviestin.

Allekirjoitustiedosto, jolla on sama nimi ja tunniste *, luodaan samaan kansioon kuin allekirjoitettu tiedosto. .sig.

Allekirjoita tiedostoryhmä Polygon Pro -ohjelmassa

Ohjelmalla on mahdollisuus allekirjoittaa tiedostoryhmä samanaikaisesti. Voit tehdä tämän seuraavasti:

  • Ohjelmistomoduulin nauhassa välilehdellä "Koti" paina -painiketta ja valitse alivalikosta. Ikkuna avautuu, jossa on valikoima projektitiedostoja (oletusarvoisesti kaikki projektitiedostot on valittu).
  • Jos luettelo sisältää tiedostoja, joita ei tarvitse allekirjoittaa, poista niiden valinta.

  • Napsauta painiketta "Merkki". Näyttöön tulee ikkuna, jossa on luettelo asennetuista varmenteista. Valitse haluamasi ja napsauta "OK".
  • Ohjelma allekirjoittaa kaikki asiakirjat ja näyttää onnistumisviestin.

    Jos allekirjoituksen aikana tapahtuu virheitä, näyttöön tulee varmistusloki, jossa on varoituksia ja/tai virheitä. Oikean allekirjoituksen saamiseksi virheet on korjattava.

    Allekirjoita tiedosto Polygon Pro -alustan ohjelmistomoduuleissa

    Ohjelmalla on kyky allekirjoittaa täysin mikä tahansa tiedosto.

      Näyttöön tulee ikkuna, jossa on luettelo asennetuista varmenteista. Valitse haluamasi ja napsauta " OK».

    • Ohjelma allekirjoittaa asiakirjat ja näyttää onnistumisviestin.

    Allekirjoitetun tiedoston kanssa samaan kansioon luodaan allekirjoitustiedosto samalla nimellä ja tunnisteella *.sig.

    Tarkista sähköinen allekirjoitus Polygon Pro -ohjelmassa

    Jos sait allekirjoitetun tiedoston ulkopuolelta ja haluat tarkistaa, onko sitä muutettu, tai vain tarkistaa, että tiedoston allekirjoitus on luotu oikein, toimi seuraavasti:

    • Ohjelmistomoduulin nauhalla välilehdellä " Koti"painikkeen alivalikossa" Allekirjoita kaikki» klikkaa painiketta « Tarkistaa…».

    • Valitse tiedosto, joka sisältää allekirjoituksen (tunnisteella *.sig), joka on vahvistettava, tai allekirjoitettu tiedosto.

    Jos nämä kaksi tiedostoa ovat eri kansioissa, ohjelma näyttää varoitusikkunan. Napsauta painiketta Toistaa" ja valitse lähdetiedosto.

    • Avautuu pöytäkirja, jossa on tietoa siitä, onko asiakirja allekirjoitettu oikein, kuka ja milloin.

    Ohjelma "Signature Pro"

    Kehitettiin ohjelma kätevään vuorovaikutukseen varmenteen myöntäjän kanssa, digitaalisten sertifikaattien ja yksityisten avainten hallintaan sekä eri tiedostojen allekirjoittamiseen sähköisellä allekirjoituksella.

    Kuinka allekirjoittaa tiedosto sähköisellä digitaalisella allekirjoituksella?

    Nämä ohjeet ovat esimerkillisiä. Tietyt vaiheet voivat riippua tietokoneeseen asennetusta ohjelmistosta. Osa ohjeista valmistui helmikuussa 2012, mutta ohjelmamme tarjoavat kätevämmän vaihtoehdon sähköisten asiakirjatiedostojen allekirjoittamiseen parannettu hyväksytty sähköinen allekirjoitus.

    Sähköisten asiakirjatiedostojen allekirjoittaminen: rajasuunnitelma, karttasuunnitelma, tekninen suunnitelma Sähköisellä allekirjoituksella sinun on varmistettava asennettujen ohjelmien olemassaolo:

      kryptopalveluntarjoaja "CryptoPro CSP";

      "Crypto ARM" - tämä ohjelma on tarpeen vain silloin, kun et käytä "Monikulmio"-sarjan ohjelmia, tämä ohjelma on allekirjoituksen suhteen identtinen "Monikulmio"-sarjan ohjelmien kanssa, joten sitä ei tarvita; tiedostojen allekirjoittaminen "Polygon"-sarjan ohjelmilla, katso ohjeiden edellinen sivu; Voit allekirjoittaa sekä ”Polygon”-sarjan ohjelmilla että CryptoARM-ohjelmalla, jos uskot sen olevan kätevämpää kuin ”Polygon”-sarjan ohjelmien olemassa olevien ominaisuuksien käyttäminen.;

    Jokainen tiedosto (XML, painetun asiakirjan skannaus ja hakemustiedostot) on allekirjoitettava, koska kiinteistörekisteriviranomainen hyväksyy vain tiedostoparit: alkuperäisen tiedoston ja sen allekirjoitustiedoston. Jos haluat allekirjoittaa tiedoston, sinun on valittava se Explorer-ikkunassa ja napsauta hiiren kakkospainikkeella (RMB), kontekstivalikko tulee näkyviin, jossa sinun tulee valita "CryptoARM" ja sitten " Merkki…».



    Varmista sitten, että tiedostonimi on oikea



    Tärkeä! aseta kytkin asentoon " DER-koodaus", määritä tulostetiedostojen kansio harkintasi mukaan. Painaa nappia " Edelleen" Määritä seuraavassa ikkunassa allekirjoitusparametrit


    Tässä ikkunassa tärkeintä on rastita " Tallenna allekirjoitus erilliseen tiedostoon" Napsauta painiketta Edelleen" Napsauta seuraavassa ikkunassa -painiketta Valita»


    varmenteen valintaikkuna avautuu


    valitse siinä avaimesi varmenne (katso omistajan nimen mukaan). Kun olet valinnut, napsauta painiketta OK"ja" Edelleen" Napsauta viimeisessä ikkunassa ennen asiakirjan allekirjoittamista " Valmis».

    Tärkeä! Jokaiselle tiedostolle on luotava allekirjoitustiedosto, koska vain pari hyväksytään: alkuperäinen tiedosto (xml tai muu) + allekirjoitus sille (sig-tiedosto).