Konfigurasikan Sertifikat Keamanan Khusus untuk OPC UA pada PLCnext Control
Ini adalah pembaruan dari artikel yang sebelumnya dipublikasikan pada November 2018.
Semua PLCnext Control menyertakan server OPC UA embedded. Server ini, seperti semua server OPC UA, mencakup opsi untuk membuat koneksi aman dengan klien menggunakan Public Key Cryptography. Panduan ini menjelaskan cara menggunakan sertifikat keamanan Anda sendiri (termasuk private key Anda sendiri) untuk menyiapkan koneksi OPC UA aman dengan PLCnext Control.
Untuk informasi umum tentang cara mengelola sertifikat server OPC UA, silakan merujuk ke:
- Bagian OPC UA Settings dari sistem bantuan terintegrasi PLCnext Engineer.
- PLCnext Info Center:
- Embedded OPC UA server (eUA)
- Certificate Authentication.
Pendahuluan
Server OPC UA embedded PLCnext Control memerlukan sertifikat X.509 untuk memastikan komunikasi terpercaya dengan klien OPC UA. Ada empat jenis utama sertifikat yang dapat digunakan:
Opsi 1 – Sertifikat self-signed yang dihasilkan secara otomatis.
- Sertifikat yang diperlukan secara otomatis dibuat oleh PLC.
- Sederhana untuk diatur.
- Berguna untuk pengujian dan untuk penggunaan permanen di LAN yang aman.
Opsi 2 – Sertifikat self-signed yang dihasilkan secara manual.
- Tidak ada manfaat keamanan tambahan dibanding Opsi 1, tetapi memberi administrator lebih banyak kontrol atas manajemen sertifikat.
Opsi 3 – Sertifikat yang ditandatangani oleh Certificate Authority (CA) Anda sendiri.
- Tidak ada manfaat keamanan tambahan dibanding Opsi 1 dan 2, tetapi memungkinkan manajemen sertifikat yang lebih terstruktur.
Opsi 4 – Sertifikat yang diterbitkan oleh Certificate Authority terpercaya
- Memerlukan pembelian sertifikat dari Certificate Authority pihak ketiga terpercaya seperti Symantec atau GeoTrust. Ini adalah opsi yang direkomendasikan untuk jaringan publik atau jaringan tidak aman lainnya, karena semua klien harus menerima sertifikat yang ditandatangani oleh CA terpercaya.
Prasyarat
Untuk melakukan prosedur berikut dengan sukses Anda akan memerlukan:
- Pemahaman dasar tentang Public Key Cryptography dan sertifikat X.509.
- Pemahaman dasar tentang OPC, dan (secara khusus) teknologi OPC UA.
Prosedur yang dijelaskan dalam panduan ini disiapkan menggunakan perangkat keras dan lunak berikut:
- Controller AXC F 2152, versi firmware 2020.6.1
- PLCnext Engineer versi 2020.6
- UAExpert versi 1.5.1
- XCA versi 2.3.0 dengan database yang sudah dibuat
Bacaan Latar Belakang
- Public-key cryptography
- X.509
- Creating X.509 certificates (PDF)
- Apa itu OPC?
- OPC Unified Architecture
- The OPC UA Security Model For Administrators (PDF)
Prosedur
Opsi 1 – Sertifikat self-signed yang dihasilkan secara otomatis
Ini adalah opsi default saat membuat proyek baru di PLCnext Engineer.
- Ikuti prosedur untuk mengonfigurasi server OPC UA di video di channel YouTube Technical Support.
Ini secara otomatis membuat sertifikat self-signed di Identity Store bernama OPC UA-self-signed, yang dapat Anda lihat di halaman web-based management PLC, di jendela Certificate Authentication (di bagian Security).
Sekarang, saat membuat koneksi ke server OPC UA dari UA Expert, nama sertifikat self-signed “eUAServer@axc-f-2152-1” dapat dilihat.
Karena sertifikat tidak ditandatangani oleh CA terpercaya, diperlukan bagi pengguna untuk secara eksplisit mempercayai sertifikat ini.
Setelah mengonfirmasi bahwa sertifikat dapat dipercayai, UA Expert mungkin menampilkan error “BadCertificateHostNameInvalid”. Ini karena URL yang digunakan untuk terhubung ke server OPC UA tidak cocok dengan entri apa pun di bidang IPAddresses atau DNSnames sertifikat (yang dapat dilihat di bagian UA Extensions). Ini dapat diperbaiki dengan menambahkan entri yang sesuai ke sertifikat, yang dapat dilakukan di jendela OPC UA Settings di PLCnext Engineer.
Perhatikan bahwa, sementara UA Expert memberikan opsi untuk mengabaikan error BadCertificateHostNameInvalid dan tetap terhubung ke server, banyak klien OPC UA lainnya akan dengan penolak terhubung ketika mereka menemui error ini.
Opsi 2 – Sertifikat self-signed yang dihasilkan secara manual
- Di XCA, buat sertifikat self-signed baru.
- Buka (atau buat) database di bawah menu item “File”.
- Di tab “Certificates”, klik tombol “New Certificate”:
- Dalam dialog berikutnya, tab Source akan aktif. Opsi Signing “create a self signed certificate” seharusnya sudah dicentang secara default:
- Beralih ke tab “Subject” dan isi bidang-bidangnya. Contoh ditunjukkan di bawah ini.
- Klik tombol “Generate a new key”. Ini menghasilkan private key unik untuk sertifikat ini.
- Di tab “Extensions”, atur Validitas sertifikat ke periode yang diperlukan dan masukkan entri ke bidang “X509v3 Subject Alternative Name”. Bidang ini tidak boleh kosong – ini adalah persyaratan spesifikasi OPC UA. Bidang IPAddresses dan DNSnames yang disebutkan di Opsi 1 sesuai dengan bidang-bidang ini
- Klik OK untuk membuat sertifikat.
- Setelah sertifikat dibuat, pilih sertifikat di jendela utama XCA dan klik “Export”. Ekspor sertifikat dan private key yang tidak dienkripsi, dalam format “PEM + key (*.pem)”.
- Di PLCnext Engineer, ubah bidang “Certificate” server OPC UA dari “Self signed by controller” menjadi “File on controller”.
- Unduh proyek PLCnext Engineer ke PLC.
- Di halaman web-based management PLC, navigasikan ke jendela Certificate Authentication di bagian Security. Sebuah Identity Store baru bernama OPC UA-configurable telah dibuat.
- Muat sertifikat dan kunci dari file yang dibuat di Langkah 2, ke Identity Store baru:
- Muat sertifikat dengan klik tombol “Set” dan memilih file sertifikat/kunci. Sebuah error akan muncul, menunjukkan bahwa Key Pair yang ada dan Sertifikat baru tidak cocok.
- Muat private key dengan klik tombol “Set” dan memilih file sertifikat/kunci. Error akan hilang.
- Restart PLCnext Runtime, sehingga server OPC UA akan mengambil sertifikat baru.
Sekarang mungkin untuk menghubungkan klien ke server OPC UA menggunakan sertifikat self-signed yang dibuat secara manual ini. Saat terhubung menggunakan UA Expert, detail sertifikat kustom dapat dilihat.
Opsi 3 – Sertifikat yang ditandatangani oleh Certificate Authority Anda sendiri.
Di XCA, mungkin untuk membuat Certificate Authority (CA) Anda sendiri, dan kemudian menandatangani sertifikat Anda menggunakan CA ini. Langkah-langkah tambahan yang diperlukan dijelaskan dalam dokumen “Creating X.509 certificates”, yang dirujuk di awal artikel ini. Perhatikan bahwa, saat mengekspor file .pem, format ekspor harus “PEM chain (*.pem)”.
Seperti dalam Opsi 2 di atas, sertifikat ini harus dimuat ke identity store OPC UA-configurable.
Opsi 4 – Sertifikat yang diterbitkan oleh Certificate Authority terpercaya
Dalam hal ini, sertifikat dibeli dari, dan ditandatangani oleh, Certificate Authority terpercaya. Lagi, sertifikat ini harus dimuat ke identity store OPC UA-configurable. Jika CA diketahui oleh klien OPC UA, maka tidak akan ada peringatan atau error saat terhubung ke server OPC UA.
Mengelola sertifikat di server pusat
Alih-alih secara manual memuat sertifikat keamanan pada PLC, sertifikat dapat dipush ke PLC dari OPC UA Global Discovery Server. Ini membantu saat mengelola sertifikat keamanan di jaringan yang berisi banyak server OPC UA.
Topik ini akan dibahas dalam posting lain.