Rumah / Menguasai PC / Koneksi ssl dua arah dengan sistem pembayaran. Memastikan keamanan sistem pembayaran berdasarkan protokol SSL. Koneksi SSL aman dengan otentikasi dua arah

Koneksi ssl dua arah dengan sistem pembayaran. Memastikan keamanan sistem pembayaran berdasarkan protokol SSL. Koneksi SSL aman dengan otentikasi dua arah

Menyiapkan akses web

Pengaturan Server Akses Web Tambahan

Menyiapkan koneksi aman (berdasarkan Secure Socket Layers, SSL)

Jika perlu, Anda dapat mengonfigurasi perlindungan koneksidengan server akses web DIREKTUM : Informasi yang dikirimkan melalui saluran komunikasi akan dienkripsi. Agar dapat bekerja dengan koneksi aman, lakukan hal berikut:

1. Buat perubahan pada file konfigurasi server akses web:

· Langkah 1: Jalankan Utilitas Konfigurasi Server Akses Web C:\Program Files\DIRECTUM Company\WebAccessConfig\DirWebConfigurator.exe.

· Langkah 2. Jendela "Pilih Situs Web dari Server Akses Web" DIREKTUR":

sebuah) di daftar drop-down, pilih situs web server akses web DIREKTUM . Secara default, ini bernama "Web Access Server". DIREKTUR";

b) klik tombolnya Oke ;

· Langkah 3. Jendela "Pengaturan Server Akses Web" DIREKTUM ”, tab “Umum”:

sebuah) di daftar tarik-turun "Sambungan aman", pilih nilai "Untuk jarak jauh". Jika Anda perlu membuat koneksi yang aman dan untuk pengguna jaringan lokal, lalu pilih nilai "Untuk jarak jauh dan lokal";

b) klik tombolnya Oke .

2. Konfigurasi IIS untuk bekerja dengan SSL -koneksi dengan menginstal sertifikat otentikasi server. Untuk melakukan ini, sertifikat dibuat dengan tujuan "Menyediakan identifikasi dari komputer jarak jauh" dengan kemampuan untuk mengekspor ke layanan sertifikasi perusahaan, sebagai akibatnya Anda perlu mendapatkan *. pfx -file kunci pribadi.

3. Jika Anda menggunakan Layanan Web Sertifikat jendela kemudian lakukan hal berikut:

sebuah) Saat membuat sertifikat, tentukan opsi kemungkinan ekspor sertifikat. Setelah sertifikat diinstal pada sistem lokal, itu dapat dilihat menggunakan Internet Explorer – Item menu “Opsi Internet”, tab “Isi”, tombol Sertifikat . Untuk mengekspor, gunakan tombol Ekspor , tentukan Ya, ekspor kunci pribadi, dan masukkan kata sandi.

b) Impor sertifikat. Untuk melakukan ini, pada tab "Keamanan direktori" pada kartu properti situs web, klik tombol Sertifikat dan ikuti petunjuk di layar untuk mengimpor sertifikat menggunakan kata sandi yang telah diatur pada langkah sebelumnya. Setelah menerima sertifikat, port koneksi aman 443 akan dibuat dan bekerja melalui SSL akan menjadi mungkin.

4. Untuk mendukung koneksi terbuka (tidak aman), Anda perlu mengatur opsi Izinkan dukungan untuk koneksi HTTP terbuka pada tab Situs Web dari properti situs Web.

5. Agar dapat menginstal sertifikat otoritas sertifikasi menggunakan tautan dari halaman login, Anda memerlukan pengguna yang menjalankan grup aplikasi " DIREKTUM ”, izinkan “Baca” dan “Minta sertifikat” di snap-in Otoritas Sertifikasi di properti otoritas sertifikasi yang diinginkan pada tab Keamanan.

Lihat juga:

Kami telah merilis buku baru "Pemasaran Konten di di jejaring sosial: Cara menjadi kepala pelanggan dan jatuh cinta dengan merek Anda.

Dunia terobsesi dengan keamanan internet. Jika Anda sedang tren dan berkorespondensi secara eksklusif di Telegram, baca tentang cara membuat koneksi aman di situs. Bagaimanapun, ini akan berguna, dan jika Anda adalah toko online, maka Anda tidak dapat melakukannya tanpanya sama sekali. Sepanjang jalan, mari kita bicara tentang sertifikat: apa itu dan mengapa itu dibutuhkan.

Apa itu HTTPS?

Ini adalah protokol koneksi yang aman. Ini mengenkripsi informasi yang dipertukarkan antara server dan browser pengguna - ini membantu melindungi kata sandi, nomor kartu kredit, dan alamat Surel. Menggunakan HTTPS kuat dan membuatnya sedikit lebih menarik untuk dilihat mesin pencari Google memberi peringkat situs yang aman lebih tinggi daripada yang tidak aman. Untuk mengaktifkan HTTPS di situs Anda, Anda harus menginstal sertifikat SSL di server terlebih dahulu.

Mengapa Anda memerlukan sertifikat SSL

Ini membentuk tanda tangan digital unik dari situs, yang membantu mengamankan koneksi. Tanpa sertifikat SSL, Anda tidak akan bisa mendapatkan protokol HTTPS, tidak peduli seberapa keras Anda mencoba. Itu mengandung:

  • domain situs;
  • nama lengkap resmi pemilik perusahaan;
  • alamat fisik perusahaan;
  • masa berlaku sertifikat;
  • Detail pengembang SSL.

Anda juga memerlukan sertifikat untuk terhubung ke sistem pembayaran apa pun, seperti Yandex.Money. Logikanya sederhana - tidak ada yang akan membiarkan Anda mempertaruhkan uang orang lain.

Bagaimana memilih sertifikat SSL

Mereka dibagi menjadi dua jenis, tergantung pada tingkat perlindungan dan.

SSL Validasi Domain

Opsi termudah. Ini akan berfungsi setelah Anda memverifikasi kepemilikan domain. Anda dapat melakukan ini dengan tiga cara:

  • Melalui email. Anda akan menerima email berisi petunjuk verifikasi. Baik email dari domain Whois, atau kotak pesan admin atau webmaster dipilih sebagai alamat pengiriman.
  • Melalui entri DNS. Jika Anda telah menyiapkan server email, buat entri DNS khusus. Menurutnya, sistem akan mengonfirmasi bahwa Anda benar-benar pemilik situs tersebut. Metode ini otomatis dan cocok untuk mereka yang menyembunyikan email Whois di pengaturan.
  • Melalui file hash. Tempatkan file .txt khusus di server Anda sehingga otoritas sertifikasi dapat menentukan keberadaannya.

Verifikasi ini cocok jika Anda memiliki blog pribadi atau bisnis offline kecil, karena tidak memungkinkan Anda untuk melindungi subdomain dan melakukan transaksi keuangan. Plus, untuk mengkonfirmasi kemurnian domain dan pikiran Anda, Anda tidak perlu melakukan sesuatu yang rumit, dan sertifikat selesai dilakukan dengan cepat.

Validasi Bisnis

Jenis sertifikat SSL ini lebih aman karena Anda mengonfirmasi bahwa perusahaan tersebut terhubung ke situs. Untuk melakukan ini, Anda perlu mengirim beberapa dokumen ke pusat verifikasi dan menerima panggilan ke nomor perusahaan. Sertifikat Validasi Bisnis dibagi menjadi 3 jenis:

  • SSL Validasi Diperpanjang. Ini adalah sertifikat validasi yang diperluas. Mereka dibutuhkan oleh semua orang yang bekerja dengan sejumlah besar uang: bank, toko online besar, perusahaan keuangan, sistem pembayaran.
  • SSL kartu pengganti. Sertifikat semacam itu melindungi situs itu sendiri dan subdomainnya. Selain itu, jumlahnya bisa berapa saja, dan mereka dapat ditemukan di server yang berbeda. Diperlukan jika Anda menggunakan subdomain dengan ikatan regional yang berbeda atau proyek yang berbeda.
  • SAN SSL. Keuntungan utama dari jenis sertifikat ini adalah dukungan untuk nama domain alternatif: baik eksternal maupun internal.
  • SSL Penandatanganan Kode. Konfirmasi kode dan produk perangkat lunak dari situs web. Cocok untuk pengembang aplikasi apa pun.

Dapatkah saya memasang sertifikat SSL gratis di situs web saya?

Ya. Sebagian besar produk ini berbayar, tetapi ada opsi yang Anda tidak perlu membayar uang. Ini adalah sertifikat dasar yang divalidasi domain. Mereka tidak akan mengizinkan Anda untuk mengikat mesin kasir online ke sumber daya, tetapi mereka akan dapat melindungi koneksi pengguna ke server. SSL semacam itu cocok untuk situs informasi kecil atau bisnis offline. Contohnya adalah sertifikat StartSSL dasar.

Memasang Sertifikat SSL

Pertama, Anda perlu membuat permintaan CSR untuk sertifikat. Ini berisi semua informasi tentang pemilik domain dan kunci publik. Sebagian besar penyedia SSL mengizinkan Anda melakukan ini sebagai bagian dari proses pemesanan sertifikat, tetapi Anda juga dapat membuat permintaan di sisi server web.

Saat membuat kunci CSR, Anda perlu menentukan:

  • Nama server: "site.com" atau "*.site.com" jika Anda mendapatkan sertifikat WIldcard. Tanda bintang berarti sejumlah karakter apa pun sebelum titik.
  • Kode negara: RU, UA, KZ dan seterusnya.
  • Wilayah, misalnya, Wilayah Saratov.
  • Kota.
  • Nama lengkap organisasi atau nama pemilik situs.

Permintaan CSR dikirim ke pusat verifikasi. Hasilnya, Anda mendapatkan sertifikat SSL dan file dengan kunci pribadi yang tidak dapat hilang dan diposting di domain publik.

Setelah itu, Anda perlu menginstal sertifikat di server web. Pertimbangkan kasus dengan Apache dan nginx.

Apache

Untuk melakukan ini, Anda perlu mengunggah semua sertifikat ke server: baik primer maupun menengah. Pertama-tama, Anda memerlukan yang terakhir di direktori /usr/local/ssl/crt (digunakan secara default, dalam kasus Anda mungkin berbeda). Semua sertifikat akan disimpan di dalamnya.

Setelah itu, unduh sertifikat utama, buka di mana saja editor teks dan salin seluruh konten bersama dengan baris "MULAI" dan "AKHIR".

Di direktori /ssl/crt/, buat file bernama vashsite.crt dan tempelkan konten sertifikat ke dalamnya.

Pindahkan file kunci pribadi ke direktori /usr/local/ssl/private/

Di file VirtualHost, tambahkan baris:

Mesin SSL aktif

SSLCertificateKeyFile /usr/local/ssl/private/private.key

SSLCertificateFile /usr/local/ssl/crt/yoursite.crt

SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt

Anda harus menentukan jalur yang valid ke file. Simpan perubahan Anda dan mulai ulang server.

nginx

Di sini, proses pemasangan sertifikat SSL sedikit berbeda. Pertama, Anda perlu menggabungkan sertifikat root, intermediate, dan SSL menjadi satu. Untuk melakukan ini, buat file bernama vashsite.crt dan rekatkan konten sertifikat di sana bersama dengan baris "BEGIN" dan "END" (urutan: SSL, perantara, root). Seharusnya tidak ada baris kosong.

Hal yang hampir sama perlu dilakukan dengan kunci pribadi - buat file vashsite.key dan transfer konten kunci yang diunduh dari situs web penyedia.

Tempatkan kedua file (yoursite.crt dan yoursite.key) di direktori /etc/ssl/ (ini adalah default tetapi mungkin berbeda).

Di file konfigurasi, edit VirtualHost. Menambahkan:

pelayan (
dengarkan 443;
ssl aktif;

ssl_certificate /etc/ssl/yoursite.crt
ssl_certificate_key /etc/ssl/yoursite.key;
server_name yoursite.com;

Jika direktori dengan sertifikat dan kunci berbeda dari direktori default, ubahlah.

Sekarang simpan perubahan Anda dan mulai ulang nginx.

Cara mendapatkan koneksi HTTPS yang berfungsi

Setelah menginstal sertifikat SSL, situs akan tersedia di dua alamat: http://yoursite.com dan https://yoursite.com. Anda hanya perlu menyimpan yang terakhir. Untuk melakukan ini, siapkan file robots.txt dan buat pengalihan 301 dari situs lama.

Di "robot" Anda perlu memperbarui Host. Contoh: Host: https://yoursite.com. Untuk menyiapkan pengalihan, Anda perlu menambahkan baris ke file .htaccess:

Tulis Ulang %(SERVER_PORT) !^443$

RewriteRule ^(.*)$ https://yoursite.com/$1 .

Sekarang tinggal menginformasikan mesin pencari tentang perubahan tersebut. Di "Webmaster" dari "Yandex", tambahkan halaman dengan https dan tentukan sebagai halaman utama untuk situs lama.

Hasil

Kami menemukan apa itu https, cara memasangnya di situs Anda, dan cara mengatur semuanya dengan benar. Protokol ini telah menjadi standar koneksi dan seiring waktu semua situs langsung akan beralih ke sana. Proses ini didorong oleh mesin pencari - kehadiran protokol koneksi aman HTTPS yang mapan telah menjadi salah satu faktor peringkat. Karena itu, jika Anda ingin naik ke atas, Anda harus menginstalnya.

Menyiapkan sistem pembayaran

Menyiapkan sistem pembayaran sangat tergantung pada bagaimana operator sistem pembayaran menyediakan komunikasi dengan terminalnya. Sebagai aturan, jika terminal pembayaran kota digunakan, maka koneksi SSL aman digunakan dan Anda perlu mengaktifkan dan mengkonfigurasi server SSL WEB untuk berkomunikasi dengan terminal seperti yang ditunjukkan di bawah ini. Jika situs web di Internet digunakan untuk melakukan pembayaran, maka seberapa sering dalam kasus seperti itu perlu dikonfigurasi server http pada penagihan karbon. Pastikan untuk terlebih dahulu memeriksa dengan operator sistem pembayaran Anda tentang protokol komunikasi mana yang menyediakan koneksi ke terminal pembayarannya sebelum mengatur Penagihan Karbon.
Server SSL WEB untuk pembayaran memiliki beberapa parameter, yang artinya dijelaskan di bawah ini.

Aktifkan server WEB SSL untuk pembayaran- Jika operator sistem pembayaran bekerja dengan terminal pembayaran melalui SSL, maka perlu mengaktifkan server WEB SSL.
Alamat IP untuk koneksi HTTPS- alamat untuk menghubungkan terminal atau situs sistem pembayaran untuk melakukan pembayaran kepada klien dalam basis data Penagihan Karbon.
Port untuk koneksi HTTPS- port 1443 digunakan secara default. Jika ada kebutuhan untuk mengubah port ini, maka, jika memungkinkan, tentukan port yang lebih tinggi dari 1024.
Alamat klien yang diizinkan untuk server WEB SSL
Domain untuk sertifikat SSL server- tentukan di sini domain publik atau domain Anda terdaftar secara terpisah untuk server pembayaran pada Penagihan Karbon. Opsi ini opsional dan memungkinkan Anda untuk menghubungi server WEB SSL menggunakan nama domain alih-alih alamat IP.
Memerlukan dan memverifikasi sertifikat klien- Pastikan untuk memeriksa apakah Anda sedang menyiapkan antarmuka web kasir. Jika Anda mengatur pekerjaan dengan sistem pembayaran, lalu tentukan kebutuhan untuk memeriksa sertifikat klien dari penyelenggara sistem pembayaran.
Buat sertifikat klien- Sertifikat klien akan dibuat, yang perlu diberikan kepada operator sistem pembayaran. Sertifikat dengan akhiran .pfx akan tersedia di server di direktori /var/lib/usrcert dan akan memiliki nama file yang sama dengan nama CN yang Anda tentukan saat membuat sertifikat. Anda dapat mengunduh file sertifikat dari server menggunakan program winscp.

Dalam hal menyiapkan server HTTP WEB untuk pembayaran.

Aktifkan server HTTP untuk pembayaran- Jika operator sistem pembayaran bekerja dengan terminal pembayaran melalui koneksi http terbuka, maka aktifkan server HTTP.
Alamat IP untuk koneksi HTTP- Alamat server web untuk menghubungkan terminal atau server pembayaran ke sana.
Port koneksi HTTP- port 1444 digunakan secara default. Jika ada kebutuhan untuk mengubah port ini, maka, jika memungkinkan, tentukan port yang lebih tinggi dari 1024.
Alamat Klien yang Diizinkan untuk Server HTTP- jika tidak ditentukan, maka akses akan terbuka untuk semua orang.


Jika Anda menggunakan layanan operator sistem pembayaran yang tercantum di bawah ini pada tab ini, maka aktifkan item menu yang sesuai dengannya. Di masa mendatang, kotak centang ini akan menetapkan pengaturan sistem khusus yang diperlukan untuk setiap operator yang Anda gunakan. Jika operator Anda bukan salah satu dari yang tercantum di bawah ini, maka jangan sertakan salah satu dari mereka.

Saat mengatur sistem pembayaran Robokassa, jangan lupa untuk menentukan kata sandi rahasia yang diperlukan untuk membuat koneksi antara terminal dan server.


Kekritisan parameter subjectAltName dari sertifikat ssl

Saat membuat sertifikat ssl untuk server, misalnya, untuk server pembayaran https, ekstensi subjectAltName digunakan. Secara historis, secara default, ekstensi dalam sertifikat ini ditandai sebagai kritis, yang dapat menyebabkan masalah saat mengintegrasikan penagihan dengan beberapa sistem pembayaran.

Saat membuat sertifikat klien, subjectAltName tidak disetel.

Kekritisan parameter dibatalkan oleh opsi di konsol lokal "Konfigurasi server - Pengaturan tambahan - Pengaturan untuk pengembang - Jangan membuat parameter SSL AltName menjadi kritis".

Setelah mengaktifkan opsi ini, semua sertifikat server yang baru dibuat akan dibuat dengan ekstensi subjectAltName yang tidak penting. Sertifikat lama untuk server pembayaran https harus dibuat ulang secara manual sebagai berikut:

1. Pasang kembali partisi yang berisi konfigurasi ke rw (mode asisten jarak jauh harus diaktifkan untuk ini):

Mount -o rw,remount /mnt/bk_disc/

2. Buka file /etc/ics/ics.conf dengan editor dan beri komentar pada baris tersebut dengan MHTTPD_F_CERT .

3. Mulai ulang server pembayaran https:

/etc/init.d/mhttpd_F restart

Mengubah sertifikat di server pembayaran https tidak memengaruhi sertifikat klien yang dibuat sebelumnya untuk kasir atau sistem pembayaran.

Menyiapkan penerimaan pembayaran melalui http tanpa enkripsi

Jika perlu untuk menerima pembayaran dari sistem pembayaran menggunakan protokol http yang tidak aman, pengaturan berikut harus dilakukan:

1) Aktifkan server http untuk menerima pembayaran.


2) Tentukan alamat IP di mana permintaan harus diterima. Alamat ini harus dimiliki oleh salah satu antarmuka Penagihan Karbon:


Kemudian tentukan port tempat server akan menerima permintaan.

3) Buat daftar alamat IP dari mana permintaan akan diterima. Ini sangat langkah penting karena http tidak menyiratkan otorisasi sistem pembayaran melalui sertifikat:


Secara default, protokol sistem pembayaran Robokassa dan Unikassa dapat bekerja dengan HTTP. Jika perlu, misalnya, untuk menerima permintaan http menggunakan protokol OSMP, maka Anda perlu melakukan hal berikut:

1) Muat server di ud. asisten dan terhubung melalui ssh sebagai root.

2) Jalankan perintah berikut:

Mount -o rw,remount /mnt/ro_disc chattr -i -R /var /www/fiscal/htdocs/http/ cp /var /www/fiscal/htdocs/osmp.php /var /www/fiscal/htdocs/http/ osmp.php chown mhttpd_F:mhttpd_F /var /www/fiscal/htdocs/http/osmp.php

Anda perlu mengedit baris dalam skrip:

Mcedit /var /www/fiscal/htdocs/http/osmp.php baris: include "../include/class_page.php"; ganti dengan: include "../../include/class_page.php";

Simpan file dan keluar dari editor.

Setelah soft reboot, modul penerimaan pembayaran OSMP akan tersedia di http://1.1.1.1:1444/osmp.php dari alamat IP 2.2.2.2.

Akses dengan saldo negatif

Dapat dilaksanakan dengan dua cara:

  • Melalui editor aturan dan jaringan tarif;
  • Melalui [file pengaturan tambahan ics_tune.sh]

SERTIFIKASI DIGITAL DARI KONEKSI SSL AMAN

Untuk transfer data yang aman antara browser dan server web, protokol transfer data https digunakan, yang didasarkan pada koneksi SSL yang aman.

Artikel ini menceritakan informasi Umum tentang enkripsi kunci publik, sertifikat digital, infrastruktur kunci publik (PKI - Infrastruktur Kunci Publik), tentang membuat otoritas sertifikat, mengonfigurasi wadah servlet Apache Tomcat dan JBoss untuk membuat koneksi aman satu arah dan dua arah, membuat penyimpanan sertifikat, dan bagaimana untuk membuat sertifikat SSL menggunakan utilitas keytool. Anda juga akan mempelajari tentang cara memeriksa sertifikat yang dicabut di Java (daftar CRL, protokol OCSP) dan mengonfigurasi browser agar berfungsi dengan sertifikat.

Cara modern untuk mengirimkan pesan dengan aman melalui jaringan adalah metode enkripsi kunci publik. Inti dari metode ini adalah adanya sepasang kunci: publik dan pribadi. Kunci publik dan pribadi adalah algoritma untuk mengubah pesan asli menjadi pesan terenkripsi dan pesan terenkripsi menjadi pesan asli.

Kunci publik tersedia secara bebas dan tersedia bagi siapa saja yang ingin mengirim pesan terenkripsi. Pengirim, setelah mengenkripsi pesan, dapat dengan yakin mengirimkannya melalui saluran komunikasi yang tidak aman dan memastikan bahwa hanya penerima yang dapat membaca pesan ini.

Kunci pribadi dijaga kerahasiaannya oleh pemilik pasangan kunci. Setelah menerima pesan yang dienkripsi dengan kunci publik, penerima menggunakan kunci pribadi untuk mendekripsinya. Karena kunci pribadi hanya diketahui oleh penerima pesan, tidak ada orang lain yang dapat membacanya, yang menjamin kerahasiaan pesan.

Pesan yang dienkripsi dengan kunci pribadi dapat didekripsi oleh siapa saja yang memiliki kunci publik.

Berdasarkan algoritma enkripsi ini, koneksi SSL yang aman dibuat.

Sertifikat digital

Sertifikat digital adalah dokumen elektronik yang mengidentifikasi pemiliknya. Ini berisi informasi dasar tentang pemilik, kunci publik pemilik, tanggal kedaluwarsa, tanda tangan digital penerbit (publisher) dan informasi lain yang diperlukan. Sertifikat digital memiliki bagian ekstensi (opsional) yang berisi titik distribusi daftar pencabutan, informasi penerbit, dan banyak lagi. Sertifikat digital memungkinkan Anda mengatur koneksi SSL. Cara membuat sertifikat SSL dijelaskan nanti di artikel ini.

Fitur utama dari sertifikat di atas adalah:

Sertifikat SSL otoritas sertifikat harus berisi bidang CA yang disetel ke TRUE, yang memungkinkan sertifikat lain diterbitkan, mis. sertifikat ini tidak final dalam rantai.

Sertifikat SSL server di bidang CN (nama umum) harus berisi: Nama domain atau alamat IP di mana server diakses, jika tidak, sertifikat akan menjadi tidak valid;

Sertifikat SSL klien berisi alamat email klien, nama depan dan belakang. Tidak seperti sertifikat server, bidang CN tidak penting untuk konten dan dapat berisi nama depan dan nama belakang, serta alamat email.

Sertifikat SSL digital dianggap valid dalam masa berlaku yang ditentukan di bidangnya. Dengan demikian, sertifikat tidak dapat digunakan sebelum tanggal mulai, dan setelah tanggal kedaluwarsa, karena. sistem yang bersentuhan dengannya akan melaporkan ketidakpercayaan padanya.

Ada situasi di mana pengguna atau penerbit sertifikat perlu menangguhkan atau menghentikannya sepenuhnya. Katakanlah kunci pribadi, yang seharusnya disimpan dengan aman, hilang atau penyusup mendapatkan akses ke sana. Dalam situasi seperti itu, pengguna perlu menghubungi penerbit (penerbit) sertifikat sehingga yang terakhir membatalkan validitasnya. Selain itu, penerbit dapat mencabut sertifikat jika diketahui bahwa klien telah memberikan informasi palsu tentang dirinya sendiri. Untuk tujuan ini, daftar khusus dibuat, yang disebut daftar pencabutan sertifikat (CRL). daftar ini berisi nomor seri sertifikat, tanggal kedaluwarsa, dan alasan pencabutan. Sejak saat sertifikat masuk ke CRL, itu dianggap tidak sah dan penerbit tidak bertanggung jawab atas isi sertifikat tersebut. Salah satu metode untuk memeriksa daftar CRL adalah protokol OCSP, tetapi ini memerlukan kehadiran penanggap OCSP dengan otoritas sertifikasi.

Infrastruktur Kunci Publik (PKI)

Tugas utama Public Key Infrastructure (PKI) adalah menetapkan kebijakan penerbitan sertifikat digital.

Untuk menerbitkan dan mencabut sertifikat SSL, membuat daftar pencabutan (CRL) memerlukan persyaratan khusus perangkat lunak(PADA). Contoh perangkat lunak tersebut adalah Microsoft CA (bagian dari MS Windows Server 2000/2003/2008), OpenSSL (didistribusikan ke sistem operasi mirip unix). Perangkat lunak ini di-host pada peralatan pusat sertifikasi.

Otoritas sertifikasi (CA) adalah organisasi yang menerbitkan sertifikat SSL digital berdasarkan data yang diberikan oleh pelanggan. Otoritas sertifikasi bertanggung jawab penuh atas keaslian data yang disajikan dalam sertifikat SSL, yang berarti bahwa pemilik sertifikat adalah persis seperti yang dia klaim.

CA paling umum di dunia adalah Verisign dan Comodo. Sertifikat CA ini dipercaya oleh 99% browser dan sebagian besar perangkat lunak server. Pembentukan otoritas sertifikasi dijelaskan di bawah ini.

Koneksi SSL aman dengan otentikasi dua arah

Koneksi SSL aman paling umum digunakan dalam e-commerce. Sebagai contoh, perhatikan pembelian barang melalui toko elektronik. Pembeli menunjukkan nomor dan kode kartu kredit, ingin memastikan bahwa mereka tidak akan jatuh ke tangan penyerang. Oleh karena itu, server mengotentikasi dirinya sendiri dengan memberikan sertifikat kepada klien. Otoritas sertifikasi adalah penjamin keaslian ini. Data klien akan dienkripsi dengan kunci publik server. Data ini hanya dapat didekripsi dengan kunci pribadi yang ada di server. Oleh karena itu, klien mungkin tidak takut bahwa penyerang akan mencegat datanya, ia tetap tidak dapat mendekripsinya.

Sertifikat SSL klien digunakan dalam kasus di mana server memerlukan konfirmasi bahwa klien adalah yang dia klaim. Misalnya, bank menyediakan akses jaringan untuk mengelola akun pribadi. Dia ingin melindungi dirinya sendiri dan memastikan bahwa dia dihubungi oleh pemilik akun ini, dan bukan oleh penyerang yang telah memperoleh login dan kata sandi. Dalam situasi ini, klien memberikan kunci publiknya ke server, dan semua data yang diterima dari server hanya dapat didekripsi oleh klien dan tidak ada orang lain, karena dia adalah pemilik kunci pribadi.

Gambar tersebut adalah diagram yang menunjukkan langkah-langkah untuk membuat koneksi SSL yang aman.

Gambar 1 - Skema untuk membuat koneksi SSL aman dengan otentikasi dua arah

Ketika klien mencoba mengakses sumber daya yang dilindungi, server mengirimkan sertifikat digitalnya. Setelah menerima sertifikat, klien memeriksanya. Verifikasinya adalah sebagai berikut: masa berlaku mulai dan tanggal berakhir tidak boleh kedaluwarsa, penerbit sertifikat harus dipercaya, sertifikat tidak boleh di CRL. Jika pemeriksaan gagal, proses pembuatan koneksi dibatalkan. Jika kondisi validasi terpenuhi, maka klien mengirimkan sertifikatnya ke server. Server melakukan pemeriksaan serupa. Jika pemeriksaan gagal, server akan menolak akses ke sumber dayanya. Setelah verifikasi berhasil, koneksi aman dibuat dan data dikirim dalam bentuk terenkripsi.

Dalam skema ini, data yang ditransmisikan dienkripsi ganda. Klien mengenkripsi pesan dengan kunci publik server dan kemudian dengan kunci pribadinya sendiri. Setelah menerima pesan, server mendekripsi pesan dengan kunci publik klien dan kemudian dengan kunci pribadinya. Dengan demikian, server dan klien mengotentikasi diri satu sama lain, karena hanya mereka yang dapat mendekripsi data yang diterima.

Perlu dicatat bahwa penggunaan teknik ini mengurangi kecepatan pertukaran data, karena operasi enkripsi/dekripsi memerlukan waktu tambahan dan kecepatan eksekusinya bergantung pada kekuatan sumber daya komputasi.

Pembentukan otoritas sertifikasi

Untuk tujuan pengujian atau jika tidak praktis untuk membeli sertifikat digital, Anda harus membuat CA Anda sendiri.

Root CA adalah CA yang dipercaya semua orang. Ini memiliki sertifikat SSL, yang ditandatangani dengan kunci pribadinya sendiri. Sertifikat SSL semacam itu disebut ditandatangani sendiri.

Kunci pribadi dari CA root harus disimpan dengan sangat aman, karena jika hilang atau dicuri, kepercayaan pada semua sertifikat SSL bawahan hilang.

Subordinat CA adalah CA yang mengeluarkan sertifikat SSL kepada klien. Sertifikat dari otoritas sertifikasi bawahan ditandatangani dengan kunci pribadi dari otoritas sertifikasi yang lebih tinggi. Pusat sertifikasi, server web, browser web, klien email, untuk mana sertifikat dari jenis yang diperlukan dibuat. Jenis sertifikat ditentukan oleh kebijakan otoritas sertifikasi.

Dari penjelasan di atas, rantai sertifikat dibuat dari CA root ke sertifikat klien akhir.

Gambar 2 - Rantai Sertifikat

Untuk membuat otoritas sertifikasi, kami akan menggunakan skema dua tingkat yang ditunjukkan pada Gambar 3. Skema ini memiliki otoritas sertifikasi akar (Root CA) dan otoritas sertifikasi bawahan (Penerbit CA). CA root menandatangani sertifikat SSL-nya sendiri dan sertifikat SSL dari CA bawahan. Perlu dicatat bahwa semakin banyak level yang digunakan, semakin aman skemanya.

Dalam sertifikat otoritas sertifikasi akar dan bawahan, titik distribusi CRL terdaftar dalam ekstensi. Titik distribusi CRL adalah alamat jaringan. Di alamat ini, file CRL yang dihasilkan oleh perangkat lunak khusus harus diunggah dengan frekuensi tertentu.

Gambar 3 - Skema dua tingkat dari pusat sertifikasi

Contoh penyelenggaraan pusat sertifikasi pada berbasis Microsoft CA dapat ditemukan di artikel "Menyebarkan rantai otoritas sertifikasi berdasarkan Microsoft CA".

Memperoleh Sertifikat SSL Server dari CA dan Mengonfigurasi Wadah Servlet

Sertifikat server SSL digital memungkinkan Anda membuat koneksi SSL aman yang memungkinkan Anda mentransfer data dalam bentuk terenkripsi.

Untuk mendapatkan sertifikat yang akan digunakan oleh wadah servlet, Anda harus membuat permintaan penandatanganan Sertifikat (CSR) ke CA. Permintaan berisi informasi dasar tentang organisasi dan kunci publik.

Kolom utama yang harus diisi dengan benar disebut Common Name (CN). Di bidang ini, Anda harus menentukan nama domain atau alamat IP dari host tempat wadah servlet berada.

Untuk menghasilkan kunci pribadi dan publik dan meminta sertifikat SSL, Anda dapat menggunakan utilitas keytool yang disertakan dalam JDK (Java development kit).

PADA garis komando Anda perlu memasukkan perintah berikut:

$JAVA_HOME\bin> keytool -genkey -alias -keyalg -keystore

Gambar 4 - Membuat toko sertifikat SSL dengan utilitas keytool

Perintah keytool ini membuat toko sertifikat bernama , yang menyimpan kunci pribadi dan sertifikat SSL yang ditandatangani sendiri, dienkripsi menggunakan algoritme RSA. Anda dapat mengakses sertifikat SSL dengan nama .

Selama pembuatan repositori, utilitas keytool akan meminta Anda memasukkan kata sandi untuk mengakses repositori, informasi tentang organisasi, dan kata sandi untuk kunci rahasia (pribadi). Saat menjawab pertanyaan keytool "Siapa nama depan dan belakang Anda?" Anda harus memasukkan nama domain atau alamat ip host, karena nilai respons akan digunakan sebagai bidang CN dari sertifikat SSL.

Setelah keystore dibuat oleh utilitas keytool, permintaan harus dibuat ke otoritas sertifikasi untuk menandatangani sertifikat SSL. Ini dilakukan dengan perintah:

$JAVA_HOME\bin> keytool -certreq -keyalg RSA -alias -mengajukan -toko kunci

dalam file permintaan sertifikat disimpan. Setelah itu, formulir khusus diisi di situs web pusat sertifikasi, dan isi file ini disalin ke salah satu bidang.

Untuk menerbitkan sertifikat SSL ke organisasi, pusat sertifikasi mungkin memerlukan dokumen konstituen, sertifikat pendaftaran, dll. Setelah menerima permohonan sertifikat SSL, pusat sertifikasi melakukan verifikasi dengan membandingkan data dalam permintaan sertifikat dan dokumen yang dikirim , lalu menandatangani permintaan. Permintaan yang ditandatangani adalah sertifikat.

Gambar 5 - Skema untuk mendapatkan sertifikat server

Setelah menerima sertifikat dari otoritas sertifikasi, itu harus ditempatkan di toko, setelah menambahkan sertifikat SSL dari otoritas sertifikasi root dan perantara. Untuk menambahkan sertifikat SSL ke penyimpanan, gunakan perintah berikut dari utilitas keytool:

1) menambahkan sertifikat CA root dengan utilitas keytool: $JAVA_HOME\bin> keytool -import -trustcacerts -alias rootca -file -toko kunci

2) menambahkan sertifikat CA perantara dengan utilitas keytool: $JAVA_HOME\bin> keytool -import -trustcacerts -alias subca -file -toko kunci

3) penggantian sertifikat yang ditandatangani sendiri dengan sertifikat yang ditandatangani oleh otoritas sertifikasi (nilai parameter alias ditentukan, yang digunakan saat membuat toko): $JAVA_HOME\bin> keytool -import -trustcacerts -alias -mengajukan -toko kunci

Agar aplikasi dapat menggunakan koneksi SSL yang aman, wadah servlet harus dikonfigurasi. Untuk Apache Tomcat dan JBoss, tambahkan konten berikut ke file server.xml:

clientAuth="salah" sslProtocol="TLS"

keystoreFile=" "

keystorePass=" "

keystoreType = "JKS"

kunciAlias=" "

Entri ini memungkinkan wadah servlet untuk membuat koneksi aman menggunakan sertifikat SSL digital, yang terletak di toko Dengan kata sandi oleh alias .

Konfigurasi di atas menggunakan otentikasi satu arah, yaitu. menyediakan sertifikat SSL digital hanya diperlukan dari server. Untuk membuat otentikasi dua arah, mis. ketika klien juga menyediakan sertifikat SSL digital, Anda perlu mengubah konfigurasi wadah servlet sebagai berikut:

maxThreads="150" skema="https" aman="benar"

clientAuth="benar" sslProtocol="TLS"

keystoreFile="

keystorePass=" "

keystoreType = "JKS"

kunciAlias=" "

file toko kepercayaan="

truststorePass=" "truststoreType="JKS"

Dalam konfigurasi ini, parameter clientAuth=”true” diatur dan toko kepercayaan terhubung. Pembuatan toko sertifikat SSL tepercaya dilakukan oleh utilitas keytool dengan cara yang sama seperti toko biasa. Anda perlu menambahkan sertifikat otoritas sertifikasi yang menerbitkan sertifikat digital, yang harus dipercayai oleh wadah servlet. Jika tidak, sertifikat yang disediakan SSL akan ditolak oleh wadah servlet selama otentikasi. mereka tidak akan dipercaya.

Memeriksa sertifikat yang dicabut di server

Ada 3 cara untuk memvalidasi sertifikat untuk pencabutan: validasi CRL statis, validasi CRL dinamis, dan validasi OCSP. Mari kita pertimbangkan metode ini secara lebih rinci.

1) Pemeriksaan CRL statis

Saat menggunakan jenis verifikasi ini, administrator server harus menentukan dalam konfigurasi nama file di drive lokal tempat daftar sertifikat yang dicabut berada. Daftar ini diunduh dari sumber jaringan otoritas sertifikasi.

Untuk menghubungkan CRL di wadah servlet Apache Tomcat dan Jboss, tambahkan atribut berikut ke konektor ssl:

crlFile="

Kerugian dari metode ini adalah perlunya administrator untuk terus memantau pembaruan file CRL.

2) Pemeriksaan CRL dinamis

Metode ini memungkinkan Anda untuk melakukan pemeriksaan CRL secara otomatis. Ini memerlukan atribut CRLDistributionPoint di bagian ekstensi sertifikat SSL yang disediakan oleh klien, yang menentukan URL tempat daftar pencabutan sertifikat (CRL) berada.

Agar sertifikat SSL klien divalidasi dalam CRL, dua parameter harus dikonfigurasi untuk Mesin Virtual Java. Opsi ini dapat ditentukan dalam skrip startup wadah servlet. Untuk Apache Tomcat dan Jboss di Windows tampilannya seperti ini:

setel JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.net.ssl.checkRevocation=true

Dcom.sun.security.enableCRLDP=true -Djava.security.debug=certpath

Opsi java.security.debug=certpath memungkinkan Anda mengamati otentikasi sertifikat di konsol container yang sedang berjalan.

Kerugian dari metode ini termasuk keterlambatan akses ke sumber daya yang dilindungi terkait dengan mengunduh file CRL besar.

3) Validasi menggunakan protokol OCSP

OCSP (Protokol status sertifikat online) dikembangkan sebagai alternatif untuk CRL. Pemeriksaan ini didukung oleh teknologi JSSE (Java Secure Socket Extension) sejak JDK 5. OCSP bekerja bersama dengan CRL. CRL diakses ketika terjadi kesalahan selama komunikasi OCSP. Jika OCSP telah menentukan status sertifikat SSL, pemeriksaan CRL tidak dilakukan. Sertifikat dapat memiliki salah satu dari tiga status: dicabut, normal, tidak diketahui.

Untuk memvalidasi terhadap OCSP, sertifikat harus berisi atribut AuthorityInfoAccess di bagian ekstensi dengan nilai URL Responder OCSP.

OCSP Responder adalah perangkat lunak yang terletak di sumber daya jaringan dari otoritas sertifikasi yang memproses permintaan untuk menentukan status sertifikat dan mengeluarkan hasil verifikasi.

Agar mesin virtual Java dapat memeriksa terhadap OCSP, Anda harus menyetel properti ocsp.enable=true. Properti ini dikonfigurasi dalam file Java_HOME\jre\lib\security\Java.security. Dalam file ini, Anda dapat menentukan alamat penjawab OCSP di properti ocsp.responderURL. Properti ini akan digunakan jika tidak ada URL responden dalam sertifikat SSL.

Memperoleh sertifikat SSL klien dari otoritas sertifikasi dan mengonfigurasi browser web

Ada situasi di mana server tidak hanya perlu memverifikasi bahwa itu adalah siapa yang diklaimnya, tetapi juga ketika server mengharuskan klien untuk memverifikasi identitasnya dengan sertifikat digital.

Anda bisa mendapatkan sertifikat SSL klien tanpa membuat permintaan sendiri, dengan melakukan ini menggunakan otoritas sertifikasi. Untuk melakukan ini, di situs CA, Anda harus mengisi formulir yang menunjukkan nama, nama keluarga, alamat email, dll. Berdasarkan data ini, permintaan akan dibuat. Dalam situasi ini, pembuatan kunci rahasia ditugaskan ke otoritas sertifikasi. Setelah memverifikasi data dan menandatangani permintaan, klien dikirimi file yang berisi kunci rahasia dan sertifikat, serta file otoritas sertifikasi root dan perantara.

Setelah menerima file sertifikat, Anda perlu mengonfigurasi perangkat lunak yang akan membuat koneksi aman.

Gambar 6 - Skema untuk mendapatkan sertifikat klien SSL

Sebagai contoh, mari kita instal sertifikat SSL klien di browser web Microsoft Internet Explorer. Untuk melakukannya, pilih Alat > Opsi Internet dari menu. Pada tab "Isi" pilih "Sertifikat ...".

Gambar 7 - Mengelola sertifikat SSL di MS Internet Explorer

Luncurkan Wizard Impor Sertifikat dengan mengklik tombol "Impor...". Dalam panduan ini, tentukan jalur ke sertifikat CA akar. Selanjutnya, pilih toko Otoritas Sertifikasi Root Tepercaya untuk menambahkan sertifikat ke dalamnya.

Demikian pula, sertifikat CA perantara ditambahkan ke penyimpanan "CA Menengah" dan sertifikat klien ke penyimpanan "Pribadi".

Gambar 8 - Rantai sertifikasi

Untuk melihat isi sertifikat, pilih sertifikat SSL yang diinginkan dan klik tombol "Lihat".

Jika sertifikat klien diperoleh dari otoritas sertifikasi terkenal, maka, sebagai aturan, sertifikat SSL-nya sudah ada di toko browser web dan tidak perlu menambahkannya. Anda hanya perlu menambahkan sertifikat klien.

Jika server tempat interaksi akan dilakukan menerima sertifikat bukan dari otoritas sertifikasi umum, maka sertifikat server harus ditambahkan ke yang tepercaya sehingga browser web tidak menampilkan pesan tentang ketidakpercayaan terhadap sertifikat tersebut.

Memeriksa sertifikat yang dicabut pada klien

Jika klien menggunakan browser web MS Internet Explorer, maka dapat dikonfigurasi untuk memeriksa sertifikat yang dikirim di CRL. Untuk melakukan ini, buka tab "Lanjutan" di Opsi Internet dan periksa dua atribut "Periksa pencabutan sertifikat penerbit" dan "Periksa pencabutan sertifikat server".