Protokol VPN adalah serangkaian instruksi yang digunakan aplikasi VPN untuk menyiapkan, mengamankan, dan mengatur koneksi ke server VPN. OpenVPN adalah protokol VPN yang tidak memiliki kelemahan yang diketahui dan efektif dalam melewati metode sensor daring tertentu. OpenVPN juga memiliki keunggulan karena didukung di berbagai platform dan perangkat.

Implementasi OpenVPN bersumber tertutup memang ada, tetapi ada juga Community Edition yang gratis dan bersumber terbuka.

Dalam artikel ini, dibahas secara mendalam tentang cara kerja OpenVPN, cara protokol ini menjaga keamanan komunitas Proton VPN, dan perbandingannya dengan protokol VPN lainnya. Artikel ini akan sangat membantu jika sudah memahami cara kerja VPN.

Pelajari lebih lanjut tentang cara kerja VPN

Awalnya dirilis pada tahun 2001, OpenVPN mulai menunjukkan usianya dalam hal kecepatan, performa, dan efisiensi. Namun, protokol ini masih dianggap aman secara luas, sebuah persepsi yang diperkuat oleh dokumen yang dirilis oleh pembocor rahasia (whistleblower) NSA Edward Snowden pada tahun 2013.

Dapatkan Proton VPN

Hal ini menunjukkan dengan kuat bahwa, selama tidak menggunakan kunci pra-bagi(jendela baru), OpenVPN adalah satu-satunya protokol VPN yang umum digunakan pada saat itu yang tidak dapat dibobol oleh NSA. WireGuard®, protokol VPN yang lebih baru dan aman, belum dikembangkan pada tahun 2013. Meskipun WireGuard lebih cepat, lebih ringan, dan lebih efisien, protokol tersebut belum dapat menandingi rekam jejak OpenVPN yang telah teruji waktu.

Kelebihan OpenVPN:

  • Open source
  • Keamanan yang telah teruji waktu
  • Dapat berjalan melalui UDP atau TCP
  • Didukung secara luas

Kekurangan OpenVPN:

  • Performa saat ini belum dapat menandingi WireGuard (meskipun upaya peningkatan sedang dilakukan)
  • Basis kode yang relatif besar dan kompleks

Proton VPN mendukung OpenVPN di semua aplikasi:

  • Windows 
  • macOS
  • Android
  • Android TV (melalui Smart Protocol)
  • iOS dan iPadOS
  • Aplikasi dan CLI Linux
  • Chrome OS

Bagaimana OpenVPN menjaga keamanan saya?

OpenVPN menggunakan beberapa teknologi kriptografi untuk menjaga keamanan data dan tidak memiliki kerentanan yang diketahui. Teknologi yang digunakan oleh sebagian besar implementasi modern OpenVPN (termasuk milik Proton VPN) adalah:

AES

Advanced Encryption Standard (AES) adalah sandi kunci simetris yang digunakan untuk mengenkripsi dan mendekripsi data yang ditransmisikan melalui koneksi VPN.

Standar ini disertifikasi oleh National Institute of Standards and Technology(jendela baru) (NIST) dan digunakan oleh pemerintah Amerika Serikat untuk mengamankan data rahasia. AES memiliki ukuran kunci maksimum sebesar 256 bit (AES-256), dengan pemerintah AS menganggap AES-256 cukup untuk mengamankan informasi “sangat rahasia”(jendela baru).

Saat digunakan sebagai bagian dari rangkaian enkripsi OpenVPN, AES dapat digunakan dalam mode AES-CBC (Cipher Block Chaining) atau AES-GCM (Galois/Counter Mode). Untuk tujuan mempelajari cara kerja Proton VPN, hanya perlu mengetahui tentang AES-GCM

Meskipun sama-sama aman, AES-GCM yang lebih modern adalah sandi enkripsi terautentikasi dengan data terkait(jendela baru) (AEAD) yang dapat mengautentikasi data selain mengamankannya. HMAC SHA (lihat di bawah) masih diperlukan untuk mengautentikasi koneksi TLS, tetapi AES-GCM lebih efisien (dan oleh karena itu lebih cepat) dalam mengautentikasi data dibandingkan SHA.

Pelajari lebih lanjut tentang enkripsi AES

RSA

OpenVPN mengandalkan AES untuk mengamankan data, tetapi untuk mengirimkannya melalui koneksi VPN, OpenVPN menerapkan kriptografi kunci publik(jendela baru). Sistem kriptografi ini menggunakan pertukaran kunci asimetris, dengan data dienkripsi menggunakan kunci publik penerima yang dibagikan secara terbuka. Data ini kemudian hanya dapat didekripsi dengan kunci pribadi rahasia milik penerima, .

Enkripsi kunci asimetris efektif untuk mengirimkan data secara rahasia melalui internet, tetapi lambat dibandingkan dengan sistem enkripsi simetris seperti AES. Itulah sebabnya enkripsi ini terutama digunakan dalam VPN untuk mengautentikasi koneksi antara klien VPN dan server VPN. OpenVPN menggunakan sistem kripto RSA(jendela baru) untuk hal ini.

Panjang kunci RSA bisa berapa saja, tetapi kunci 4096-bit sudah cukup aman tanpa menimbulkan beban komputasi tinggi yang membuang-buang sumber daya dan memperlambat koneksi.

DHE

Pertukaran kunci Diffie–Hellman(jendela baru) (DHE) dapat digunakan untuk mengamankan pertukaran kunci TLS mirip dengan RSA, dengan keuntungan tambahan bahwa pertukaran ini juga menyediakan kerahasiaan ke depan (forward secrecy)(jendela baru). Kerahasiaan ke depan memastikan bahwa kunci baru digunakan untuk setiap sesi sehingga meskipun satu sesi terkompromi, sesi lainnya tidak akan terpengaruh. Kerahasiaan ke depan memastikan penyerang tidak dapat mendekripsi sesi VPN historis dengan satu kunci yang terkompromi.

Namun, karena DHE menggunakan kembali sekumpulan angka prima yang terbatas, metode ini dapat rentan terhadap serangan logjam(jendela baru). Masalah ini tidak terlalu mengkhawatirkan jika ukuran kunci yang cukup besar digunakan, tetapi penggunaannya untuk mengamankan pertukaran kunci TLS tetap kontroversial.

Oleh karena itu, Proton VPN menggunakan dukungan DHE dalam rangkaian enkripsi OpenVPN untuk menyediakan kerahasiaan ke depan (forward secrecy) tetapi bukan untuk mengamankan pertukaran kunci itu sendiri.

HMAC SHA

OpenVPN menggunakan HMAC SHA untuk memvalidasi sertifikat TLS yang digunakan dalam pertukaran kunci TLS. Langkah ini melindungi dari serangan man-in-the-middle.

Rangkaian algoritma SHA(jendela baru) dari fungsi hash kriptografi(jendela baru) digunakan untuk mengautentikasi data. Ketika fungsi matematika kompleks ini dilakukan pada sekumpulan data, tindakan tersebut menghasilkan sidik jari yang unik. Jika satu bit saja dari data tersebut berubah, sidik jari SHA juga akan berubah.

SHA-1 (fungsi hash 160-bit) diketahui rentan terhadap serangan tabrakan (collision attacks)(jendela baru), tetapi SHA-2 masih dianggap aman. Yang lebih penting lagi, OpenVPN hanya menggunakan SHA untuk menghitung nilai hash message authentication code(jendela baru) (HMAC). Nilai ini jauh lebih sulit diserang dibandingkan dengan algoritma SHA itu sendiri, bahkan hingga tingkat di mana SHA-1 pun masih dianggap cukup aman untuk HMAC(jendela baru).

Kanal Open VPN

OpenVPN menggunakan dua kanal terpisah untuk mentransfer data secara aman antara perangkat dan server VPN.

Gambaran umum tentang cara kerja OpenVPN

Kanal data

Sebelum mengirimkan data melalui terowongan VPN, OpenVPN mengenkripsinya dengan sandi kunci simetris.

Proton VPN menggunakan hingga AES-256 dalam mode GCM untuk memverifikasi data.

Kanal kontrol

Setelah data dienkripsi, data tersebut dapat dikirim melalui terowongan VPN. Kanal kontrol membuat koneksi TLS antara klien VPN dan server VPN. Koneksi ini diamankan menggunakan sandi kunci simetris tetapi dengan pertukaran kunci asimetris.

Proton VPN menggunakan hingga AES-256-GCM untuk cipher simetrisnya, dengan autentikasi hash RSA-4096 dan HMAC SHA-384 untuk memverifikasi sertifikat TLS. Rangkaian enkripsi yang digunakan juga mencakup persetujuan kunci Diffie-Hellman (DHE) untuk menyediakan kerahasiaan terusan (forward secrecy).

Apakah OpenVPN dapat mengatasi sensor VPN?

Salah satu keuntungan besar OpenVPN adalah kemampuannya untuk berjalan pada protokol transmisi UDP dan TCP, yang merupakan dua protokol utama untuk menangani pengiriman data di internet. UDP lebih cepat, sementara TCP lebih andal, tetapi keuntungan utama dari fleksibilitas ini adalah kegunaan TCP untuk mengatasi sensor oleh pemerintah dan organisasi lain.

Pelajari lebih lanjut tentang perbedaan antara UDP dan TCP

Port TCP 443 digunakan oleh HTTPS(jendela baru), standar enkripsi yang mengamankan web. Hal ini membuat OpenVPN sulit diblokir saat dijalankan melalui port TCP 443 tanpa memblokir semua lalu lintas HTTPS, sehingga OpenVPN berguna untuk melewati pemblokiran VPN tingkat rendah.

Namun, bentuk inspeksi paket mendalam (deep packet inspection) yang lebih canggih dapat dengan mudah mendeteksi perbedaan antara paket HTTPS dan VPN.

Pelajari lebih lanjut tentang inspeksi paket mendalam

Apakah OpenVPN telah diaudit?

Setelah kampanye urun dana, OpenVPN 2.4 diaudit secara independen(jendela baru) oleh OSTIF dan QuarksLab pada tahun 2016. Hasilnya sangat positif, dan satu-satunya kerentanan kritis/tinggi yang ditemukan berkaitan dengan kerentanan terhadap penolakan layanan (denial of service) dan tidak berdampak pada keamanan pengguna. Isu ini juga segera diperbaiki.

Namun, tahun 2016 sudah cukup lama berlalu, dan OpenVPN 2.6.1 adalah rilis terbaru saat tulisan ini dibuat.

OpenVPN vs. WireGuard

Protokol WireGuard yang lebih baru aman, cepat, dan efisien, itulah sebabnya Proton VPN kini menggunakannya sebagai protokol VPN bawaan. Kemampuan OpenVPN untuk berjalan melalui TCP tetap menjadi keunggulan dibandingkan WireGuard standar, tetapi Proton VPN kini telah mengembangkan implementasi WireGuard yang juga berjalan melalui TCP.

Pelajari lebih lanjut tentang WireGuard

WireGuard juga menjadi dasar dari protokol obfuskasi Stealth yang digunakan, yang jauh lebih efektif dalam menghindari pemblokiran sensor dibandingkan menjalankan OpenVPN melalui TCP.

Pelajari lebih lanjut tentang Stealth

Fakta bahwa keamanan OpenVPN lebih teruji dibandingkan WireGuard mungkin masih menarik bagi sebagian orang, tetapi hanya ada sedikit alasan untuk memilihnya daripada WireGuard kecuali jika perangkat saat ini tidak mendukung WireGuard.

Pemikiran akhir

Selama bertahun-tahun, OpenVPN secara efektif menjadi protokol VPN bawaan, dan karena itu, protokol ini tetap didukung dengan sangat baik pada router dan perangkat berkemampuan internet lainnya. Protokol ini masih sangat aman tetapi menawarkan sedikit keunggulan dibandingkan WireGuard yang lebih canggih (terutama implementasi khusus Proton VPN untuk protokol baru tersebut).