← INDEX
IF1603 — KEAMANAN SCADA
SESI 11 / 16
■ SESI 11 — KULIAH TEORI

Protokol Komunikasi Aman ICS:
Secure Modbus, DNP3-Auth, OPC UA & PKI

Evolusi protokol komunikasi industrial menuju keamanan modern. Meliputi Modbus TCP over TLS, DNP3 Secure Authentication v5, OPC UA Security modes, standar IEC 62351, dan implementasi PKI (Public Key Infrastructure) untuk ekosistem ICS.

MODBUS OVER TLSDNP3 SAv5OPC UA SECURITY IEC 62351PKI ICSX.509TLS 1.3
11.1Masalah Keamanan Protokol Industrial Legacy

Protokol industri paling luas digunakan — Modbus, DNP3, IEC 60870-5 — dirancang era 1970–1990an untuk keandalan dan kecepatan, bukan keamanan. Hasilnya: tidak ada autentikasi, enkripsi, maupun otorisasi.

LEGACY — TIDAK AMAN
Modbus TCP (1979)
Autentikasi
Enkripsi
Otorisasi
Integrity check
Siapapun di jaringan dapat baca/tulis register PLC langsung
LEGACY — TIDAK AMAN
DNP3 (1993)
Autentikasi (default off)
Enkripsi traffic
CRC checksum (integrity dasar)
Timestamp per event
DNP3 SAv5 menambah auth — tapi jarang diimplementasikan
MODERN — AMAN
OPC UA (IEC 62541, 2008)
X.509 Certificate Auth (mutual TLS)
TLS 1.2/1.3 enkripsi penuh
Role-based Authorization
Message signing + integrity
Standar modern IIoT dan SCADA interoperability
SOLUSI TRANSISI
Modbus TCP over TLS
TLS 1.3 enkripsi transport
Certificate-based auth
Otorisasi level FC (tidak ada)
Backward compatible (payload sama)
Jalan tengah sebelum migrasi penuh ke OPC UA
⚠ REALITAS LAPANGAN INDUSTRI INDONESIA

Lebih dari 70% instalasi SCADA sektor energi Indonesia masih menggunakan Modbus TCP atau DNP3 tanpa enkripsi. Alasan: biaya penggantian hardware, risiko downtime, dan kurangnya tenaga ahli ICS security. Pendekatan pragmatis: migrasi bertahap, prioritas sistem paling kritis.

11.2Modbus TCP dengan TLS Wrapper

TLS wrapper mengamankan transport layer Modbus TCP tanpa mengubah payload-nya. Payload Modbus tetap sama — TLS membungkusnya dengan enkripsi dan autentikasi. Didefinisikan dalam RFC 8455 pada port 802.

MODBUS TCP vs MODBUS TCP OVER TLS
MODBUS TCP BIASA (Port 502):
  Client → Server: [Modbus Request FC03 — PLAINTEXT]
  Server → Client: [Modbus Response data — PLAINTEXT]
  // Siapapun di network: sniff data, inject perintah FC06 WRITE

MODBUS TCP OVER TLS (Port 802, RFC 8455):
  // Fase 1: TLS 1.3 Mutual Handshake
  Client → Server: ClientHello + certificate
  Server → Client: ServerHello + certificate + Finished
  // Identitas kedua pihak terverifikasi via X.509

  // Fase 2: Modbus dalam tunnel TLS terenkripsi
  Client → Server: [TLS Encrypted: Modbus FC03 Request]
  Server → Client: [TLS Encrypted: Modbus Response]

MANFAAT:
   Enkripsi — traffic tidak bisa di-sniff
   Autentikasi — hanya client dengan cert valid yang bisa konek
   Integrity — paket yang dimodifikasi terdeteksi
   Tidak perlu ubah PLC firmware (bisa via gateway/proxy)

KETERBATASAN:
   Overhead TLS handshake (+1-5ms latency) — perhatikan real-time req
   Masih tidak ada otorisasi level Function Code
   PLC lama tidak support TLS natively → butuh TLS proxy/gateway

ARSITEKTUR TLS PROXY (untuk PLC lama):
  HMI ──(Modbus/TLS:802)──▶ TLS PROXY ──(Modbus TCP:502)──▶ PLC
         [terenkripsi]            │           [plaintext — LAN lokal]
                           [Decrypt, forward,
                            re-encrypt response]
  Produk: Hirschmann EAGLE Tofino, Ewon Flexy, stunnel+iptables
11.3DNP3 Secure Authentication Version 5

DNP3 SAv5 menambah autentikasi kriptografis HMAC-SHA256 pada DNP3 tanpa mengubah payload atau mengganti hardware. Mekanisme challenge-response memastikan perintah hanya diterima dari master yang sah.

DNP3 SAv5 — CHALLENGE-RESPONSE MECHANISM
MASALAH DNP3 STANDAR:
  Master → RTU: "Control Output DO-05 = ON" — siapapun bisa kirim ini
  // MitM bisa inject perintah palsu, tidak ada cara RTU memverifikasi

DNP3 SAv5 — UNTUK OPERASI KRITIS:

  Step 1: RTU mengeluarkan Challenge
  RTU → Master: Challenge (4-byte random nonce)

  Step 2: Master membuktikan identitas via HMAC
  Master → RTU: Challenge Reply = HMAC-SHA256(
                  Key    = Session Key (turunan dari Update Key),
                  Data   = {Challenge Nonce + Message Content}
                )

  Step 3: RTU verifikasi — jika cocok, eksekusi perintah
  RTU → Master: Auth OK — Command Executed

KEY HIERARCHY:
  Update Key  : Jangka panjang — dikonfigurasi saat instalasi/maintenance
  Session Key : Sementara — diturunkan dari Update Key per sesi
  Key Wrap    : AES-256 Key Wrap (RFC 3394) untuk distribusi session key aman

OBJEK DNP3 BARU (Group 120-122):
  Group 120: Authentication (challenge, reply, aggressive mode)
  Group 121: Security Statistics
  Group 122: Security Events (audit log per event auth)
FITURDNP3 STANDARDNP3 SAv5
Autentikasi✗ Tidak ada✓ HMAC-SHA256/SHA3-256
Enkripsi traffic✗ Plaintext✗ Masih plaintext
Integrity kriptografisCRC dasar saja✓ HMAC per pesan
Replay attack prevention✗ Tidak ada✓ Challenge nonce
Backward compatibleN/A✓ Bisa dinonaktifkan per device
Standar referensiIEEE 1815-2012IEEE 1815-2012 Clause 7&8
⚠ DNP3 SAv5 TIDAK MENYEDIAKAN ENKRIPSI

DNP3 SAv5 hanya menambah autentikasi — traffic masih plaintext. Untuk enkripsi penuh, kombinasikan dengan TLS tunnel per IEC 62351-5. Ini krusial untuk koneksi WAN antar substation yang melewati jaringan publik.

11.4OPC UA Security — Protokol Modern Security-by-Design

OPC UA (IEC 62541) dikembangkan dari nol dengan keamanan sebagai fondasi. Tiga Security Modes dapat dikonfigurasi sesuai kebutuhan dan posisi dalam arsitektur jaringan.

MODE 1
None
Tanpa keamanan. Hanya untuk lab/testing terisolasi. Dilarang keras di produksi. Tidak ada auth, enkripsi, maupun signing.
MODE 2
Sign
Pesan di-sign dengan private key — autentikasi dan integrity terjamin. Traffic masih plaintext (bisa dibaca). Cocok hanya untuk OT internal yang sudah terisolasi baik.
MODE 3 — RECOMMENDED
Sign & Encrypt
Sign + TLS 1.2/1.3 enkripsi AES-256 penuh. Mutual X.509 certificate authentication. Wajib digunakan untuk semua OPC UA di produksi.
OPC UA SERVER CONFIG — PRAKTIS
OPC UA SERVER (Kepware/Unified Automation):
  Security Policy      : Basic256Sha256  (AES-256-CBC + SHA-256)
  Message Security Mode: SignAndEncrypt
  Authentication       : Certificate      (X.509 mutual TLS)
  Trusted Certs        : [HMI-A.der, SCADA-SRV.der, ENG-WS.der]

OPC UA CLIENT (HMI/SCADA Server):
  Server URL     : opc.tcp://192.168.10.200:4840
  Security Mode  : SignAndEncrypt
  Client Cert    : HMI-CLIENT.pem
  Private Key    : HMI-CLIENT-KEY.pem (simpan di HSM jika tersedia)
  Server Cert    : OPC-SERVER.der  (certificate pinning)

CIPHER SUITES YANG DIREKOMENDASIKAN (IEC 62541-6):
   Basic256Sha256    : RSA-2048/4096, AES-256-CBC, SHA-256
   Aes128Sha256RsaOaep: RSA-2048, AES-128-CTR, SHA-256
   Basic128Rsa15     : DEPRECATED — SHA-1 lemah
   Basic256           : DEPRECATED — SHA-1 untuk signing
11.5IEC 62351 — Standar Keamanan Protokol Energi

IEC 62351 adalah seri standar internasional yang mendefinisikan keamanan untuk protokol komunikasi di sistem tenaga listrik — "menambal" keamanan pada protokol yang sudah ada tanpa harus mengganti semua hardware.

BAGIANJUDULPROTOKOL YANG DIAMANKAN
IEC 62351-3TCP/IP ProfilesSemua protokol IEC berbasis TCP — menggunakan TLS 1.2/1.3
IEC 62351-4MMS ProfilesMMS (IEC 61850 manufacturing message)
IEC 62351-5IEC 60870-5 & DNP3IEC 60870-5-101/104, DNP3 — challenge-response auth
IEC 62351-6IEC 61850 ProfilesGOOSE, Sampled Values (SV) di substation automation
IEC 62351-8Role-Based Access ControlRBAC model standar untuk semua protokol IEC
IEC 62351-9Key ManagementDistribusi dan manajemen kunci kriptografi ICS
◈ IEC 62351-5 — RELEVANSI UNTUK PLN DAN SEKTOR ENERGI INDONESIA

IEC 62351-5 sangat relevan karena IEC 60870-5-104 dan DNP3 banyak digunakan di SCADA distribusi PLN. Standar ini mendefinisikan: challenge-response HMAC-SHA256 untuk autentikasi perintah kritis, TLS tunnel untuk enkripsi koneksi WAN, dan key management untuk update kunci secara aman. BSSN merekomendasikan infrastruktur ketenagalistrikan kritis untuk mulai mengadopsi IEC 62351.

11.6PKI (Public Key Infrastructure) untuk ICS

PKI adalah fondasi kriptografi OPC UA dan protokol aman ICS lainnya. PKI menyediakan mekanisme untuk menerbitkan, mendistribusikan, dan memvalidasi sertifikat X.509 yang menjadi identitas digital setiap device.

◈ CHAIN OF TRUST PKI UNTUK ICS ◈
🏛
ROOT CA
Self-signed. Disimpan OFFLINE di HSM. Hanya tandatangani Intermediate CA.
🔐
INTERMEDIATE CA
Ditandatangani Root CA. Online untuk terbitkan cert. Jika kompromi, Root CA aman.
🖥
OPC UA SERVER
Cert diterbitkan Int. CA. CN=SCADA-SRV-01. Diinstal di server OPC UA.
💻
HMI CLIENT
Cert unik per workstation. CN=HMI-WS-A. Untuk mutual TLS autentikasi.
🔌
PLC/RTU
PLC modern support X.509. Cert embedded saat komisioning device.
PKI SETUP — OPENSSL (CONTOH PRAKTIS)
# 1. Buat Root CA (OFFLINE, simpan di HSM)
$ openssl genrsa -aes256 -out root-ca.key 4096
$ openssl req -x509 -new -key root-ca.key -sha256 -days 3650 \
    -out root-ca.crt -subj "/CN=ICS-Root-CA/O=Perusahaan/C=ID"

# 2. Buat Intermediate CA (untuk penerbitan cert sehari-hari)
$ openssl genrsa -out intermediate-ca.key 4096
$ openssl req -new -key intermediate-ca.key -out int-ca.csr \
    -subj "/CN=ICS-Intermediate-CA/O=Perusahaan"
$ openssl x509 -req -in int-ca.csr -CA root-ca.crt -CAkey root-ca.key \
    -CAcreateserial -out intermediate-ca.crt -days 1825

# 3. Terbitkan cert untuk OPC UA Server
$ openssl genrsa -out opcua-server.key 2048
$ openssl req -new -key opcua-server.key -out server.csr \
    -subj "/CN=SCADA-SERVER-01/O=Perusahaan"
$ openssl x509 -req -in server.csr -CA intermediate-ca.crt \
    -CAkey intermediate-ca.key -out opcua-server.crt -days 730

# 4. Verifikasi chain of trust
$ openssl verify -CAfile root-ca.crt -untrusted intermediate-ca.crt opcua-server.crt
opcua-server.crt: OK  ← chain valid
📌 TANTANGAN PKI DI LINGKUNGAN ICS
  • Umur panjang device — PLC bisa 20+ tahun. Harus ada prosedur renewal sertifikat (tiap 2-5 tahun) yang tidak mengganggu operasi.
  • Air-gapped OT network — CRL/OCSP tidak bisa diakses jika OT tidak ke internet. Solusi: CRL pre-download dan cache secara offline, atau OCSP Stapling.
  • Resource PLC lama — CPU minimal mungkin tidak mampu RSA-2048. Pertimbangkan Elliptic Curve (ECDSA P-256) yang jauh lebih efisien.
  • Private key storage — Gunakan HSM untuk server OPC UA. Untuk PLC: secure element atau TPM jika tersedia dari vendor.
11.7Strategi Migrasi Protokol — Bertahap dan Aman

Migrasi dari protokol legacy ke protokol aman harus dilakukan secara bertahap. Tidak ada "big bang" migration di ICS — setiap perubahan harus divalidasi di lab sebelum produksi.

PETA JALAN MIGRASI PROTOKOL OT
PROTOKOLKONDISI SAAT INIJALUR MIGRASI AMANUPAYA
Modbus TCP Port 502, plaintext, no auth — siapapun kirim FC write Fase 1: Segmentasi + DPI firewall. Fase 2: Modbus/TLS proxy. Fase 3: Migrasi ke OPC UA TINGGI
DNP3 Plaintext, no auth — banyak di RTU ketenagalistrikan Aktifkan DNP3 SAv5 (jika firmware support). Tambah TLS tunnel per IEC 62351-5 untuk koneksi WAN SEDANG
IEC 60870-5-104 Plaintext TCP — banyak di substation SCADA PLN IEC 62351-3 (TLS tunnel) + IEC 62351-5 (auth). Update firmware RTU/IED SEDANG
OPC DA (DCOM) Windows DCOM — banyak port terbuka, banyak CVE Migrasi ke OPC UA (prioritas tinggi). OPC DA–UA tunneler sebagai transisi sementara TINGGI
Telnet/FTP Plaintext — credential terlihat di network Ganti dengan SSH / SFTP segera. Tidak ada justifikasi valid untuk Telnet di produksi RENDAH
ℹ️ PRINSIP MIGRASI YANG AMAN
  • Test di lab dulu — Replika environment produksi. Validasi timing PLC tidak terganggu oleh overhead protokol baru.
  • Satu device sekaligus — Mulai dari yang paling tidak kritis. Jangan migrasikan seluruh fleet bersamaan.
  • Parallel operation sementara — Jalankan protokol lama dan baru paralel selama transisi hingga yakin stabil.
  • Rollback plan wajib — Selalu siapkan prosedur kembali ke konfigurasi sebelumnya jika ada masalah.
Latihan Soal — Sesi 11
■ PERTANYAAN 1 / 5
1. Apa yang membuat OPC UA secara fundamental lebih aman dari Modbus TCP?
AOPC UA menggunakan port lebih tinggi sehingga lebih sulit ditemukan attacker
BOPC UA didesain dari awal dengan keamanan built-in: autentikasi mutual X.509, enkripsi TLS 1.2/1.3, dan otorisasi RBAC — semua yang tidak ada di Modbus TCP
COPC UA lebih cepat sehingga attacker tidak punya waktu menyerang
DOPC UA hanya bekerja di jaringan yang sudah terenkripsi
Benar! OPC UA (IEC 62541, 2008) dirancang dengan security-by-design: (1) Mutual TLS — server dan client saling verifikasi X.509; (2) AES-256 enkripsi payload; (3) RBAC otorisasi akses node. Modbus dari 1979 tidak memiliki satupun fitur ini karena dirancang untuk jaringan serial tertutup tanpa ancaman siber.
■ PERTANYAAN 2 / 5
2. DNP3 Secure Authentication v5 menambah keamanan, namun apa keterbatasan penting yang masih ada?
ADNP3 SAv5 tidak kompatibel dengan perangkat DNP3 lama
BDNP3 SAv5 hanya menambah autentikasi HMAC — traffic masih plaintext dan bisa di-sniff, tidak ada enkripsi. Untuk enkripsi penuh perlu dikombinasikan TLS tunnel (IEC 62351-5)
CDNP3 SAv5 terlalu lambat untuk sistem real-time
DDNP3 SAv5 hanya bekerja untuk koneksi serial
Benar! DNP3 SAv5 menambah challenge-response HMAC-SHA256 untuk autentikasi — memastikan perintah dari master yang sah. Namun payload DNP3 masih plaintext. Attacker yang bisa sniff jaringan masih melihat semua data proses. Enkripsi perlu dikombinasikan dengan TLS tunnel per IEC 62351-5.
■ PERTANYAAN 3 / 5
3. Mengapa Root CA dalam PKI ICS disimpan OFFLINE (air-gapped)?
AKarena Root CA membutuhkan kapasitas storage yang sangat besar
BUntuk melindungi private key Root CA — jika dikompromis, seluruh chain of trust hancur dan semua sertifikat yang pernah diterbitkan menjadi tidak terpercaya
CRegulasi mewajibkan Root CA tidak terhubung internet
DRoot CA tidak kompatibel dengan koneksi jaringan
Benar! Root CA adalah kepercayaan tertinggi dalam PKI. Jika private key-nya dicuri, attacker dapat menandatangani cert palsu untuk device apapun — dan semua device akan mempercayainya. Dengan Root CA offline, attack surface-nya nol. Root CA hanya dinyalakan sesekali untuk menandatangani Intermediate CA, kemudian dimatikan kembali.
■ PERTANYAAN 4 / 5
4. Mode keamanan OPC UA yang wajib digunakan di sistem SCADA produksi adalah...
AMode "None" — OT network sudah terisolasi jadi tidak perlu enkripsi
BMode "Sign" — cukup memastikan integritas pesan
CMode "Sign and Encrypt" dengan Basic256Sha256 — autentikasi mutual X.509 + enkripsi AES-256 penuh
DTidak ada rekomendasi, tergantung vendor SCADA
Benar! "Sign and Encrypt" + Basic256Sha256 adalah standar produksi: (1) Sign — setiap pesan di-sign dengan private key untuk integrity dan non-repudiation; (2) Encrypt — AES-256 enkripsi payload; (3) Mutual TLS X.509 — autentikasi kedua pihak. Mode "None" hanya untuk lab. "Sign" membiarkan traffic terbaca.
■ PERTANYAAN 5 / 5
5. Seri standar IEC 62351 dikembangkan untuk tujuan apa?
AMendefinisikan arsitektur fisik substation listrik
BMendefinisikan keamanan (autentikasi, enkripsi, RBAC) untuk protokol komunikasi sistem tenaga seperti IEC 60870-5, DNP3, dan IEC 61850
CMenggantikan semua protokol legacy dengan OPC UA
DStandar sertifikasi produk hardware ICS
Benar! IEC 62351 "menambal" keamanan pada protokol yang sudah ada — alih-alih mengganti semua hardware. Mendefinisikan cara menambah TLS, HMAC auth, RBAC, dan key management ke DNP3, IEC 60870-5-104, IEC 61850, dan lainnya. Sangat relevan karena mengganti ribuan RTU/IED sekaligus tidak praktis secara ekonomi.
← SESI 10
SESI 11 / 16 — PROTOKOL KOMUNIKASI AMAN ICS
SESI 12 →