Apa itu penyulitan? Kunci, hash dan checksum
Penyulitan menukar maklumat yang boleh dibaca kepada teks sifer yang hanya boleh dipulihkan dengan kunci yang betul. Tujuannya adalah untuk memastikan data kekal sulit semasa dihantar atau disimpan. Hash dan checksum menyelesaikan masalah yang lain: hasilnya tidak dinyahsulit untuk mendapatkan semula mesej asal. Jika operasi ini dicampuradukkan, anda mungkin berasa selamat padahal tidak.
Kunci dan proses penyulitan
Algoritma penyulitan menggabungkan teks biasa dengan kunci untuk menghasilkan teks sifer. Dalam penyulitan simetri, kedua-dua pihak berkongsi kunci rahsia yang sama. Dalam sistem asimetri, kunci awam dan kunci peribadi yang sepadan memainkan peranan berbeza. Algoritma, mod operasi, kualiti kunci dan cara kunci disimpan semuanya penting. Fail yang dikatakan “disulitkan” belum tentu selamat jika kata laluannya mudah diteka atau kuncinya dihantar dalam mesej tidak dilindungi yang sama. Aplikasi moden sepatutnya menggunakan protokol yang mantap dan penyulitan bersahih, bukannya rangkaian penukaran teks yang direka sendiri.
Perbezaan hash dan checksum
Hash kriptografi menghasilkan ringkasan bersaiz tetap bagi sesuatu data; ia bukan salinan input yang disulitkan. Ringkasan SHA-256 boleh membantu anda membandingkan fail yang dimuat turun dengan nilai yang dinyatakan oleh penerbit yang dipercayai. Perbandingan ini menyemak sama ada kedua-duanya sama, tetapi tidak menyembunyikan fail. Penyimpanan kata laluan memerlukan kaedah hash kata laluan khusus yang menggunakan salt dan kos pengiraan boleh laras. CRC32 berguna untuk mengesan ralat penghantaran yang tidak disengajakan, tetapi bukan mekanisme pengesahan terhadap pengubahsuaian yang disengajakan. MD5 dan SHA-1 tidak sesuai untuk kegunaan baharu yang memerlukan rintangan perlanggaran. NIST menerangkan peralihannya daripada SHA-1. Penjana hash 2IP mengira hash dan checksum bagi teks.
Dua contoh biasa
Untuk berkongsi dokumen sulit, pilih aplikasi dipercayai yang menyulitkan dan mengesahkan fail, kemudian sampaikan frasa laluan melalui saluran berasingan yang dilindungi. Penerima boleh memulihkan kandungannya dengan kunci yang betul. Untuk menyemak arkib yang dimuat turun pula, kira hash arkib itu dan bandingkan dengan nilai yang diperoleh daripada halaman penerbit yang sahih. Kedua-dua aliran kerja ini berbeza: hash tidak menghalang arkib daripada dibaca. Jika sesebuah laman web memaparkan teks Base64, sesiapa sahaja boleh menyahkodnya tanpa kunci rahsia; pengekodan bukan penyulitan.
Batasan yang perlu diingat
TLS melindungi data semasa dihantar antara titik akhir, tetapi tidak menjamin bahawa titik akhir itu sendiri boleh dipercayai. Perisian hasad pada peranti, kunci yang terdedah atau proses pemulihan yang lemah boleh menggagalkan kriptografi yang sebenarnya kukuh. Apabila memilih alat teks dalam talian, kenal pasti sama ada operasi yang dipilih menyulitkan, mengira hash atau sekadar mengekod. Jangan tampal dokumen peribadi atau bukti kelayakan ke dalam perkhidmatan yang tidak dikenali hanya kerana butangnya tertulis “selamat”. Semak cara data diproses dan disimpan sebelum menggunakannya.
TLS 1.3 dan keselamatan sambungan
Dalam HTTPS, penyulitan merupakan sebahagian daripada protokol yang lebih luas: TLS merundingkan parameter, mewujudkan kunci dan mengesahkan sijil pelayan. TLS 1.3 yang moden membuang beberapa pilihan lama dan memudahkan jabat tangan biasa. Panduan jabat tangan TLS 1.3 menerangkan urutannya dengan lebih terperinci. TLS melindungi data semasa dihantar kepada pihak yang dinamakan; protokol ini sendiri tidak membuktikan bahawa sesebuah laman web boleh dipercayai.