Baca informasi yang dikirimkan komputer saya melalui koneksi SSL

Saya ingin membaca informasi yang dikirimkan aplikasi Java di firefox ke situs web melalui koneksi SSL.

Saya menggunakan WireShark, dan saya yakin jika saya dapat memberi tahu Wireshark kunci enkripsi apa yang digunakan firefox, maka Wireshark akan dapat mendekripsi pesan SSL.

Kemudian saya akan mengetahui informasi apa yang diperoleh situs web ini tentang komputer saya.

Saya minta maaf jika pertanyaannya tidak jelas ... petunjuk apa pun tentang di mana harus mulai mencari petunjuk akan sangat dihargai.


person bboyle1234    schedule 24.01.2010    source sumber


Jawaban (3)


Tidak terlalu terkait dengan pemrograman.

Namun untuk melakukan hal ini, Anda memerlukan sertifikat untuk situs yang terhubung dengan aplikasi Anda, baik bagian kunci publik maupun pribadi - jadi jika itu bukan situs yang Anda miliki maka Anda tidak akan dapat melakukannya . Jika Anda mengontrol situs web penerima, ikuti saja petunjuk di wiki Wireshark.

person blowdart    schedule 24.01.2010

Dengan asumsi bahwa Anda tidak mencoba melakukan ini secara terprogram, tetapi hanya ingin melihat header saat melakukan debug, Anda dapat menggunakan Charles:

http://www.charlesproxy.com/

Ada sedikit informasi di sini tentang cara mengaturnya untuk mendekripsi lalu lintas SSL:

http://www.charlesproxy.com/documentation/using-charles/ssl-proxying/

person Joe    schedule 24.01.2010
comment
Terima kasih Joe! Saya akan meluangkan lebih banyak waktu untuk memeriksa Charles. Ini terlihat bagus dari pandangan awal. Saya sangat senang. - person bboyle1234; 26.01.2010

Aplikasi java akan mengenkripsi semua informasi dengan sertifikat publik (SSL) server (setidaknya sejauh yang Anda ketahui). Untuk semua tujuan praktis, satu-satunya cara untuk mendekripsi ini setelahnya adalah dengan mengetahui kunci pribadi server yang tampaknya tidak Anda miliki dan oleh karena itu tidak ada cara Anda dapat mendekripsinya.

Untuk menjawab komentar Anda tentang apakah akan menggunakan kunci pribadi komputer Anda:

Jika ini adalah koneksi SSL "normal", klien (aplikasi java) akan menghubungi server dan menerima kunci publiknya, memverifikasi validitasnya (ditandatangani oleh CA tepercaya) dan kemudian menggunakannya untuk menegosiasikan kunci simetris yang digunakan untuk enkripsi .

Kunci Publik/Pribadi bekerja sedemikian rupa sehingga segala sesuatu yang dienkripsi dengan satu kunci hanya dapat didekripsi oleh kunci lainnya - yaitu semua yang dienkripsi aplikasi Java menggunakan kunci publik server, hanya dapat didekripsi menggunakan kunci pribadi - yang tidak pernah meninggalkan server.

SSL/TLS mendukung sertifikat klien, di mana aplikasi Java dapat memiliki pasangan kuncinya sendiri dan menggunakan kunci pribadinya untuk menandatangani konten guna memverifikasi keasliannya sendiri. Namun meskipun aplikasi Java melakukan hal tersebut (diragukan), hal ini tidak membantu karena data akan tetap dienkripsi sehingga hanya server yang dapat mendekripsinya.

Bacaan latar belakang: http://en.wikipedia.org/wiki/Transport_Layer_Security dan http://en.wikipedia.org/wiki/Public-key_cryptography

person dseifert    schedule 24.01.2010
comment
Oke. Apakah Anda mengatakan mengetahui kunci pribadi yang digunakan oleh komputer saya sendiri saja tidak cukup? - person bboyle1234; 24.01.2010