Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 12403|Jawab: 1

[Pengetahuan Membangun Situs Web] HTTPS Hal-hal Itu (1) Prinsip HTTPS (Cetak Ulang)

[Salin tautan]
Diposting pada 24/12/2015 10.56.18 | | |
Irisan
Rumor Crusher dirilis beberapa hari yang lalu "Akankah akses Internet dengan WiFi publik membahayakan keamanan rekening bank? Artikel ini memperkenalkan beberapa situasi dalam penggunaan HTTPS untuk transmisi terenkripsi jaringan, dan dilihat dari balasan, masih ada perselisihan. Karena Internet menjadi semakin populer, aplikasi menjadi semakin luas, dan beberapa masalah keamanan jaringan juga akan menarik lebih banyak perhatian dari netizen, di sini kita akan berbicara tentang TLS/SSL, yang sering kita sebut HTTPS, dari prinsip hingga aplikasi yang sebenarnya untuk melihat apa itu, dan masalah apa yang harus diperhatikan saat menggunakan HTTPS dan teknik keamanan terkait.
Keamanan siber adalah peristiwa holistik yang melibatkan keamanan komputer pribadi, protokol, transmisi data, dan perusahaan pengembangan perangkat lunak dan situs web. Saya berharap dengan menjelaskan isu-isu terkait keamanan sedikit demi sedikit di masa depan, semakin banyak orang yang dapat memahami keamanan jaringan, sehingga mereka dapat menggunakan jaringan dengan lebih aman.
Artikel ini akan panjang, dan direncanakan untuk dibagi menjadi tiga bagian untuk saat ini:
Bagian pertama terutama menjelaskan prinsip HTTPS; Bagian kedua terutama menjelaskan proses verifikasi sertifikat SSL dan beberapa tindakan pencegahan untuk digunakan. Bagian ketiga menyajikan beberapa contoh serangan HTTPS.
1. Apa itu HTTPS?
Sebelum berbicara tentang HTTPS, mari kita bicara tentang apa itu HTTP, yang merupakan protokol yang biasa kita gunakan saat menjelajahi web. Data yang ditransmisikan oleh protokol HTTP tidak dienkripsi, yaitu dalam teks biasa, sehingga sangat tidak aman untuk mengirimkan informasi pribadi menggunakan protokol HTTP. Untuk memastikan bahwa data pribadi ini dapat dienkripsi dan ditransmisikan, Netscape merancang protokol SSL (Secure Sockets Layer) untuk mengenkripsi data yang ditransmisikan oleh protokol HTTP, sehingga melahirkan HTTPS. Versi SSL saat ini adalah 3.0, yang didefinisikan dalam RFC 6101 oleh IETF (Internet Engineering Task Force), dan kemudian IETF meningkatkan SSL 3.0, menghasilkan TLS (Transport Layer Security) 1.0, yang didefinisikan dalam RFC 2246. Faktanya, HTTPS kita saat ini adalah protokol TLS, tetapi karena SSL muncul relatif awal, dan masih didukung oleh browser saat ini, SSL masih identik dengan HTTPS, tetapi apakah itu TLS atau SSL adalah sesuatu dari abad terakhir, versi terakhir SSL adalah 3.0, dan TLS akan terus menyediakan layanan enkripsi untuk kita di masa depan. Versi TLS saat ini adalah 1.2, didefinisikan dalam RFC 5246, dan belum banyak digunakan.
Bagi mereka yang tertarik dengan sejarah, Anda dapat merujuk ke http://en.wikipedia.org/wiki/Transport_Layer_Security, yang memiliki deskripsi terperinci tentang TLS/SSL.
2. Apakah HTTPS aman?
Jawabannya adalah ya, itu aman. Dalam beberapa minggu mendatang, Google akan mengaktifkan HTTPS untuk semua domain lokal di seluruh dunia, pengguna hanya perlu masuk dengan akun Google mereka sebelum mencari, dan semua operasi pencarian akan dienkripsi menggunakan protokol TLS, lihat: http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/。
3. Cara kerja HTTPS
HTTPS memerlukan jabat tangan antara klien (browser) dan server (situs web) sebelum mengirimkan data, dan informasi kata sandi kedua belah pihak akan dibuat selama proses jabat tangan. Protokol TLS/SSL bukan hanya seperangkat protokol transmisi terenkripsi, tetapi juga karya seni yang dirancang dengan cermat oleh seniman, menggunakan enkripsi asimetris, enkripsi simetris, dan algoritma HASH. Deskripsi sederhana tentang proses jabat tangan adalah sebagai berikut:

  • Browser mengirimkan serangkaian aturan enkripsi yang didukungnya ke situs web.
  • Situs web memilih serangkaian algoritme enkripsi dan algoritme HASH darinya dan mengirimkan informasi identitasnya kembali ke browser dalam bentuk sertifikat. Sertifikat berisi informasi seperti alamat situs web, kunci publik enkripsi, dan penerbit sertifikat.
  • Setelah mendapatkan sertifikat situs web, browser melakukan hal berikut:
  • Verifikasi legitimasi sertifikat (apakah otoritas yang mengeluarkan sertifikat itu sah, apakah alamat situs web yang terkandung dalam sertifikat sama dengan alamat yang dikunjungi, dll.), Jika sertifikat dipercaya, kunci kecil akan ditampilkan di bilah browser, jika tidak, prompt akan diberikan bahwa sertifikat tidak dipercaya.
  • Jika sertifikat dipercaya, atau jika pengguna menerima sertifikat yang tidak tepercaya, browser menghasilkan sejumlah kata sandi secara acak dan mengenkripsinya dengan kunci publik yang disediakan dalam sertifikat.
  • Pesan jabat tangan dihitung menggunakan HASH yang disepakati, dan pesan dienkripsi dengan nomor acak yang dihasilkan, dan akhirnya semua informasi yang dihasilkan sebelumnya dikirim ke situs web.
   4. Setelah menerima data dari browser, situs web melakukan hal berikut:
  • Gunakan kunci pribadi Anda sendiri untuk mendekripsi kata sandi, gunakan kata sandi untuk mendekripsi pesan jabat tangan yang dikirim oleh browser, dan verifikasi bahwa HASH sama dengan yang dikirim oleh browser.
  • Pesan jabat tangan dienkripsi dengan kata sandi dan dikirim ke browser.
   5. Browser mendekripsi dan menghitung HASH pesan jabat tangan, jika konsisten dengan HASH yang dikirim oleh server, proses jabat tangan berakhir, dan kemudian semua data komunikasi akan dienkripsi dengan kata sandi acak yang dihasilkan oleh browser sebelumnya dan menggunakan algoritma enkripsi simetris.

Di sini, browser dan situs web saling mengirim pesan jabat tangan terenkripsi dan memverifikasi, untuk memastikan bahwa kedua belah pihak telah memperoleh kata sandi yang sama, dan dapat mengenkripsi dan mendekripsi data secara normal, dan melakukan pengujian untuk transmisi data nyata selanjutnya. Selain itu, algoritma enkripsi dan HASH yang biasa digunakan oleh HTTPS adalah sebagai berikut:
  • Algoritma enkripsi asimetris: RSA, DSA/DSS
  • Algoritma enkripsi simetris: AES, RC4, 3DES
  • Algoritma HASH: MD5, SHA1, SHA256
Di antara mereka, algoritma enkripsi asimetris digunakan untuk mengenkripsi kata sandi yang dihasilkan selama proses jabat tangan, algoritma enkripsi simetris digunakan untuk mengenkripsi data nyata yang dikirimkan, dan algoritma HASH digunakan untuk memverifikasi integritas data. Karena kata sandi yang dihasilkan oleh browser adalah kunci enkripsi seluruh data, kata sandi dienkripsi menggunakan algoritme enkripsi asimetris selama transmisi. Algoritma enkripsi asimetris akan menghasilkan kunci publik dan pribadi, kunci publik hanya dapat digunakan untuk mengenkripsi data, sehingga dapat ditransmisikan sesuka hati, dan kunci pribadi situs web digunakan untuk mendekripsi data, sehingga situs web akan menyimpan kunci pribadinya dengan sangat hati-hati untuk mencegah kebocoran.
Kesalahan apa pun selama proses jabat tangan TLS dapat memutus koneksi terenkripsi, mencegah transmisi informasi pribadi. Justru karena HTTPS sangat aman, penyerang tidak dapat menemukan tempat untuk memulai, sehingga mereka menggunakan sertifikat palsu untuk menipu klien untuk mendapatkan informasi teks biasa, tetapi metode ini dapat diidentifikasi, yang akan saya bicarakan di artikel berikutnya. Namun, pada tahun 2010, pakar keamanan menemukan kerentanan dalam penanganan protokol TLS 1.0: http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/, pada kenyataannya, metode serangan yang disebut BEAST ini ditemukan oleh pakar keamanan pada awal tahun 2002, tetapi tidak dipublikasikan. Microsoft dan Google telah memperbaiki kerentanan ini. Lihat: http://support.microsoft.com/kb/2643584/en-us https://src.chromium.org/viewvc/chrome?view=rev&revision=90643
Versi HTTPS yang disederhanakan juga berfungsi dalam Enkripsi Simetris vs. Enkripsi Asimetris.




Mantan:Konfigurasi langkah demi langkah untuk aplikasi web ASP.NET yang menggunakan HTTPS
Depan:Kotak pesan peringatan yang sangat indah SweetAlert
 Tuan tanah| Diposting pada 19/04/2018 11.09.21 |
Penjelasan terperinci tentang berbagai parameter protokol HTTP
http://www.itsvse.com/thread-3704-1-1.html
(Sumber: Architect_Programmer)
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com