Bahasa Melayu

Alat pembangun · JWT penyahkod

RFC 8725 Dijelaskan: JWT Amalan Semasa Terbaik untuk Pengesah

· Latar belakang

jwt keselamatan pengesahan

Senarai semak pengesah JWT dipisahkan daripada panel pemeriksaan nyahkod sahaja
Ilustrasi vektor ToolAcre asal

IETF mengumpul perangkap JWT yang diketahui ke dalam satu dokumen amalan terbaik semasa. Siaran ini meneliti pengesyorannya dan menghubungkan setiap satu dengan kelas kejadian yang dihalangnya.

Kegagalan JWT berulang mendorong senarai semak pengesah; sumber repositori tidak mewujudkan sejarah penerbitan

Format token fleksibel membenarkan gabungan yang mesti dikekang oleh pengesah. Kesilapan yang berulang termasuk mempercayai label algoritma, menerima token di bawah pengeluar atau khalayak yang salah dan mengikuti bahan utama yang dipilih oleh penyerang. Senarai semak menukar risiko luas tersebut kepada ujian penolakan di sempadan penerimaan sebenar.

Garis besar mengaitkan sejarah penerbitan kepada tahun tertentu, tetapi sumber repositori tidak mengesahkan sejarah itu, jadi bahagian ini mengabaikannya. Perbezaan yang boleh diambil tindakan diwujudkan secara setempat: ToolAcre menyahkod sahaja, manakala setiap keputusan amalan terbaik adalah milik pengesah yang dikonfigurasikan.

Sematkan algoritma dan tidak menolak — pengesyoran yang menangani alg:none dan kekeliruan utama

Sematkan algoritma yang dibenarkan secara bebas daripada pengepala dan tolak input yang tidak ditandatangani dalam aliran yang memerlukan tandatangan. Ikat setiap keluarga algoritma yang diterima kepada jenis kunci yang betul. Jangan biarkan token menukar pengesah daripada semakan asimetri kepada HMAC atau lumpuhkan semakan dengan `none`.

ToolAcre benderakan `none` dan menerangkan label yang diiktiraf, tetapi amaran tersebut tidak menguatkuasakan apa-apa. Buktikan dasar sebenar dengan ujian negatif terhadap bahagian belakang: algoritma yang tidak dijangka, tandatangan kosong dan jenis kunci yang salah mesti gagal walaupun dua segmen pertamanya kekal boleh dikod.

Sahkan khalayak dan penerbit — pengesyoran terhadap ulang tayang silang perkhidmatan

Sahkan pengeluar di bawah konfigurasi kunci yang dipercayai, kemudian bandingkan khalayak yang dimaksudkan dengan perkhidmatan yang digunakan. Tandatangan yang sah tanpa semakan tuntutan kontekstual masih boleh membenarkan token di tempat yang salah. Rentetan pengeluar yang disalin dengan sendirinya tidak mengikat kunci.

Penyahkod menunjukkan nilai `iss` dan `aud` tanpa mengetahui konfigurasi yang dijangkakan. Gunakan keterlihatan itu untuk mengenal pasti kes ujian, bukan untuk membuat keputusan. Ujian penerimaan harus membezakan pengeluar yang salah, khalayak yang salah dan kegagalan tandatangan supaya log operasi kekal berguna.

Gunakan penaipan eksplisit — pengepala taip sebagai pertahanan terhadap penggantian token

Penaipan token eksplisit boleh memisahkan profil yang sebaliknya menggunakan semula bentuk tuntutan yang serupa. Pengesah harus mengetahui jenis yang diharapkan untuk titik akhir tertentu dan menolak profil yang tidak serasi daripada menganggap setiap JWT yang ditandatangani sebagai boleh ditukar ganti.

Pengepala `typ` masih tidak dipercayai sehingga pengesahan dan ToolAcre sahaja memberi amaran apabila rentetannya berbeza daripada `JWT`. Ia tidak mengesahkan profil token akses, kandungan bersarang atau konvensyen pembekal. Tentukan peraturan jenis dalam aplikasi dan percubaan penggantian ujian.

Jangan percaya jku, x5u atau kunci terbenam — cadangan sumber kunci

Jangan biarkan `jku`, `x5u`, JWK data atau tatasusunan sijil tertanam mewujudkan sumber utama sahaja kerana ia muncul dalam pengepala yang dilindungi. Selesaikan kunci melalui hubungan pengeluar yang dipercayai secara bebas dan dasar pengambilan terhalang. Anggap `kid` sahaja sebagai pemilih dalam sempadan itu.

ToolAcre tidak melakukan carian rangkaian daripada nilai pengepala. Itulah tingkah laku yang betul untuk pemeriksa generik. Semasa audit, jejaki setiap laluan daripada metadata pengepala kepada sistem fail, cache, pangkalan data dan operasi rangkaian, kemudian tolak sebarang laluan yang mewujudkan kepercayaan daripada input terkawal token.

Input kriptografi dan panduan kandungan yang disulitkan mesti disemak dalam pustaka dan profil yang dipilih

Pelaksanaan kriptografi mesti mengesahkan input dan mengikut peraturan profil yang dipilih. Reka bentuk penyulitan juga memerlukan penjagaan sekitar pemampatan dan data yang boleh diperhatikan. API dan lalai tepat adalah khusus pustaka dan tidak terdapat dalam repositori ini, jadi artikel ini tidak mencipta suis atau menuntut sokongan universal.

Baca dokumentasi semasa untuk pustaka dan versi yang digunakan, kemudian bina ujian input yang salah dan ujian ketidakpadanan dasar. Ralat INVALID_JWT penyahkod bersih menunjukkan ergonomik pemeriksaan yang baik, tetapi ia bukan bukti bahawa pengesah berasingan mengendalikan kes kelebihan kriptografi dengan betul.

Contoh yang berkesan — mengaudit rutin pengesahan terhadap senarai semak

Audit rutin pengesahan dengan menyenaraikan konfigurasi pengeluar yang dipercayai, algoritma yang diterima, sumber utama, khalayak, jenis token, dasar masa dan tuntutan aplikasi. Untuk setiap item, tambahkan token negatif yang boleh dibaca secara sintaksis tetapi melanggar satu jangkaan. Sahkan penolakan di sempadan sebenar.

Gunakan ToolAcre sahaja untuk memeriksa perkara yang dituntut oleh setiap lekapan dan memastikan mutasi yang dimaksudkan wujud. Jangan gunakan outputnya sebagai penegasan bahawa lekapan itu tidak sah. Respons pengesah dan log memberikan bukti itu, manakala penyahkod kekal malar merentas contoh yang diterima dan ditolak.

Bawa pulang: senarai semak, bukan perpustakaan — penyahkod ToolAcre JWT membantu anda memeriksa token semasa audit; amalan terpakai kepada pengesah yang anda tulis

Dokumen amalan terbaik ialah senarai semak, bukan perpustakaan pengesahan. Nilainya muncul apabila pasukan menterjemahkan pengesyoran ke dalam konfigurasi eksplisit, hubungan kepercayaan yang sempit dan ujian yang gagal ditutup. Penyahkod boleh menjadikan input token boleh dibaca semasa kerja itu tetapi tidak boleh melaksanakan kawalan.

Kekalkan sempadan dalam dokumentasi dan UI: dinyahkod bermaksud boleh dibaca, tidak sahih, tidak diubah suai, dibenarkan atau boleh diterima. Sematkan dasar di luar token, sahkan dahulu dan gunakan tuntutan kedua. ToolAcre sengaja berhenti sebelum semua keputusan itu.