GNU/Linux >> Belajar Linux >  >> Linux

HTTP vs. HTTPS :Apa bedanya?

Audiens target

Artikel ini ditujukan untuk pembaca umum dengan pemahaman dasar tentang cara kerja Internet.

Pengantar

Saat Anda menjelajahi Internet, sebagian besar halaman web dikirimkan ke komputer Anda menggunakan protokol komunikasi yang disebut HTTP, yang melayani sebagian besar halaman web di World Wide Web. Namun, ini bisa menjadi skema komunikasi yang rentan, di situlah HTTPS berperan.

HTTP

Saat pengguna mengetik alamat web ke bilah alamat browser dan menekan 'Enter', banyak yang terjadi di balik layar sebelum halaman web ditampilkan di jendela browser. Komputer klien pertama-tama menanyakan server DNS (Domain Name System) untuk alamat IP numerik aktual dari server web yang terkait dengan alamat web. Setelah mengetahui alamat IP, komputer klien membuat permintaan untuk sumber daya yang diminta dari server web. Server kemudian merespon dan halaman web dikirimkan ke komputer pengguna. Semua ini biasanya terjadi dalam milidetik dan menggunakan protokol yang disebut HTTP.

HTTP (HyperText Transfer Protocol) adalah mekanisme dimana sebagian besar halaman web dikirimkan melalui World Wide Web. Ini adalah protokol permintaan server/klien, di mana klien (biasanya komputer pengguna) meminta paket data (biasanya halaman web) dari server. Misalnya, Ketika server pribadi virtual mendengar permintaan, ia merespons dengan respons status, biasanya "HTTP/1.1 200 OK". Kemudian mengikuti dengan data yang diminta. Jadi permintaan/tanggapan dari klien ke server mungkin terlihat seperti ini:

CLIENT:
GET /index.html HTTP/1.1
Host: www.example.com
User-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

SERVER:
HTTP/1.1 200 OK
Date: Wed, 16 Sept 2015 23:59:59 GMT
Server: Apache 1.3.3.3 (Unix)
Content-Type: text/html
Content-Length: 1922
<html>
<head>
<title>Welcome to my site!</title>
</head>
<body>
This is a very simple web page, written in HTML.
</body>
</html>

.
Protokol telah digunakan sejak tahun 1991, dan merupakan protokol komunikasi yang diakui, valid, dan berguna. Namun, itu tidak pernah dirancang dengan mempertimbangkan keamanan. Pertukaran tidak dienkripsi, artinya jika dicegat, siapa pun dapat membaca konten permintaan dan respons. Ini sangat rentan terhadap serangan 'man-in-the-middle', di mana komputer yang tidak sah bertindak sebagai perantara antara komputer pengguna dan Internet, membaca dan mencatat semua pesan yang dikirim dan diterima.

Mengamankan Web dengan HTTPS

Namun, ada protokol lain yang bekerja mirip dengan HTTP tetapi secara signifikan lebih aman:HTTPS, yang merupakan singkatan dari HyperText Transfer Protocol Secure. HTTPS menggunakan TLS (Transport Layer Security) untuk mengenkripsi komunikasi antara komputer klien dan server, membuat data tidak berguna dan tidak dapat dibaca jika disadap. Anda mungkin juga mendengar TLS yang disebut SSL (Secure Socket Layer). SSL adalah pendahulu TLS dan banyak yang masih menggunakan istilah itu ketika berbicara tentang teknologi yang membantu mengamankan HTTPS.

TLS bekerja melalui sertifikat digital. Atas permintaan, Otoritas Sertifikat (CA) mengeluarkan sertifikat ke server, yang berfungsi untuk mengotentikasi server tersebut ke klien yang terhubung. Dalam transaksi HTTPS, klien menghubungi server berkemampuan TLS dan meminta sesi terenkripsi. Server kemudian merespons dengan salinan sertifikat digitalnya. Sertifikat tersebut mencakup CA tepercaya yang mengeluarkannya dan kunci publik server untuk enkripsi.

Klien menerima informasi sertifikat server dan dapat memverifikasi dari otoritas penerbit bahwa sertifikat tersebut valid. Setelah klien yakin bahwa server itu asli, itu menghasilkan nomor acak. Kemudian menggunakan nomor acak itu untuk menghasilkan kunci sesi. Klien kemudian mengenkripsi nomor acak menggunakan kunci publik server, dan mengirimkannya ke server. Karena dienkripsi menggunakan kunci publik server, server adalah satu-satunya yang dapat mendekripsi pesan dengan kunci pribadinya. Setelah server mendekripsi pesan klien, ia memiliki nomor acak yang sama untuk menghasilkan kunci sesi yang sama yang dihasilkan klien. Sejak saat itu, semua komunikasi antara server dan klien dienkripsi dan didekripsi menggunakan kunci sesi itu. Informasi yang ditransmisikan sama seperti lalu lintas HTTP, hanya sekarang dienkripsi sebelum dikirim, jadi jika itu harus dicegat, entitas yang mencegat tidak akan dapat menguraikan informasi tersebut. Bandingkan seperti apa lalu lintas HTTPS di bawah ini dengan contoh lalu lintas HTTP sebelumnya:

...........s.....*...."..*.....r.].di.s0.$. .<...v.b..'.....O..Z|.~$..!N...X...+./.
.......3.9./.5.
.............www.atlantic.net......
.................#..zS...$z.W..0.......c...#.;qu..*...3...... -.E;[email protected]/P.rU..0.....5P......#X...n.b.......C.&...tRgW.a.....{v.......)...-1..J9S.V..G.In......|..u..O0.....mU...|..q..Ja.O.n..G..E.W}8E.Q...0..k3t.........h2.spdy/3.1.http/1.1..........
...........................c...................................................................................................
....Q...M..V.Q$._...9.&ye.L.i..T'.l.y..3`]| .<...v.b..'.....O..Z|.~$..!N...X./..................([email protected]#8....u
..........(...........[[email protected]
.............g.m4..a..V&!B..d....bv.......3......&...c......
.....G...z..x.....SzV...H.P...L`...T.....s.{...ip....PY..)Z.[.<N.f}WOv$.>........../.....^.....hc ..e.\..`.L.!.c.m.=`...[....An...c2.N..?......$.|....M.?WA.x......NCIk.....j+VUZ..p...\ZM....=.<....Ra..S..% .o...{....\ nc..~c=.......'.]...D.t..p0.-b.8*g$Yo....!c...y.#......d..H9.o.+..'..xn\.... q.....H}-....Q>..D!...~.yV..v..
\Vi.P.....K.FV-........W.>]y....M...A\....>....i/o.+..b.P.."..H..xP..:......'...VX.......j.........0D...J..Zw....b.;b.
.....*.(..h.V.F.K..8..L.M.s...rwdc.{F%o.j....=.C...w.<.|..).3.. =32..g..>...h8(..;\}.h<....yP\6r.y..3.......592.W...r..pT.*.-D....e.]..).....
.....<.i..o`[email protected]_d"....m..!L .G.{........U.....[..r..S....a)?.SY...%....>...jl.....
.W.4.....X.Nd.....Z...%...a.;...om..mH..B.._...*......H..}(fi...,0..8..,}.[Z8.N..H...F....yj.N..b.^...].S.'......u..Z.j....spS.p.C.vhk...O..!..Y".|.w)El....t........R..h.....L.0i.M.)...E..V.C.....U........u..i.w......H..;.F.......u..
2Op.%........Z.>2.N2),.o..M..
...f.Z........7r9
.....

.

Mendapatkan Sertifikat TLS dari Otoritas Sertifikat

Otoritas Sertifikat menawarkan berbagai macam sertifikat TLS. Harga bervariasi tergantung pada tingkat otentikasi yang diinginkan. Sertifikat yang sangat mendasar (mungkin digunakan untuk memvalidasi pengguna dalam suatu organisasi, misalnya) gratis. Tiga tingkat validasi yang paling umum adalah DV, atau Validasi Domain , OV, atau Validasi Organisasi , dan EV, atau Validasi Diperpanjang . Sertifikat DV adalah yang paling umum, dan biasanya diverifikasi dengan mengirim email ke pengontrol nama domain. Sertifikat OV menawarkan sedikit lebih banyak kepercayaan; CA memverifikasi tidak hanya kontrol domain, tetapi juga bisnis menggunakan domain itu. Sertifikat EV adalah yang paling tepercaya, dan memerlukan dokumentasi signifikan dari organisasi untuk membuktikan bahwa sertifikat itu sah. Sertifikat ini sering digunakan oleh organisasi yang ingin menghadirkan pengalaman web yang aman, terutama jika mereka memiliki hubungan keuangan dengan pengunjungnya.

Sementara proses enkripsi kuat, membuat pesan HTTPS sangat aman dibandingkan dengan transaksi HTTP tidak aman, ada satu tautan lemah dalam rantai:Otoritas Sertifikat beroperasi dengan kepercayaan. Jika CA dibajak, misalnya, CA dapat mengeluarkan sertifikat tepercaya untuk domain apa pun yang akan diterima sebagai valid dan dipercaya oleh semua browser. Penyerang dengan sertifikat semacam itu kemudian dapat membuat salinan palsu dari domain tersebut yang tampaknya dipercaya dengan maksud untuk mencegat lalu lintas ke domain tersebut. Peristiwa semacam itu terjadi pada tahun 2011, di mana CA Belanda dikompromikan oleh pemerintah Iran dan digunakan untuk mencegat sesi penelusuran warga negara Iran. Ini bukan kejadian yang umum, tetapi ini adalah kejadian yang harus disadari oleh pengguna yang sadar akan keamanan.
.

Mengidentifikasi Koneksi HTTPS

Cara termudah untuk memverifikasi koneksi HTTPS Anda aman adalah dengan melihat bilah alamat browser Anda. Sebagian besar browser mengidentifikasi koneksi HTTPS dengan ikon gembok di suatu tempat di dekat alamat web, sementara koneksi HTTP yang tidak terenkripsi tidak memiliki ikon seperti itu. Di bawah ini adalah contoh koneksi HTTP biasa di Firefox, diikuti dengan contoh koneksi HTTPS di Firefox dan Google Chrome.

Koneksi HTTP di Firefox

Indikator HTTPS di Firefox

Indikator HTTPS di Chrome

Anda mungkin juga melihat ikon kunci hijau yang menyertakan nama organisasi atau situs di sebelahnya. Ikon yang lebih terlihat ini menunjukkan bahwa organisasi tersebut telah memperoleh sertifikat EV, seperti di bawah ini.

Indikator HTTPS (dengan Sertifikat EV TLS) di Firefox

.

Kesimpulan

HTTPS memenuhi kebutuhan yang dibiarkan terbuka oleh HTTP — kebutuhan keamanan. Pertukaran dan protokol yang digunakan adalah sama; hanya HTTPS yang menambahkan langkah enkripsi ekstra yang membantu melindungi informasi yang diteruskan di Internet. Meskipun tidak ada yang benar-benar aman, ada baiknya memeriksa untuk memastikan bahwa situs web menggunakan enkripsi HTTPS sebelum mengirim informasi sensitif seperti sandi atau nomor kartu kredit/rekening bank.

Atlantic.Net

Sejak 1995, Atlantic.Net telah menyediakan layanan internet kepada pelanggan, termasuk hosting terkelola, cloud, dan khusus. Dalam 20+ tahun layanan, solusi kami telah difokuskan pada penyediaan solusi web terbaik bagi pelanggan kami yang berharga!


Linux
  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. Apa itu Server Web, dan Bagaimana Cara Kerja Server Web?

  3. Apa Perbedaan Antara cPanel Dan WHM?

  1. Linux vs. Unix:Apa bedanya?

  2. Cara Menginstal Server Web Apache di Ubuntu

  3. Apa perbedaan antara unlink dan rm?

  1. Server Ubuntu vs Desktop:Apa Perbedaannya?

  2. Apa manfaat CloudLinux?

  3. Apa perbedaan antara ls dan l?