Alat pembangun · SHA kalkulator cincang
SHA-1 Perlanggaran Dijelaskan: Apa yang Masih Selamat dan Apa yang Mesti Berhijrah
· Mengapa ia penting
sha-256 kriptografi keselamatan
Pengimbas menandakan SHA-1 dan pihak pengurusan bertanya betapa mendesaknya. Siaran ini menerangkan perkara yang dilakukan dan tidak dipecahkan oleh serangan perlanggaran, tempat SHA-1 masih diterima dan cara merancang penghijrahan.
Pengimbas mengatakan SHA-1 rosak — tetapi rosak untuk apa? Persoalan yang menentukan kesegeraan penghijrahan
Pengimbas keselamatan rangkaian membenderakan SHA-1 pada infrastruktur anda. Pengurusan bertanya betapa mendesaknya. Jawapannya bergantung sepenuhnya pada tujuan yang anda gunakan SHA-1 dan soalan itu mendedahkan sama ada anda mempunyai isu pematuhan, masalah keselamatan aktif atau sahaja artifak warisan yang mesti dikatalogkan. SHA-1 rosak secara kriptografi—demonstrasi akademik telah membuktikan perlanggaran. Tetapi "pecah" bermaksud perkara yang berbeza bergantung pada peranan yang dimainkan SHA-1 dalam sistem anda.
Cincang kriptografi berfungsi untuk tujuan yang berbeza dalam konteks yang berbeza. Kadang-kadang ia adalah satu checksum menjaga terhadap rasuah yang tidak disengajakan. Kadangkala ia merupakan komitmen, seperti jumlah semak muat turun yang diterbitkan yang membolehkan pengguna mengesahkan mereka menerima fail yang dimaksudkan oleh penerbit. Kadangkala ia adalah sebahagian daripada rantaian tandatangan atau sijil, di mana penyerang dengan kawalan yang mencukupi boleh menghasilkan dua dokumen, kedua-duanya bermakna, yang berkongsi cincangan yang sama, dan dengan itu memalsukan pengesahan. Keterukan perlanggaran SHA-1 bergantung secara kritikal pada peranan SHA-1 ini dalam sistem anda.
Perlanggaran berbanding praimej — sebab serangan yang ditunjukkan secara terbuka menyasarkan perlanggaran dan maksudnya untuk cincang sedia ada
Serangan perlanggaran menghasilkan dua input berbeza dengan output yang sama. Penyerang tidak menjumpai mesej yang mencincang kepada nilai yang telah ditetapkan—itu akan menjadi serangan praimej dan ia tetap tidak boleh dilaksanakan untuk SHA-1. Sebaliknya, serangan perlanggaran bermakna penyerang boleh mencipta dua dokumen yang mempunyai cincangan yang serupa. Jika sistem bergantung pada cincang untuk membuktikan dua perkara adalah sama, perlanggaran memecahkan bukti itu. Penyerang mesti mencipta kedua-dua input, yang memerlukan masa dan pengiraan, tetapi hasilnya adalah dua perkara berbeza yang kelihatan sama di bawah cincangan.
Serangan praimej bermakna penyerang boleh mengambil cincangan SHA-1 yang diterbitkan dan mencari beberapa input yang sepadan dengannya. Itu bukan cara serangan SHA-1 berfungsi. Jika anda mempunyai repositori SHA-1 cerna dan bimbang sama ada fail benar-benar sepadan dengannya, serangan perlanggaran bukanlah ancaman. Ancamannya ialah sama ada seseorang yang mempunyai akses kepada repositori anda boleh memalsukan fail lain kepada ringkasan yang sama. Dalam kebanyakan kes, itu juga tidak realistik tanpa kawalan proses pencincangan itu sendiri. Model serangan khusus adalah penting seperti algoritma.
Demonstrasi 2017 — dua fail berbeza dengan SHA-1 yang sama, diterangkan secara kualitatif dan kerja awalan pilihan yang diikuti
Serangan SHAttered daripada 2017 menunjukkan perlanggaran praktikal: dua fail PDF berbeza dengan SHA-1 digest yang sama. Para penyelidik dengan teliti membina kedua-dua fail, menjadikannya sebagai PDF yang sah semasa berlanggar. Kerja itu memerlukan usaha pengiraan yang besar dan perkakasan khusus. Apa yang penting ialah ia mungkin sama sekali: rintangan perlanggaran yang mewajarkan penggunaan SHA-1 untuk keselamatan telah hilang. Serangan itu membuktikan bahawa dua dokumen yang berbeza secara semantik boleh berkongsi ringkasan, yang memecahkan mana-mana sistem yang mempercayai ringkasan sebagai bukti identiti.
Serangan yang diikuti dalam 2020, yang dipanggil "SHA-1 ialah Shambles", mengambil langkah seterusnya: perlanggaran awalan-pilihan. Varian ini bermakna penyerang boleh mengambil dua dokumen sewenang-wenangnya, menggabungkan akhiran berbeza pada setiap satu dan menghasilkan perlanggaran. Ini adalah serangan berbahaya untuk tandatangan dan sijil. Penyerang tidak perlu bermula dari awal; mereka boleh bertembung dua dokumen yang bermakna dan berbeza. Itu memecahkan model keselamatan mana-mana sistem yang menandatangani SHA-1 digest. Penyerang boleh menghasilkan dua dokumen yang kedua-duanya mempunyai cincangan yang sama dan kedua-duanya bermaksud sesuatu yang berbeza.
Apabila SHA-1 tidak boleh diterima — tandatangan, sijil dan apa sahaja yang boleh mempengaruhi kedua-dua pihak penyerang
Perbezaan itu penting kerana SHA-1 masih boleh diterima dalam beberapa peranan dan sama sekali tidak boleh diterima dalam peranan lain. Dalam Git, SHA-1 digunakan sebagai alamat kandungan—nama untuk petikan fail tertentu. Git tidak menggunakan SHA-1 untuk pengesahan; ia adalah skema penamaan. Penyerang secara teorinya boleh mengira dua keadaan repositori berbeza dengan ID yang sama, tetapi itu memerlukan mengawal keseluruhan proses penciptaan kandungan dan menolak kedua-dua versi sebelum sesiapa pun menyedarinya. Bagi kebanyakan pasukan, tahap kawalan penyerang itu bukanlah model ancaman. Inilah sebabnya mengapa Git beralih kepada SHA-256 dengan sengaja dan bukannya menganggapnya sebagai kecemasan.
Dalam senario pengesahan muat turun web, penerbit menyiarkan fail dan jumlah semak SHA-1 pada pelayan yang sama. Penyerang yang menjejaskan pelayan itu mengawal kedua-dua fail dan jumlah semak. Mereka boleh memuat naik fail dan menyiarkan SHA-1nya, dan tiada perlanggaran diperlukan. Jika jumlah semak disiarkan di tempat lain—pada VPN yang selamat, dicetak dalam e-mel yang ditandatangani, diterbitkan dalam infrastruktur yang berbeza—maka penyerang mesti berlanggar, dan itu menjadi tidak dapat dilaksanakan. Checksum sahaja boleh dipercayai seperti salurannya. Itulah sebabnya pengesahan muat turun memerlukan lebih daripada cincang.
Di mana ia berlarutan dengan risiko yang kurang — pengenalpastian kandungan dalam tetapan bukan permusuhan dan peralihan berperingkat Git kepada SHA-256
Untuk tandatangan dan sijil, SHA-1 tidak boleh dipertahankan. Rantaian sijil daripada akar yang dipercayai. Jika CA menandatangani dua sijil berbeza menggunakan SHA-1 digest yang sama, serangan perlanggaran membolehkan penyerang memalsukan sama ada. Ini bukan teori: serangan terhadap CA perantaraan telah didokumenkan. Sebarang skim tandatangan yang bergantung pada SHA-1 berpotensi boleh dipalsukan oleh penyerang dengan sumber yang mencukupi. Setiap pelayar utama dan vendor OS telah menamatkan SHA-1 dalam sijil. Sijil baharu mesti menggunakan SHA-256. Penjual platform telah bercakap dengan jelas kerana ancaman itu nyata dan serta-merta.
NIST, badan piawaian AS, telah menyatakan garis masa yang jelas. Mulai 2024, SHA-1 tidak boleh digunakan untuk sebarang aplikasi baharu. Mulai 2030, SHA-1 dijangka akan ditamatkan sepenuhnya daripada sistem persekutuan. Ini bukan penamatan yang tidak jelas; ia adalah mandat konkrit untuk kontraktor kerajaan dan isyarat kepada industri. Mengikuti garis masa NIST memastikan sistem anda kekal mendahului keluk penamatan daripada berebut-rebut selepas tarikh akhir.
Bukti repositori menyokong penamatan SHA-1, bukan tarikh penerbitan atau persaraan NIST yang belum dibaca
Sumber repositori mendokumenkan SHA-1 sebagai kebolehoperasian warisan dan nama menunjukkan kerja perlanggaran, tetapi ia tidak mengandungi jadual persaraan badan standard. Oleh itu bahagian ini membetulkan garis besar dengan menganggap penamatan sebagai masalah inventori kejuruteraan dan bukannya memetik nombor penerbitan atau tarikh pematuhan yang belum dibaca.
Untuk persekitaran terkawal dasar, rujuk pihak berkuasa yang mengawal penempatan itu dan rekod dokumen yang disemak dengan tepat. Bukti produk di sini menyokong tindakan yang lebih sempit: pastikan SHA-1 tersedia untuk menghasilkan semula nilai sedia ada, labelkannya sebagai tidak sesuai untuk kegunaan keselamatan baharu dan hitung penggantian SHA-256 di mana-mana sahaja protokol di sekeliling membenarkan penghijrahan.
Contoh yang berkesan — senarai semak migrasi digunakan pada halaman pengesahan muat turun lama
Laluan migrasi daripada SHA-1 biasanya bermula dengan inventori: di manakah SHA-1 digunakan? Sijil dan tandatangan? Keutamaan segera. Repositori Git dan pengalamatan kandungan? Keutamaan sederhana, ikut kadar migrasi Git. Jumlah semak yang diterbitkan untuk muat turun? Bergantung pada model amanah. Jumlah semak dalaman untuk deduplikasi atau arkib? Keutamaan yang lebih rendah, lebih banyak masa untuk merancang. Fasa inventori mendedahkan kawasan permukaan yang sebenar dan membantu anda memberi keutamaan berdasarkan risiko sebenar dan bukannya keperluan yang abstrak.
Untuk setiap peranan, penghijrahan kelihatan berbeza. Naik taraf sijil kepada SHA-256 serta-merta. Fasa repositori Git dalam SHA-256 ref secara beransur-ansur sambil mengekalkan SHA-1 untuk keserasian ke belakang. Muat turun jumlah semak mula diterbitkan dalam kedua-dua SHA-1 dan SHA-256, kemudian akhirnya sahaja SHA-256. Cernaan SHA-1 warisan dalam pangkalan data semak boleh disahkan dengan kalkulator cincang ToolAcre SHA dan entri baharu harus menggunakan SHA-256. Alat ini menyokong kedua-dua belah peralihan, membolehkan anda mengesahkan cincang lama dan mencipta cincang baharu.
Bawa pulang: SHA-1 sebagai perbandingan, SHA-256 untuk kerja baharu — ToolAcre SHA kalkulator cincang termasuk SHA-1 jadi ringkasan warisan boleh disemak, bukan sebagai pengesahan
Bagi kebanyakan organisasi, penghijrahan bukanlah "matikan SHA-1 esok." Ia adalah "memahami di mana ia digunakan, mengutamakan peranan kritikal keselamatan, dan mempunyai rancangan berbilang tahun." Repositori Git dengan komit SHA-1 bertahun-tahun harus beralih secara beransur-ansur, dengan alat yang mengendalikan kedua-duanya. Infrastruktur sijil sepatutnya sudah berhijrah. Jumlah semak yang diterbitkan hendaklah dwi-algoritma semasa tetingkap peralihan. Penghijrahan secara beransur-ansur mengurangkan perubahan yang pecah dan memberi masa kepada sistem untuk menyesuaikan diri dengan realiti baharu.
Kalkulator cincang ToolAcre SHA menyediakan kedua-dua belah peralihan itu. Anda boleh mengesahkan SHA-1 ringkasan sedia ada daripada sistem warisan anda untuk mengesahkan fail sepadan dengannya. Anda boleh mengira cincang SHA-256 untuk mula menerbitkan laluan migrasi. Alat ini tidak berpura-pura SHA-1 selamat; ia melabelkannya sebagai rosak dan menerangkan sebabnya. Tetapi ini membolehkan anda bekerja dengan cincangan lama yang anda masih perlu kekalkan semasa anda membina jambatan ke SHA-256 dan merancang penamatan anda.