Dari pandangan dari seseorang yang menawarkan sebuah aplikasi web, ketika seseorang menghubungkan dengan TLS (https) untuk layanan kami dan menyampaikan yang benar otentikasi data, apakah aman untuk mengirimkan semua data sensitif di atas garis ini, atau bisa yang masih menguping?
pertanyaan Ini IT Security Question of the Week.
Baca Jul 29, 2011 blog entry untuk rincian lebih lanjut atau kirim Pertanyaan dari Seminggu.
It's penting untuk memahami apa SSL lakukan dan tidak lakukan, terutama karena ini adalah sumber yang sangat umum dari kesalahpahaman.
Jadi, jawaban cepat harus: "ya, itu cukup aman untuk mengirimkan data sensitif". Namun, hal-hal yang tidak sesederhana itu.
Jadi, lebih pendek menjawab? Ya, SSL ** bisa menjadi cukup aman, tapi (seperti kebanyakan hal) hal ini tergantung bagaimana anda menggunakannya. :)
Ada beberapa masalah di sini, yang utama menjadi otentikasi. Kedua ujungnya harus yakin mereka berbicara untuk hak seseorang atau lembaga untuk menggagalkan man-in-the-middle attacks. Pada akhirnya itu adalah penting bahwa anda menggunakan sertifikat SSL yang dipercaya oleh pengguna's browser. Dengan demikian pengguna's browser dapat yakin bahwa itu adalah benar-benar berbicara untuk situs yang benar. Setelah sambungan dibuat, anda dapat yakin untuk dapat berbicara dengan pengguna sepanjang waktu dan koneksi terenkripsi, yaitu aman terhadap penyadapan.
Otentikasi ke arah lain (yaitu memastikan anda berbicara dengan pengguna nyata) ini biasanya ditangani di luar protokol SSL pada aplikasi tingkat dengan, misalnya, username/password, openID atau bentuk lain dari kredensial.
Sebagai catatan terakhir itu harus disebutkan bahwa selama koneksi SSL handshake client dan server menyepakati Cipher suite dan client bisa berpura-pura untuk hanya melakukan "null enkripsi", yaitu, tidak mengenkripsi data. Jika server anda setuju dengan opsi itu, koneksi menggunakan SSL, namun data masih belum terenkripsi. Hal ini tidak menjadi masalah dalam praktek sejak implementasi server biasanya tidak menawarkan null cipher sebagai pilihan.
Selain itu untuk apa AviD daftar, SSL ini hanya sebagai aman sebagai infrastruktur DNS yang mengarahkan anda ke server, dan setiap perusahaan yang diproksikan dalam jalur komunikasi.
Jika DNS infrastruktur hacked (cache keracunan, dll) maka penyerang bisa tunduk pengguna anda untuk banyak serangan.
Selain itu jika klien akan melalui software seperti Fiddler, atau perusahaan rapat umum, perangkat lunak yang dapat easvdrop pada SSL percakapan.
Untuk mengurangi hal ini, melihat "penerbit" sertifikat SSL. Jika koneksi SSL akan melalui proxy, maka emiten akan bahwa dari proxy. Jika anda're terjadi melalui hubungan langsung, maka anda akan melihat yang relevan publik terpercaya CA.
[Informasi]
Perusahaan HTTPS proxy adalah sesuatu yang mengelola koneksi antara browser web dan Proxy (alamat IP yang muncul dalam log webserver anda). Dalam hal ini konten web (HTTPS password juga) didekripsi, dan kemudian re-dienkripsi di perusahaan rapat umum dan disajikan ke server anda.
Tergantung pada siapa yang mengelola proxy, dan bagaimana log yang digunakan, hal ini mungkin dapat diterima atau hal yang buruk dari perspektif anda.
Untuk informasi lebih lanjut tentang cara intersepsi dilakukan, melihat ini link:
Ketika SSL Proxy penyadapan SSL koneksi, itu menyajikan sebuah ditiru sertifikat server ke klien browser. Browser klien isu-isu yang keamanan pop-up ke pengguna akhir karena browser tidak percaya penerbit yang digunakan oleh ProxySG. Ini pop-up tidak terjadi jika penerbit sertifikat yang digunakan oleh SSL Proxy impor sebagai akar terpercaya di browser klien's sertifikat store.
ProxySG membuat semua dikonfigurasi sertifikat tersedia untuk di-download melalui konsol manajemen. Anda dapat meminta pengguna untuk men-download emiten sertifikat melalui Internet Explorer atau Firefox dan menginstalnya sebagai sebuah terpercaya CA di browser pilihan anda. Ini menghilangkan sertifikat popup untuk ditiru sertifikat...
Beberapa perusahaan mendapatkan seluruh sertifikat pop-up masalah yang disebutkan di atas dengan mengerahkan sertifikat akar (Proxy) untuk masing-masing workstation melalui GPO. Meskipun ini hanya akan mempengaruhi perangkat lunak yang menggunakan Sertifikat Microsoft store. Perangkat lunak seperti Firefox dan Chrome perlu diperbarui secara berbeda.
Sebagai SSL bergantung pada Sertifikat Otoritas (CA), dan pada dasarnya setiap organisasi dapat menjadi CA, man-in-the-middle serangan dengan palsu namun CA-sertifikat yang ditandatangani selalu mungkin. Jadi sementara SSL masih merupakan perbaikan besar atas tidak enkripsi pada semua, keamanan berlebihan karena rusak CA sistem. Dalam hal itu, sertifikat yang ditandatangani sendiri akan menjadi hanya sebagai aman sebagai CA-signed certificate, namun browser menandai orang-orang yang mencurigakan.
SSL ini sangat aman, meskipun seseorang dapat mencuri seseorang's sesi cookie jika anda menjalankan SETIAP halaman di atas tidak terenkripsi baris. Jika anda bisa aku akan membuat situs semua-SSL. Atau mungkin memiliki cookie hanya mengirim untuk koneksi terenkripsi dan aman halaman publik tidak spesifik untuk pengguna tersebut.
Masih ada kemungkinan man-in-the-middle attack, yang dalam kasus anda akan menjadi pengguna menghubungkan ke pihak ketiga yang mengaku situs anda dan kemudian meneruskan permintaan tersebut. Tentu saja, cerdas pengguna harus melihat kurangnya koneksi SSL atau sertifikat salah tapi kebanyakan pengguna tidak ini diaktifkan dan mendapatkan ditipu oleh gembok favicon.
Ini isn't benar-benar masalah dengan SSL itu sendiri, hanya sesuatu yang harus diperhatikan. Anda dapat dengan aman berasumsi bahwa tidak ada yang mampu menguping pada koneksi SSL antara situs dan sumber koneksi. Anda dapat't, namun, pastikan bahwa sumber dari sambungan adalah benar-benar pengguna.
Sejak SSL kriptus transmisi, tidak ada data yang dapat menguping (karena sertifikat tidak terpercaya).
Meskipun masalah berada di mana (dan berapa banyak) anda menggunakan SSL di webapp: katakanlah, misalnya, anda memerlukan koneksi SSL hanya untuk mengotentikasi pengguna anda (untuk let 'em mengirim mereka crypted user/pass pasang ke server anda), maka ketika anda mengirim kembali cookie anda harus menyadari bahwa hal itu bisa dengan mudah disadap (seperti jika anda pengguna terlindungi koneksi nirkabel).
Baru-baru ini FireSheep drama adalah semua tentang ini.
SSL melakukan dua tugas pokok: otentikasi dan enkripsi.
Otentikasi dilakukan dengan cara otoritas sertifikat (CAs). Browser datang dengan daftar sertifikat SSL untuk penandatanganan kunci dari CAs. CAs menandatangani sertifikat yang menjelaskan kunci publik dari suatu entitas. Sebagai contoh, jika saya milik Google.com aku'd membuktikan bahwa Verisign, dan mereka akan menandatangani sertifikat saya untuk beberapa periode waktu. Masalah muncul dengan CA tanda-tanda cert mereka seharusnya't sign. Hal ini dapat terjadi ketika seseorang berpura-pura untuk memiliki domain lain, memperoleh wildcard cert yang terlalu luas, atau sekadar XKCDs CA dalam mengeluarkan sesuatu yang jahat (pemerintah, mungkin?). Kami've melihat contoh dari semua hal di atas terjadi, tapi hal ini cukup jarang terjadi.
Jika cert untuk situs ini ditandatangani dengan benar dan tidak palsu cert dalam jaringan kepercayaan yang ada, maka ketika anda tersambung ke sebuah situs yang dapat anda (untuk tujuan diskusi) yakin bahwa sertifikat sesuai. Dalam keadaan normal, koneksi yang terenkripsi. Yang mencegah orang dari membaca data anda.
Sertifikat SSL yang sangat kompleks, dan sejumlah serangan yang ada terhadap penerapan SSL. Apa SSL dapat secara efektif mencegah saya dari menonton lalu lintas di Starbucks lokal ketika anda memeriksa email anda di GMail. Apa yang dapat't lakukan adalah mencegah saya menggunakan MITM attack di mana saya menyampaikan semuanya kepada anda tanpa SSL dan klien anda isn't setup untuk mengganggu anda tentang fakta bahwa tidak pernah memulai sesi dienkripsi.
No. Analisis lalu lintas masih bisa memberitahu orang banyak.
analisis lalu Lintas adalah proses mencegat dan memeriksa pesan-pesan dalam rangka untuk menyimpulkan informasi dari pola-pola komunikasi. Hal ini dapat dilakukan bahkan ketika pesan yang dienkripsi dan tidak dapat didekripsi. Secara umum, semakin besar jumlah pesan yang diamati, atau bahkan dicegat dan disimpan, semakin dapat disimpulkan dari lalu lintas.
TLS biasanya dikerahkan untuk menjaga kerahasiaan -- penyerang tidak harus mencapai tingkat kepercayaan yang tinggi tentang isi dari komunikasi.
Dengan asumsi,
Penyerang mungkin dapat memberitahu ketika anda terjaga dan saat anda tertidur terlepas dari protokol, dan mungkin dapat memberitahu lebih banyak tergantung pada sifat dari protokol anda're menggunakan.
Jika anda adalah protokol yang sangat sederhana:
Seorang penguping yang dapat't mendekripsi data anda dapat menentukan dengan kehadiran pesan yang anda ingin api nuklir, meskipun mungkin tidak pada siapa.
Jika protokol yang lebih kompleks:
Penyerang mungkin tidak dapat memberitahu siapa yang membaca "Perang dan Damai" lebih "Atlas Shrugged" tapi dapat membedakan, murni berdasarkan ukuran pesan, apakah mereka membaca salah satu mantan vs. Kafka's 55 halaman novel "Metamorfosis".
SSL umumnya meningkatkan keamanan dengan menyediakan:
Pada dasarnya ada dua jenis sertifikat SSL, sertifikat server (yang terlibat) dan sertifikat klien (yang ini opsional).
Ini hanyalah sebuah sketsa, dan ada banyak pakai dan tapi-tapian. Dalam skenario yang paling umum dipakai, berbasis browser SSL, skema dapat dipecah dalam banyak kasus tanpa melanggar kriptografi atau protokol, tapi hanya dengan mengandalkan pengguna untuk melakukan hal yang salah (yaitu mengabaikan peringatan browser dan menghubungkan bagaimanapun). Serangan Phishing juga dapat bekerja dengan mengirimkan pengguna ke palsu SSL situs yang dilindungi, dibuat untuk menyerupai nyata dalam segala hal tapi URL.
Setelah mengatakan bahwa SSL dan sepupunya TLS masih sangat berguna karena mereka setidaknya memungkinkan untuk komunikasi yang aman, meskipun jauh dari mudah.
Tidak menghitung berbagai jawaban oleh orang lain tentang masalah lain yang potensial, dengan asumsi anda menggunakan SSL 3.0 dan enkripsi yang kuat, itu harus aman.
Menggunakan lebih tua protokol ssl (2.0) atau menggunakan enkripsi lemah kunci bisa membuka anda untuk kerentanan.
Apakah aman bagi pengguna, atau apakah itu aman bagi anda? Asumsikan man-in-the-middle attack. Penyerang berhasil menangkap pengguna's lalu lintas, berpura-pura menjadi anda ke pengguna, dan berpura-pura untuk menjadi user untuk anda. Jenis serangan ini biasanya akan gagal, karena sertifikat yang diberikan kepada pengguna tidak akan tepat. Misalnya, penyerang memberikan pengguna self-signed certificate untuk website anda. Namun, jika pengguna bertindak bodoh, mereka dapat menerima bahwa self-signed certificate. Jadi sekarang penyerang dapat membaca dan mengubah semua lalu lintas antara pengguna dan anda, dan sejauh yang saya tahu tidak ada cara bagi anda untuk mendeteksi ini.
Jadi jika mengintip dan modifikasi lalu lintas menyakitkan pengguna, yang's benar-benar kesalahan mereka sendiri dan masalah mereka sendiri. Dan anda dapat't mencegah hal itu benar-benar pula, karena MITM dapat memotong anda keluar sepenuhnya dan hanya berbicara dengan pengguna dengan berpura-pura menjadi anda. Tapi jika mengintip dan modifikasi lalu lintas sakit anda, maka anda harus percaya pengguna untuk tidak menjadi bodoh, atau lebih baik mengotentikasi pengguna (user akan membutuhkan sertifikat, dan anda dapat memeriksa bahwa dalam cara yang MITM dapat't palsu).
Jawaban singkatnya adalah tidak. Lagi menjawab: kumpulan dari jawaban di atas ditambah: Jika kita memecahkan otentikasi, maka man-in-the-middle, yang dengan tradisional SSL connectyion somone listning untuk lalu lintas masih bisa mendekripsi itu nanti jika mereka memperoleh server kunci rahasia (berpikir dari NSA dan Surat Keamanan Nasional). Ada pilihan dalam protokol TLS untuk menggunakan Diffie-Helman protokol untuk menjamin link rahasia. Lihat gambar berikut ketika saya mengakses gmail.com menggunakan Chrome.
Lihat teks RC4_128 dengan SHA1 untuk otentikasi pesan ECDHE_ECDSA. Ini berbunyi:
Dengan kata lain, bahkan jika seseorang memiliki kunci pribadi dari server SSL, pesan-pesan yang telah dienkripsi dengan kunci sementara yang dibuang dari memori segera setelah digunakan. Good luck NSA!
@Vladimir adalah benar bahwa http://en.wikipedia.org/wiki/Forward_secrecy yang diinginkan, tetapi memiliki rincian yang salah. Server memilih ini ciphersuite dari kalangan orang-orang yang ditawarkan oleh browser. "dienkripsi dengan RC4_128 dengan SHA1 untuk otentikasi pesan" tidak menggunakan RC4 128-bit enkripsi dan HMAC-SHA-1 memeriksa integritas. (Ciphersuite nama-nama di SSL/TLS sampai baru-baru ini mengatakan SHA tetapi mereka berarti SHA-1 dan sebenarnya HMAC-SHA-1.) "ECDHE_ECDSA sebagai kunci mekanisme pertukaran" tidak berlaku untuk pesan individu, itu adalah bagian (sebagian) dari jabat tangan yang terjadi setelah di awal sesi: ECDHE menggunakan Elliptic Curve varian dari Diffie-Hellman dalam mode Singkat (ditambah beberapa langkah tambahan yang tidak penting di sini) untuk membuat sesi kunci digunakan untuk enkripsi dan HMAC; dan ECDHE pertukaran kunci (hanya) ditandatangani oleh Elliptic Curve varian dari Algoritma Tanda tangan Digital. (Anda tidak pernah dapat mengenkripsi apa-apa langsung dengan DH atau ECDH, mereka hanya melakukan kunci atau benda kecil lainnya perjanjian rahasia.)
Bila anda tidak menggunakan SSL, semua komunikasi dapat dengan mudah disadap - satu-satunya hal yang perlu anda lakukan adalah untuk meluncurkan packet sniffer (yaitu Wireshark). SSL mencegah itu, semua paket-paket yang dienkripsi sehingga tidak ada cara untuk mengetahui apa yang anda kirim keluar. Pada dasarnya hal ini digunakan untuk melindungi password dan konten pribadi dari mencegat. Anda jelas tidak ingin orang lain untuk membaca email pribadi, kan? Adapun pencarian Google, mereka hanya melakukannya untuk menyembunyikan apa yang orang minta. Hal ini karena beberapa pemerintah yang terlalu ingin tahu tentang hal itu.
Bagaimana SSL meningkatkan keamanan? Itu tidak dengan sendirinya. Apa adalah kombinasi dari enkripsi (SSL key) dan PKI (Public Key Infrastructure) - terutama Sertifikat. OK, pertanyaan adalah bagaimana. Di satu sisi itu mengamankan saluran komunikasi (lihat di atas), di sisi lain hal ini memastikan bahwa anda adalah bicara bisnis yang sah - mengotentikasi server. Sehingga saluran yang aman dan terpercaya.
Ada beberapa Sertifikat SSL, karena ada beberapa PKI Jasa. Pada dasarnya layanan yang berbeda membutuhkan berbagai jenis Sertifikat SSL. Jadi ada Sertifikat untuk kode masuk, e-mail enkripsi dan penandatanganan, orang-orang mengenai yaitu server otentikasi, dan sebagainya.
Ketika seseorang menghubungkan dengan SSL (https) untuk layanan kami dan menyerahkan benar otentikasi data, itu aman untuk mengirimkan semua data sensitif lebih dari garis ini, atau bisa masih menguping?
Link lemah dalam rantai ini hampir pasti tidak SSL tetapi pengguna, yang umumnya dapat tertipu untuk menghubungkan ke palsu menengah baik melalui situs web spoofing/hyperlink spoofing, atau dengan yang disajikan sertifikat yang tidak valid dan mengabaikan peringatan browser dan melanjutkan untuk tetap terhubung.
Namun sistem anda menggambarkan praktek terbaik bagaimanapun, ada's tidak banyak lagi yang dapat anda lakukan (selain mengedukasi pengguna anda untuk mengambil SSL peringatan serius jika anda bisa).
Saya Pikir orang-orang di sini tidak memahami pertanyaan:
Jika anda memiliki tidak aman baris, dan anda membuat sukses SSH/SSL tidak lebih dari garis ini, sekarang dia bertanya apakah aman untuk membuat asumsi bahwa garis adalah "aman" dan bahwa data terenkripsi bisa lulus BERSAMA dengan Koneksi terenkripsi (misalnya, di depan mata, tidak di dalam terenkripsi SSL/SSH Koneksi).
Saya akan mengatakan tidak. Dalam hal ini, tidak bisa menjadi pasif eavesdropper yang hanya mengabaikan data dienkripsi dan menyimpan data terenkripsi.
TAPI anda dapat yakin tidak ada yang Aktif eavesdropper (MITM), yang berarti anda dapat membangun yang tidak berkepentingan SSL/SSH Koneksi yang sama sumber/tujuan seperti yang dikonfirmasi baris. Ini disediakan theres tidak selektif eavesdropper yang MITM tertentu konektor, TAPI bagaimanapun, eavesdropper tidak tahu jika anda akan melakukan otentikasi Koneksi atau tidak, sehingga dia tidak tahu mana Koneksi ke MITM untuk menghindari deteksi. Yang MITMer akan, jika dia MITM, MITM semua Koneksi dan orang-orang berharap klik melalui semua otentikasi dialog sederhana.
Dengan demikian: Jika anda terhubung dikonfirmasi ke SSL layanan dari katakanlah 123.123.123.123 untuk 24.24.24.24, anda juga dapat dengan aman menghubungkan SSH client dari 123.123.123.123 untuk 24.24.24.24 tanpa saling otentikasi SSH sidik jari, yang disediakan anda dapat mempercayai segala sesuatu di belakang sisi lain's NAT router atau firewall.
Tetapi bahkan jika itu aman umumnya berarti, ada risiko kecil yang eavesdropper hanya acak MITM Koneksi dan berharap untuk tidak terdeteksi, sehingga karena anda sudah memiliki Koneksi dikonfirmasi ke target IP, mengapa tidak menggunakan yang dikonfirmasi Koneksi untuk saling memverifikasi SSH sidik jari? Yang sederhana seperti posting yang benar SSH sidik jari pada situs SSL dijamin!
HTTPS TLS/SSL bahkan yang paling up-to-date dengan mudah dapat menguping oleh Juniper perangkat set up sebagai MITM. It's tidak aman.