Selasa, 25 Maret 2014

HTTP dan HTTPS

HTTP dan HTTPS adalah kode bahasa protokol  yang tidak asing lagi bagi pengguna internet, karena di setiap link yang mengacu pada sebuah website pasti menggukannya. Kode ini juga sering di jumpai ketika kita hendak melakukan browsing atau membuka halaman website tertentu. Kita di minta untuk mengetik kode tersebut di awalnya dan diakhiri dengan titik dua dan garis miring kembar ketika kita melakukan browsing halaman website yang diinginkan.

HTTP ( Hypertext Transfer Protocol)

Hypertext Transfer Protokol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan yang disebut dengan dokumen hiperteks yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan inggris yang bernama Tim Berners Lee. Http merupakan protokol yang menyediakan perintah dalam komunikasi antar jaringan, yaitu komunikasi antara jaringan komputer client dengan web server. Dalam komunikasi ini, komputer clientmelakukan permintaan dengan mengetikkan alamat atau website yang ingin di akses. Sedangkan server mengolah permintaan tersebut berdasarkan kode protokol yang di inputkan.
HTTP disebut protokol Stateless karena setiap perintah dijalankan secara independen, tanpa pengetahuan tentang perintah yang datang sebelumnya. Ini adalah alasan utama yang sulit untuk menerapkan situs Website yang bereaksi secara cerdas untuk input pengguna.
Sesi http
Sebuah sesi HTTP adalah urutan transaksi permintaan dan respons jaringan dengan menggunakan protokol HTTP. Sebuah klien HTTP akan memulai sebuah permintaan. Klien tersebut akan membuka sebuah koneksiTransmission Control Protocol (TCP) ke sebuah port tertentu yang terdapat dalam sebuah host (umumnya port 80 atau 8080). Server yang mendengarkan pada port 80 tersebut akan menunggu pesan permintaan klien. Saat menerima permintaan, server akan mengirimkan kembali baris status, seperti “HTTP/1.1 200 OK”, dan pesan yang hendak diminta, pesan kesalahan atau informasi lainnya.
Hypertext Transfer Protocol Secure (HTTPS)
Hypertext Transfer Protocol Secure (HTTPS) memiliki pengertian yang sama dengan HTTP hanya saja HTTPS memiliki kelebihan fungsi di bidang keamanan (secure). HTTPS di temukan oleh Netscape Communication Corporation. HTTPS menggunakan Secure Socket Layer (SSL) atau Transport Layer Security(TLS) sebagai sublayer dibawah HTTP aplikasi layer yang biasa. HTTP di enkripsi dan deskripsi dari halaman yang di minta oleh pengguna dan halaman yang di kembalikan oleh web server. Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port yang digunakan HTTPS adalah port 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual. Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’.
Https dapat menjamin keamanan dalam Autentikasi server yaitumemungkinkan peramban dan pengguna memiliki kepercayaan bahwa mereka sedang berbicara kepada server aplikasi sesungguhnya.Https juga mampu dalam menjaga kerahasiaan data dan Integritas data.
Perbedaan utama http dan https
Beberapa perbedaan utama antara http dan https, dimulai dengan port default, yang 80 untuk http dan 443 untuk https. Https bekerja dengan transmisi interaksi yang normal http melalui sistem terenkripsi, sehingga dalam teori, informasi tidak dapat diakses oleh pihak selain klien dan server akhir. Ada dua jenis umum lapisan enkripsi: Transport Layer Security (TLS) dan Secure Socket Layer (SSL), yang keduanya menyandikan catatan data yang dipertukarkan.

Cara Kerja
Https bukan protokol yang terpisah, tetapi mengacu pada kombinasi dari interaksi HTTP normal melalui Socket Layer terenkripsi SSL (Secure) atau Transport Layer Security (TLS) mekanisme transportasi. Hal ini menjamin perlindungan yang wajar dari penyadap dan (asalkan dilaksanakan dengan benar dan otoritas sertifikasi tingkat atas melakukan pekerjaan mereka dengan baik) serangan.
Port default TCP https: URL adalah 443 (untuk HTTP tanpa jaminan, defaultnya adalah 80). Untuk mempersiapkan web-server untuk koneksi https penerima harus sebagai administrator dan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL yang ssl atau gensslcert SuSE. Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka.
Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, dan klien dan sertifikat server pertukaran untuk otentikasi identitas mereka. Setelah ini dilakukan, kedua belah pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan tombol yang sama, dan koneksi ditutup. Untuk host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds informasi kunci dengan verifikasi identitas pemilik kunci itu. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.
Keuntungan  mengubah HTTP menjadi HTTPS?


Untuk mengamankan komunikasi antara browser dengan web server. Bagaimana bisa? Ilustrasi singkat berikut akan menjawabnya: Ketika anda mengakses sebuah web server yang menggunakan protokol HTTPS, halaman yang dikirimkan pada anda telah dienkripsi dulu oleh protokol ini. Dan semua informasi yang anda kirimkan ke server (registrasi, identitas, nomor pin, transfer pembayaran) akan dienkripsi juga sehingga tidak ada yg bisa mencuri dengar (eavesdropping) data-data anda  ketika proses transaksi sedang berlangsung. Maka transaksi data anda menjadi lebih safe. Protokol HTTPS bisa anda temukan pada situs-situs perbankan, ecommerce, form registrasi, dsb. Karena di area bisnis inilah rentan sekali terjadi eavesdropping oleh pihak ketiga. Untuk itulah anda membutuhkan sertifikat SSL.
Beberapa variasi kemungkinan halaman dan form URL yang perlu diperhatikan adalah:
§  Halaman form di http://internetbanking.com/formlogin.html dan tag form login dalam bentuk <form action=http://internetbanking.com/dologin.php>. Ini benar-benar tidak aman karena tidak ada enkripsi sama sekali.
§  Halaman di http://internetbanking.com/formlogin.html , tag form login dalam bentuk <form action=https://internetbanking.com/dologin.php . Ini pun tetap tidak aman karena formlogin bisa diubah dengan mitm attack.
§  Halaman di https://internetbanking.com/formlogin.html , tag form login dalam bentuk <form action=http://internetbanking.com/dologin.php>. Form login tidak bisa diserang, namun password dikirimkan tanpa terenkripsi. Sama saja bohong.
§  Halaman di https://internetbanking.com/formlogin.html, tag form login dalam bentuk <form action=https://internetbanking.com/dologin.php>. Ini baru aman, form login tidak bisa diserang, dan password terenkrip.

Page Url     Form Url     Status
HTTP        HTTP        Not secure, nothing encrypted.
HTTP        HTTPS     Not secure, vulnerable to mitm attack.
HTTPS     HTTP        Not secure, form data not encrypted.
HTTPS     HTTPS     Maximum Security

Kesimpulan
Http dan https memiliki peranan yang sama dalam  mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client, hanya saja https memiliki kelebihan fungsi dalam sistem keamanan dengan mengenkripsikan informasi menggunakan SSL dan TLS. Sehingga https memiliki keamanan yang lebih di bandingkan http.



Sumber : http://ilmukomputer.org/2013/01/30/perbedaan-http-dan-https/


Tidak ada komentar:

Posting Komentar