Apa itu SHA-1?
SHA dalam SHA-1 adalah singkatan Algoritma Hash Aman, dan, sederhananya, Anda dapat menganggapnya sebagai semacam masalah atau metode matematika mengacak data yang dimasukkan ke dalamnya. Dikembangkan oleh NSA Amerika Serikat, ini adalah komponen inti dari banyak teknologi yang digunakan untuk mengenkripsi transmisi penting di internet. Metode enkripsi umum SSL dan TLS, yang mungkin pernah Anda dengar, dapat menggunakan fungsi hash seperti SHA-1 untuk membuat sertifikat yang ditandatangani yang Anda lihat di bilah alat browser Anda.
Itu adalah banyak informasi teknis, tetapi sederhananya: sebuah hash tidak sama dengan enkripsi, karena ini digunakan untuk mengidentifikasi apakah suatu file telah berubah.
Bagaimana Teknologi Ini Mempengaruhi Saya?
Katakanlah Anda perlu mengunjungi situs web secara pribadi. Bank Anda, email Anda, bahkan akun Facebook Anda - semuanya menggunakan enkripsi untuk menyimpan data yang Anda kirimkan kepada mereka secara pribadi. Situs web profesional akan menyediakan enkripsi dengan memperoleh sertifikat dari otoritas tepercaya - pihak ketiga, dipercaya untuk memastikan bahwa enkripsi berada pada level, pribadi antara situs web dan pengguna, dan tidak dimata-matai oleh pihak lain. Hubungan ini dengan pihak ketiga, yang disebut Otoritas Sertifikat, atau CA, sangat penting, karena setiap pengguna dapat membuat sertifikat "ditandatangani sendiri" - Anda bahkan dapat melakukannya sendiri pada mesin yang menjalankan Linux dengan Open SSL. Symantec dan Digicert adalah dua perusahaan CA yang dikenal luas, misalnya.
Mari kita jalankan melalui skenario teoritis: How-To Geek ingin tetap login di sesi pengguna pribadi dengan enkripsi, sehingga memohon CA seperti Symantec dengan Permintaan Penandatanganan Sertifikat, atau CSR. Mereka membuat kunci publik dan kunci pribadi untuk mengenkripsi dan mendekripsi data yang dikirim melalui internet. Permintaan CSR mengirim kunci publik ke Symantec bersama dengan informasi tentang situs web. Symantec memeriksa kunci terhadap catatannya untuk memverifikasi bahwa data tidak berubah oleh semua pihak, karena setiap perubahan kecil dalam data membuat hash secara radikal berbeda.
Karena hash mudah untuk dimonitor dan tidak mungkin (beberapa akan mengatakan "sulit") untuk mundur, tanda hash yang benar dan terverifikasi berarti bahwa sertifikat dan koneksi dapat dipercaya, dan data dapat disetujui untuk dikirim dienkripsi dari ujung ke ujung. Tetapi bagaimana jika hash sebenarnya tidak unik?
Apa itu Serangan Tabrakan, dan Dimungkinkan di Dunia Nyata?
Anda mungkin pernah mendengar tentang "Masalah Ulang Tahun" dalam matematika, meskipun Anda mungkin tidak tahu apa namanya. Ide dasarnya adalah jika Anda mengumpulkan kelompok orang yang cukup besar, kemungkinan besar bahwa dua atau lebih orang akan memiliki hari ulang tahun yang sama. Lebih tinggi dari yang Anda harapkan, faktanya - cukup bahwa itu tampak seperti kebetulan yang aneh. Dalam sebuah grup sekecil 23 orang, ada kemungkinan 50% bahwa dua orang akan berbagi ulang tahun.
Menemukan hash yang cocok dalam dua file disebut a serangan tabrakan. Setidaknya satu serangan tabrakan skala besar diketahui telah terjadi untuk MD5 hash. Namun pada 27 Februari 2017, Google mengumumkan SHAttered, tabrakan pertama yang dibuat untuk SHA-1. Google dapat membuat file PDF yang memiliki hash SHA-1 yang sama dengan file PDF lainnya, meskipun memiliki konten yang berbeda.
SHAttered dilakukan pada file PDF. PDF adalah format file yang relatif longgar; banyak perubahan kecil tingkat bit dapat dilakukan tanpa mencegah pembaca membukanya atau menyebabkan perbedaan yang terlihat. PDF juga sering digunakan untuk mengirim malware. Sementara SHAttered dapat bekerja pada jenis file lain, seperti ISO, sertifikat ditetapkan secara kaku, membuat serangan seperti itu tidak mungkin.
Jadi, seberapa mudah serangan ini dilakukan? SHAttered didasarkan pada metode yang ditemukan oleh Marc Stevens pada tahun 2012 yang membutuhkan lebih dari 2 ^ 60,3 (9.223 quintillion) operasi SHA-1 - jumlah yang mengejutkan. Namun, metode ini masih 100.000 kali lebih sedikit operasi daripada yang diperlukan untuk mencapai hasil yang sama dengan kekerasan. Google menemukan bahwa dengan 110 kartu grafis high-end yang bekerja secara paralel, diperlukan waktu sekitar satu tahun untuk menghasilkan tabrakan. Menyewa waktu komputasi ini dari Amazon AWS akan menelan biaya sekitar $ 110.000. Perlu diingat bahwa ketika harga turun untuk komponen komputer dan Anda bisa mendapatkan lebih banyak kekuatan dengan lebih sedikit, serangan seperti SHAttered menjadi lebih mudah dilakukan.
$ 110.000 mungkin tampak seperti banyak, tetapi itu dalam lingkup keterjangkauan untuk beberapa organisasi - yang berarti cybervillians kehidupan nyata dapat memalsukan tanda tangan dokumen digital, mengganggu sistem pencadangan dan kontrol versi seperti Git dan SVN, atau membuat Linux ISO yang berbahaya tampak sah.
Untungnya, ada faktor-faktor mitigasi yang mencegah serangan seperti itu. SHA-1 jarang digunakan untuk tanda tangan digital lagi. Otoritas Sertifikat tidak lagi memberikan sertifikat yang ditandatangani dengan SHA-1, dan baik Chrome maupun Firefox telah menolak dukungan untuk mereka. Distribusi Linux biasanya rilis lebih sering dari sekali per tahun, membuatnya tidak praktis bagi penyerang untuk membuat versi jahat dan kemudian menghasilkan satu empuk untuk memiliki hash SHA-1 yang sama.
Di sisi lain, beberapa serangan berdasarkan SHAttered sudah terjadi di dunia nyata. Sistem kontrol versi SVN menggunakan SHA-1 untuk membedakan file. Mengunggah dua PDF dengan hash SHA-1 yang identik ke repositori SVN akan menyebabkannya rusak.
Bagaimana Cara Melindungi Diri dari Serangan SHA-1?
Tidak banyak yang harus dilakukan pengguna biasa. Jika Anda menggunakan checksum untuk membandingkan file, Anda harus menggunakan SHA-2 (SHA-256) atau SHA-3 daripada SHA-1 atau MD5. Demikian juga, jika Anda seorang pengembang, pastikan untuk menggunakan algoritme hashing modern seperti SHA-2, SHA-3, atau bcrypt. Jika Anda khawatir bahwa SHAttered telah digunakan untuk memberikan dua file yang berbeda dalam hash yang sama, Google telah merilis alat di situs SHAttered yang dapat memeriksa Anda.
Kredit Gambar: Lego Firefox, Banyak Hash, Tolong Jangan Sakiti Pengarang Web yang tidak dikenal, Google.