Ketika Anda MENDAPATKAN
https://encrypted.google.com/search?q=%s
The %s
query dienkripsi? Atau hanya jawabannya? Jika tidak, mengapa Google harus menyajikan konten publiknya juga dengan enkripsi?
Ketika Anda MENDAPATKAN
https://encrypted.google.com/search?q=%s
The %s
query dienkripsi? Atau hanya jawabannya? Jika tidak, mengapa Google harus menyajikan konten publiknya juga dengan enkripsi?
Jawaban:
Seluruh permintaan dienkripsi, termasuk URL, dan bahkan perintah ( GET
). Satu-satunya hal yang dapat diperoleh pihak yang mengintervensi seperti server proxy adalah alamat dan port tujuan.
Namun, perlu diketahui bahwa paket Halo Klien dari jabat tangan TLS dapat mengiklankan nama domain yang sepenuhnya memenuhi syarat dalam plaintext melalui ekstensi SNI (terima kasih @hafichuk), yang digunakan oleh semua browser arus utama modern, meskipun beberapa hanya pada OS yang lebih baru.
EDIT: (Karena ini hanya memberi saya lencana "Jawaban Baik", saya kira saya harus menjawab seluruh pertanyaan ...)
Seluruh respons juga dienkripsi; proxy tidak dapat memotong bagian mana pun dari itu.
Google melayani pencarian dan konten lainnya melalui https karena tidak semuanya publik, dan Anda mungkin juga ingin menyembunyikan beberapa konten publik dari MITM . Dalam hal apa pun, yang terbaik adalah membiarkan Google menjawab sendiri .
URL itu sendiri dienkripsi, sehingga parameter dalam string kueri tidak berjalan dengan jelas di seluruh kabel.
Namun, perlu diingat bahwa URL termasuk data GET sering dicatat oleh server web, sedangkan data POST jarang. Jadi jika Anda berencana untuk melakukan sesuatu seperti /login/?username=john&password=doe
, maka jangan; gunakan POST sebagai gantinya.
HTTPS Membuat koneksi SSL yang mendasari sebelum data HTTP apa pun ditransfer. Ini memastikan bahwa semua data URL (dengan pengecualian hostname, yang digunakan untuk membangun koneksi) dilakukan sepenuhnya dalam koneksi terenkripsi ini dan dilindungi dari serangan man-in-the-middle dengan cara yang sama dengan data HTTPS.
Di atas adalah bagian dari jawaban SANGAT komprehensif dari Google Answers yang terletak di sini:
http://answers.google.com/answers/threadview/id/758002.html#answer
Bagian URL setelah nama host dikirim dengan aman.
Misalnya, https://somewhere.com/index.php?NAME=FIELD
Bagian /index.php?NAME=FIELD
ini dienkripsi. Tidak somewhere.com
.
Semuanya dienkripsi, tetapi Anda harus ingat, bahwa kueri Anda akan tetap di log server dan akan dapat diakses oleh berbagai penganalisa log dll (yang biasanya tidak terjadi dengan permintaan POST).
Ya, aman. SSL mengenkripsi semuanya.
Kutipan dari permintaan POST:
POST /foo HTTP/1.1
... some other headers
Kutipan dari permintaan GET:
GET /foo?a=b HTTP/1.1
... some other headers
Dalam kedua kasus, apa pun yang dikirim pada soket dienkripsi. Fakta bahwa klien melihat parameter di browsernya selama permintaan GET tidak berarti bahwa seorang pria di tengah akan melihat hal yang sama.
Saya baru saja terhubung melalui HTTPS ke situs web dan melewati banyak parameter GET. Saya kemudian menggunakan wireshark untuk mengendus jaringan. Menggunakan HTTP, URL dikirim tidak terenkripsi, yang berarti saya dapat dengan mudah melihat semua parameter GET di URL. Menggunakan HTTPS, semuanya dienkripsi dan saya bahkan tidak bisa melihat paket mana yang merupakan perintah GET, apalagi isinya!
SSL terjadi sebelum penguraian header, ini berarti:
Client creates Request
Request gets encrypted
Encrypted request gets transmitted to the Server
Server decrypts the Request
Request gets parsed
Permintaan terlihat seperti ini (tidak dapat mengingat sintaks yang tepat, tetapi ini harus cukup dekat):
GET /search?q=qwerty HTTP/1.1
Host: www.google.de
Ini juga mengapa memiliki Sertifikat SSL yang berbeda untuk beberapa host pada IP yang sama bermasalah, Hostname yang diminta tidak diketahui sampai dekripsi.
HTTP/1.1
datang di akhir baris pertama.
Permintaan GET dienkripsi saat menggunakan HTTPS - sebenarnya inilah sebabnya situs web yang diamankan harus memiliki alamat IP yang unik - tidak ada cara untuk mendapatkan nama host yang dimaksud (atau direktori virtual) dari permintaan sampai setelah didekripsi.