Si të nënshkruani një dokument duke përdorur nënshkrimin dixhital. Udhëzime për nënshkrimin e skedarëve me nënshkrim elektronik Si të nënshkruani një skedar xml me një nënshkrim elektronik

ML, ose Extensible Markup Language, po bëhet tani mënyra standarde për të transportuar informacion në Ueb (dhe më gjerë). Për më tepër, gjithnjë e më shumë shtesa po shfaqen që përdorin sintaksë XML (aplikacione XML). Për shembull, këto përfshijnë protokollin e thjeshtuar të aksesit të objektit SOAP (Simple Object Access Protocol), në të cilin XML vepron si një mjet universal i përfaqësimit të parametrave për thirrjen e procedurave në distancë RPC (Remote Procedure Call). Një shembull tjetër i një shtojce është korniza RDF (Resource Description Framework). Ju mund t'i hidhni një sy Konsorciumit World Wide Web (W3C), i cili zhvillon standarde në këtë fushë (http://www.w3.org/) dhe të shihni se XML po merr vërtet vëmendje të shtuar.

Le të kujtojmë se qëllimi kryesor i XML është të përshkruajë strukturën dhe semantikën e një dokumenti. Avantazhi kryesor i XML në krahasim me formatet e tjera të dokumenteve elektronike është se ai ndan përshkrimin e paraqitjes së jashtme të një dokumenti nga struktura e dokumentit dhe përmbajtja e tij. XML është një gjuhë fleksibël që mund të përdoret për qëllime të ndryshme dhe mund të ndërlidhet me shumë sisteme dhe baza të të dhënave. Kështu, sot XML përdoret në shumë sisteme informacioni si formati kryesor i shkëmbimit të të dhënave. Për më tepër, prodhuesit e sistemeve të menaxhimit të bazës së të dhënave kanë ndërmarrë një hap të fuqishëm drejt XML. Për shembull, Oracle ka lëshuar XSU (XML-SQL Utility), i cili është një shtesë për JDBC që ju lejon të ruani dhe të merrni të dhëna XML në një bazë të dhënash (http://otn.oracle.com/tech/xml/ xdk_java/content .html). XSU është një hierarki e klasave Java e krijuar për të transformuar të dhënat nga tabelat dhe pamjet e bazës së të dhënave objekt-relacionale në formatin XML, futjen e të dhënave nga dokumentet XML në tabela dhe pamje, dhe operacione të tjera të dobishme.

Nevoja për të mbrojtur dokumentet XML

ML është një mjet i fuqishëm që përdoret shpesh për të shkëmbyer të dhëna përmes Internetit. Por, për fat të keq, ai vetë nuk ofron mbrojtjen e nevojshme për të dhënat që "transporton". Me fjalë të tjera, ka probleme serioze sigurie kur përdorni formatin XML (si, në të vërtetë, kur përdorni formate të tjera).

XML mund të përdoret lehtësisht për të transmetuar mesazhe transaksionesh ndërmjet një banke dhe një ATM, informacione konfidenciale ose gjysmë konfidenciale për individë, informacione rreth transaksioneve elektronike, ose thjesht për të transmetuar dokumente pronësore në këtë format. Por në të njëjtën kohë, është e nevojshme të sigurohet mbrojtja e informacionit nga shtrembërimet e pavullnetshme ose të qëllimshme si nga ana e përdoruesve të sistemeve të informacionit, ashtu edhe kur transmetohen nëpërmjet kanaleve të komunikimit. Mbrojtja duhet të bazohet në funksionet e mëposhtme:

  • vërtetimi i palëve ndërvepruese;
  • konfirmimi i autenticitetit dhe integritetit të informacionit;
  • mbyllja kriptografike e të dhënave të transmetuara.

Për të siguruar këtë mbrojtje informacioni, këshillohet përdorimi i nënshkrimit elektronik dixhital (EDS) dhe metodave të enkriptimit të të dhënave. Për më tepër, si rregull, nënshkrimi dixhital siguron vërtetimin, konfirmimin e autenticitetit dhe integritetit, dhe mbyllja e të dhënave arrihet me kriptim.

Informacione të përgjithshme rreth nënshkrimeve dixhitale elektronike

EDS dhe mundësia e falsifikimit të tij

Nënshkrimi dixhital elektronik është të dhënat e shtuara në bllokun origjinal të informacionit (dokumenti), i marrë si rezultat i transformimit të tij kriptografik (në varësi të çelësit sekret dhe bllokut origjinal të informacionit ose dokumentit). EDS siguron integritetin e mesazheve (dokumenteve) me identifikimin e garantuar të autorit të tij (personit që ka nënshkruar dokumentin), më së shpeshti të transmetuara përmes kanaleve publike të telekomunikacionit të pambrojtura.

Verifikimi i nënshkrimit elektronik dixhital të një blloku informacioni kryhet me transformim kriptografik të nënshkrimit dixhital duke përdorur çelësin publik që korrespondon me çelësin sekret që mori pjesë në procesin e instalimit të nënshkrimit dixhital.

Pamundësia e falsifikimit të një nënshkrimi elektronik dixhital arrihet duke përdorur një sasi shumë të madhe llogaritjesh matematikore (për shembull, pamundësia e falsifikimit të një nënshkrimi mund të jetë për shkak të kompleksitetit të zgjidhjes së problemit të logaritmit diskret në një fushë të elementeve p El-Gamal skema e nënshkrimit). Vendosja e një nënshkrimi në një dokument nuk e ndryshon vetë dokumentin, por vetëm bën të mundur verifikimin e origjinalitetit dhe autorësisë së informacionit të marrë (d.m.th., një bllok i të dhënave i shtohet vetë dokumentit ose veçmas prej tij - nënshkrimi dixhital i këtë dokument).

Autoriteti i Certifikimit

Më sipër përmendëm termat "çelës privat" dhe "çelës publik". Nga erdhën këta çelësa? Ato formohen nga një autoritet certifikues - një strukturë (organizatë) e caktuar që menaxhon certifikatat. Një certifikatë e çelësit publik/privat përfaqëson grupin e mëposhtëm të të dhënave:

  • emrin e një subjekti ose objekti të sistemit që e identifikon atë në mënyrë unike në sistem;
  • çelësi publik/privat i një subjekti ose objekti të sistemit;
  • atributet shtesë të përcaktuara nga kërkesat për përdorimin e certifikatës në sistem;
  • nënshkrimi elektronik dixhital i botuesit (autoriteti certifikues), që vërteton tërësinë e këtyre të dhënave.

Kështu, për shembull, një certifikatë e çelësit privat përmban vetë çelësin privat dhe informacion shtesë rreth tij.

Për çdo përdorues të regjistruar të sistemit të informacionit, qendra e certifikimit (CA) gjeneron dy certifikata: një certifikatë çelësi privat dhe një certifikatë çelësi publik. Në këtë rast, SO e parë i lëshohet personalisht përdoruesit të regjistruar (për shembull, në një floppy disk) dhe askujt tjetër - kjo është "nënshkrimi". Certifikata e dytë, e hapur, publikohet nga AK në një depo publike në mënyrë që të gjithë të interesuarit ta gjejnë lehtësisht.

Gjenerimi dhe verifikimi i nënshkrimit dixhital

Dërguesi i informacionit, duke përdorur një çelës sekret dhe një algoritëm asimetrik (algoritmi i nënshkrimit dixhital) të para-përzgjedhur me marrëveshje ndërmjet abonentëve, kodon informacionin e transmetuar, të paraqitur në formë dixhitale, dhe në këtë mënyrë merr një nënshkrim dixhital të të dhënave. Më pas, dërguesi i informacionit i dërgon marrësit informacionin e pakriptuar dhe nënshkrimin dixhital të marrë në mënyrën e përshkruar më sipër nëpërmjet një kanali të hapur komunikimi.

Marrësi i mesazhit, duke përdorur një çelës publik (i cili është i disponueshëm publikisht) dhe një algoritëm nënshkrimi dixhital të zgjedhur me marrëveshje midis pajtimtarëve, deklasifikon nënshkrimin dixhital. Më pas, ai krahason informacionin e pakriptuar që mori dhe informacionin e marrë gjatë deshifrimit të nënshkrimit dixhital. Nëse nënshkrimi dixhital nuk është falsifikuar dhe informacioni i hapur i transmetuar nuk është i shtrembëruar, atëherë këto dy informacione duhet të përputhen plotësisht. Nëse nënshkrimi është i falsifikuar, atëherë informacioni i hapur i marrë dhe informacioni i marrë gjatë deshifrimit do të ndryshojnë ndjeshëm (Fig. 1).

Funksionet hash

Në skemën e mësipërme të ndërveprimit midis dërguesit dhe marrësit, mungon një operacion. Ajo shoqërohet me fazën e kriptimit të të dhënave, gjatë së cilës formohet një nënshkrim elektronik dixhital. Nëse thjesht gjenerojmë një nënshkrim dixhital, atëherë ai do të dalë (në varësi të algoritmit), si rregull, përafërsisht të njëjtën gjatësi si blloku origjinal i të dhënave, dhe do të duhet të transmetojmë një mesazh me gjatësi të dyfishtë në rrjet. Natyrisht, kjo do të ndikonte negativisht në të gjithë funksionimin e sistemit. Prandaj, përpara se të gjenerohet një nënshkrim dixhital, të dhënat origjinale përpunohen duke përdorur një funksion hash, dhe kështu nënshkrimi bëhet kompakt. Natyrisht, për të marrë rezultatin e saktë, marrësi duhet të kryejë të njëjtin transformim në bllokun e të dhënave të marra.

Funksioni hash i përdorur duhet të jetë në gjendje të konvertojë një mesazh të çdo gjatësie në një sekuencë binare me gjatësi fikse. Përveç kësaj, ai duhet të plotësojë kërkesat e mëposhtme:

  • mesazhi pas aplikimit të funksionit hash duhet të varet nga çdo bit i mesazhit origjinal dhe nga renditja e tyre;
  • Duke përdorur një version hash të një mesazhi, nuk ka asnjë mënyrë për të rindërtuar vetë mesazhin.

Kuptimi i enkriptimit

Kriptimi i të dhënave dhe ndryshimi i tij nga nënshkrimi dixhital

Kriptimi i informacionit është një transformim matematik (kriptografik) një-për-një, në varësi të çelësit (parametri i transformimit sekret), i cili përputhet me një bllok informacioni të hapur, të paraqitur në disa kodime dixhitale, me një bllok informacioni të koduar, të paraqitur edhe në dixhital. kodimi. Enkriptimi kombinon dy procese: enkriptimin dhe deshifrimin e informacionit (Fig. 2).

Dallimi themelor midis nënshkrimit dixhital dhe metodave të kriptimit (tani po shqyrtojmë algoritme asimetrike, në të cilat përdoren çelësa të ndryshëm, por të lidhur matematikisht për kriptim dhe deshifrim) është se kur kriptohet, përdoret çelësi publik i marrësit dhe kur deshifrohet një çelës privat. , ndërsa në Algoritmi i nënshkrimit dixhital kërkon çelësin sekret të autorit për të nënshkruar një mesazh dhe çelësin publik të autorit të mesazhit për të verifikuar nënshkrimin dixhital.

Thyerje

Teorikisht, çdo algoritëm i enkriptimit që përdor një çelës mund të prishet duke kërkuar nëpër të gjitha vlerat kryesore. Nëse zgjidhet çelësi, fuqia e kërkuar e kompjuterit rritet në mënyrë eksponenciale me gjatësinë e çelësit. Një çelës 32-bit kërkon 232 (rreth 109) hapa. Kjo detyrë mund të bëhet nga çdo amator dhe mund të zgjidhet në një kompjuter shtëpiak. Sistemet me një çelës 40-bit (për shembull, versioni amerikan i eksportuar i algoritmit RC4) kërkojnë 240 hapa të tillë fuqie kompjuterike në shumicën e kompanive të vogla. Sistemet me çelësa 56-bit (DES) kërkojnë përpjekje të konsiderueshme për t'u hapur, por ato mund të hapen lehtësisht duke përdorur pajisje speciale. Kostoja e pajisjeve të tilla është e konsiderueshme, por është e përballueshme për mafian, kompanitë e mëdha dhe qeveritë. Çelësat me gjatësi 64 bit aktualisht mund të hapen nga shtetet e mëdha dhe në vitet e ardhshme do të jenë të disponueshëm për hapje nga organizata kriminale, kompani të mëdha dhe shtete të vogla. Çelësat 80-bit mund të bëhen të pambrojtur në të ardhmen. Çelësat me gjatësi 128 bit ka të ngjarë të mbeten të pathyeshëm nga forca brutale për të ardhmen e parashikueshme. Mund të përdoren gjithashtu çelësa më të gjatë.

Sidoqoftë, gjatësia e çelësit nuk është gjithçka. Shumë shifra mund të thyhen pa provuar të gjitha kombinimet e mundshme, por duke përdorur një algoritëm të veçantë (për shembull, me kompleksitet polinomial). Në përgjithësi, është shumë e vështirë të dalësh me një shifër që nuk mund të hapet duke përdorur një metodë tjetër, më efektive se forca brutale.

Vini re se një sistem kriptografik është po aq i fortë sa lidhja e tij më e dobët. Asnjë aspekt i dizajnit të sistemit nuk duhet të anashkalohet, nga zgjedhja e algoritmit deri te politikat e përdorimit dhe shpërndarjes së çelësave.

Nënshkrimi elektronik dixhital i dokumenteve XML

Ata që punojnë me XML e kanë kuptuar prej kohësh rëndësinë e të pasurit kontroll mbi të dhënat e transferuara dhe të përfaqësuara në XML. Kërkesat kryesore për të dhënat e transmetuara janë vërtetimi i palëve ndërvepruese dhe konfirmimi i autenticitetit dhe integritetit të informacionit në dokumentin XML. Probleme të tilla zgjidhen me nënshkrimin dixhital të dokumenteve XML.

Specifikimet për nënshkrimin dixhital XML nga W3C

W3C aktualisht është duke zhvilluar specifikimet e sintaksës dhe përpunimit të nënshkrimit XML dhe dokumente të tjera të lidhura. Tani për tani ai ka statusin e një rekomandimi (http://www.w3.org/TR/xmldsig-core/). Ky dokument parashikon nënshkrimin e të gjithë dokumentit XML dhe një pjese të tij. Për ta bërë unik procesin e nënshkrimit XML, përcaktohet koncepti i një paraqitjeje kanonike të të dhënave XML. Për shembull, në një dokument XML, etiketat që janë në të njëjtin nivel në pemën e hierarkisë mund të përzihen së bashku, duke krijuar kështu paqartësi për procesin e nënshkrimit. Përfaqësimi kanonik i XML është një lloj renditjeje (ose më mirë, reduktimi në formën më të thjeshtë) që nuk lejon liri të tilla. Metodat dhe rregullat e kanonikizimit të XML përshkruhen në një dokument të veçantë, "Canonical XML" (http://www.w3.org/TR/xml-c14n), i cili gjithashtu ka statusin e një rekomandimi. Materialet e tjera të lidhura me nënshkrimin e dokumentit XML janë në dispozicion në: http://www.w3.org/Signature/.

Etiketë Nënshkrimi XML

Rekomandimi "Sintaksa dhe përpunimi i nënshkrimit XML" specifikon që nënshkrimi dhe informacioni në lidhje me të duhet të përmbahen në etiketë , i cili ka këto pjesë (ato nevojiten kryesisht për verifikimin e nënshkrimit):

  • Metoda Canonicalization përcakton një grup specifik rregullash për të thjeshtuar dhe strukturuar shembullin XML përpara nënshkrimit. Ky informacion siguron që të dhënat e nënshkruara të jenë në formën e duhur në mënyrë që algoritmi i verifikimit të japë një rezultat pozitiv nëse të dhënat e përmbajtjes nuk janë ndryshuar;
  • metoda e nënshkrimit (SignatureMethod) përcakton algoritmin e nënshkrimit të përmbledhjes së mesazhit. Përmbledhja e mesazheve është një varg karakteresh unike me madhësi fikse, është rezultat i përpunimit të të dhënave duke përdorur një funksion hash njëkahësh të specifikuar nga metoda e përmbledhjes;
  • Algoritmi i metodës digest (DigestMethod) për përpilimin e një përmbledhjeje të një mesazhi të nënshkruar duke përdorur një metodë të caktuar nënshkrimi. Specifikimi i një metode specifike të tretjes siguron që të dhënat të përpunohen në të njëjtën mënyrë;
  • Digest vlera (DigestValue) vetë mesazhi tret, domethënë një varg me gjatësi fikse i prodhuar si rezultat i përpunimit të të dhënave duke përdorur algoritmin e tretjes. Një varg i tillë është unik dhe i pakthyeshëm: është praktikisht e pamundur të merret nga një përmbajtje tjetër, as nuk është e mundur të rikrijohen të dhënat origjinale prej tij. Është si një gjurmë gishti për të dhënat që nënshkruhen; një krahasim pozitiv i vlerave të tretjes garanton integritetin e përmbajtjes;
  • vetë nënshkrimi (SignatureValue) këto janë të dhënat e marra pas përpunimit me metodën e nënshkrimit;
  • informacion rreth çelësit publik (KeyInfo) për verifikimin e nënshkrimit dixhital. Më saktësisht, jo një çelës, por një certifikatë, sepse në të, përveç vetë çelësit, mund të tregohet emri i pronarit dhe algoritmi i nënshkrimit dixhital.

Natyrisht, ky nuk është informacion shterues për atë që mund të përmbahet në etiketë. . Këtu është shembulli më i thjeshtë i një nënshkrimi të tillë (Lista 1).

Formimi i nënshkrimit dixhital XML

Duhet të theksohet se ka disa dallime midis procesit të nënshkrimit XML dhe atij klasik. Fakti është se procesi i nënshkrimit të një shembulli XML fillon me kanonizim, domethënë me thjeshtimin e strukturës së të dhënave. Siç është përmendur tashmë, kjo procedurë është e nevojshme në mënyrë që nënshkrimi dixhital të mund të verifikohet saktë për të njëjtin dokument XML, i paraqitur në mënyra të ndryshme. Kjo do të thotë që të gjitha dokumentet XML duhet të konvertohen në një formë të vetme kanonike përpara nënshkrimit. Pjesa tjetër e hapave janë të njëjtë me procesin standard për shtimin e një nënshkrimi dixhital: krijohet një vlerë përmbledhëse për të dhënat duke përdorur metodën e specifikuar, më pas kjo vlerë nënshkruhet me çelësin privat të autorit të dokumentit.

Verifikimi i nënshkrimit dixhital XML

Për të verifikuar një nënshkrim, duhet të kryeni dy hapa: verifikimin e vetë nënshkrimit dhe verifikimin e vlerës së përmbledhjes.

Vetë nënshkrimi së pari verifikohet për të siguruar vërtetimin e pronarit të tij dhe për të parandaluar refuzimin. Më pas, vlera e përmbledhjes kontrollohet për t'u siguruar që të dhënat nuk kanë ndryshuar dhe integriteti i përmbajtjes së dokumentit XML është verifikuar.

Kriptimi i dokumenteve XML

Specifikimet e W3C mbi enkriptimin XML

Le të kalojmë te kriptimi, i cili na lejon të mbyllim (d.m.th., të transformojmë në një formë në të cilën kuptimi është i paqartë) të dhënat e transmetuara dhe t'i rivendosim ato në anën marrëse. Konsorciumi W3C ka krijuar një grup pune (http://www.w3.org/Encryption/2001/) që merret në mënyrë specifike me çështjet e enkriptimit të të dhënave XML. Specifikimi i sintaksës dhe përpunimit të enkriptimit XML tani është një rekomandim dhe është i disponueshëm në: http://www.w3.org/TR/xmlenc-core/ .

Etiketë

  • metoda e enkriptimit (EncryptionMethod) përshkruan algoritmin e enkriptimit të të dhënave. Nëse kjo etiketë mungon, atëherë algoritmi i enkriptimit duhet të jetë i njohur për palën marrëse, përndryshe deshifrimi i mesazhit është i pamundur;
  • të dhëna të koduara (CipherData) të dhënat aktuale të koduara ose një lidhje me vendndodhjen e tyre. Shumëllojshmëria e llojeve të të dhënave që do të kodohen dhe metodave të organizimit logjik të tyre është praktikisht e pakufizuar;
  • informacion rreth çelësave (KeyInfo) informacion në lidhje me çelësat me të cilët kryhen kriptimi dhe, në përputhje me rrethanat, deshifrimi. Ato mund të ruhen diku tjetër dhe të zëvendësohen në shembullin XML me një lidhje URL;
  • informacione të tjera (për shembull, për marrësit e synuar).

Shembull etiketë treguar në Listën 2.

Procesi i enkriptimit dhe deshifrimit

Të dhënat XML janë të koduara duke përdorur metoda tradicionale të kriptografisë me çelës publik. Së pari, vetë të dhënat kodohen, zakonisht duke përdorur një çelës sekret të krijuar rastësisht, i cili më pas kodohet gjithashtu duke përdorur çelësin publik të marrësit të synuar. Ky informacion është i paketuar në mënyrë që vetëm marrësi i synuar të mund të nxjerrë çelësin sekret dhe të deshifrojë të dhënat. Çelësi sekret përdoret për të deshifruar çelësin sekret, dhe më pas të dhënat deshifrohen duke përdorur çelësin sekret të gjetur.

Zbatimi i mbrojtjes së dokumenteve XML

Ne rishikuam parimet e përgjithshme të funksionimit të nënshkrimeve dixhitale elektronike dhe specifikimet që konsorciumi W3C ka zhvilluar në këtë fushë. Kjo është e gjitha mirë dhe mirë, por çka nëse vërtet ka nevojë për të zbatuar skemat e përshkruara të mbrojtjes së të dhënave XML?

Tashmë sot, përkundër faktit se standardet W3C u shfaqën mjaft kohët e fundit, disa kompani kanë njoftuar lëshimin e paketave të tyre (bibliotekat e klasave) që zbatojnë si nënshkrimin dixhital ashtu edhe enkriptimin. Le të shohim aftësitë e disa prej tyre.

Paketa e Sigurisë XML (IBM)

Kjo paketë, e bazuar në gjuhën e programimit Java, është e disponueshme në http://www.alphaworks.ibm.com/tech/xmlsecuritysuite. XML Security Suite është një mjet që ofron veçori sigurie si nënshkrimi dixhital, enkriptimi dhe kontrolli i aksesit për dokumentet XML. Me ndihmën e tij, ju mund të arrini sukses më të madh sesa përdorimi i aftësive të protokolleve të sigurisë së shtresës së transportit (për shembull, Secure Sockets Layer, SSL).

Kjo paketë zbaton tre teknologji:

  • Nënshkrimi dixhital bazohet në specifikimin “XML Signature Sintaksa and Processing” nga W3C dhe IETF (dhe në specifikimin “Canonical XML”);
  • kriptimi zbatohet bazuar në specifikimin "Sintaksa dhe përpunimi i enkriptimit XML" nga W3C;
  • kontrolli i aksesit për dokumentet XML (XML Access Control Language).

XML Security Suite është një nga mjetet më të mira moderne për mbrojtjen e dokumenteve XML. Përveç vetë arkivit (JAR) me bibliotekën e klasës, ai përfshin dokumentacion të detajuar dhe shembuj që ju lejojnë të lundroni shpejt në hierarkinë e klasës.

Siguria XML (Apache)

Mbrojtja e të dhënave të bazuara në XML

Gjuha e shënjimit të pohimit të sigurisë (SAML)

Një fushë që është e ndryshme nga mbrojtja e të dhënave XML, por e lidhur ngushtë me të, po përmirëson sigurinë dhe sigurinë e sistemeve (protokolleve) të bazuara në XML. Në këtë rast, dokumentet/sistemet/aplikacionet e tjera mbrohen duke përdorur XML. Aktualisht, komiteti i sigurisë i Organizatës për Avancimin e Standardeve të Informacionit të Strukturuar (OASIS) po zhvillon një Gjuhë Markup të Pohimit të Sigurisë (SAML).

Ligji Federal "Për Nënshkrimin Dixhital Elektronik"

Golat

Le të bëjmë një pushim të vogël nga ligjvënësit në fushën e Uebit dhe të shqyrtojmë Ligjin Federal "Për Nënshkrimin Dixhital Elektronik", i cili u miratua nga Presidenti i Federatës Ruse më 10 janar 2002 (http://www.internet-law .ru/intlaw/laws/ecp.htm). Miratimi i këtij ligji parashikoi kushte ligjore për përdorimin e nënshkrimeve dixhitale elektronike në dokumentet elektronike, me kusht që një nënshkrim elektronik dixhital në një dokument elektronik njihet si i barabartë me një nënshkrim të shkruar me dorë në një dokument letre. Kështu, janë hedhur themelet për krijimin e menaxhimit të dokumenteve elektronike me rëndësi ligjore.

Kushtet për ekuivalencën e nënshkrimit dixhital dhe nënshkrimit të rregullt

Ligji përcakton konceptet bazë që përdoren në procedurën e nënshkrimit dixhital, si certifikata, çelësat publikë dhe privatë, konfirmimi i origjinalitetit të një nënshkrimi elektronik dixhital (i kemi shqyrtuar më herët) etj. Më tej, ligji përcakton kushtet në të cilat një nënshkrim elektronik dixhital në një dokument elektronik është i barabartë me një nënshkrim në një dokument në letër. Kjo do të thotë, para së gjithash, se certifikata e çelësit të nënshkrimit që lidhet me këtë nënshkrim elektronik dixhital nuk ka humbur fuqinë në momentin e verifikimit ose në momentin e nënshkrimit të dokumentit elektronik. Për më tepër, origjinaliteti i nënshkrimit elektronik dixhital duhet të konfirmohet dhe që nënshkrimi dixhital të përdoret në përputhje me informacionin e specifikuar në certifikatën e çelësit të nënshkrimit.

Certifikatat dhe autoritetet e certifikimit

Ligji përshkruan në detaje se nga përbëhet një certifikatë çelësi nënshkrimi (numri unik i regjistrimit, emri i plotë i pronarit, çelësi publik i nënshkrimit dixhital, emri dhe vendndodhja e qendrës së certifikimit, etj.); kushtet dhe procedura për ruajtjen e certifikatës në qendrën e certifikimit. Kështu, periudha e ruajtjes për një certifikatë çelësi nënshkrimi në formën e një dokumenti elektronik në një qendër certifikimi përcaktohet nga një marrëveshje midis qendrës së certifikimit dhe pronarit të certifikatës së çelësit të nënshkrimit. Sa i përket ruajtjes, ajo përcaktohet nga legjislacioni i Federatës Ruse për arkivat dhe çështjet arkivore.

Një kapitull i veçantë i ligjit i kushtohet qendrave të certifikimit. Procesi i zhvillimit dhe verifikimit të një nënshkrimi elektronik dixhital mund të zhvillohet pa pjesëmarrjen e qendrave të certifikimit, nëse kjo konfirmohet nga një marrëveshje midis palëve. Sidoqoftë, në sistemet e informacionit publik dhe në shumë sisteme informacioni të korporatave, përdorimi i nënshkrimeve dixhitale pa funksionimin e qendrave të certifikimit është i pamundur, pasi kjo do të çojë në mekanizma mjaft të thjeshtë për falsifikimin e një nënshkrimi.

Çelësat privatë (të fshehtë).

Një nënshkrim elektronik dixhital mund të kryejë funksionet e tij vetëm nëse nënshkruesi ka disa informacione që janë të paarritshme për të huajt. Ky informacion është i ngjashëm me një çelës enkriptimi dhe për këtë arsye quhet "çelës privat i një nënshkrimi elektronik dixhital" (më parë përdorej termi i ngjashëm "çelës sekret"). Është e nevojshme të mbahen sekret si çelësi privat ashtu edhe çelësi i enkriptimit, pasi njohuria për çelësin privat të nënshkrimit korrespondon me një fletë letre të zbrazët me nënshkrimin e pronarit të çelësit privat, në të cilën një sulmues mund të shkruajë çdo tekst që do t'i atribuohet pronarit të vërtetë të çelësit privat. Art. 12 i ligjit tregon drejtpërdrejt detyrimin e pronarit të certifikatës së çelësit të nënshkrimit për të mbajtur sekret çelësin privat dhe për të kërkuar menjëherë pezullimin e certifikatës së çelësit të nënshkrimit nëse ka arsye për të besuar se sekreti i çelësit privat të nënshkrimit është shkelur.

Art. 5 i Ligjit përcakton procedurën për krijimin e çelësave të nënshkrimit privat duke marrë parasysh respektimin e rreptë të sekretit të krijimit të tyre. Arti tregon gjithashtu të njëjtën rrethanë. 9 të Ligjit për veprimtarinë e qendrave të certifikimit. Në strukturat e informacionit të korporatës, çështja e prodhimit dhe shpërndarjes së çelësave privatë EDS mund të zgjidhet duke përdorur metodat e tyre, megjithatë, përdoruesi EDS duhet të jetë i vetëdijshëm për pasojat e mundshme të një organizimi të tillë të funksionimit të EDS. Është mjaft e mundshme që një sekuencë e rregullt të përdoret si një çelës privat, siç ndodh kur përdorni një sistem fjalëkalimi.

Standardet e brendshme për algoritmet e nënshkrimit dixhital

Skema El Gamal

Në 1994, standardi i parë vendas në fushën e nënshkrimit dixhital u miratua GOST R34.10 94 "Teknologjia e informacionit. Mbrojtja e informacionit kriptografik. Procedurat për zhvillimin dhe verifikimin e një nënshkrimi elektronik dixhital bazuar në një algoritëm kriptografik asimetrik.” Ai përcakton procedurat për të punuar me nënshkrimet dixhitale bazuar në skemën ElGamal. Pamundësia e falsifikimit të një nënshkrimi është për shkak të kompleksitetit të zgjidhjes së problemit të logaritmit diskret në një fushë me elemente p ose kompleksitetit të përcaktimit të numrit x që i jepet një numri të madh të thjeshtë p dhe numrave a, b nga intervali nga 2 në p-1, e cila kryhet duke krahasuar:

Ax==bmodp.

Megjithatë, matematikanët nuk qëndrojnë ende, dhe kohët e fundit është bërë përparim i madh në zhvillimin e metodave për zgjidhjen e problemit të logaritmit diskret në një fushë të elementeve p. Kohët e fundit u krijua e ashtuquajtura metoda e sitës së fushës së numrave. Me ndihmën e tij, ju mund të hakoni nënshkrimin dixhital të krijuar nga metoda e mësipërme (të paktën në rastin e modulit 512-bit p).

Një nga zgjidhjet më të thjeshta për këtë problem është rritja e gjatësisë së modulit p. Por, për fat të keq, me rritjen e p, vetitë operacionale të algoritmit përkeqësohen, pasi rritet gjatësia e çelësit publik dhe koha për gjenerimin dhe verifikimin e nënshkrimit.

Kurba eliptike

Shkencëtarët rusë përfundimisht arritën në përfundimin se ishte e mundur të ndërlikohej pak skema El-Gamal dhe kështu, pa kosto shtesë llogaritëse, të rritet kompleksiteti i falsifikimit të nënshkrimit dixhital me mijëra herë. Një version i ri i skemës ElGamal përdor aparatin e kurbave eliptike mbi një fushë të fundme elementesh p, të cilat përkufizohen si një grup çiftesh numrash (x, y) (secili prej tyre shtrihet në intervalin nga 0 në p-1. ) duke përmbushur krahasimin (numrat a dhe b janë të fiksuar dhe plotësojnë disa kushte shtesë):

Y2 == x3 + sëpatë + bmodp.

Burime të tjera

  • Informacion rreth Oracle XML-SQL Utility http://otn.oracle.com/tech/xml/xdk_java/content.html
  • Specifikimet SAML http://www.oasis-open.org/committees/security/
  • Specifikimi XKMS http://www.w3.org/TR/xkms/
  • Ligji Federal "Për Nënshkrimin Dixhital Elektronik"

Për një kohë të gjatë, pyetja më urgjente për mua ishte se si dhe me çfarë të nënshkruaj dokumentet dhe skedarët XML me një nënshkrim elektronik ose një nënshkrim dixhital. Kjo është mirë kur jeni në zyrë dhe të gjitha programet për nënshkrimin e dokumenteve dhe skedarëve XML janë instaluar në vendin tuaj të punës. Por në punën time, shpesh krijoheshin situata kur ishte e nevojshme të bëja dhe të firmosja dokumente, skedarë XML, ndërsa isha larg vendit tim të punës, ose, si gjithmonë, ta bëja urgjentisht dhe tani, kur isha në shtëpi. Është shumë e shtrenjtë për të blerë dhe instaluar softuer për nënshkrimin elektronik dixhital në shtëpi, ose në një laptop dhe ta mbani me vete përgjithmonë. Më pas u nisa për të gjetur programe të shpërndara lirisht në internet që bëjnë të mundur nënshkrimin e dokumenteve dhe skedarëve XML me një nënshkrim elektronik dixhital - EDS. Janë këto programe, si dhe një me pagesë, që do të shqyrtojmë më poshtë.

Për t'u dërguar në Rosreestr, dhe kjo është e detyrueshme, të gjitha dokumentet duhet të nënshkruhen me një nënshkrim dixhital elektronik (nënshkrim dixhital elektronik), dhe ndonjëherë ju duhet të kontrolloni nënshkrimin dixhital tuajin ose të dikujt tjetër.

Dhe kështu, le të shohim se si dhe me çfarë softueri mund të nënshkruani një dokument ose skedar XML me një nënshkrim elektronik dixhital. Një nga programet është GIS "Panorama" - "Harta-2011" version 11.10.4. Nënshkrimi i dokumenteve funksionon edhe në versionin e paregjistruar. Procedura për nënshkrimin e dokumenteve, skedarëve Lista e programeve që ju lejojnë të nënshkruani dokumente, skedarë XML, EDS (nënshkrim dixhital elektronik) për shkëmbimin e të dhënave me portalin e shërbimeve publike të Shërbimit Federal për Regjistrimin Shtetëror, Kadastrën dhe Hartografinë, Rosreestr, nëpërmjet Internet EDS është si vijon: hapni "Map-2011" ose "Mini Card", shtypni "F12" për të shfaqur menunë e nisjes së aplikacionit. Në dritaren që shfaqet, zgjidhni një detyrë dokumente elektronike, Me tutje Formimi i një nënshkrimi elektronik dixhital

Skedari i nënshkrimit: zgjidhni skedarin që duhet të nënshkruhet dhe, në përputhje me rrethanat, certifikatën e kërkuar në certifikatë. Kjo është e gjitha, dokumenti juaj ose skedari XML nënshkruhet me një nënshkrim elektronik. Nëse dëshironi të kontrolloni një nënshkrim ekzistues, atëherë zgjidhni skedarin e nënshkrimit (skedari me shtesën "sig"). Faqja zyrtare e GIS "" .

Programi i dytë për nënshkrimin e dokumenteve dhe skedarëve XML është CryptoLine. Falas, plotësisht funksional, ju lejon të nënshkruani dhe enkriptoni dokumente, si dhe të kontrolloni nënshkrimet dixhitale. Ju mund ta shkarkoni këtë program nga faqja zyrtare e internetit ose ta shkarkoni përmes një lidhjeje direkte nga faqja e kësaj faqeje. Puna me programin është e thjeshtë dhe e përshtatshme. Zgjidhni dhe shtoni skedarët që duhet të nënshkruhen, më pas zgjidhni certifikatën me të cilën duhet të nënshkruani dokumentet, skedarët XML dhe të nënshkruani dokumentet. Kini kujdes - zgjidhni vetëm një certifikatë për nënshkrim!!! Përndryshe, dokumentet do të nënshkruhen me po aq certifikata sa i shtoni programit. Udhëzimet për përdorim janë në arkivin e programit. Do të jap një shembull më poshtë për nënshkrimin e dorëzimit në Rossreestr.

Pas instalimit të programit dhe nisjes së tij, shtoni skedarë në program që duhet të nënshkruhen. Skeda "Veprimet", butoni "Shto".

Për të nënshkruar të gjithë skedarët menjëherë, duhet t'i zgjidhni të gjitha - "Shift + butoni i djathtë i miut" ose "Shift + shigjeta poshtë". Pastaj klikoni "Sign", në dritaren që shfaqet, ose shtoni një certifikatë, ose lini atë që është zgjedhur më parë, ose ndryshoni në një tjetër. Edhe një herë mbaj mend që për paraqitjen në Rosreestr nuk duhet të ketë më shumë se 1 certifikatë në këtë dritare! Gjithashtu, vendosni të gjitha cilësimet siç tregohet në figurë:

Le të nënshkruajmë. Pas nënshkrimit, skedarët me shtesën "sigO" do të shtohen në listën tuaj. Ky është nënshkrimi i skedarit. Mbetet vetëm të ngarkoni skedarët e nënshkrimit ose të gjithë skedarët (sipas gjykimit tuaj). Zgjidhni atë që dëshironi të ngarkoni, në këtë rast tre skedarë nënshkrimi, dhe klikoni "Ngarko". Kjo duket të jetë e gjitha. Por si çdo djathë falas ka një nuancë të vogël. Rosreestr betohet në shtesën e skedarit "sigO", kështu që ju duhet ta riemërtoni shtesën nga "sigO" në "sig" në Explorer ose në ndonjë menaxher skedari.

Nënshkrimi i këtij programi nuk është verifikuar nga faqja e internetit Rosreestr. Verifikimi i nënshkrimit u krye nga produkte softuerësh që ndërveprojnë me portalin e shërbimeve qeveritare të Shërbimit Federal për Regjistrimin Shtetëror, Kadastrën dhe Hartografinë. Të tre programet që kontrolluan nënshkrimin e ekzekutuar nga ky program dhanë rezultat pozitiv. Kontrolli u krye nga programet e treguara këtu, GIS "Panorama", Crypto ARM dhe programi Polygon-Land Survey Plan. Nënshkrimi u verifikua gjithashtu nga shërbimi i vërtetimit të nënshkrimit dixhital në internet në faqen e internetit.

Një program tjetër për nënshkrimin e dokumenteve dhe skedarëve XML është . Mund ta shkarkoni nga faqja zyrtare e programit. Vetë programi është mjaft funksional dhe tërheqës, kostoja nuk është e lartë, vetëm 1200 rubla për 1 vend pune. Ka teknologji. mbështetje dhe gjithashtu ndihmë të gjerë. Informacioni më i plotë dhe më i përditësuar mund të merret në. Gjithashtu lexoni për EDS në shënim

Një qëllim fisnik fisnikëron veprimtaritë në emër të këtij qëllimi.K. Liebknecht

Artikulli përshkruan se si të nënshkruani dokumente (pdf, word, excel, xml, arkiv) duke përdorur një nënshkrim elektronik. Le të shqyrtojmë se çfarë softuerësh nevojitet për të nënshkruar dokumente duke përdorur një nënshkrim elektronik, të mirat dhe të këqijat e tyre.

Si të nënshkruani një skedar duke përdorur nënshkrimin dixhital

Ekzistojnë dy programe me të cilat mund të nënshkruani një skedar duke përdorur një nënshkrim elektronik:

  1. ViPNet CryptoFile;
  2. CryptoARM.

ViPNet CryptoFile

Duke përdorur këtë program, mund të nënshkruani çdo skedar, për shembull: doc, xls, jpg, xml, txt, të nënshkruani një deklaratë nënshkrimi dixhital, arkiv. Pas nënshkrimit, skedari do të përfundojë me .sig

Të mirat: Një program falas që kërkon regjistrim në faqen e internetit (çelësin do ta merrni me email). Është gjithashtu e mundur, kur nënshkruhet një skedar me një nënshkrim elektronik, të përdoret një nënshkrim i bashkangjitur skedarit, d.m.th. skedari dhe çelësi do të vendosen në të njëjtin skedar ose veçmas nga skedari.

Minuset: Gjatë nënshkrimit, mund të shtoni vetëm një nënshkrim elektronik;

Mund të nënshkruani një dokument EDS duke klikuar me të djathtën mbi skedar dhe duke zgjedhur ViPNet CryptoFile -> Hyni në meny.

CryptoARM

Minuset: softuer me pagesë;

Të mirat: ju mund të shtoni shumë nënshkrime dixhitale kur nënshkruani një skedar.

Ju mund të nënshkruani një dokument EDS duke klikuar me të djathtën mbi skedar dhe duke zgjedhur CryptoARM -> Sign nga menyja.

Si të nënshkruani një pdf duke përdorur nënshkrimin dixhital

Nëse keni nevojë të nënshkruani një dokument, për shembull për zyrën e taksave, lexoni udhëzimet e mësipërme "Si të nënshkruani një skedar duke përdorur një nënshkrim elektronik" nëse keni nevojë për një nënshkrim me një pjesë të dukshme në dokument, atëherë lexoni udhëzimet më poshtë;

Për të nënshkruar një dokument pdf duke përdorur nënshkrimin dixhital, ju nevojitet softuer.

Të mirat: Nënshkrimi elektronik është i dukshëm në dokument.

Minuset: Kostoja e programit (90 ditë falas.)

Ju gjithashtu duhet të keni të instaluar Acrobat Reader DC ose Adobe Acrobat Pro.

Përpara se të vendosni një nënshkrim elektronik në një dokument pdf, duhet të konfiguroni Acrobat Reader DC për të punuar me programin CryptoPro PDF Për ta bërë këtë, në Acrobat Reader DC shtypni Ctrl+K ose shkoni te menyja Edit -> Cilësimet, zgjidhni në kategori. Nënshkrimet -> ku “Krijimi dhe regjistrimi” klikoni Më shumë detaje, shikoni foton:

Në "Metodën e nënshkrimit të paracaktuar" zgjidhni CryptoPro PDF si në foto:

Ne nënshkruajmë një dokument pdf me nënshkrim dixhital

Hapni dokumentin pdf -> në panelin e djathtë klikoni mbi mbushni dhe nënshkruani

Në panelin e sipërm të Acrobat Reader, klikoni në "Plotësoni dhe nënshkruani" -> "Mjete shtesë"

Duhet të zgjidhni veglën Certifikata për ta shtuar në panel.

Pasi të klikoni mbi Certifikatat, në panel do të shfaqet mjeti “Aplikoni nënshkrimin dixhital”, klikoni mbi të, më pas zgjidhni me kursor zonën ku dëshironi të vendosni një nënshkrim dixhital, do të shfaqet një dritare me zgjedhjen e një certifikate.

Zgjidhni certifikatën -> OK -> Nënshkruani.

Një nënshkrim dixhital në pdf duket si ky:



Dokumenti ynë pdf është i nënshkruar, në të njëjtën mënyrë ju mund të vendosni disa nënshkrime në një skedar pdf.

Si të nënshkruani një dokument Word duke përdorur nënshkrimin dixhital

Nëse keni nevojë të nënshkruani një dokument me një pjesë të dukshme të nënshkrimit në dokument, atëherë lexoni udhëzimet më poshtë, por nëse keni nevojë të nënshkruani një dokument word dhe ta dërgoni atë, për shembull, në zyrën e taksave, atëherë udhëzimet e mësipërme " Si të nënshkruani një skedar duke përdorur një nënshkrim elektronik” do t'ju përshtatet.

Për të nënshkruar një dokument Word duke përdorur një nënshkrim elektronik, na duhet programi CryptoPro Office Signature.

— softuer me pagesë, i përdorur për nënshkrimin e dokumenteve Wort, Excel.

Pas instalimit, mund të filloni menjëherë nënshkrimin e dokumenteve Word me një nënshkrim elektronik për ta bërë këtë, hapni dokumentin Word që duhet të nënshkruhet me një nënshkrim elektronik -> menyja Rate -> në bllokun Tekst, klikoni në Linja e Nënshkrimit dhe zgjidhni Nënshkrimi; Linja (CRYPTO-PRO).

Le të supozojmë se ju duhet të fusni dy nënshkrime elektronike në një dokument Word për ta bërë këtë, ne kryejmë operacionin e treguar më lart dy herë, pa nënshkruar. Meqenëse pas nënshkrimit me një nënshkrim, dokumenti do të bëhet i paeditueshëm. Prandaj, futim dy fusha për nënshkrimin elektronik.

Pas kësaj, ju mund të nënshkruani duke klikuar në një nënshkrim, të zgjidhni një nënshkrim elektronik dhe të nënshkruani, pastaj të kryeni të njëjtat veprime me nënshkrimin e dytë.

Një dokument Word i nënshkruar me nënshkrim dixhital duket kështu:


Si të nënshkruani një dokument Excel duke përdorur nënshkrimin dixhital

Nuk do ta përsëris veten, për të nënshkruar një dokument Excel duke përdorur një nënshkrim elektronik dixhital, duhet të bëni gjithçka njësoj si për Word, shih pak më lart.

Kujdes: Nëse duhet të nënshkruani një dokument excel me një pjesë të dukshme të nënshkrimit në dokument, atëherë lexoni udhëzimet më tej "Si të nënshkruani një dokument Word duke përdorur një nënshkrim elektronik", por nëse keni nevojë të nënshkruani një dokument excel dhe ta dërgoni atë , për shembull, në zyrën e taksave, pastaj udhëzimet në fillim të faqes "Si të" do t'ju përshtaten të nënshkruani skedarin duke përdorur nënshkrimin dixhital."

Si të nënshkruani një marrëveshje duke përdorur nënshkrimin dixhital

Në varësi të formatit në të cilin është krijuar marrëveshja, lexoni artikullin e mësipërm Si të nënshkruani një dokument Word ose PDF.

Si të nënshkruani një autorizim duke përdorur një nënshkrim elektronik

Lexoni artikullin e mësipërm dhe zgjidhni opsionin e duhur se si të nënshkruani një autorizim duke përdorur një nënshkrim elektronik.

Pyetje:

A lejohet të redaktoni një skedar të nënshkrimit dixhital të nënshkruar?

— Jo, pas nënshkrimit, skedari nuk mund të modifikohet, për shembull, nëse përpiqeni të redaktoni tekstin e nënshkruar në Word, atëherë të gjitha nënshkrimet fshihen.

Si duket një dokument i nënshkruar me nënshkrim dixhital?

— Gjithçka varet nga metoda që keni përdorur për të nënshkruar dokumentin. Nëse e keni nënshkruar dokumentin si në udhëzimet në fillim, skedari do të ketë shtesën .sig. Gjithashtu, skedari dhe nënshkrimi dixhital mund të jenë një skedar i veçantë, kjo varet nga mënyra e nënshkrimit të skedarit.

Nëse keni nënshkruar një dokument pdf, word ose excel duke përdorur programe speciale, atëherë nuk është e mundur t'i dalloni ato. Duhet të hapësh dokumentin dhe të kontrollosh brenda nëse ka një nënshkrim apo jo.

Një nga projektet aktualisht në vazhdim zgjidhi problemin e nënshkrimit (aplikimit të një nënshkrimi elektronik) të dokumenteve XML, përkatësisht paketave SOAP. Formati i rekomanduar ishte OASIS Standard 200401 me Profilin e Tokenit të Certifikatës X.509. Këto dokumente përshkruajnë përdorimin e formatit www-consorcium (W3C) XML Digital Signature (XMLDSig) në mesazhet SOAP. Nënshkrimet XML, si llojet e tjera të nënshkrimeve elektronike, mbështesin vërtetimin, integritetin e të dhënave dhe mosrefuzimin e nënshkrimit të të dhënave.

Do të shënoj disa veçori të formatit XMLDSig:

1. Nuk mund të shërbejë si objekt nënshkrimi i gjithë dokumenti XML, por vetëm një pjesë e tij, d.m.th. nyje specifike. Sipas standardit OASIS 200401, objekti që nënshkruhet është trupi (nyja Trupi) Mesazhe SOAP.

2. Pjesë të ndryshme të një dokumenti XML mund të nënshkruhen nga shumë nënshkrues.

3. Një nënshkrim XML mund të jetë në nivele të ndryshme në lidhje me objektin që nënshkruhet:

  • struktura e nënshkrimit mund të përmbajë URI(identifikues uniform i burimit);
  • Nënshkrimi XML mund të jetë në të njëjtin nivel me nyjen që nënshkruhet;
  • Nënshkrimi XML mund të jetë brenda nyjës që nënshkruhet;
  • Nyja që nënshkruhet mund të përfshihet brenda një strukture nënshkrimi XML.

4. Për të kontrolluar vlefshmërinë e nënshkrimit elektronik, kërkohet akses në objektin e nënshkrimit.

Struktura e një zarfi SOAP

Në përgjithësi, një mesazh përbëhet nga një kokë dhe një trup: Kreu Dhe Trupi. Kreu përmban meta të dhëna dhe Trupi të dhëna. Nënshkrimi XML vendoset në nyje Kreu.

Algoritme kriptografike dhe kanonizim.

Për të zgjidhur problemin kemi përdorur GOST R 34.11-94- Standardi kriptografik rus për llogaritjet e funksionit hash dhe GOST R 34.10-2001- standardi i nënshkrimit elektronik.

Për shkak të fleksibilitetit të rregullave të përbërjes XML, e njëjta strukturë dokumenti dhe e njëjta pjesë e informacionit mund të përfaqësohet nga dokumente të ndryshme XML. Le të shohim dy dokumente:

Nga pikëpamja logjike, ato janë ekuivalente, domethënë kanë të njëjtën skemë XML. Por skedarët XML të këtyre listimeve nuk përmbajnë të njëjtën sekuencë karakteresh, gjë që do të çojë në rezultate të ndryshme, për shembull, kur merrni një vlerë hash.

Për të shmangur mospërputhje të tilla, u miratuan rregulla të rrepta të formatimit dhe kërkesa për përmbajtjen e mesazheve XML. Procesi i sjelljes së dokumenteve XML në një formë të unifikuar (kanonike) quhet kanonizim(Anglisht: Canonicalization). Shembuj rregullash mund të jenë përdorimi i një skeme të caktuar kodimi (UTF-8), normalizimi i vlerave të atributeve, përdorimi i thonjëzave të dyfishta për vlerat e atributeve, një renditje e caktuar atributesh dhe deklarata të hapësirës së emrave, etj. Kanonizimi XML vjen në disa lloje. të cilat ndryshojnë në përbërjen e rregullave. Mund të lexoni më shumë rreth procesit të kanonikizimit në specifikimin zyrtar të W3C (artikuj në gjuhën ruse mbi këtë temë mund të gjenden dhe)

Biblioteka SIRCrypt

Për të zbatuar nënshkrimin XML në DIRECTUM, u shkrua një bibliotekë COM, brenda së cilës përshkruhen 3 klasa: Hasher, Nënshkrues Dhe XMLCanonikalizues për të marrë respektivisht hash-in, vlerën ES dhe kanonikizimin e dokumenteve XML.

Biblioteka kërkon Crypto PRO CSP(testuar në version Crypto PRO CSP 3.6.6497 KC2) Dhe .NETO(minimumi 2.0).

Regjistrimi i një biblioteke bëhet duke ekzekutuar komandën e mëposhtme:

> regasm.exe "rruga drejt dll" /codebase /tlb

Objekti Hasher për llogaritjen e hash-it sipas GOST

Përmban fusha përmbajtja (shkruani "string") dhe HashValueAsBase64 (lloji "string"), si dhe një metodë për llogaritjen e vlerës hash Hash (). Për të llogaritur është e nevojshme të përcaktohet përmbajtja , thirrni metodën Hash (), si rezultat i të cilave në terren HashValueAsBase64 vlera hash do të shkruhet në Base64.

Objekti nënshkrues për marrjen e vlerës ES sipas GOST

Përmban fusha përmbajtja (shkruani "string"), Emri i kontejnerit (shkruani "string"), CertifikataAsPEM (shkruani "string"), BESignatureValueAsBase64 (lloji "string"), metodë Shenjë(). Pas inicializimit të objektit, duhet të përcaktoni përmbajtja (detajet e nënshkrimit), Emri i kontejnerit (emri i kontejnerit të çelësit privat të certifikatës), mënyra e thirrjes Shenjë(). Pastaj në fushë CertifikataAsPEM certifikata që korrespondon me çelësin privat do të jetë në Base64, dhe fusha BESignatureValueAsBase64 vlera e nënshkrimit si një varg Base64.

Objekti XMLCanonikalizues për kanonizim XML

Përmban fusha Përmbajtja XMLC (shkruani "string"), CanonicalXML (lloji "string"), metodë C14NExc(). Për të marrë formën kanonike XML duhet të specifikoni Përmbajtja XMLC , telefononi C14NExc(), merrni rezultatin nga fusha CanonicalXML .

Struktura e nënshkrimit XML

Krijimi i një nënshkrimi duket kështu: së pari, formohet baza e paketës së sapunit, nyjet Kreu Dhe Trupi. Trupi mbushet me të dhëna dhe shtohet një atribut wsu:ID = "Trupi"- identifikuesin e të dhënave të nënshkruara.

Mbushja e strukturës Siguria ndodh në rendin e mëposhtëm:

  1. Vlera hash nga nyja Body merret në formë kanonike dhe vendoset në nyjen DigestValue.
  2. Nyjë SignedInfo e reduktuar në formë kanonike, e nënshkruar me nënshkrimin elektronik. Rezultati në formatin e vargut Base64 shkon në nyje Vlera e nënshkrimit.
  3. Çelësi publik i certifikatës që është përdorur për të nënshkruar vendoset në nyje BinarySecurityToken në formatin e vargut Base64.

Për të kontrolluar ES të krijuar në këtë mënyrë, duhet të bëni të gjitha hapat në rend të kundërt, përkatësisht:

  1. merrni formën kanonike të një elementi SignedInfo.
  2. Duke përdorur rezultatin e hapit të mëparshëm, kontrolloni nëse vlera ES nga nyja është e vlefshme Vlera e nënshkrimit duke përdorur çelësin publik të certifikatës. Në këtë fazë kontrollohet vetëm korrektësia e nënshkrimit elektronik, gjë që nuk garanton pandryshueshmërinë e të dhënave.
  3. Nëse kontrolli i vlefshmërisë së nënshkrimit elektronik është i suksesshëm, hash-i nga nyja krahasohet DigestVlera dhe hash nga nyja me të dhënat. Nëse janë të pabarabarta, atëherë të dhënat e nënshkruara janë ndryshuar dhe i gjithë nënshkrimi elektronik është i pavlefshëm.

Shembull përdorimi

Kompleti i zhvillimit dhe biblioteka

Shembuj të nënshkrimit XML në ISBL (skript): dev.zip (5,95 KB)

Për përdorim të përhershëm, kodi që kryen nënshkrimin standard të një zarfi të përfunduar SOAP zhvendoset në një funksion SignSOAP().

Një certifikatë nga dyqani i certifikatave personale të përdoruesit aktual përdoret për nënshkrim.

Sipas ligjit 218-FZ "Për Regjistrimin Shtetëror të Pasurive të Paluajtshme", dokumentet elektronike XML dhe imazhet e skanuara të dokumenteve duhet të nënshkruhen. nënshkrimi elektronik i kualifikuar i përmirësuar. Të gjitha programet e serisë "Polygon", "Polygon Pro" dhe programi "Signature Pro" nënshkruhen me një nënshkrim të tillë.

Për nënshkrim:

    Marr çelësi i nënshkrimit(certifikatë) në Qendrën e Certifikimit. Lista e qendrave të certifikimit të akredituara publikohet në faqen e internetit Rosreestr (Lista e Qendrave të Certifikimit). Ju mund të merrni një certifikatë në Qendrën tonë të Certifikimit, Software Center LLC.

    Së bashku me nënshkrimin, blini dhe instaloni programin në kompjuterin tuaj CryptoPro CSP(ai përmban standardet e kërkuara të nënshkrimit rus), të cilat gjithashtu mund të blihen nga Qendra jonë e Certifikimit LLC "Qendra e Programit".

Programe të tjera nënshkrimi nuk kërkohen: CryptoARM (aftësitë e nënshkrimit të CryptoARM janë të ngjashme me ato të programeve të serisë "Polygon", "Polygon Pro" dhe programit "Signature Pro").

Modulet softuerike të platformës Polygon Pro

Nënshkruani një dokument elektronik në programin Polygon Pro

Për të nënshkruar një skedar XML, bëni sa më poshtë:

  • Krijoni një dokument elektronik pa gabime.


Ju mund të nënshkruani skedarin XML menjëherë në " Shikuesi XML", për ta bërë këtë, klikoni butonin në shiritin e veglave - "Nënshkruani skedarin XML".

  • Pasi të klikoni, do të hapet një dritare me një listë të certifikatave të instaluara. Zgjidhni atë që dëshironi dhe klikoni "NE RREGULL".

  • Programi do të nënshkruajë dokumentin kryesor dhe do të shfaqë një mesazh suksesi.

Një skedar nënshkrimi me të njëjtin emër dhe shtrirje * do të gjenerohet në të njëjtën dosje si skedari i nënshkruar. .sig.

Nënshkruani një grup skedarësh në programin Polygon Pro

Programi ka aftësinë për të nënshkruar një grup skedarësh në të njëjtën kohë. Për ta bërë këtë, bëni sa më poshtë:

  • Në shiritin e modulit të softuerit në skedën "Shtëpi" shtypni butonin dhe zgjidhni nga nënmenyja. Do të hapet një dritare me një përzgjedhje të skedarëve të projektit (si parazgjedhje, të gjithë skedarët e projektit janë zgjedhur).
  • Nëse lista përmban skedarë që nuk kanë nevojë të nënshkruhen, zgjidhni ato.

  • Klikoni butonin "Shenjë". Do të hapet një dritare me një listë të certifikatave të instaluara. Zgjidhni atë që dëshironi dhe klikoni "NE RREGULL".
  • Programi do të nënshkruajë të gjitha dokumentet dhe do të shfaqë një mesazh suksesi.

    Nëse ndodhin gabime gjatë nënshkrimit, do të shfaqet një regjistër verifikimi me paralajmërime dhe/ose gabime. Për nënshkrimin e saktë, gabimet duhet të korrigjohen.

    Nënshkruani skedarin në modulet e softuerit të platformës Polygon Pro

    Programi ka aftësinë të nënshkruajë absolutisht çdo skedar.

      Do të hapet një dritare me një listë të certifikatave të instaluara. Zgjidhni atë që dëshironi dhe klikoni " Ne rregull».

    • Programi do të nënshkruajë dokumentet dhe do të shfaqë një mesazh suksesi.

    Në të njëjtën dosje si skedari i nënshkruar, do të gjenerohet një skedar nënshkrimi me të njëjtin emër, me shtesën *.sig.

    Kontrolloni nënshkrimin elektronik në programin Polygon Pro

    Nëse keni marrë një skedar të nënshkruar nga jashtë dhe dëshironi të kontrolloni nëse është ndryshuar, ose thjesht kontrolloni nëse nënshkrimi i skedarit është krijuar saktë, ndiqni këto hapa:

    • Në shiritin e modulit të softuerit në skedën " në shtëpi"në nënmenynë e butonit" Nënshkruani të gjitha» klikoni në butonin » Kontrollo…».

    • Zgjidhni skedarin që përmban nënshkrimin (me shtesën *.sig), i cili duhet të verifikohet, ose një skedar i nënshkruar.

    Nëse këta dy skedarë janë në dosje të ndryshme, programi do të shfaqë një dritare paralajmëruese. Klikoni butonin Përsëriteni" dhe zgjidhni skedarin burimor.

    • Do të hapet një protokoll me informacion nëse dokumenti është nënshkruar saktë, nga kush dhe kur.

    Programi "Signature Pro"

    U zhvillua një program për ndërveprim të përshtatshëm me Autoritetin e Certifikimit, menaxhimin e certifikatave dixhitale dhe çelësave privatë, si dhe për nënshkrimin e skedarëve të ndryshëm me një nënshkrim elektronik.

    Si të nënshkruani një skedar me një nënshkrim elektronik dixhital?

    Këto udhëzime janë shembullore, hapa të veçantë mund të varen nga softueri i instaluar në kompjuterin tuaj. Një pjesë e udhëzimeve u përfunduan në shkurt 2012, por programet tona ofrojnë një mundësi më të përshtatshme për nënshkrimin e skedarëve të dokumenteve elektronike nënshkrimi elektronik i kualifikuar i përmirësuar.

    Për të nënshkruar dosjet elektronike të dokumenteve: plan kufiri, plan harte, plan teknik Me një nënshkrim elektronik, duhet të verifikoni praninë e programeve të instaluara:

      kriptoprovider "CryptoPro CSP";

      "Crypto ARM" - ky program është i nevojshëm vetëm kur nuk përdorni programe nga seria "Polygon", ky program për sa i përket nënshkrimit është identik me programet nga seria "Polygon", kështu që nuk është i nevojshëm; për të nënshkruar skedarë me programe të serisë "Polygon", shihni faqen e mëparshme të udhëzimeve; Ju mund të nënshkruani duke përdorur si programet e serisë "Polygon" dhe programin CryptoARM, nëse mendoni se kjo do të jetë më e përshtatshme sesa përdorimi i aftësive ekzistuese të programeve të serisë "Polygon".;

    Çdo skedar (XML, skanimi i një dokumenti të printuar dhe skedarët e aplikimit) duhet të nënshkruhet, pasi autoriteti i regjistrimit kadastral pranon vetëm çifte skedarësh: skedarin origjinal dhe skedarin e nënshkrimit për të. Për të nënshkruar një skedar, duhet ta zgjidhni atë në dritaren e Explorer dhe të klikoni me të djathtën (RMB), do të shfaqet një menu konteksti, në të duhet të zgjidhni "CryptoARM" dhe më pas " Shenjë…».



    Pastaj sigurohuni që emri i skedarit të jetë i saktë



    E rëndësishme! vendosni çelësin në pozicion " Kodimi DER", specifikoni dosjen për skedarët e daljes sipas gjykimit tuaj. Shtyp butonin " Me tutje" Në dritaren tjetër, caktoni parametrat e nënshkrimit


    Në këtë dritare, gjëja më e rëndësishme është të shënoni " Ruani nënshkrimin në një skedar të veçantë" Klikoni butonin Me tutje" Në dritaren tjetër, klikoni butonin Zgjidhni»


    do të hapet një dritare e përzgjedhjes së certifikatës


    në të, zgjidhni certifikatën e çelësit tuaj (shikoni sipas emrit të pronarit). Pas zgjedhjes, klikoni butonin Ne rregull"Dhe" Me tutje" Në dritaren e fundit përpara nënshkrimit të dokumentit, klikoni " Gati».

    E rëndësishme! Për çdo skedar, është e nevojshme të krijoni një skedar nënshkrimi, pasi pranohet vetëm një palë: skedari origjinal (xml ose tjetër) + një nënshkrim për të (skedar Sig).