Berkenalan dengan HTTPS dan Kegunaannya

Bagikan di

Pernah kalian perhatikan ga, kalau kalian buka website ada gambar gembok disebelah link-nya? Kalau ada gembok artinya website tersebut aman. Kalau ga ada gambar gembok atau ada tulisan “Not Secure” biasanya sih tidak aman. Jadi, apa sih artinya itu?

HTTPS pada browsermu

 

Tanda Gembok

Tanda gembok yang ada di browser kamu, itu artinya wesite yang kamu kungjungi menggunakan HTTPS. HTTPS adalah salah satu protokol komunikasi yang digunakan antara website dan browser kamu sehingga komunikasi dapat berjalan dengan aman.

Protokol lain yang biasanya digunakan adalah bernama HTTP yang bisa kamu baca disini pengertiannya.

 

Apa Bedanya HTTP dan HTTPS?

HTTPS adalah protokol HTTP yang aman (HTTP-Secure).

Sesuai dengan namanya, protokol HTTPS ini sebenarnya HTTP biasa, namun menggunakan jalur komunikasi yang aman. Jalur komunikasi aman ini disebut sebagai SSL/TLS (Secure Socket Layer / Transport Layer Security).

Jadi, perbedaan antara kedua protokol ini ada di jalur komunikasinya.

 

Kenapa perlu HTTPS?

HTTPS digunakan karena menggunakan jalur komunikasi yang aman. Dalam menggunakan internet, kita perlu komunikasi yang aman sebab data yang kita kirim melalui internet bisa saja sangat rahasia. Contohnya, saat kamu melakukan pembayaran, data perbankanmu harus dijaga ketat. Jika hanya menggunakan HTTP, datamu dapat bocor di perjalanan.

Apa saja komponen keamanan yang dapat dilindungi oleh HTTPS?

  • Kerahasiaan (Confidentiality)

    Kerahasiaan didapatkan ketika data yang kamu miliki tidak bisa dilihat oleh pihak yang tidak berhak. Dengan menggunakan HTTPS, data kamu akan terkunci saat perjalanan menuju website yang kamu tuju. Data kamu tidak bisa dibaca di tengah jalan. Beda dengan HTTP yang datanya dapat dilihat oleh siapapun dalam perjalanannya.

 

  • Keutuhan Data (Integrity)

    Data yang dikirim harus dijaga keutuhannya sampai ke tangan yang berhak. Jangan sampai ditengah perjalanan, data kamu diubah atau disisipi pesan yang tidak kamu inginkan. Contohnya jika chat dikirim tanpa dijaga keutuhan datanya, bisa terjadi seperti gambaran di bawah ini.

    Jika keutuhan data tidak dijaga, pesanmu bisa berubah

    Jika keutuhan data tidak dijaga, pesanmu bisa diubah oleh orang yang tidak bertanggung jawab. Sehingga, pesan yang kamu kirim akan berbeda dengan yang diterima.

 

  • Identitas (Authentication)

    Data yang diterima oleh website harus bisa diidentifikasi identitas pengirimnya. Jangan sampai ada orang yang bisa mengaku-aku sebagai kamu dan mengirimkan pesan yang merugikan. Contohnya, ada orang lain yang memesan pizza ke alamat rumahmu dan mengaku sebagai kamu. Ketika kamu dikirimi pizza kamu harus membayar. Tentunya kamu tidak ingin hal seperti ini terjadi juga di internet, kan?

 

Ketiga hal tersebut adalah komponen keamanan data yang akan ditangani oleh HTTPS. Tanpa HTTPS, ketiganya tidak dapat dijamin. Jadi, HTTPS itu penting.

 

Bagaimana Cara Kerja HTTPS?

HTTPS adalah cara berkomunikasi antara browser dan website menggunakan pesan HTTP di jalur komunikasi yang menggunakan SSL/TLS.

Perbedaan antara cara kerja HTTP dan HTTPS berada di jalur komunikasinya. Untuk mengetahui cara kerja pesan HTTP kamu bisa cek artikel ini. Disini akan dibahas bagaimana jalur komunikasi melalui SSL/TLS dapat mengamankan data kamu.

 

Bagaimana Cara Kerja SSL/TLS?

SSL/TLS bekerja menggunakan kriptografi. Singkatnya, kriptografi adalah cara untuk mengubah teks yang bisa dibaca menjadi teks yang tidak beraturan (disebut sebagai meng-enkripsi pesan). Seseorang hanya bisa membaca teks tersebut kalau orang tersebut memiliki ‘kunci’. Perumpamaannya seperti memasukkan pesanmu ke dalam sebuah brankas.

Jadi, bagaimana cara SSL/TLS bekerja?

Kita bisa membaginya menjadi tiga bagian.

  1. Handshake

    Untuk memulai koneksi, browser dan website harus saling berjabat tangan (handshake). Caranya tentu tidak sama dengan manusia.

    Handshake

    Pertama, browser memberikan daftar algoritma kriptografi yang didukung oleh browser.

    Kemudian, server website akan menjawab dengan algoritma kriptografi yang terpilih dari daftar, beserta sertifikat digital yang membuktikan identitas server tersebut.

    Browser menerima jawaban tersebut, lalu memverifikasi sertifikat digital yang diberikan. Jika terverifikasi, maka browser akan menggunakan ‘kunci’ publik yang dilampirkan pada sertifikat digital tersebut.

    Kunci ini akan digunakan untuk melakukan enkripsi kriptografi kunci publik. Dengan menggunakan ‘kunci’ publik ini, pesan yang dienkripsi tidak akan bisa dibaca selain oleh pemegang ‘kunci’ privat (dimiliki oleh server). Baca juga: Kriptografi kunci-publik

     

  2. Key Derivation

    Setelah mendapatkan ‘kunci’ publik milik server website, browser akan membuat ‘kunci’ baru bernama Pre-Master Secret (PMS). Kemudian, PMS dienkripsi menggunakan ‘kunci’ publik server. hasil enkripsi tersebut dikirimkan ke server.

    Server menerima PMS yang terenkripsi dan membukanya dengan menggunakan ‘kunci’ privat yang server miliki. PMS ini digunakan untuk membuat ‘kunci’ enkripsi simetris baru bernama Master Secret (MS).

    Berbeda dengan ‘kunci’ publik, dengan menggunakan ‘kunci’ simetris untuk melakukan enkripsi, pesan yang dienkripsi dapat dibaca oleh semua yang memegang ‘kunci’ tersebut. Baca juga: Kriptografi kunci-simetris

    Secara terpisah, browser dan server membentuk MS menggunakan PMS. Pembentukan MS dilakukan terpisah antara browser dan server untuk menjamin bahwa tidak ada pihak jahat yang telah mengubah keutuhan data selama proses pertukaran data.

    Key Derivation

    Kunci MS inilah yang akan digunakan browser dan server untuk berkomunikasi.

     

  3. Data Transfer

    Akhirnya setelah masing-masing memiliki kunci MS, browser akan mengirimkan pesan yang terenkripsi menggunakan kunci MS ini kepada server. Begitu juga sebaliknya. Hal ini dilakukan untuk menvalidasi apakah keduanya telah benar-benar sepakat.

    Setelah semua tervalidasi, browser mulai mengirimkan pesan HTTP yang terenkripsi menggunakan kunci MS kepada server.

 

Perlu dicatat bahwa beberapa langkah di atas telah disederhanakan. Beberapa hal tidak disebutkan secara detil agar harapannya lebih mudah dimengerti. Untuk mengetahui lebih lanjut cara kerja SSL/TLS secara detil, silakan cek bagian “Bacaan Lanjutan”.

 

Mengapa Diperlukan Penggunaan Kunci Publik dan Kunci Simetris?

Pembaca yang teliti mungkin bertanya kenapa tidak langsung saja menggunakan kunci publik yang diberikan pada bagian awal.

Alasan untuk tidak menggunakan kunci publik tersebut adalah komputasi yang dibutuhkan untuk melakukan enkripsi dan dekripsi menggunakan kunci publik cukup besar. Sedangkan, sebaliknya, komputasi yang dibutuhkan untuk kunci simetris cukup kecil. Alasan kecepatan inilah yang menyebabkan penggunaan kunci simetris.

 

Bacaan Lanjutan

[1] How HTTPS Works Comic by dnsimple.

[2] Kurose, Ross. Computer Networking - A Top-Down Approach 6th Edition.

[3] Bagaimana Cara Kerja Sertifikat Digital? - SSL.com


Bagikan di


Kolom Diskusi

Sedang memuat...