Ada banyak jalan menuju roma, namun tidak untuk sebuah sistem keamanan. Ada peraturan dan kebijakan yang harus ditaati sebagai satu-satunya jalan. Meskipun penerapan certificate pinning termasuk salah satu opsi mengamankan koneksi situs web, namun sertifikat SSL/TLS yang terpasang tidak bekerja maksimal dengan semestinya. Certificate Pinning memberikan dampak ketidakpercayaan terhadap CA yang menerbitkan sertifikat. Ada baiknya untuk selalu mengandalkan keamanan web dengan sertifikat SSL/TLS berkualitas hanya berasal dari CA terpercaya bersama penerapan kebijakan yang berlaku dan tinggalkan certificate pinning.

tinggalkan certificate pinning keamanan web dengan sertifikat ssl/tls berkualitas hanya berasal dari ca terpercaya

 

Apa itu Certificate Pinning?

Certificate pinning membatasi sertifikat mana yang dianggap valid untuk situs web tertentu, sehingga membatasi risiko. Alih-alih mengizinkan penggunaan sertifikat terpercaya,  operator “mem-pinnin­gcertificate authority (CA), public key, atau bahkan end-identity certificate pilihan mereka. Klien yang terhubung ke server itu akan memperlakukan semua sertifikat lainnya sebagai tidak valid dan menolak untuk membuat koneksi HTTPS.

Certificate pinning memungkinkan situs web mengontrol risiko kesalahan penerbitan dan memicu man-in-the-middle attack. Melakukan pinning certificate dapat dilakukan dalam berbagai bentuk tergantung pada kasus penggunaan. Google adalah salah satu yang pertama menggunakan pinning pada tahun 2011, saat mereka melakukan pinning, CA yang menerbitkan untuk situs web utama mereka di browser Chrome. Saat Chrome terhubung ke google.com, Chrome sudah mengetahui CA mana yang harus diterima. Jika sertifikat SSL/TLS berkualitas dari CA terpercaya lain disajikan, koneksi akan diblokir. Ini berarti bahwa jika penyerang  berhasil menipu CA terpercaya lainnya untuk memberi mereka sertifikat google.com, itu akan tetap diblokir oleh Chrome.

Bebeberapa tahun kemudian, Chrome dan Firefox mulai mengizinkan situs menggunakan Header HTTP Public Key Pinning (HPKP). Pertama kali browser Anda terhubung ke situs web menggunakan HPKP, public key tersebut dicatat dari header, dan hanya akan menerima kunci itu setiap kali terhubung ke situs, hingga “due date” yang ditentukan dalam kebijakan HPKP. Jika usia maksimal 60 hari ditetapkan, tidak ada kunci lain yang akan diterima selama 60 hari berikutnya.

Sementara itu, certificate pinning juga diperkenalkan diaplikasi, perangkat IoT, dan perangkat lunak lainnya. Dengan menggunakan metode serupa, aplikasi dapat memasang pinning di sertifikat SSL/TLS, dan aplikasi kemudian akan menolak koneksi apa pun ke server jika mereka tidak menggunakan sertifikat itu, melindungi pengguna dari serangan man-in-the-middle.

cara kerja certificate pinning

Praktik ini, jika diterapkan dengan benar, dapat meningkatkan keamanan web tetapi tidak butuh waktu lama bagi komunitas web untuk mengetahui bahwa memasang pinning pada sertifikat SSL/TLS bukanlah ide yang bagus.

 

Apa yang salah dengan Certificate Pinning?

certificate pinning menghalangi keamanan web dengan sertifikat ssl/tls berkualitas

Memasang certificate pinning, terutama dengan HPKP, sangat berisiko dan rawan akan kesalahan. Jika Anda salah mengkonfigurasi pengaturan pin, Anda dapat memblokir akses ke situs web Anda sendiri atau memutus konektivitas di aplikasi Anda, dengan opsi terbatas untuk bantuan. Berikut ini beberapa cara memasang pinning yang dapat menyebabkan kerusakan tersebut.

Key Compromise

Praktik umum dengan HPKP adalah melakukan pinning End-indetity certificate public key ke website selama 60 hari. Banyak situs yang tidak menentukan backup keys apapun, mungkin karena mereka tidak menyadarinya sebagai opsi, atau mereka meremehkan risiko menggunakan single key pada sertifikat SSL/TLS.

certificate pinning berpotensi merusak kunci keamanan webHal ini membuat situs rentan terhadap peretasan utama. Standar industri mengharuskan CA terpercaya mencabut sertifikat SSL/TLS berkualitas yang disusupi–mungkin saja dicuri dari web server yang tidak aman, atau diunggah secara tidak sengaja ke public GitHub repository – Dalam waktu 24 jam. Dengan satu-satunya key yang di pin sekarang yang telah dirusak, Anda tidak memiliki pengganti dan klien yang mencatat kebijakan HPKP Anda mengingat kunci yang dirusak dan tidak akan mengizinkan koneksi  dengan sertifikat Anda yang baru.

Hacker

HPKP adalah cara terbaik bagi peretas untuk menyabotase situs web dan melakukan kerusakan jangka panjang dan terus menerus. Jika saya dapat mengambil alih server Anda dan menetapkan kebijakan HPKP palsu untuk sebuah kunci palsu dan masa maksimal selama satu tahun, browser akan selalu gagal untuk terhubung. Lama setelah Anda mengamankan kembali server Anda, Anda masih terjebak dengan efek kebijakan HPKP yang tidak mudah untuk diperbaiki.

Certificate Authority Revocation

Terkadang CA harus harus mencabut sertifikat Anda. Mungkin karena audit menunjukan sertifikat memiliki masalah yang sebelumnya tidak diketahui, seperti kesalahan ejaan dalam nama subjek atau entries yang tidak valid di bidang OU. Standar industri mengatakan CA memiliki waktu lima hari untuk mencabut sertifikat Anda, tetapi Anda melakukan pin di kode klien Anda. Bagaimana Anda dapat menerapkan pembaharuan ke semua klien Anda dalam lima hari untuk mulai menggunakan sertifikat pengganti yang baru?

 

Lebih Banyak Risiko Dibandingkan Keuntungan

Akibat dari masalah ini dan kesulitan dalam menerapkan pemasangan pinning dengan aman dan kuat, terdapat lebih banyak kasus situs yang dirusak oleh pemasangan pin daripada yang dilindungi. Ini hanyalah beberapa masalah dengan pinning yang menyebabkan Google dan Firefox menghapus dukungan HPKP hanya beberapa tahun setelah diperkenalkan.

certificate pinning tidak memberikan keuntungan yang aman melainkan dampak buruk dalam jangka panjangMasalah terbesar dengan certificate pinning adalah Anda kehilangan kemampuan untuk menanggapi masalah sertifikat SSL/TLS. Jika Anda perlu mengubah kunci, sertifikat, penerbit atau vendor CA Anda, karena alasan apa pun, Anda harus memperbaiki client, browser, code, perangkat IoT, dll. Terkadang dengan jadwal yang singkat. Jika Anda berkomitmen untuk mendukung versi aplikasi selama bertahun-tahun dan versi tersebut berisi sertifikat SSL/TLS yan di pinning, bagaimana Anda dapat memastikan bahwa sertifikat tersebut akan valid sepanjang masa aplikasi Anda? Memasang pinning sangat bermasalah dengan sertifikat SSL/TLS dari CA yang dipercaya secara publik karena harus mematuhi aturan yang terus berkembang.

superadmin
superadmin

Would you like to share your thoughts?

Your email address will not be published. Required fields are marked *