Alat pembangun · SHA kalkulator cincang
Menampal Rahsia Ke Dalam Alat Hash Dalam Talian: Mengapa Ikhtisar Harus Tempatan
· Mengapa ia penting
sha-256 keselamatan privasi pelayar-apis
Jika alat cincang menghantar input anda ke pelayannya, rahsia yang anda cincang telah pun meninggalkan mesin anda. Siaran ini menerangkan risiko, cara Web Crypto menjadikan pelayan tidak diperlukan, dan cara mengesahkan alat adalah setempat.
Kunci API yang anda cincang untuk dibandingkan dengan fail konfigurasi — dan ke mana ia pergi
Pembangun perlu mencincang kunci API untuk membandingkannya dengan nilai yang disimpan dalam konfigurasi, supaya mereka mencapai alat cincang dalam talian yang terdekat. Mereka menampal kunci, klik butang dan dapatkan ringkasan. Hash sepadan, jadi ujian itu lulus. Perkara yang mungkin tidak mereka sedari ialah kunci API telah pun meninggalkan mesin mereka. Sebarang alat cincang yang berjalan pada pelayan menerima input teks biasa sebelum mengira sebarang ringkasan. Pelayan boleh log, menyimpannya, menjualnya atau memajukannya kepada pesaing.
Penipuan adalah halus kerana alat cincang benar-benar boleh menghasilkan output yang betul dan masih telah menghantar input ke pelayan. Operasi matematik pencincangan adalah bebas daripada lokasi, jadi cincangan sisi pelayan adalah betul dari segi kriptografi walaupun seni binanya tidak selamat. Penyerang tidak perlu merosakkan pengiraan cincang untuk menang; mereka sahaja memerlukan input plainteks. Pembangun yang menganggap alat cincang adalah setempat kerana output adalah betul mempercayai harta yang salah.
Perkara yang diterima oleh alat cincang sebelah pelayan — input teks biasa penuh, mengikut definisi, sebelum sebarang ringkasan dikira
Alat cincang sisi pelayan memerlukan input teks biasa sebagai input, mengikut definisi. Pelayan menerimanya melalui HTTPS, yang melindunginya dalam transit, tetapi sahaja sehingga pelayan dicapai. Teks biasa kemudiannya dilog oleh pelayan, disimpan dalam memori semasa pencincangan, berpotensi ditulis pada cakera, dan dimasukkan dalam sebarang sandaran atau jejak pemantauan yang disimpan oleh pelayan. Syarikat yang menjalankan pelayan boleh membaca log dan melihat setiap rahsia yang pernah dicincang di sana.
Alternatifnya ialah menggunakan Web Crypto, yang merupakan pelaksanaan kriptografi pelayar sendiri. Pada asal yang selamat, yang bermaksud HTTPS atau localhost, pelayar mendedahkan crypto.subtle.digest, fungsi yang mengira SHA-1, SHA-256, SHA-384 dan SHA-512 dicerna sepenuhnya dalam proses pelayar. Input tidak pernah meninggalkan peranti dan tiada pelayan yang terlibat. Pelaksanaan pelayar diaudit oleh vendor pelayar, ditampal oleh vendor pelayar dan berjalan sebagai kod asli yang dioptimumkan dan bukannya dihantar JavaScript.
Mengapa pelayan tidak diperlukan — Kripto Web pelayar sendiri mengira setiap SHA-2 pencernaan secara setempat
Mengesahkan bahawa alat cincang adalah setempat memerlukan sahaja membuka panel rangkaian DevTools dan melihat perkara yang dihantar oleh alat itu melalui rangkaian. Dalam kebanyakan pelayar, DevTools dibuka dengan F12 atau Cmd+Option+I dan tab Rangkaian ialah tempat untuk menonton trafik rangkaian. Dengan tab rangkaian terbuka dan alat cincang kelihatan, tampal teks biasa, klik butang cincang dan lihat apa yang berlaku. Jika alat setempat digunakan, panel rangkaian tidak menunjukkan permintaan baharu.
Kaedah pengesahan ini berfungsi kerana pelayar melaksanakan sekatan asal yang sama. Halaman boleh membuat permintaan kepada asalnya sendiri tanpa mencetuskan CORS isu, jadi alat setempat boleh membuat permintaan kepada pelayan pada domain yang sama jika ia mahu. Apabila permintaan rangkaian muncul dalam panel DevTools, ia membuktikan bahawa alat itu menghantar data ke suatu tempat. Pembangun yang menyemak ini dan melihat tiada trafik rangkaian mempunyai jaminan kukuh bahawa input tidak meninggalkan pelayar. Kalkulator cincang ToolAcre SHA menghasilkan panel rangkaian yang kekal kosong semasa pencincangan.
Mengesahkan dengan panel rangkaian — menampal, mencincang dan melihat permintaan sifar
Dasar Keselamatan Kandungan yang ketat boleh memberikan jaminan tambahan di luar semakan panel rangkaian. Dasar Keselamatan Kandungan ialah pengepala HTTP yang dihantar oleh pelayan, mengisytiharkan domain mana yang harus dibenarkan oleh pelayar untuk memuatkan skrip dan membuat permintaan. Dasar yang tidak membenarkan semua skrip luaran, semua helaian gaya luaran dan semua penyerahan borang kepada asal luar mengehadkan perkara yang boleh dilakukan oleh halaman yang terjejas. Penyerang tidak boleh menghantar kod hasad yang menghantar input ke pelayan luaran jika dasar melarang permintaan luaran.
Pengepala Dasar Keselamatan Kandungan dihantar dengan respons HTTP dan boleh diperiksa dalam bahagian Pengepala Respons tab Rangkaian DevTools. Baris seperti Content-Security-Policy: default-src 'self'; script-src 'self' mengisytiharkan bahawa skrip sahaja boleh datang dari asal yang sama. Dasar yang lebih ketat yang merangkumi 'tiada' nenek moyang bingkai menghalang halaman daripada dibenamkan dalam iframe, yang menyekat satu vektor serangan jika iframe berniat jahat cuba mencuri tumpuan. Butiran ini berguna untuk memahami pertahanan, tetapi semakan panel rangkaian kekal sebagai pengesahan utama.
CSP ialah pertahanan secara mendalam; sumber repositori yang dibaca di sini tidak mewujudkan pengepala yang digunakan
Contoh yang berjaya: menampal kekunci API daripada AWS atau Azure ke dalam kalkulator cincang ToolAcre SHA untuk mengesahkannya terhadap cap jari yang disimpan. Buka DevTools, pilih tab Rangkaian dan pastikan ia sedang dirakam. Tampalkan kekunci API ke dalam alat cincang, pilih SHA-256 dan klik cincang. Ringkasan muncul dalam alat dan panel rangkaian tidak menunjukkan permintaan baharu. Vektor ujian tersedia dalam dokumentasi alat untuk menyemak silang ketepatan cincang jika perlu. Perkara utama ialah kunci API tidak pernah meninggalkan pelayar, dan ringkasan kini boleh dibandingkan dengan nilai yang disimpan tanpa mendedahkan rahsianya.
Perkara yang tidak meliputi aliran kerja ini ialah jika sambungan pelayar telah terjejas atau jika pelayar itu sendiri telah terjejas. Sambungan berniat jahat dengan kebenaran yang luas boleh melihat semua trafik, memintas kandungan papan keratan dan memerhatikan jenis pengguna. Pelayar yang terjejas, sama ada melalui kerentanan sifar hari atau melalui pemasangan berniat jahat, boleh dipaksa untuk menghantar input ke mana-mana sahaja. Untuk ancaman ini, tiada alat web boleh memberikan perlindungan. Pertahanan yang betul adalah mempercayai pemasangan pelayar, memastikannya dikemas kini dan menyemak sambungan yang dipasang.
Contoh yang berfungsi: gunakan penanda yang tidak berbahaya dan periksa permintaan daripada menampal kunci API secara langsung
Nasihat untuk sesiapa yang menampal rahsia ke dalam alat adalah untuk mengesahkan bahawa alat itu adalah setempat sebelum menampal. Ini adalah langkah mudah yang menghapuskan risiko tunggal terbesar: pengendali pelayan, pekerja mereka, sandaran mereka dan log mereka semua melihat plaintext. Gunakan panel rangkaian DevTools, perhatikan sifar permintaan, dan kemudian percaya alat itu dengan rahsia. Kalkulator cincang ToolAcre SHA direka bentuk untuk digunakan dengan cara ini. Ia tidak menyimpan apa-apa, tidak memuat naik apa-apa dan panel Rangkaian kekal kosong.
Bagi pembangun yang telah menampal rahsia ke dalam alat sisi pelayan, langkah seterusnya ialah memutarkan rahsia tersebut. Kunci API yang dihantar ke pelayan yang tidak diketahui harus diandaikan telah terjejas. Ia harus dibatalkan, dan yang baru harus dikeluarkan. Kata laluan harus ditukar. SSH kunci harus diganti. Untuk rahsia statik seperti kunci API infrastruktur, ini adalah operasi sekali sahaja. Untuk token sesi atau bukti kelayakan sementara, penggiliran berlaku secara automatik apabila token tamat tempoh.
Perkara yang tidak dilindungi ini — sambungan pelayar dan mesin yang terjejas, yang tidak boleh dipertahankan oleh alat web
Membina kepercayaan dalam alat dalam talian bermula dengan memahami tempat pengiraan berlaku dan mengesahkan pemahaman itu dengan alat pembangun pelayar. Panel rangkaian adalah isyarat yang jelas: jika data meninggalkan pelayar, ia akan muncul di sana. Jika tiada permintaan mengandungi input ujian tersendiri, sesi itu membekalkan bukti untuk laluan penukaran setempat. Ia bukan jaminan tentang sambungan, kod pelayar yang terjejas atau penggunaan masa hadapan. Menggabungkan semakan ini dengan menyemak kod sumber, jika ada, memberikan keyakinan.
Bagi organisasi yang menilai alat kriptografi untuk digunakan dengan data sensitif, prinsipnya tetap sama: sahkan bahawa pengiraan berlaku di tempat anda mengawalnya. Bagi individu yang mencincang kunci API atau mengesahkan fail, gunakan semakan panel rangkaian dahulu. Untuk sistem pengeluaran, gunakan HMAC atau tandatangan dan bukannya cincang biasa untuk pengesahan. Kalkulator cincang ToolAcre SHA ialah satu alat untuk pembelajaran dan untuk pengiraan ringkasan tempatan. Ia tidak sesuai untuk pengesahan pengeluaran.
Bawa pulang: sahkan, kemudian percaya — kalkulator cincang ToolAcre SHA berjalan dalam pelayar anda, tidak memuat naik dan tidak menyimpan apa-apa antara lawatan
Prinsip ketelusan adalah penting kepada pendekatan ToolAcre: setiap alat mendokumenkan perkara yang dilakukannya, perkara yang disediakan oleh pelayar dan perkara yang mesti dilakukan oleh pembangun. Kalkulator cincang SHA mendokumenkan bahawa ia menggunakan pelaksanaan Kripto Web pelayar untuk SHA-256, SHA-384 dan SHA-512 dan ia tidak melaksanakan HMAC atau terbitan kunci. Untuk pencincangan, alat ini tepat. Untuk pengesahan, pembangun mesti mencari di tempat lain. Kejelasan ini menghalang kekeliruan yang timbul apabila satu alat cuba melakukan terlalu banyak.
Apabila pembangun melihat bahawa panel rangkaian kosong dan kod sumber terbuka, hubungan kepercayaan berada pada asas yang kukuh. Alat ini melakukan apa yang didakwanya: mengira cincang secara setempat menggunakan pelaksanaan pelayar sendiri. Pembangun kemudian boleh membuat keputusan termaklum tentang sama ada alat itu sesuai dengan kes penggunaan mereka. Untuk mengesahkan kunci API, ia sesuai dengan sempurna. Untuk pengesahan pengeluaran, HMAC diperlukan. Untuk storan kata laluan, fungsi terbitan utama seperti Argon2id diperlukan. Mengetahui sempadan ini adalah langkah pertama ke arah membina sistem selamat.