Tanda tangani file xml dengan tanda tangan digital. Cara menandatangani dokumen dengan tanda tangan elektronik

Di bagian ini, diusulkan untuk mengunduh program XML Converter / XML Constructor / XML Reports / Just Sign / XML Contact - Rosreestr.

Contoh formasi versi elektronik dokumen melalui Pembuat XML dan rekan cetak mereka menggunakan Laporan XML Program dapat diunduh dari bagian. Kami juga menyarankan untuk melihat bagian di mana Anda akan menemukan berbagai utilitas gratis, perpustakaan, dan lainnya.

Program Konverter XML dikonfigurasi untuk mengonversi file/dokumen Rosreestr XML seperti ekstrak kadaster, rencana kadaster wilayah ke dalam format lain yang mudah digunakan seperti MIF/MID, DXF, CSV, TXT, HTML.

Program Pembuat XML dikonfigurasi untuk membuat versi elektronik dalam format XML, dokumen seperti untuk kegiatan kadaster seperti rencana survei tanah, rencana teknis, peta (rencana), dll., serta pemberitahuan tentang gadai barang bergerak dan pemberitahuan sesuai dengan undang-undang FATCA.

Program Laporan XML dikonfigurasi untuk mengonversi dokumen elektronik untuk kegiatan kadaster seperti rencana survei tanah, rencana teknis, peta (rencana) menjadi rekan cetak (kertas) yang sesuai.

Program Baru Masuk dirancang untuk membuat dan memverifikasi tanda tangan digital elektronik (EDS).

Program XML Kontak-Rosreestr dirancang untuk berinteraksi dengan layanan web Rosreestr, mis. membuat aplikasi untuk pendaftaran kadaster bidang tanah dan objek real estat, permintaan informasi kadaster, mendapatkan hasil dari aplikasi dan permintaan ini.

Semua program (kecuali untuk Just Sign dan XML Contact-Rosreestr) memiliki mode demo yang berlangsung selama 30 hari, yang memungkinkan Anda menggunakan fungsionalitas program tanpa batasan. Setelah periode mode demo berakhir, Anda harus membeli versi lengkap program atau berhenti menggunakannya. Program Tanda Tangan Saja adalah program gratis dan tidak memiliki batasan penggunaan. Program XML Contact-Rosreestr sedang dalam pengujian beta dan saat ini gratis untuk digunakan.

PENTING! Untuk mengkonversi menggunakan program Konverter XML atau Pembuat XML File XML besar perlu mengunduh dan menginstal prosesor kueri XQuery eksternal dan menentukannya di bidang program yang sesuai sebelum konversi. Dua prosesor permintaan sumber terbuka yang saat ini didukung adalah AltovaXML 2010 (oleh www.altova.com) dan Saxon-HE 9.5 (oleh www.saxonica.com). Anda dapat mengunduhnya dari situs web pabrikan atau dari situs web ini menggunakan tautan di bawah ini:

PENTING! Sebelum Anda mulai bekerja dengan program, Anda harus membaca instruksinya. Ini sangat penting untuk program Pembuat XML, karena sebelum bekerja, Anda perlu memahami prinsip pengoperasian program ini. Instruksi terletak di folder yang sama dengan file program yang dapat dieksekusi, yaitu untuk Pembuat XML di folder "c:\ProgramFiles\XMLCON\XMLConstructor\XMLConstructor-help.rtf". Anda dapat memanggil instruksi melalui pintasan dari menu utama program Windows, yaitu untuk XML Constructor "Start->Programs->XMLConstructor->XML Constructor - Instruction". Untuk program XML Constructor, instruksinya juga tersedia melalui menu Help.

Untuk waktu yang lama, masalah yang paling mendesak bagi saya adalah bagaimana dan dengan apa menandatangani dokumen dan file XML. tanda tangan elektronik atau tanda tangan digital. Ada baiknya saat Anda berada di kantor dan semua program untuk menandatangani dokumen dan file XML diinstal di tempat kerja Anda. Namun dalam pekerjaan saya, situasi sering muncul ketika perlu membuat dan menandatangani dokumen, file XML, berada jauh dari tempat kerja saya atau, seperti biasa, segera dilakukan sekarang, saat berada di rumah. Beli dan pasang perangkat lunak untuk menandatangani dengan tanda tangan digital elektronik, juga di rumah, atau di laptop dan selalu membawanya, itu terlalu mahal. Kemudian saya berangkat untuk menemukan program yang didistribusikan secara bebas di Internet yang dapat menandatangani dokumen dan file XML dengan tanda tangan digital elektronik - EDS. Program-program inilah, serta yang berbayar, yang akan kami pertimbangkan di bawah ini.

Untuk dikirim ke Rosreestr, dan ini wajib, semua dokumen harus ditandatangani dengan EDS (tanda tangan digital elektronik), dan terkadang Anda perlu memeriksa EDS Anda sendiri atau orang lain.

Jadi, pertimbangkan bagaimana dan apa alat perangkat lunak Anda dapat menandatangani dokumen atau file XML dengan tanda tangan digital elektronik. Salah satu programnya adalah GIS "Panorama" - "Map-2011" versi 11.10.4. Penandatanganan dokumen berfungsi bahkan dalam versi yang tidak terdaftar. Prosedur untuk menandatangani dokumen, file Daftar program yang memungkinkan Anda menandatangani dokumen, file XML, EDS (tanda tangan digital elektronik) untuk pertukaran data dengan portal pelayanan publik Layanan Federal pendaftaran negara, kadaster dan kartografi, Rosreestr, melalui Internet EDS adalah sebagai berikut: luncurkan "Map-2011", atau "Mini-Map", tekan "F12" untuk memanggil menu peluncuran aplikasi. Di jendela yang muncul, pilih tugas dokumen elektronik, Lebih jauh Pembentukan tanda tangan digital elektronik

File tanda tangan: pilih file yang ingin Anda tanda tangani, dan, karenanya, sertifikat yang diinginkan dalam sertifikat. Itu saja Dokumen atau file XML Anda ditandatangani dengan EDS. Jika Anda ingin memeriksa tanda tangan yang sudah ada, maka file tanda tangan, pilih file tanda tangan (file dengan ekstensi "sig"). Situs resmi GIS "".

Program kedua untuk menandatangani dokumen, file XML adalah CryptoLine. Gratis, berfungsi penuh, memungkinkan Anda untuk menandatangani, mengenkripsi dokumen, serta memverifikasi tanda tangan digital. Unduh program ini Anda dapat dari situs resmi atau mengunduh melalui tautan langsung dari halaman situs ini. Bekerja dengan program ini sederhana dan nyaman. Pilih dan tambahkan file yang perlu ditandatangani, lalu pilih sertifikat yang Anda perlukan untuk menandatangani dokumen, file XML, dan menandatangani dokumen. Hati-hati - pilih hanya satu sertifikat untuk ditandatangani !!! Jika tidak, dokumen akan ditandatangani dengan sertifikat sebanyak yang Anda tambahkan ke program. Instruksi pengoperasian ada di arsip program. Untuk menandatangani perubahan Rossreestr, saya akan memberikan contoh di bawah ini.

Setelah menginstal program dan menjalankannya, tambahkan file ke program yang perlu ditandatangani. tab Tindakan, tombol Tambah.

Untuk menandatangani semua file sekaligus, Anda harus memilih semuanya - "Shift + tombol kanan mouse" atau "Shift + panah bawah". Kemudian klik "Masuk", di jendela yang muncul, tambahkan sertifikat, atau biarkan yang dipilih sebelumnya, atau ubah ke yang lain. Sekali lagi, saya ingat bahwa untuk pengiriman ke Rosreestr di jendela ini tidak boleh lebih dari 1 sertifikat! Juga, atur semua pengaturan seperti yang ditunjukkan pada gambar:

Kami menandatangani. Setelah ditandatangani, file dengan ekstensi "sigO" akan ditambahkan ke daftar Anda. Ini adalah tanda tangan dari file tersebut. Tetap hanya mengunggah file tanda tangan atau semua file (sesuai kebijaksanaan Anda). Pilih apa yang ingin Anda unggah, dalam hal ini tiga file tanda tangan dan klik "Unggah". Itu seperti semua. Tapi seperti semua orang keju gratis ada nuansa kecil. Rosreestr bersumpah pada ekstensi file "sigO", jadi Anda memerlukannya di Explorer atau di mana saja manajer file ganti nama ekstensi dari "sigO" menjadi "sig" .

Tanda tangan program ini belum diverifikasi oleh situs web Rosreestr. Verifikasi tanda tangan telah dilakukan produk perangkat lunak yang berinteraksi dengan portal layanan publik dari Layanan Federal untuk Registrasi Negara, Kadaster dan Kartografi. Ketiga program yang memeriksa signature yang dijalankan oleh program ini memberikan hasil yang positif. Verifikasi dilakukan oleh program yang ditunjukkan di sini, GIS "Panorama", Crypto AWP dan program rencana Survei Tanah Poligon. Tanda tangannya juga telah diverifikasi. layanan daring verifikasi keaslian tanda tangan digital elektronik di situs.

Program lain untuk menandatangani dokumen dan file XML adalah . Anda dapat mengunduhnya dari situs web resmi program. Programnya sendiri cukup fungsional dan menarik, biayanya tidak mahal, hanya 1.200 rubel untuk 1 orang tempat kerja. Ada itu. dukungan dan bantuan yang diperluas. Informasi terlengkap dan terkini bisa didapatkan di. Baca juga tentang EDS di catatan

Tujuan mulia memuliakan aktivitas atas nama tujuan itu.K.Liebknecht

Artikel ini menjelaskan cara menandatangani dokumen (pdf, word, excel, xml, arsip) menggunakan EDS. Pertimbangkan perangkat lunak apa yang diperlukan untuk menandatangani dokumen menggunakan EDS, pro dan kontranya.

Cara menandatangani file dengan EDS

Ada dua program yang dapat digunakan untuk menandatangani file menggunakan EDS:

  1. ViPNet CryptoFile;
  2. CryptoARM.

ViPNet CryptoFile

Dengan menggunakan program ini, Anda dapat menandatangani file apa pun, misalnya: doc, xls, jpg, xml, txt, menandatangani deklarasi EDS, arsip. Setelah ditandatangani, file akan diakhiri dengan .sig

Kelebihan: program gratis yang membutuhkan pendaftaran di situs (dapatkan kuncinya di surel). Dimungkinkan juga untuk menggunakan tanda tangan terlampir pada file saat menandatangani file dengan EDS, mis. file dan kuncinya akan berada di file yang sama atau terpisah dari file.

Minus: saat menandatangani, Anda hanya dapat menambahkan satu tanda tangan elektronik;

Anda dapat menandatangani dokumen EDS klik kanan klik pada file dan pilih ViPNet CryptoFile -> Masuk ke menu ViPNet.

CryptoARM

Minus: perangkat lunak berbayar;

Kelebihan: Anda dapat menambahkan banyak tanda tangan EDS saat menandatangani file.

Untuk menandatangani dokumen dengan EDS, Anda dapat mengklik kanan file tersebut dan memilih CryptoARM -> Masuk dari menu.

Cara menandatangani pdf dengan EDS

Jika Anda perlu menandatangani dokumen, misalnya untuk pajak, baca petunjuk di atas "Cara menandatangani file menggunakan EDS", tetapi jika Anda memerlukan tanda tangan dengan bagian yang terlihat di dokumen, bacalah petunjuk di bawah ini.

Untuk menandatangani dokumen pdf menggunakan EDS, perangkat lunak diperlukan.

Kelebihan: Tanda tangan elektronik terlihat di dokumen.

Minus: Biaya program (gratis 90 hari.)

Juga, Anda perlu menginstal Pembaca Akrobat DC atau Adobe Acrobat Pro.

Sebelum memasukkan tanda tangan elektronik dalam dokumen pdf, Anda perlu mengonfigurasi Acrobat Reader DC untuk bekerja dengan program CryptoPro PDF, untuk melakukan ini, tekan Ctrl + K di Acrobat Reader DC atau buka menu Editing -> Preferences, di kategori pilih Tanda Tangan -> di mana "Buat dan desain" klik Lebih detail lihat gambar:

Dalam "Metode penandatanganan default" pilih CryptoPro PDF seperti pada gambar:

Kami menandatangani dokumen pdf dengan EDS

Buka dokumen pdf -> di panel kanan, klik isi dan tandatangani

Di panel atas program Acrobat Reader, klik "Isi dan tandatangani" -\u003e "Alat tambahan"

Anda harus memilih alat Sertifikat untuk ditambahkan ke panel.

Setelah mengklik Sertifikat, alat "Tanda Tangan Digital" akan muncul di panel, klik di atasnya, lalu pilih dengan kursor area tempat kita ingin meletakkan tanda tangan digital, jendela dengan pilihan sertifikat akan muncul.

Pilih sertifikat -> OK -> Masuk.

Tanda tangan digital dalam pdf terlihat seperti ini:



Dokumen pdf kami ditandatangani, dengan cara yang sama Anda dapat membubuhkan beberapa tanda tangan dalam satu file pdf.

Cara menandatangani dokumen Word dengan EDS

Jika Anda perlu menandatangani dokumen dengan bagian tanda tangan yang terlihat di dokumen, baca instruksi di bawah ini, tetapi jika Anda perlu menandatangani dokumen kata dan mengirimkannya ke kantor pajak, misalnya, maka instruksi di atas “Bagaimana untuk menandatangani file menggunakan EDS” cocok untuk Anda.

Untuk menandatangani dokumen kata Dengan bantuan EDS, kami membutuhkan program CryptoPro Office Signature.

- perangkat lunak berbayar, digunakan untuk menandatangani dokumen Wort, Excel.

Setelah penginstalan, Anda dapat langsung mulai menandatangani dokumen Word dengan EDS, untuk ini kami membuka dokumen Word yang perlu ditandatangani dengan EDS -> menu Nilai -> di blok Teks, klik baris Tanda Tangan dan pilih baris Tanda Tangan (CRYPTO -PRO).

Misalkan Anda perlu memasukkan dua tanda tangan elektronik ke dalam dokumen Word, untuk ini kami melakukan operasi yang ditunjukkan di atas dua kali, tanpa tanda tangan. Karena setelah menandatangani dengan satu tanda tangan, dokumen tersebut menjadi tidak dapat diedit. Oleh karena itu, kami menyisipkan dua bidang untuk tanda tangan elektronik.

Setelah itu, Anda dapat menandatangani dengan mengklik salah satu tanda tangan, pilih EDS dan tanda tangani, lalu lakukan hal yang sama dengan tanda tangan kedua.

Dokumen kata yang ditandatangani secara digital terlihat seperti ini:


Cara menandatangani dokumen Excel menggunakan tanda tangan digital

Saya tidak akan mengulanginya sendiri, untuk menandatangani dokumen Excel menggunakan EDS, Anda perlu melakukan semuanya sama seperti untuk Word, lihat sedikit lebih tinggi.

Perhatian: Jika Anda perlu untuk menandatangani dokumen excel dengan bagian tanda tangan yang terlihat di dokumen, kemudian baca instruksi lebih lanjut "Cara menandatangani dokumen Word menggunakan EDS", jika Anda perlu menandatangani dokumen excel dan mengirimkannya ke kantor pajak misalnya, maka instruksinya di bagian atas halaman "Cara menandatangani file menggunakan EDS" cocok untuk Anda.

Cara menandatangani kontrak dengan EDS

Bergantung pada format pembuatan kontrak, baca artikel Cara menandatangani dokumen Word atau PDF di atas.

Cara menandatangani surat kuasa dengan EDS

Baca artikel di atas dan pilih opsi yang sesuai tentang cara menandatangani surat kuasa menggunakan EDS.

Pertanyaan:

Apakah mengedit file EDS yang ditandatangani diperbolehkan?

- Tidak, setelah menandatangani file, tidak mungkin untuk mengeditnya, misalnya, jika Anda mencoba mengedit teks yang ditandatangani di Word, maka semua tanda tangan akan dihapus.

Seperti apa bentuk dokumen yang ditandatangani EDS?

- Itu semua tergantung pada bagaimana Anda menandatangani dokumen. Jika dokumen ditandatangani seperti petunjuk di awal, file akan memiliki ekstensi .sig. Juga, file dan tanda tangan digital bisa berkas terpisah, itu tergantung pada metode penandatanganan file.

Jika Anda menandatangani dokumen pdf, word atau excel menggunakan program khusus, tidak mungkin untuk membedakannya. Perlu untuk membuka dokumen dan sudah di dalam memastikan apakah ada tanda tangan atau tidak.

Pada salah satu proyek yang sedang berlangsung, tugas penandatanganan (menerapkan ES - tanda tangan elektronik) dokumen XML, yaitu paket SOAP, diselesaikan. Format yang disarankan adalah Standar OASIS 200401 dengan Profil Token Sertifikat X.509 . Dokumen-dokumen ini menjelaskan penggunaan format XML Digital Signature (XMLDSig) World Wide Web Consortium (W3C) dalam pesan SOAP. Tanda tangan XML, seperti jenis ES lainnya, mendukung autentikasi, integritas data, dan penolakan penandatanganan data.

Saya akan mencatat beberapa fitur format XMLDSig:

1. Objek penandatanganan tidak boleh seluruh dokumen XML, tetapi hanya bagiannya, mis. simpul tertentu. Menurut Standar OASIS 200401, objek yang akan ditandatangani adalah badan (node Tubuh) pesan SOAP.

2. Berbagai bagian dokumen XML dapat ditandatangani oleh lebih dari satu orang.

3. Tanda tangan XML dapat berada pada level yang berbeda terkait dengan objek yang ditandatangani:

  • struktur tanda tangan dapat berisi URI(pengidentifikasi sumber daya seragam);
  • Tanda tangan XML mungkin berada pada level yang sama dengan node yang ditandatangani;
  • Tanda tangan XML bisa berada di dalam node yang ditandatangani;
  • node yang akan ditandatangani mungkin berada dalam struktur tanda tangan XML.

4. Untuk memeriksa validitas ES, diperlukan akses ke objek penandatanganan.

Struktur Sampul SOAP

Secara umum, pesan terdiri dari header dan body: tajuk Dan Tubuh. tajuk berisi metadata, dan Tubuh data. Tanda tangan XML ditempatkan di sebuah node tajuk.

Algoritma kriptografi dan kanonikalisasi.

Untuk mengatasi masalah tersebut, kami menggunakan GOST R 34.11-94- Rusia standar kriptografi perhitungan fungsi hash dan GOST R 34.10-2001- standar tanda tangan elektronik.

Karena fleksibilitas aturan komposisi XML, struktur dokumen yang sama dan informasi yang sama dapat diwakili oleh dokumen XML yang berbeda. Pertimbangkan dua dokumen:

Dari sudut pandang logis, keduanya setara, yaitu memiliki skema XML yang sama. Tetapi file XML dari daftar ini tidak berisi urutan karakter yang sama, yang akan menghasilkan hasil yang berbeda, misalnya saat mendapatkan nilai hash.

Untuk menghindari perbedaan tersebut, aturan pemformatan yang ketat dan persyaratan untuk konten pesan XML telah diadopsi. Proses membawa dokumen XML ke bentuk terpadu (kanonik) disebut kanonikalisasi(Kanonikalisasi Inggris). Contoh aturan dapat berupa penggunaan skema pengkodean tertentu (UTF-8), normalisasi nilai atribut, penggunaan tanda kutip ganda untuk nilai atribut, urutan atribut dan deklarasi namespace tertentu, dll. Ada beberapa jenis kanonikalisasi XML yang berbeda dalam komposisi aturan. Anda dapat membaca lebih lanjut tentang proses kanonikalisasi dalam spesifikasi resmi W3C (artikel berbahasa Rusia tentang topik ini dapat ditemukan dan)

Perpustakaan SIRCrypt

Untuk mengimplementasikan penandatanganan XML di DIRECTUM, perpustakaan COM ditulis, di dalamnya dijelaskan 3 kelas: Penggiling daging, Penandatangan Dan XMLCanonicalizer untuk mendapatkan hash, nilai ES, dan kanonikalisasi dokumen XML, masing-masing.

Perpustakaan membutuhkan Kripto PRO CSP(diuji pada versi Kripto PRO CSP 3.6.6497 KC2) Dan .BERSIH(minimal 2.0).

Mendaftarkan perpustakaan dilakukan dengan menjalankan perintah berikut:

> regasm.exe "jalur ke dll" / basis kode / tlb

Objek hasher untuk perhitungan hash menurut GOST

Berisi bidang isi (ketik "string") dan HashValueAsBase64 (ketik "string"), serta metode untuk menghitung nilai fungsi hash hash(). Untuk menghitung itu perlu berarti isi , panggil metode hash(), akibatnya di lapangan HashValueAsBase64 nilai fungsi hash akan ditulis di Base64.

Objek penanda untuk mendapatkan nilai ES menurut GOST

Berisi bidang isi (ketik "string"), ContainerName (ketik "string"), SertifikatAsPEM (ketik "string"), BESignatureValueAsBase64 (ketik "string"), metode Tanda(). Setelah objek diinisialisasi, itu harus isi (data untuk ditandatangani), ContainerName (nama wadah kunci pribadi sertifikat), panggil metode Tanda(). Kemudian di lapangan SertifikatAsPEM sertifikat yang sesuai dengan kunci privat akan berada di Base64, dan di lapangan BESignatureValueAsBase64 nilai tanda tangan sebagai string Base64.

Objek XMLCanonicalizer untuk kanonikalisasi XML

Berisi bidang Konten XML (ketik "string"), CanonicalXML (ketik "string"), metode C14NExc(). Untuk mendapatkan bentuk kanonis XML, Anda perlu mengartikannya Konten XML , panggilan C14NExc(), dapatkan hasil dari lapangan CanonicalXML .

Struktur Tanda Tangan XML

Membuat tanda tangan terlihat seperti ini: pertama, dasar dari paket sabun dibentuk, simpulnya tajuk Dan Tubuh. Tubuh diisi dengan data dan atribut ditambahkan wsu:ID="Tubuh"- pengenal data yang akan ditandatangani.

Pengisian struktur keamanan terjadi dengan urutan sebagai berikut:

  1. Nilai hash diambil dari Body node dalam bentuk canonical dan ditempatkan di node DigestValue.
  2. Simpul SignedInfo direduksi menjadi bentuk kanonik, ditandatangani oleh EP. Hasil dalam format string Base64 masuk ke node Nilai Tanda Tangan.
  3. Kunci publik sertifikat yang ditandatangani ditempatkan di node Token Keamanan Biner dalam format string Base64.

Untuk memeriksa ES yang dihasilkan dengan cara ini, semua langkah harus dilakukan dalam urutan terbalik, yaitu:

  1. dapatkan bentuk kanonik elemen SignedInfo.
  2. Menggunakan hasil dari langkah sebelumnya, periksa apakah nilai EP dari node tersebut valid Nilai Tanda Tangan menggunakan kunci publik sertifikat. Pada tahap ini hanya kebenaran ES yang diperiksa, yang tidak menjamin kekekalan data.
  3. Jika pemeriksaan validitas ES berhasil, hash dari node dibandingkan DigestValue dan hash dari simpul data. Jika tidak sama, maka data yang ditandatangani telah diubah dan seluruh ES tidak valid.

Contoh penggunaan

Paket pengembangan dan pustaka

Contoh penandatanganan XML ke ISBL (script): dev.zip (5.95 Kb)

Untuk penggunaan permanen, kode yang melakukan penandatanganan umum dari amplop SOAP yang telah selesai dipindahkan ke fungsi tersebut Tanda SOAP().

Penandatanganan menggunakan sertifikat dari penyimpanan sertifikat pribadi pengguna saat ini.

ML, atau bahasa markup yang dapat diperluas, sekarang menjadi dengan cara standar mengangkut informasi di Web (dan seterusnya). Apalagi, semakin banyak add-on yang menggunakan sintaks XML (aplikasi XML). Misalnya, ini termasuk SOAP (Simple Object Access Protocol) yang disederhanakan, di mana XML bertindak sebagai sarana universal untuk merepresentasikan parameter RPC (Remote Procedure Call) panggilan prosedur jarak jauh. Contoh lain dari add-on adalah pembungkus Resource Description Framework (RDF). Anda dapat melihat situs World Wide Web Consortium (W3C) yang mengembangkan standar di area ini (http://www.w3.org/) dan melihat bahwa XML memang mendapatkan banyak perhatian.

Ingatlah bahwa tujuan utama XML adalah untuk mendeskripsikan struktur dan semantik suatu dokumen. Keuntungan utama XML dibandingkan format dokumen elektronik lainnya adalah ia memisahkan deskripsi representasi eksternal dokumen dari struktur dokumen dan isinya. XML adalah bahasa yang fleksibel yang dapat digunakan untuk berbagai tujuan sekaligus dapat beroperasi dengan banyak sistem dan database. Jadi, saat ini XML sudah banyak digunakan sistem Informasi sebagai format pertukaran data utama. Selain itu, vendor sistem manajemen basis data telah mengambil langkah kuat menuju XML. Misalnya, Oracle Corporation telah merilis XSU (XML-SQL Utility), yang merupakan add-on JDBC yang memungkinkan Anda menyimpan dan mengambil data XML dalam database (http://otn.oracle.com/tech/xml/ xdk_java/konten .html). XSU adalah hierarki kelas Java yang dirancang untuk mengubah data dari tabel dan tampilan (tampilan) dari database objek-relasional ke dalam format XML, memasukkan data dari dokumen XML ke dalam tabel dan tampilan, dan operasi berguna lainnya.

Kebutuhan untuk Melindungi Dokumen XML

ML adalah alat canggih yang sering digunakan untuk bertukar data melalui Internet. Namun, sayangnya, dengan sendirinya, itu tidak memberikan perlindungan yang diperlukan untuk data yang "diangkut" olehnya. Dengan kata lain, ada masalah keamanan yang serius saat menggunakan format XML (seperti saat menggunakan format lain).

XML dapat dengan mudah digunakan untuk mentransfer pesan transaksi antara bank dan ATM, informasi rahasia atau semi-rahasia tentang individu, informasi tentang transaksi elektronik, atau hanya untuk mentransfer dokumen rahasia dalam format ini. Tetapi pada saat yang sama, perlu untuk memastikan perlindungan informasi dari distorsi yang tidak disengaja atau disengaja baik oleh pengguna sistem informasi maupun selama transmisi melalui saluran komunikasi. Perlindungan harus didasarkan pada fungsi-fungsi berikut:

  • otentikasi pihak yang berinteraksi;
  • konfirmasi keaslian dan integritas informasi;
  • penutupan kriptografi dari data yang dikirimkan.

Untuk memastikan perlindungan informasi yang ditentukan, disarankan untuk menggunakan metode tanda tangan digital elektronik (EDS) dan enkripsi data. Selain itu, sebagai aturan, EDS menyediakan otentikasi, konfirmasi keaslian dan integritas, dan penutupan data dicapai dengan enkripsi.

Informasi umum tentang tanda tangan digital elektronik

EDS dan kemungkinan pemalsuan

Tanda tangan digital elektronik adalah data yang ditambahkan ke blok informasi (dokumen) asli yang diperoleh sebagai hasil transformasi kriptografinya (bergantung pada kunci rahasia dan blok informasi atau dokumen asli). EDS memastikan integritas pesan (dokumen) dengan jaminan identifikasi pembuatnya (orang yang menandatangani dokumen), paling sering dikirimkan melalui saluran telekomunikasi publik yang tidak aman.

Verifikasi tanda tangan digital elektronik dari blok informasi dilakukan dengan transformasi kriptografi EDS menggunakan kunci publik yang sesuai dengan kunci rahasia yang berpartisipasi dalam pemasangan EDS.

Ketidakmungkinan memalsukan tanda tangan digital elektronik dicapai dengan bantuan perhitungan matematis dalam jumlah yang sangat besar (misalnya, ketidakmungkinan memalsukan tanda tangan mungkin disebabkan oleh kerumitan penyelesaian masalah logaritma diskrit dalam bidang elemen p ElGamal skema tanda tangan). Menandatangani dokumen tidak mengubah dokumen itu sendiri, tetapi hanya memungkinkan untuk memverifikasi keaslian dan kepenulisan informasi yang diterima (yaitu, blok data ditambahkan ke dokumen itu sendiri atau secara terpisah darinya - EDS dokumen ini).

Otoritas Sertifikasi

Di atas kami menyebutkan istilah "kunci rahasia" dan "kunci publik". Dari mana kunci-kunci ini berasal? Mereka dibentuk oleh otoritas sertifikasi beberapa struktur (organisasi) yang mengelola sertifikat. Sertifikat kunci publik/pribadi adalah kumpulan data berikut:

  • nama subjek atau objek sistem, yang secara unik mengidentifikasinya di dalam sistem;
  • kunci publik/pribadi subjek atau objek sistem;
  • atribut tambahan yang ditentukan oleh persyaratan untuk menggunakan sertifikat dalam sistem;
  • tanda tangan digital elektronik penerbit (otoritas sertifikat), yang menyatakan totalitas data ini.

Jadi, misalnya, sertifikat kunci privat berisi kunci privat itu sendiri dan informasi tambahan untuk dia.

Untuk setiap pengguna sistem informasi yang terdaftar, pusat sertifikasi (CC) menghasilkan dua sertifikat, yaitu sertifikat kunci privat dan sertifikat kunci publik. Pada saat yang sama, SC pertama mengeluarkannya secara pribadi ke tangan pengguna terdaftar (misalnya, pada disket) dan tidak kepada orang lain ini adalah "tanda tangan". Publik sertifikat kedua diterbitkan oleh CA dalam repositori publik sehingga siapa pun yang tertarik dapat menemukannya dengan mudah.

Pembentukan dan verifikasi EDS

Pengirim informasi, menggunakan kunci rahasia dan algoritme asimetris (algoritme EDS) yang dipilih sebelumnya berdasarkan kesepakatan antara pelanggan, mengenkripsi informasi yang dikirimkan yang disajikan dalam bentuk digital, dan dengan demikian memperoleh tanda tangan digital dari data. Selanjutnya, pengirim informasi mengirimkan informasi yang tidak terenkripsi dan tanda tangan digital yang diperoleh dengan metode yang dijelaskan di atas kepada penerima melalui saluran komunikasi terbuka.

Penerima pesan, menggunakan kunci publik (yang tersedia untuk umum) dan algoritme EDS yang dipilih berdasarkan kesepakatan antara pelanggan, mendeklasifikasi tanda tangan digital. Kemudian dia membandingkan informasi tidak terenkripsi yang dia terima dan informasi yang diperoleh saat mendekripsi tanda tangan digital. Jika tanda tangan digital belum dipalsukan dan informasi jelas yang dikirimkan tidak terdistorsi, maka kedua informasi ini harus sama persis. Jika tanda tangannya dipalsukan, maka informasi jelas yang diterima dan informasi yang diperoleh selama dekripsi akan berbeda secara signifikan (Gbr. 1).

Fungsi hash

Dalam skema interaksi di atas antara pengirim dan penerima, satu operasi hilang. Ini terkait dengan tahap enkripsi data, di mana EDS terbentuk. Jika kita hanya membuat EDS, maka hasilnya (tergantung pada algoritme), sebagai aturan, kira-kira sama panjangnya dengan blok data asli, dan kita harus mengirim pesan dua kali lipat melalui jaringan. Secara alami, ini akan berdampak negatif pada keseluruhan proses sistem. Oleh karena itu, sebelumnya generasi EDS data asli diproses menggunakan fungsi hash, sehingga tanda tangan menjadi kompak. Tentunya untuk mendapatkan hasil yang benar, penerima harus melakukan transformasi yang sama pada blok data yang diterima.

Fungsi hash yang digunakan harus dapat mengubah pesan dengan panjang berapa pun menjadi urutan biner dengan panjang tetap. Selain itu, harus memenuhi persyaratan berikut:

  • pesan setelah menerapkan fungsi hash harus bergantung pada setiap bit dari pesan asli dan urutannya;
  • Tidak ada cara untuk memulihkan pesan dari versi pesan yang di-hash.

Informasi umum tentang enkripsi

Enkripsi data dan perbedaannya dari EDS

Enkripsi informasi transformasi matematika (kriptografi) satu-ke-satu, tergantung pada kunci (parameter rahasia transformasi), yang cocok dengan blok informasi terbuka, disajikan dalam beberapa penyandian digital, blok informasi terenkripsi, juga disajikan dalam penyandian digital. Enkripsi menggabungkan dua proses: enkripsi dan dekripsi informasi (Gbr. 2).

Perbedaan mendasar antara EDS dan metode enkripsi (kami sekarang mempertimbangkan algoritme asimetris di mana kunci yang berbeda tetapi terkait secara matematis digunakan untuk enkripsi dan dekripsi) adalah bahwa kunci publik penerima digunakan untuk enkripsi, dan kunci privat untuk dekripsi, sementara di Algoritma EDS memerlukan kunci rahasia pembuat pesan untuk menandatangani pesan, dan kunci publik pembuat pesan untuk memverifikasi EDS.

Pemecahan

Secara teoritis, setiap algoritma enkripsi yang menggunakan kunci dapat dibuka dengan menghitung semua nilai kunci. Jika kunci dipilih, daya komputer yang dibutuhkan tumbuh secara eksponensial dengan panjang kunci. Kunci 32-bit membutuhkan 232 (sekitar 109) langkah. Tugas seperti itu berada dalam kekuatan amatir mana pun dan diselesaikan komputer rumah. Sistem dengan kunci 40-bit (misalnya, algoritma RC4 versi ekspor Amerika) memerlukan 240 langkah, sebagian besar perusahaan kecil memiliki daya komputasi seperti itu. Sistem dengan kunci 56-bit (DES) memerlukan upaya yang signifikan untuk membukanya, tetapi dapat dengan mudah dibuka menggunakan peralatan khusus. Biaya peralatan semacam itu memang signifikan, tetapi terjangkau bagi mafia, perusahaan besar, dan pemerintah. Kunci 64-bit saat ini dapat dibuka oleh negara bagian besar, dan dalam beberapa tahun mendatang kunci tersebut akan tersedia untuk dibuka oleh organisasi kriminal, perusahaan besar, dan negara bagian kecil. Kunci 80-bit mungkin menjadi rentan di masa mendatang. Kunci 128-bit kemungkinan besar akan tetap tidak tersedia untuk brute force cracking di masa mendatang. Anda juga dapat menggunakan kunci yang lebih panjang.

Namun, panjang kunci bukanlah segalanya. Banyak sandi dapat dipecahkan tanpa melalui semua kemungkinan kombinasi, tetapi menggunakan algoritme khusus (misalnya, dengan kompleksitas polinomial). Secara umum, sangat sulit untuk menghasilkan sandi yang tidak dapat dipecah menggunakan metode lain yang lebih efektif daripada kekerasan.

Harap dicatat bahwa tingkat kehandalan sistem kriptografi ditentukan oleh mata rantai terlemahnya. Tidak ada aspek desain sistem yang harus diabaikan, mulai dari pemilihan algoritme hingga kebijakan penggunaan dan pendistribusian kunci.

Tanda tangan digital elektronik dari dokumen XML

Mereka yang bekerja dengan XML telah lama memahami pentingnya mekanisme untuk mengontrol data yang diteruskan dan direpresentasikan dalam XML. Persyaratan utama untuk data yang dikirimkan, otentikasi pihak yang berinteraksi dan konfirmasi keaslian dan integritas informasi dalam dokumen XML. Tugas seperti itu diselesaikan oleh EDS dokumen XML.

Spesifikasi untuk EDS XML dari W3C

W3C saat ini sedang mengembangkan spesifikasi "XML Signature Syntax and Processing" dan dokumen terkait lainnya. Sedangkan statusnya adalah rekomendasi (http://www.w3.org/TR/xmldsig-core/). Dokumen ini menyediakan tanda tangan untuk seluruh dokumen XML dan sebagiannya. Untuk sifat satu-ke-satu dari proses penandatanganan XML, pengertian representasi kanonik dari data XML ditentukan. Misalnya, dalam dokumen XML, tag yang berada pada level yang sama di pohon hierarki dapat digabungkan, sehingga menciptakan ambiguitas untuk proses penandatanganan. Representasi kanonis XML adalah sejenis penyortiran (atau lebih tepatnya, reduksi ke bentuk paling sederhana) yang tidak memungkinkan kebebasan seperti itu. Metode dan aturan kanonikalisasi XML dijelaskan dalam dokumen terpisah Canonical XML (http://www.w3.org/TR/xml-c14n), yang juga berstatus rekomendasi. Materi lain yang terkait dengan penandatanganan dokumen XML tersedia di: http://www.w3.org/Signature/ .

Menandai Tanda tangan XML

Rekomendasi "Sintaksis dan Pemrosesan Tanda Tangan XML" menentukan bahwa tanda tangan dan informasi tentangnya harus terkandung dalam tag , yang memiliki bagian-bagian berikut (kebanyakan diperlukan untuk memverifikasi tanda tangan):

  • CanonicalizationMethod mendefinisikan seperangkat aturan khusus untuk menyederhanakan dan menyusun instance XML sebelum penandatanganan. Informasi ini memastikan bahwa data yang ditandatangani diformat dengan benar sehingga algoritme verifikasi akan lolos jika data yang bermakna belum diubah;
  • metode tanda tangan (SignatureMethod) mendefinisikan algoritme untuk menandatangani intisari pesan. Intisari pesan adalah string karakter unik dengan ukuran tetap, ini adalah hasil pemrosesan data menggunakan fungsi hash satu arah yang diberikan oleh metode intisari;
  • metode intisari (DigestMethod) algoritme untuk menyusun intisari pesan yang ditandatangani menggunakan metode tanda tangan yang ditentukan. Menentukan metode intisari tertentu memastikan bahwa data diproses dengan cara yang sama;
  • nilai intisari (DigestValue) intisari pesan itu sendiri, yaitu string dengan panjang tetap yang dihasilkan sebagai hasil pemrosesan data menggunakan algoritme intisari. String seperti itu unik dan tidak dapat diubah: hampir tidak mungkin mendapatkannya dari konten lain, sama seperti tidak mungkin membuat ulang data asli darinya. Ini seperti sidik jari untuk data yang ditandatangani; hasil positif dari perbandingan nilai intisari menjamin integritas konten;
  • tanda tangan itu sendiri (SignatureValue) ini adalah data yang diperoleh setelah diproses dengan metode tanda tangan;
  • kunci informasi kunci publik (KeyInfo) untuk verifikasi EDS. Lebih tepatnya, bukan kunci, tetapi sertifikat, karena selain kunci itu sendiri, nama pemilik dan algoritme tanda tangan digital dapat ditunjukkan di dalamnya.

Secara alami, ini bukanlah informasi lengkap tentang apa yang dapat dimuat dalam tag. . Di Sini contoh paling sederhana tanda tangan tersebut (Listing 1).

Pembentukan EDS XML

Perlu dicatat bahwa ada beberapa perbedaan antara proses penandatanganan XML dan klasik. Faktanya adalah bahwa proses penandatanganan instance XML dimulai dengan kanonikalisasi, yaitu dengan penyederhanaan struktur data. Seperti yang telah disebutkan, prosedur ini diperlukan untuk memverifikasi EDS dengan benar untuk dokumen XML yang sama yang disajikan dengan cara berbeda. Ini berarti bahwa sebelum penandatanganan, semua dokumen XML harus diubah menjadi satu bentuk kanonis. Langkah selanjutnya serupa dengan proses standar untuk menambahkan tanda tangan digital: nilai intisari dibuat untuk data menggunakan metode yang diberikan, kemudian nilai ini ditandatangani dengan kunci pribadi pembuat dokumen.

Verifikasi tanda tangan digital XML

Ada dua langkah untuk memverifikasi tanda tangan: memverifikasi tanda tangan itu sendiri dan memverifikasi nilai intisari.

Tanda tangan itu sendiri diperiksa terlebih dahulu untuk memastikan bahwa pemiliknya diautentikasi dan untuk mencegah penolakan. Nilai intisari kemudian diperiksa untuk memastikan bahwa data tidak berubah, dan integritas isi dokumen XML diverifikasi.

Enkripsi dokumen XML

Spesifikasi Enkripsi W3C XML

Mari beralih ke enkripsi, yang memungkinkan kita untuk menutup (yaitu, mengubahnya menjadi bentuk yang maknanya tidak dapat dipahami) data yang dikirimkan dan mengembalikannya ke sisi penerima. W3C dibuat kelompok kerja(http://www.w3.org/Encryption/2001/), yang khusus menangani enkripsi data XML. Spesifikasi "Sintaksis dan Pemrosesan Enkripsi XML" kini telah menerima status Rekomendasi dan tersedia di: http://www.w3.org/TR/xmlenc-core/ .

Menandai

  • metode enkripsi (EncryptionMethod) menjelaskan algoritma enkripsi data. Jika tag ini hilang, maka algoritme enkripsi harus diketahui oleh pihak penerima, jika tidak, pesan tidak dapat didekripsi;
  • data terenkripsi (CipherData) data terenkripsi aktual atau tautan ke lokasinya. Variasi tipe data yang akan dienkripsi dan metode organisasi logisnya praktis tidak terbatas;
  • informasi tentang kunci (KeyInfo) informasi tentang kunci yang digunakan enkripsi dan, karenanya, dekripsi dilakukan. Mereka dapat disimpan di tempat lain dan diganti dalam contoh XML dengan tautan URL;
  • informasi lain (misalnya, tentang penerima yang dituju).

Contoh tag ditampilkan pada Daftar 2.

Proses enkripsi dan dekripsi

Data XML dienkripsi menggunakan metode kriptografi kunci publik tradisional. Pertama, data itu sendiri dienkripsi, biasanya dengan kunci rahasia yang dihasilkan secara acak, yang kemudian juga dikodekan menggunakan kunci publik penerima yang dimaksud. Informasi ini dikemas sehingga hanya penerima tertentu yang dapat mengekstrak kunci rahasia dan mendekripsi data. Kunci rahasia digunakan untuk mendekripsi kunci rahasia, dan kemudian data didekripsi menggunakan kunci rahasia yang ditemukan.

Menerapkan Keamanan untuk Dokumen XML

Kami telah meninjau prinsip-prinsip umum pekerjaan tanda tangan digital elektronik dan spesifikasi yang telah dikembangkan oleh konsorsium W3C di area ini. Semua ini bagus, tetapi bagaimana jika memang ada kebutuhan untuk mengimplementasikan skema perlindungan data XML yang dijelaskan?

Saat ini, terlepas dari kenyataan bahwa standar W3C muncul baru-baru ini, beberapa perusahaan telah mengumumkan rilis paket mereka (perpustakaan kelas) yang mengimplementasikan EDS dan enkripsi. Mari pertimbangkan kemungkinan beberapa di antaranya.

Suite Keamanan XML (IBM)

Paket berbasis bahasa ini pemrograman Java, tersedia di http://www.alphaworks.ibm.com/tech/xmlsecuritysuite . XML Security Suite adalah alat yang menyediakan fitur keamanan seperti tanda tangan digital, enkripsi, dan kontrol akses untuk dokumen XML. Dengannya, Anda dapat mencapai kesuksesan yang lebih besar daripada menggunakan kemampuan protokol keamanan lapisan transport (misalnya, Secure Sockets Layer, SSL).

Paket ini mengimplementasikan tiga teknologi:

  • EDS didasarkan pada spesifikasi "XML Signature Syntax and Processing" dari W3C dan IETF (dan pada spesifikasi "Canonical XML");
  • enkripsi didasarkan pada spesifikasi W3C XML Encryption Syntax and Processing;
  • kontrol akses untuk dokumen XML (XML Access Control Language).

XML Security Suite adalah salah satu yang terbaik sarana modern untuk melindungi dokumen XML. Selain arsip (JAR) dengan pustaka kelas itu sendiri, ini menyertakan dokumentasi terperinci dan contoh yang memungkinkan Anda menavigasi hierarki kelas dengan cepat.

Keamanan XML (Apache)

Perlindungan data berbasis XML

Bahasa Markup Pernyataan Keamanan (SAML)

Area yang berbeda dari, tetapi terkait erat dengan, perlindungan data XML meningkatkan keamanan dan keamanan sistem (protokol) berbasis XML. Dalam hal ini, dokumen/sistem/aplikasi lain dilindungi menggunakan XML. Komite keamanan Organization for the Advancement of Structured Information Standards (OASIS) saat ini sedang mengembangkan Security Assertion Markup Language (SAML).

Hukum Federal "Tentang Tanda Tangan Digital Elektronik"

Sasaran

Mari menyimpang sedikit dari legislator di bidang Web dan pertimbangkan Undang-Undang Federal "Tentang Tanda Tangan Digital Elektronik", yang disetujui oleh Presiden Federasi Rusia pada 10 Januari 2002 (http://www.internet-law .ru/intlaw/laws/ecp.htm). Adopsi undang-undang ini memberikan persyaratan hukum untuk penggunaan tanda tangan digital elektronik dalam dokumen elektronik, di mana tanda tangan digital elektronik dalam dokumen elektronik diakui setara dengan tanda tangan tulisan tangan dalam dokumen di atas kertas. Dengan demikian, fondasi untuk pembuatan sistem manajemen dokumen elektronik yang signifikan secara hukum telah diletakkan.

Ketentuan kesetaraan EDS dan tanda tangan biasa

Undang-undang mendefinisikan konsep dasar yang digunakan dalam prosedur EDS, seperti sertifikat, kunci publik dan pribadi, konfirmasi keaslian tanda tangan digital elektronik (kami mempertimbangkannya sebelumnya), dll. Selanjutnya, undang-undang menentukan kondisi di mana suatu tanda tangan digital elektronik dalam dokumen elektronik setara dengan tanda tangan dalam dokumen di atas kertas. Artinya, pertama-tama, sertifikat kunci tanda tangan yang terkait dengan tanda tangan digital elektronik ini belum kedaluwarsa pada saat verifikasi atau pada saat penandatanganan. dokumen elektronik. Selain itu, keaslian tanda tangan digital elektronik dan fakta bahwa tanda tangan digital digunakan sesuai dengan informasi yang ditentukan dalam sertifikat kunci tanda tangan harus dikonfirmasi.

Sertifikat dan CA

Undang-undang merinci apa yang menandatangani sertifikat kunci (unik nomor pendaftaran, nama lengkap pemilik, kunci publik EDS, nama dan lokasi otoritas sertifikasi, dll.); syarat dan tata cara penyimpanan sertifikat di pusat sertifikasi. Dengan demikian, jangka waktu penyimpanan sertifikat kunci tanda tangan dalam bentuk dokumen elektronik di pusat sertifikasi ditentukan berdasarkan kesepakatan antara pusat sertifikasi dengan pemilik sertifikat kunci tanda tangan. Mengenai penyimpanan, itu ditentukan oleh undang-undang Federasi Rusia tentang arsip dan arsip.

Bab terpisah dari undang-undang dikhususkan untuk pusat sertifikasi. Proses pengembangan dan verifikasi EDS itu sendiri dapat dilakukan tanpa partisipasi pusat sertifikasi, jika hal ini dikonfirmasi oleh kesepakatan antara para pihak. Namun, dalam sistem informasi publik dan banyak sistem informasi perusahaan, penggunaan EDS tanpa berfungsinya pusat sertifikasi tidak mungkin dilakukan, karena ini akan mengarah pada mekanisme pemalsuan tanda tangan yang cukup sederhana.

Kunci pribadi (rahasia).

EDS dapat menjalankan fungsinya hanya jika penanda tangan memiliki beberapa informasi yang tidak tersedia untuk orang yang tidak berwenang. Informasi ini mirip dengan kunci dalam enkripsi dan oleh karena itu disebut "kunci pribadi tanda tangan digital elektronik" (sebelumnya menggunakan istilah yang sama "kunci rahasia"). Penting untuk merahasiakan kunci privat dan kunci enkripsi, karena pengetahuan tentang kunci privat penandatanganan sesuai dengan selembar kertas kosong yang ditandatangani oleh pemilik kunci privat, di mana penyerang dapat menulis teks apa pun yang akan dikaitkan kepada pemilik sebenarnya dari kunci privat. Seni. 12 undang-undang secara langsung menunjukkan kewajiban pemilik sertifikat kunci tanda tangan untuk merahasiakan kunci privat dan segera menuntut penangguhan sertifikat kunci tanda tangan jika ada alasan untuk percaya bahwa rahasia kunci privat tanda tangan telah dilanggar.

Seni. 5 Undang-undang menetapkan prosedur untuk membuat kunci tanda tangan pribadi, dengan mempertimbangkan ketaatan yang ketat terhadap rahasia pembuatannya. Keadaan yang sama juga ditunjukkan oleh Art. 9 UU tentang kegiatan pusat sertifikasi. Dalam struktur informasi perusahaan, masalah produksi dan distribusi kunci pribadi EDS dapat diselesaikan dengan metode mereka sendiri, namun, pengguna EDS harus menyadari konsekuensi yang mungkin timbul dari pengaturan operasi EDS tersebut. Sangat mungkin bahwa beberapa urutan reguler akan digunakan sebagai kunci pribadi, seperti halnya saat menggunakan sistem kata sandi.

Standar domestik untuk algoritma EDS

Skema ElGamal

Pada tahun 1994, yang pertama standar domestik di bidang EDS GOST R34.10 94 " Teknologi Informasi. Perlindungan kriptografi informasi. Prosedur pengembangan dan verifikasi tanda tangan digital elektronik berdasarkan algoritma kriptografi asimetris. Ini mendefinisikan prosedur untuk bekerja dengan EDS berdasarkan skema ElGamal. Ketidakmungkinan memalsukan tanda tangan disebabkan oleh kerumitan penyelesaian masalah logaritma diskrit dalam bidang elemen p atau kerumitan penentuan bilangan x yang diberikan pada bilangan prima besar p dan bilangan a, b dari interval dari 2 ke p -1, yang dilakukan dengan perbandingan:

kapak== bmodp.

Namun, ahli matematika tidak tinggal diam, dan baru-baru ini kemajuan besar telah dibuat dalam pengembangan metode untuk memecahkan masalah logaritma diskrit dalam bidang elemen p. Baru-baru ini, apa yang disebut metode saringan bidang angka telah dibuat. Dengannya, Anda dapat memecahkan EDS yang dihasilkan dengan metode di atas (setidaknya dalam kasus modul p 512-bit).

Salah satu solusi paling sederhana untuk masalah ini adalah dengan menambah panjang p. Namun, sayangnya, dengan peningkatan p, sifat operasional algoritme memburuk, karena panjang kunci publik dan waktu untuk membuat dan memverifikasi tanda tangan bertambah.

Kurva eliptik

Pada akhirnya, para ilmuwan Rusia sampai pada kesimpulan bahwa skema ElGamal dapat sedikit diperumit dan dengan demikian, tanpa biaya komputasi tambahan, meningkatkan kerumitan pemalsuan EDS ribuan kali. Versi baru dari skema ElGamal menggunakan peralatan kurva eliptik di atas bidang elemen p yang terbatas, yang didefinisikan sebagai himpunan pasangan angka (x, y) (masing-masing terletak pada interval dari 0 hingga p-1 ) memenuhi perbandingan (angka a dan b diperbaiki dan memenuhi beberapa kondisi tambahan):

Y2 == x3 + kapak + bmodp.

Sumber daya lainnya

  • Informasi tentang Oracle XML-SQL Utility http://otn.oracle.com/tech/xml/xdk_java/content.html
  • Spesifikasi SAML http://www.oasis-open.org/committees/security/
  • Spesifikasi XKMS http://www.w3.org/TR/xkms/
  • Hukum Federal “Tentang Tanda Tangan Digital Elektronik”


Memuat...
Atas