Bahasa Indonesia

Alat pengembang · dekoder JWT

JWT Payload Tidak Dienkripsi: Siapapun yang Memiliki Token Dapat Membacanya

· Mengapa itu penting

jwt pribadi keamanan

Payload JWT yang dikodekan dibuka menjadi JSON yang dapat dibaca
Ilustrasi vektor ToolAcre asli

Base64url tampak seperti pengacakan tetapi ini merupakan pengkodean yang dapat dibalik. Postingan ini menunjukkan seberapa mudah dibacanya klaim token yang ditandatangani, apa yang termasuk di dalamnya, dan kapan Anda memerlukan JWE sebagai gantinya.

Tampaknya terenkripsi – kesalahpahaman yang menempatkan data pribadi dalam token

Segmen url base64 yang panjang terlihat acak-acakan, sehingga menggoda tim untuk memperlakukannya sebagai data tersembunyi. Efek visualnya menyesatkan. Siapa pun yang memegang JWT yang ditandatangani dapat membalikkan pengkodean publik dan membaca muatan JSON tanpa memiliki kunci penandatanganan atau verifikasi.

ToolAcre mendemonstrasikan properti tersebut dengan mendekode header dan payload secara lokal. Itu tidak merusak enkripsi karena muatan JWS biasa tidak dienkripsi. Kemudahan inspeksi harus membentuk desain token: hanya mengkodekan informasi yang dapat dilihat oleh setiap pemegang sah dan setiap penerima yang tidak disengaja.

Ditandatangani, tidak disegel: JWS yang valid dapat melindungi integritas, bukan kerahasiaan muatan

Tanda tangan yang valid atau MAC dapat memungkinkan pemverifikasi yang dikonfigurasi dengan benar mendeteksi perubahan dan menghubungkan token dengan materi kunci tepercaya. Itu adalah bukti integritas dan asal dalam kebijakan verifikator. Itu tidak menyembunyikan konten yang dilindungi dari klien, proxy, logger atau siapa pun yang mendapatkan string kompak.

Dekoder bahkan tidak dapat menetapkan integritas itu karena tidak pernah memverifikasi. Ini menunjukkan apa yang dikatakan token tentang dirinya sendiri dan melaporkan byte tanda tangan sebagai belum diverifikasi. Pembedaan ini menghindari dua kesalahan yang berlawanan: dengan asumsi dapat dibaca berarti dipalsukan, dan dengan asumsi ditandatangani berarti rahasia.

Apa yang ditampilkan dekoder — setiap klaim, dalam bentuk JSON, tanpa memerlukan kunci

Untuk header dan payload, ToolAcre menerjemahkan base64url, memulihkan padding, memulihkan byte sebagai UTF-8 dan mem-parsing objek JSON. Tidak ada rahasia yang berpartisipasi. Tabel klaim kemudian menampilkan nilai string secara langsung dan nilai terstruktur sebagai teks JSON, dengan deskripsi untuk nama terdaftar seperti `sub`, `aud`, dan `exp`.

Hasil tersebut merupakan bantuan transparansi, bukan ramalan kebenaran. Token yang dibuat dapat menampilkan subjek dan peran yang sama dengan token yang sah. Membaca klaim tidak memerlukan kunci; percaya bahwa hal itu memerlukan verifikasi yang berhasil ditambah pemeriksaan penerbit, audiens, waktu dan aplikasi dalam layanan yang memakan waktu.

Tempat kebocoran token — log, URL, header perujuk, riwayat browser, dan skrip pihak ketiga

Token dapat bocor melalui log aplikasi, pesan dukungan yang disalin, URL, propagasi pengarah, riwayat browser, tangkapan layar, dan skrip yang dapat mengakses bidang tersebut. Jalur pastinya bergantung pada sistem, namun keterbacaan payload berarti token yang kedaluwarsa atau tidak dapat digunakan masih dapat mengungkapkan informasi pribadi atau operasional.

Jauhkan kredensial ringkas dari URL string kueri dan log rutin. Redaksikan sebelum membagikan diagnostik. Tanda tangan tidak membersihkan klaim, dan enkripsi transport hanya melindungi data saat melakukan perjalanan antar titik akhir; titik akhir yang diotorisasi dan penyimpanan yang tidak disengaja masih dapat melihat karakter token teks biasa.

Apa yang termasuk dalam payload — data pengidentifikasi dan otorisasi, bukan rahasia atau data yang tidak boleh dilihat oleh pemegangnya

Payload biasanya memerlukan pengidentifikasi dan konteks otorisasi sehingga penerima dapat mengambil keputusan setelah verifikasi. Mereka tidak boleh membawa kata sandi, kunci pribadi, atau informasi yang tidak boleh dibaca oleh pemegang token. Minimalkan data pribadi dan hindari duplikasi bidang profil yang tidak memerlukan layanan yang memakan waktu.

Peran dan cakupan tidak dirahasiakan hanya karena dikodekan, namun tetap tidak dapat dipercaya hingga diverifikasi. Rancang klaim yang ditetapkan berdasarkan pengungkapan paling sedikit dan hak istimewa paling sedikit. Jika konsumen tidak memerlukan suatu bidang untuk melakukan pekerjaannya yang terdokumentasi, meninggalkan bidang tersebut akan mengurangi setiap konsekuensi kebocoran.

Contoh praktis - mendekode token sampel dan mencantumkan dengan tepat apa yang akan dipelajari oleh pengamat

Dekode muatan sintetis yang berisi `sub`, `email`, `tenant`, `roles`, `iat`, dan `exp`. Seorang pengamat mempelajari pengidentifikasi akun bernama, alamat, konteks organisasi, izin yang ditetapkan, dan waktu tanpa kunci. Apakah pernyataan tersebut asli adalah pertanyaan yang berbeda; teks mereka sudah diungkapkan.

Ulangi audit dengan setiap profil token yang dihasilkan penerbit Anda, hanya menggunakan materi uji atau kadaluarsa. Catat setiap bidang dan konsumennya. ToolAcre dapat membantu menghitung konten yang terlihat, namun tidak dapat menentukan aturan pemrosesan, sensitivitas, atau retensi yang sah untuk organisasi Anda.

Token kompak terenkripsi memiliki lima bagian, yang diidentifikasi oleh dekoder JWS ini, bukan didekripsi

Jika klaim harus dirahasiakan dari pemegang atau perantara, desain terenkripsi mungkin diperlukan. JWE yang ringkas memiliki lima bagian dan menggunakan kunci dekripsi penerima. ToolAcre mengidentifikasi lima segmen sebagai masukan terenkripsi dan menjelaskan bahwa segmen tersebut tidak dapat mengungkapkan konten tanpa kunci.

Enkripsi memperkenalkan distribusi kunci, kebijakan algoritma dan mode kegagalan operasional di luar decoder ini. Hal ini juga tidak menghilangkan kebutuhan akan pemeriksaan integritas dan otorisasi. Pilihlah dari model ancaman, bukan sebagai peningkatan kosmetik ke muatan yang seharusnya berisi lebih sedikit data.

Kesimpulan: asumsikan muatannya bersifat publik — dekode salah satu token Anda di dekoder ToolAcre JWT dan audit apa yang diekspos

Asumsikan payload JWT biasa dapat dibaca di mana pun token bergerak. Gunakan tampilan khusus dekode ToolAcre untuk mengaudit eksposur klaim, bukan untuk membuktikan siapa yang mengeluarkan nilai. Hapus rahasia dan bidang pribadi yang tidak perlu daripada mengandalkan base64url untuk mengaburkannya.

Jika kerahasiaan benar-benar diperlukan, gunakan mekanisme yang properti keamanannya terdokumentasi mencakup hal tersebut dan kelola kuncinya sesuai dengan itu. Baik ditandatangani atau dienkripsi, kepercayaan tetap berasal dari validasi dan kebijakan kriptografi yang dikonfigurasi, tidak pernah dari fakta bahwa dekoder menampilkan keluaran terstruktur.