Bahasa Melayu

Alat pembangun · JWT penyahkod

RFC 7519 dan Keluarga JOSE: JWT, JWS, JWE, JWK dan JWA Explained

· Latar belakang

jwt kriptografi piawaian

Peta yang menghubungkan JWT tuntutan dengan sampul surat JOSE yang ditandatangani dan disulitkan
Ilustrasi vektor ToolAcre asal

JWT ialah satu ahli keluarga spesifikasi daripada kumpulan kerja IETF JOSE. Siaran ini menerangkan perkara yang ditakrifkan oleh setiap RFC, cara ia sesuai bersama dan sebab JWT biasanya JWS.

Lima akronim, satu token — mengapa dokumentasi menyebut JWS dan JWE apabila anda sahaja bertanya tentang JWT

Dokumentasi token bergerak antara JWT, JWS, JWE, JWK dan JWA kerana ia menerangkan lapisan berbeza ekosistem yang sama. Kekeliruan bermula apabila "JWT" digunakan sebagai trengkas untuk setiap token yang ditandatangani tiga bahagian padat. Mengasingkan tuntutan daripada sampul surat dan perwakilan utama menjadikan pelaksanaan lebih mudah untuk difikirkan.

Penyahkod ToolAcre sengaja lebih sempit daripada keluarga. Ia mengendalikan input berbentuk JWS tiga bahagian yang dua segmen pertama dinyahkodkan ialah objek JSON. Ia mengesan input padat yang disulitkan lima bahagian dan berhenti, kerana membaca teks sifir tanpa kekunci penerima tidak akan menyahkod perkara yang sama.

Dokumen JOSE mentakrifkan format yang berkaitan; repositori ini tidak menetapkan garis masa kumpulan kerja mereka

Spesifikasi berkaitan datang daripada kerja IETF JOSE, tetapi sumber repositori tidak menetapkan garis masa organisasi terperinci yang diminta oleh garis besar. Oleh itu, artikel ini mengelakkan mencipta tarikh atau sejarah proses dan menumpukan pada perhubungan format yang boleh diperhatikan dalam alat dan pelan.

Soalan praktikal ialah lapisan mana yang memiliki setiap keputusan. Nama tuntutan menerangkan pernyataan aplikasi, tandatangan melindungi bahan yang dikodkan, penyulitan melindungi kandungan, JSON objek utama mewakili maklumat utama dan operasi nama pengecam algoritma. Tiada satu akronim menggantikan yang lain.

JWS (RFC 7515) — menandatangani kandungan sewenang-wenangnya dan siri padat yang digunakan oleh JWT

JWS menerangkan kandungan yang ditandatangani atau MAC yang dilindungi. Bentuk padatnya mempunyai tiga segmen: tajuk dilindungi, muatan dan tandatangan. Input tandatangan menggunakan dua segmen dikodkan pertama yang dicantumkan dengan titik. A JWT lazimnya bergerak dalam sampul ini, iaitu bentuk ToolAcre membelah dan memeriksa.

Pengepala dan muatan boleh menyahkod kepada JSON, manakala tandatangan adalah bait dan bukannya objek ketiga. ToolAcre melaporkan kehadiran dan saiz tandatangan tetapi sentiasa menandakannya sebagai tidak disahkan. Oleh itu, ia boleh menggambarkan struktur JWS tanpa menuntut sebarang hasil kriptografi.

JWE (RFC 7516) — menyulitkan kandungan, dengan siri lima bahagian

JWE menerangkan kandungan yang disulitkan. Bentuk padatnya mempunyai lima segmen yang mewakili pengepala yang dilindungi, bahan kunci yang disulitkan, nilai permulaan, teks sifir dan teg pengesahan. Oleh itu, empat titik merupakan petunjuk struktur yang kukuh bahawa penyahkod JWT tiga bahagian telah menerima sampul surat yang berbeza.

ToolAcre mengeluarkan ralat JWE tertentu dan menerangkan bahawa kandungan tidak boleh dibaca tanpa kunci penyahsulitan. Ia tidak menganggap teks sifir sebagai salah bentuk JSON atau cuba memaparkan bait rawak. Penyulitan dan tandatangan juga boleh dibuat, tetapi pemprosesan bersarang berada di luar laluan ini.

JWK dan JWA (RFC 7517 dan 7518) — mewakili kunci sebagai JSON dan menamakan algoritma

JWK menyediakan perwakilan JSON untuk maklumat kunci kriptografi, manakala JWA menamakan pengecam algoritma dan parameter berkaitan yang digunakan merentas JOSE. Kewujudan mereka tidak bermakna token boleh memilih kunci atau algoritmanya sendiri yang dipercayai. Pengesah mesti mengekang kedua-dua daripada dasar penerbit dan permohonan.

Nota algoritma ToolAcre sahaja menerangkan set terhingga label yang terdapat dalam sumber dan memanggil apa-apa lagi yang tidak dikenali. Ia adalah penerangan, bukan pelaksanaan. Penyahkod tidak mengimport JWK mahupun melaksanakan algoritma daripada JWA, yang memastikan sempadan pemeriksaan jelas.

JWT (RFC 7519) — format tuntutan yang menggunakan JWS atau JWE

JWT mentakrifkan objek tuntutan dan nama berdaftar seperti pengeluar, subjek, khalayak dan NumericDates. Tuntutan tersebut boleh dibawa dalam struktur JOSE yang ditandatangani atau disulitkan. Oleh itu, lapisan muatan menjawab "pernyataan apa yang diwakili", manakala sampul surat menjawab cara bait tersebut dilindungi atau disembunyikan.

ToolAcre menjangkakan muatan yang dinyahkodkan menjadi objek JSON dan menyenaraikan tuntutannya. Tatasusunan, nombor atau nol ditolak untuk alat ini. Malah objek berbentuk baik tetap tidak dipercayai sehingga sampul surat yang berkaitan diproses oleh pengesah atau penerima yang dikonfigurasikan.

Perkara yang tidak dilindungi ini — profil kemudian seperti RFC 8725 amalan terbaik dan RFC 9068 token akses, yang mempunyai siaran mereka sendiri

Dokumen amalan terbaik dan profil kemudiannya boleh menyempitkan cara mekanisme umum ini harus digunakan. Mereka berhak mendapat layanan yang berasingan kerana format asas tidak membekalkan dasar penerbit, khalayak atau jenis token khusus aplikasi. Artikel ini tidak mendakwa bahawa penyahkod melaksanakan sebarang profil sedemikian.

Semasa menyemak sistem, tuliskan profil yang tepat, sampul surat yang dijangkakan, algoritma yang diterima, sumber utama dan peraturan tuntutan. Senarai itu menghalang kebiasaan akronim daripada bertukar menjadi andaian keserasian atau keselamatan.

Bawa pulang: JWT ialah tuntutan, JWS ialah sampul surat — penyahkod ToolAcre JWT membaca borang padat JWS dan menunjukkan JWT pengepala dan tuntutan

JWT menamakan lapisan tuntutan; JWS dan JWE menyediakan sampul perlindungan; JWK mewakili data utama; JWA menamakan pilihan algoritma. ToolAcre membaca bentuk biasa yang ditandatangani tiga bahagian dan menunjukkan pengepala serta tuntutan sambil enggan mengesahkan atau menyahsulit.

Gunakan peta itu untuk bertanya soalan seterusnya yang betul. Boleh dibaca JSON mengenal pasti lapisan tuntutan. Tiga atau lima segmen mengenal pasti kemungkinan keluarga sampul surat. Kepercayaan masih bergantung pada kriptografi dan dasar yang dikonfigurasikan secara bebas, bukan pada penyahkod yang mengiktiraf akronim.