Pertanyaan Apakah HTTPS URL dienkripsi?


Apakah semua URL dienkripsi saat menggunakan enkripsi TLS / SSL (HTTPS)? Saya ingin tahu karena saya ingin semua data URL disembunyikan saat menggunakan TLS / SSL (HTTPS).

Jika TLS / SSL memberi Anda total enkripsi URL, maka saya tidak perlu khawatir menyembunyikan informasi rahasia dari URL.


764
2018-01-31 21:15


asal


Jawaban:


Ya, koneksi SSL berada di antara lapisan TCP dan lapisan HTTP. Klien dan server pertama kali membuat koneksi TCP terenkripsi yang aman (melalui protokol SSL / TLS) dan kemudian klien akan mengirim permintaan HTTP (GET, POST, DELETE ...) di atas koneksi TCP yang dienkripsi.


721
2018-01-31 21:17



Karena tidak ada yang memberikan rekaman kawat, inilah satu.
Nama server (bagian domain dari URL) disajikan dalam ClientHello paket, dalam teks biasa.

Berikut ini menunjukkan permintaan browser untuk:
https://i.stack.imgur.com/path/?some=parameters&go=here

ClientHello SNI Lihat jawaban ini untuk lebih lanjut tentang bidang versi TLS (ada 3 dari mereka - bukan versi, bidang yang masing-masing berisi nomor versi!)

Dari https://www.ietf.org/rfc/rfc3546.txt:

3.1. Indikasi Nama Server

[TLS] tidak menyediakan mekanisme bagi klien untuk memberi tahu server   nama server yang dihubungi.  Ini mungkin diinginkan untuk   klien untuk memberikan informasi ini untuk memfasilitasi keamanan   koneksi ke server yang meng-host beberapa server 'virtual' di a   satu alamat jaringan yang mendasarinya.

Untuk memberikan nama server, klien MUNGKIN menyertakan suatu   ekstensi jenis "server_name" di klien (diperpanjang) halo. 


Pendeknya:

  • FQDN (bagian domain dari URL) MUNGKIN ditransmisikan dengan jelas di dalam ClientHello paket jika ekstensi SNI digunakan

  • Sisa dari URL (/path/?some=parameters&go=here) tidak ada bisnis di dalam ClientHello karena URL permintaan adalah hal HTTP (OSI Layer 7), oleh karena itu tidak akan pernah muncul dalam jabat tangan TLS (Layer 4 atau 5). Itu akan datang nanti dalam GET /path/?some=parameters&go=here HTTP/1.1 Permintaan HTTP, SETELAH itu aman Saluran TLS didirikan.


RINGKASAN BISNIS PLAN

Nama domain DAPAT ditransmisikan secara jelas (jika ekstensi SNI digunakan dalam jabat tangan TLS) tetapi URL (jalur dan parameter) selalu dienkripsi.


275
2017-08-02 18:26



Sebagai lain  jawaban sudah menunjukkan, https "URL" memang dienkripsi. Namun, permintaan / tanggapan DNS Anda saat menyelesaikan nama domain mungkin tidak, dan tentu saja, jika Anda menggunakan browser, URL Anda juga dapat dicatat.


138
2018-01-31 21:26



Seluruh permintaan dan respons dienkripsi, termasuk URL.

Perhatikan bahwa ketika Anda menggunakan HTTP Proxy, ia tahu alamat (domain) dari server target, tetapi tidak tahu jalur yang diminta di server ini (yaitu permintaan dan respons selalu dienkripsi).


93
2018-01-31 21:17



Saya setuju dengan jawaban sebelumnya:

Bersikap eksplisit:

Dengan TLS, bagian pertama dari URL (https://www.example.com/) masih terlihat saat membangun koneksi. Bagian kedua (/ herearemygetparameters / 1/2/3/4) dilindungi oleh TLS.

Namun ada sejumlah alasan mengapa Anda tidak harus memasukkan parameter dalam permintaan GET.

Pertama, sebagaimana telah disebutkan oleh orang lain: - kebocoran melalui address bar browser - kebocoran melalui sejarah

Selain itu, Anda memiliki kebocoran URL melalui pengarah http: pengguna melihat situs A di TLS, lalu mengeklik tautan ke situs B. Jika kedua situs menggunakan TLS, permintaan ke situs B akan berisi URL lengkap dari situs A di parameter referensi dari permintaan. Dan admin dari situs B dapat mengambilnya dari file log server B.)


84
2017-07-28 06:49



Tambahan untuk jawaban yang membantu dari Marc Novakowski - URL disimpan dalam log di server (misalnya, di / etc / httpd / logs / ssl_access_log), jadi jika Anda tidak ingin server menyimpan informasi lebih lama istilah, jangan taruh di URL.


45
2017-11-02 14:03



Iya dan tidak.

Bagian alamat server TIDAK dienkripsi karena digunakan untuk mengatur koneksi.

Ini dapat berubah di masa depan dengan SNI dan DNS terenkripsi tetapi pada 2018 kedua teknologi tidak umum digunakan.

Jalur, string kueri dll. Dienkripsi.

Catatan untuk GET meminta pengguna masih dapat memotong dan menempel URL dari bilah lokasi, dan Anda mungkin tidak ingin meletakkan informasi rahasia di sana yang dapat dilihat oleh siapa pun yang melihat layar.


16
2018-01-31 21:20



Pihak ketiga yang memantau lalu lintas juga dapat menentukan halaman yang dikunjungi dengan memeriksa lalu lintas Anda membandingkannya dengan lalu lintas yang dimiliki pengguna lain ketika mengunjungi situs. Misalnya jika ada 2 halaman hanya di situs, yang satu lebih besar dari yang lain, maka perbandingan ukuran transfer data akan memberi tahu halaman mana yang Anda kunjungi. Ada beberapa cara yang dapat disembunyikan dari pihak ketiga tetapi mereka bukan perilaku server atau peramban normal. Lihat misalnya makalah ini dari SciRate, https://scirate.com/arxiv/1403.0297.

Secara umum, jawaban yang lain adalah benar, praktis meskipun tulisan ini menunjukkan bahwa halaman yang dikunjungi (yaitu URL) dapat ditentukan dengan cukup efektif.


7
2017-08-14 16:03