Si të nënshkruani një dokument me një nënshkrim elektronik. Si të nënshkruani saktë një skedar nënshkrimi dixhital Nënshkrimi i xml me një nënshkrim dixhital

Unë nuk mund të arrij në një kuptim të përgjithshëm të mekanizmave për nënshkrimin e dokumenteve xml. Do të isha mirënjohës për ndihmën tuaj për ta kuptuar)

Situata ime është si kjo:

1) ekziston një autoritet certifikues, certifikatat e lëshuara të të cilit vendosen në serverë në hapësirën ruajtëse të Windows... në personal, të besuar, e kështu me radhë... jo pikë.

Kur hyni në aplikacion, përdoruesi nënshkruan një varg të krijuar rastësisht me certifikatën e zgjedhjes së tij. Në server, ky nënshkrim verifikohet:

CAPICOM.SignedData _signedData = new CAPICOM.SignedData(); _signedData.Verify(SignedData, false, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE); if (_signedData.Content != data) hedh new Exception("Përmbajtja e nënshkrimit nuk përputhet me përmbajtjen e marrë"); var _certificate = _signedData.Certificates; // certifikata e përdoruesit

Kështu marrim certifikatën e përdoruesit (çelësin publik). E rëndësishme është që nënshkrimi do të verifikohet vetëm nëse çelësi publik përkatës i certifikatës është në server në dyqanin e certifikatave. Kjo është ajo që na duhet, për të lejuar vetëm ata që ne vetë i lëshuam certifikatat) Këtu duket qartë.

2) tani na duhen të njëjtët përdorues që të nënshkruajnë xml me certifikatat e tyre. Softueri im në klient gjeneron vetë xml-të dhe i nënshkruan ato me certifikatën e specifikuar nga përdoruesi:

SignXml bosh statik publik (XmlDocument xmlDoc, /*RSA*/AsymmetricAlgorithm Key) (SignedXml signedXml = new SignedXml(xmlDoc); signedXml.SigningKey = Key; Referenca referencë = Referencë e re(); referencë.Uri = "";//nënshkrim i gjithë dokumenti XmlDsigEnvelopedTransform.AddTransform(env); () ;

XmlDocument doc = new XmlDocument(); doc.PreserveWhitespace = e vërtetë; doc.Ngarkesa(rruga); SignedXml sx = new SignedXml(doc); XmlNodeList nodeList = doc.GetElementsByTagName("Nënshkrimi"); sx.LoadXml((XmlElement)nodeList); ktheje sx.CheckSignature();

Kodi funksionon, por kam pyetje me mirëkuptim: në këtë rast, ju mund të nënshkruani xml me absolutisht çdo certifikatë që nuk është lëshuar nga AK-ja jonë, dhe duke qenë se informacioni për çelësin publik ruhet në vetë xml të nënshkruar, nënshkrimi verifikohet. . Ky opsion nuk më përshtatet. Metoda CheckSignature ka një mbingarkesë me një parametër të tipit AsymmetricAlgorithm, i cili do të kontrollojë certifikatën e nënshkrimit për ekzistencën në dyqan, do të kontrollojë vlefshmërinë e saj, datën e skadencës etj. Kjo është ajo që më duhet, por nuk e di paraprakisht se cili përdorues dërgoi xml-në e nënshkruar.

Ju lutem më tregoni: si të kontrolloni një nënshkrim xml ose si ta krijoni atë saktë në mënyrë që të verifikohen vetëm ato xml që janë të nënshkruara vetëm me certifikatat tona (të cilat janë të instaluara në memorie)?

P.s. dhe cila është pika e përgjithshme e mbajtjes së vetë nënshkrimit dhe çelësit publik për deshifrimin e nënshkrimit në xml? Nëse hiqni rreshtin signedXml.KeyInfo = keyInfo; , atëherë xml nuk e kalon verifikimin e nënshkrimit.

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 ndërmjet 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ë procesin e funksionimit të 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 të hash të një mesazhi, nuk ka asnjë mënyrë për të rikuperuar 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ë në dispozicion 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ë prishen 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 që lidhen 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ë duhen koduar 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 në të 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 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 elementë p ose kompleksitetit të përcaktimit të numrit x të dhënë për një numër të madh të thjeshtë p dhe numrat 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"

Sot, kur pothuajse i gjithë fluksi i dokumenteve bëhet pa letra, nënshkrimi i dokumenteve me ndihmë është i zakonshëm.

Në fushën e prokurimit publik, aplikimet e dorëzuara nënshkruhen në mënyrë elektronike. Kjo u jep klientëve garancinë se kanë të bëjnë me pjesëmarrës të vërtetë. Gjithashtu, kontratat që lidhen si rezultat i prokurimit qeveritar hyjnë në fuqi vetëm pas miratimit duke përdorur një nënshkrim elektronik dixhital.

Një nënshkrim dixhital kërkohet gjithashtu në situatat e mëposhtme:

  1. Raportimi tek autoritetet rregullatore. Ju mund ta dorëzoni atë në mënyrë elektronike në shërbime të tilla si Shërbimi Federal i Taksave, Rosstat, Fondi i Pensionit dhe Fondi i Sigurimeve Shoqërore. Kjo thjeshton shumë transferimin e informacionit dhe rrit saktësinë: shumica e shërbimeve ofrojnë kontroll automatik të gabimeve.
  2. Menaxhimi i dokumenteve elektronike (EDF). Një nga përdorimet më të zakonshme, pasi një letër e nënshkruar në këtë mënyrë korrespondon me një letër letre me një vulë dhe një vizë. Ju lejon të kaloni në rrjedhën e dokumenteve pa letër si brenda kompanisë ashtu edhe jashtë saj.
  3. Shërbimet qeveritare. Një qytetar i Federatës Ruse mund të miratojë aplikacionet e paraqitura në departamente përmes portalit të shërbimeve qeveritare, të marrë pjesë në iniciativa publike, të përdorë një llogari personale në faqen e internetit të Shërbimit Federal të Taksave dhe madje të aplikojë për një kredi.
  4. Faturat, kontratat, letrat zyrtare të nënshkruara në mënyrë elektronike mund të përdoren si dëshmi. Sipas Kodit të Procedurës së Arbitrazhit të Federatës Ruse, një dokument i tillë është analog me një letër me vizë të shkruar me dorë.

Cilat lloje të nënshkrimeve elektronike ekzistojnë?

Një nënshkrim elektronik dixhital është një "vulë" që ju lejon të identifikoni pronarin e saj, si dhe të verifikoni integritetin e dokumentit të nënshkruar. Janë miratuar llojet e nënshkrimeve dixhitale dhe procedura e ekzekutimit të tyre. Ai vërtetoi se ekzistojnë tre lloje nënshkrimesh:

  1. E thjeshtë. Zakonisht përdoret për nënshkrimin e letrave ose specifikimeve, të konfirmuara duke përdorur fjalëkalime, kode dhe mjete të tjera, më shpesh të përdorura në sistemet EDI të korporatave.
  2. Të përforcuar. Ai merret përmes procesit të përpunimit kriptografik të informacionit dhe përdorimit të një çelësi privat. Ju lejon të përcaktoni se kush e nënshkroi dokumentin, si dhe faktin që ndryshimet u bënë pas nënshkrimit.
  3. Të përforcuar. Është e ngjashme me një të pakualifikuar, por për krijimin dhe verifikimin e tij përdoren teknologjitë e mbrojtjes kriptografike të certifikuara nga FSB e Federatës Ruse. Nënshkrime të tilla elektronike lëshohen vetëm nga të akredituarit

Ka disa mënyra për të miratuar një dokument. Le të shohim më të zakonshmet.

Ne nënshkruajmë duke përdorur paketën e softuerit CryptoPRO CSP

Si të nënshkruani në mënyrë elektronike një dokument Word(MS Word)

1. Hapni skedarin e kërkuar, klikoni në menynë "File" - "Informacion" - "Shto nënshkrim elektronik (CRYPTO-PRO)".

2. Zgjidhni nënshkrimin elektronik të dëshiruar, shtoni një koment nëse është e nevojshme dhe klikoni “Sign”.

3. Nëse nuk ka gabime, sistemi shfaq një dritare me nënshkrim të suksesshëm.

Nëse është instaluar shtojca CryptoPRO Office Signature

1. Hapni skedarin e dëshiruar, zgjidhni "File", më pas "Shto nënshkrimin dixhital".

2. Ngjashëm me opsionin e mëparshëm, zgjidhni nënshkrimin elektronik të kërkuar, shtoni një koment, nëse është e nevojshme, dhe klikoni “Sign”.

3. Nëse nuk ka gabime, sistemi shfaq një mesazh që dokumenti është nënshkruar me sukses.

Si të nënshkruani në mënyrë elektronike një dokument PDF(Adobe Acrobat PDF)

1. Hapni skedarin e kërkuar PDF, klikoni në panelin "Vegla" dhe shikoni etiketën "Certifikatat". Le ta zgjedhim.

2. Klikoni mbi “Apliko një nënshkrim dixhital” dhe zgjidhni zonën në skedar ku do të vendoset shenja e nënshkrimit.

4. Do të hapet një dritare me një pamje paraprake të vulës. Nëse gjithçka është e saktë, atëherë klikoni "Sign".

5. Sistemi do të lëshojë një njoftim për nënshkrimin e suksesshëm. Kjo eshte e gjitha.

Nënshkrimi me paketën softuerike CryptoARM

Me këtë metodë, është e mundur të enkriptohen të gjitha formatet moderne, si dhe arkivat.

Pra, le ta kuptojmë si të nënshkruani një dokument të nënshkrimit dixhital duke përdorur CryptoARM.

1. Hapni programin "CryptoARM" dhe zgjidhni artikullin e parë të veprimit - "Sign".

2. Ne studiojmë me kujdes udhëzimet e Master Creation ES. Klikoni "Next".

3. Klikoni në “Zgjidh skedarin”, shkoni te skedari i dëshiruar, klikoni mbi të dhe klikoni “Next”.

4. Zgjidhni skedarin për të nënshkruar dhe klikoni "Next".

5. Ne shohim dritaren "Formati i daljes". Nëse nuk ka kërkesa të detyrueshme, atëherë e lëmë kodimin ashtu siç është. Mund të ruani në formatin ZIP (për dërgim me e-mail) ose të zgjidhni një vendndodhje për të ruajtur rezultatin përfundimtar. Klikoni "Next".

6. Te “Parametrat” mund të zgjidhni një pronë, të shtoni një koment dhe gjithashtu të zgjidhni një nënshkrim elektronik të bashkangjitur (bashkangjitur në skedarin burimor) ose të shkëputur (të ruajtur si skedar i veçantë), si dhe parametra shtesë nëse dëshironi. Kur gjithçka është gati, klikoni "Next".

7. Tani ju duhet të zgjidhni një certifikatë për ta bërë këtë, klikoni "Zgjidh", tregoni certifikatën e kërkuar dhe klikoni "Next".

8. Në fazën tjetër shohim dritaren përfundimtare me një përshkrim të shkurtër të të dhënave. Nëse herën tjetër që skedarët nënshkruhen në të njëjtin rend, mund ta ruani profilin. Klikoni "Finish".

9. Nëse nuk ka gabime, sistemi do të shfaqë një mesazh që tregon nënshkrimin e suksesshëm.

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ë vendoset 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ërmbahet 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 XMLkanonikalizues 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.

Ky seksion ofron për shkarkimin e programit XML Converter / XML Designer / XML Reports / Just Sign / XML Contact - Rosreestr.

Shembuj të gjenerimit të versioneve elektronike të dokumenteve duke përdorur Programet e konstruktorit XML dhe analogët e tyre të printuar duke përdorur Programet e raporteve XML mund të shkarkohet në seksion. Ne sugjerojmë gjithashtu të shikoni seksionin ku do të gjeni shërbime të ndryshme falas, biblioteka dhe më shumë.

Programi i konvertuesit XML konfiguruar për të kthyer skedarët XML/dokumentet Rosreestr si ekstraktet kadastrale, planet kadastrale të territorit në formate të tjera të lehta për t'u përdorur si MIF/MID, DXF, CSV, TXT, HTML.

Programi XML Designerështë konfiguruar për të krijuar versione elektronike në formatin XML të dokumenteve për aktivitetet kadastrale si plane kufitare, plane teknike, hartë (plan) etj., si dhe njoftimet e pengut të pasurisë së luajtshme dhe njoftimet në përputhje me ligjin FATCA.

Programi XML Reports konfiguruar për të kthyer dokumentet elektronike për aktivitetet kadastrale si planet kufitare, planet teknike, hartat (planet) në homologët përkatës të printuar (letër).

Thjesht nënshkruani programin projektuar për krijimin dhe verifikimin e nënshkrimeve dixhitale elektronike (EDS).

Programi XML Contact-Rosreestrështë menduar për ndërveprim me shërbimin në internet Rosreestr, d.m.th. krijimi i aplikacioneve për regjistrim kadastral të parcelave dhe pronave të paluajtshme, kërkesa për informacion kadastral, marrja e rezultateve për këto kërkesa dhe kërkesa.

Të gjitha programet (përveç Just Sign dhe XML Contact-Rosreestr) kanë një modalitet demo që zgjat 30 ditë, i cili ju lejon të përdorni funksionalitetin e programeve pa kufizime. Pas skadimit të periudhës së demonstrimit, ose duhet të blini versionet e plota të programeve ose të ndaloni përdorimin e tyre. Programi Simply Sign është një program falas dhe nuk ka kufizime në përdorim. Programi Contact-Rosreestr XML është në testim beta dhe aktualisht është i lirë për t'u përdorur.

E RËNDËSISHME! Për të konvertuar duke përdorur programin Konvertuesi XML ose Konstruktor XML Skedarët e mëdhenj XML duhet të shkarkohen dhe instalohen nga një procesor i jashtëm i pyetjeve XQuery dhe të specifikohen në fushën përkatëse të programit përpara konvertimit. Aktualisht, mbështeten dy procesorë pyetjesh të disponueshëm lirisht: AltovaXML 2010 (zhvilluar nga www.altova.com) dhe Saxon-HE 9.5 (zhvilluar nga www.saxonica.com). Mund t'i shkarkoni nga faqja e internetit e prodhuesit ose nga kjo faqe duke përdorur lidhjet e mëposhtme:

E RËNDËSISHME! Para se të filloni të punoni me programet, duhet të lexoni udhëzimet. Kjo është veçanërisht e rëndësishme për programin XML Constructor, pasi para punës është e nevojshme të kuptohet parimi i funksionimit të këtij programi. Udhëzimet janë të vendosura në të njëjtën dosje si skedari i ekzekutueshëm i programit, d.m.th. për Konstruktorin XML në dosjen "c:\ProgramFiles\XMLCON\XMLConstructor\XMLConstructor-help.rtf". Ju mund t'i telefononi udhëzimet përmes një shkurtoreje nga menyja kryesore e programeve të Windows, d.m.th. për projektuesin XML "Start->Programs->XML Designer->XML Designer - Instructions". Për programin XML Designer, udhëzimet janë gjithashtu të disponueshme përmes menysë Help.