Alat pembangun · JWT penyahkod
JWT Muatan Tidak Disulitkan: Sesiapa yang Dengan Token Boleh Membacanya
· Mengapa ia penting
jwt privasi keselamatan
Base64url kelihatan seperti berebut tetapi ia adalah pengekodan boleh balik. Siaran ini menunjukkan betapa mudah dibaca tuntutan token yang ditandatangani, perkara yang terkandung di dalamnya dan apabila anda memerlukan JWE sebaliknya.
Ia kelihatan disulitkan — salah faham yang meletakkan data peribadi dalam token
Segmen base64url yang panjang kelihatan bercelaru, yang menggoda pasukan untuk menganggapnya sebagai data tersembunyi. Kesan visual mengelirukan. Sesiapa sahaja yang memegang JWT yang ditandatangani boleh membalikkan pengekodan awam dan membaca muatan JSON tanpa memiliki kunci tandatangan atau pengesahan.
ToolAcre menunjukkan sifat itu dengan menyahkod pengepala dan muatan secara setempat. Ia tidak memecahkan penyulitan kerana muatan JWS biasa tidak disulitkan. Kemudahan pemeriksaan harus membentuk reka bentuk token: mengekodkan sahaja maklumat yang boleh dilihat oleh setiap pemegang sah dan setiap penerima yang tidak disengajakan.
Ditandatangani, tidak dimeterai: JWS yang sah boleh melindungi integriti, bukan kerahsiaan muatan
Tandatangan yang sah atau MAC boleh membenarkan pengesah yang dikonfigurasikan dengan betul mengesan perubahan dan mengaitkan token dengan bahan kunci yang dipercayai. Itu adalah integriti dan bukti asal dalam dasar pengesah. Ia tidak menyembunyikan kandungan yang dilindungi daripada pelanggan, proksi, pembalak atau sesiapa sahaja yang memperoleh rentetan padat.
Penyahkod tidak dapat mewujudkan integriti itu kerana ia tidak pernah mengesahkan. Ia menunjukkan perkara yang dikatakan token tentang dirinya dan melaporkan bait tandatangan sebagai tidak disahkan. Perbezaan ini mengelakkan dua kesilapan yang bertentangan: menganggap boleh dibaca bermakna palsu, dan menganggap ditandatangani bermakna sulit.
Perkara yang ditunjukkan oleh penyahkod — setiap tuntutan, secara jelas JSON, tanpa kunci diperlukan
Untuk pengepala dan muatan, ToolAcre menterjemah base64url, memulihkan padding, memulihkan bait sebagai UTF-8 dan menghuraikan objek JSON. Tiada rahsia mengambil bahagian. Jadual tuntutan kemudian menunjukkan nilai rentetan secara langsung dan nilai berstruktur sebagai teks JSON, dengan penerangan untuk nama berdaftar seperti `sub`, `aud` dan `exp`.
Keluaran itu adalah bantuan ketelusan, bukan ramalan kebenaran. Token rekaan boleh memaparkan subjek dan peranan yang sama sebagai token yang sah. Membaca tuntutan tidak memerlukan kunci; mempercayai bahawa ia memerlukan pengesahan yang berjaya serta semakan penerbit, penonton, masa dan permohonan dalam perkhidmatan yang digunakan.
Tempat token bocor — log, URL, pengepala perujuk, sejarah pelayar dan skrip pihak ketiga
Token boleh bocor melalui log aplikasi, menyalin mesej sokongan, URL, penyebaran perujuk, sejarah pelayar, tangkapan skrin dan skrip yang boleh mengakses medan. Laluan yang tepat bergantung pada sistem, tetapi kebolehbacaan muatan bermakna token yang telah tamat tempoh atau tidak boleh digunakan masih boleh mendedahkan maklumat peribadi atau operasi.
Jauhkan bukti kelayakan yang padat daripada URL rentetan pertanyaan dan log rutin. Suntingkannya sebelum berkongsi diagnostik. Tandatangan tidak membersihkan tuntutan, dan penyulitan pengangkutan sahaja melindungi data semasa mengembara antara titik akhir; titik akhir yang dibenarkan dan storan tidak sengaja masih boleh melihat aksara token teks biasa.
Perkara yang terkandung dalam muatan — data pengecam dan kebenaran, tidak sekali-kali rahsia atau data yang tidak sepatutnya dilihat oleh pemegang
Muatan biasanya memerlukan pengecam dan konteks kebenaran supaya penerima boleh membuat keputusan selepas pengesahan. Mereka tidak boleh membawa kata laluan, kunci peribadi atau maklumat yang pemegang token mesti dihalang daripada membaca. Minimumkan data peribadi dan elakkan penduaan mudah medan profil yang tidak memerlukan perkhidmatan yang memakan.
Peranan dan skop bukan rahsia semata-mata kerana ia dikodkan, tetapi ia masih tidak dipercayai sehingga disahkan. Reka bentuk tuntutan yang ditetapkan berdasarkan pendedahan paling sedikit serta keistimewaan yang paling rendah. Jika pengguna tidak memerlukan medan untuk melaksanakan tugasnya yang didokumenkan, meninggalkan medan tersebut akan mengurangkan setiap akibat kebocoran.
Contoh yang berkesan — menyahkod token sampel dan menyenaraikan perkara yang akan dipelajari oleh penonton
Nyahkod muatan sintetik yang mengandungi `sub`, `email`, `tenant`, `roles`, `iat` dan `exp`. Pemerhati mengetahui pengecam akaun yang dinamakan, alamat, konteks organisasi, kebenaran yang ditegaskan dan masa tanpa kunci. Sama ada dakwaan itu tulen adalah persoalan yang berbeza; teks mereka sudah pun didedahkan.
Ulangi audit dengan setiap profil token yang dikeluarkan oleh pengeluar anda, sahaja menggunakan bahan yang telah tamat tempoh atau bahan ujian. Catat setiap medan dan penggunanya. ToolAcre boleh membantu menghitung kandungan yang boleh dilihat, tetapi ia tidak dapat memutuskan peraturan pemprosesan, kepekaan atau pengekalan yang sah untuk organisasi anda.
Token padat yang disulitkan mempunyai lima bahagian, yang JWS dekoder ini mengenal pasti dan bukannya menyahsulit
Apabila tuntutan mesti kekal sulit daripada pemegang atau pengantara, reka bentuk yang disulitkan mungkin diperlukan. Padat JWE mempunyai lima bahagian dan menggunakan kunci penyahsulitan penerima. ToolAcre mengenal pasti lima segmen sebagai input yang disulitkan dan menerangkan bahawa ia tidak boleh mendedahkan kandungan tanpa kunci.
Penyulitan memperkenalkan pengedaran kunci, dasar algoritma dan mod kegagalan operasi di luar penyahkod ini. Ia juga tidak menghilangkan keperluan untuk pemeriksaan integriti dan kebenaran. Pilihnya daripada model ancaman dan bukannya sebagai peningkatan kosmetik kepada muatan yang sepatutnya mengandungi kurang data.
Bawa pulang: anggap muatan adalah awam — nyahkod salah satu token anda sendiri dalam penyahkod ToolAcre JWT dan audit perkara yang terdedah
Andaikan muatan JWT biasa boleh dibaca di mana-mana sahaja token bergerak. Gunakan pandangan penyahkod sahaja ToolAcre untuk mengaudit pendedahan tuntutan, bukan untuk membuktikan siapa yang mengeluarkan nilai tersebut. Alih keluar rahsia dan medan peribadi yang tidak perlu dan bukannya bergantung pada base64url untuk mengaburkannya.
Jika kerahsiaan benar-benar diperlukan, gunakan mekanisme yang sifat keselamatannya yang didokumenkan menyertakannya dan uruskan kunci dengan sewajarnya. Sama ada ditandatangani atau disulitkan, kepercayaan masih datang daripada pengesahan dan dasar kriptografi yang dikonfigurasikan, bukan daripada fakta bahawa penyahkod memaparkan output berstruktur.