Prompt dan konteks
Pihak yang bergantung (RP) menyepadukan beberapa penyedia identiti (IdP) untuk kandungan awam, pentadbiran pekerja dan transaksi bernilai tinggi. Pasukan menganggap FAL sebagai "kekuatan log masuk" tanpa mentakrifkan suntikan penegasan, pengikatan pemegang, privasi atau pemulihan. Gunakan NIST SP 800-63C untuk memilih Tahap Jaminan Federasi dan terangkan pengesahan OIDC serta operasi.
FAL menerangkan cara transaksi federasi melindungi dan mengikat penegasan. Ia tidak menggantikan IAL (pembuktian identiti) atau AAL (kekuatan pengesah). NIST menyatakan bahawa tahap yang lebih tinggi merangkumi keperluan tahap yang lebih rendah; FAL3 seterusnya memerlukan pelanggan mengemukakan bukti pengesah terikat secara terus kepada RP.
Perkara yang diuji oleh penemu duga
- Pengasingan pembuktian identiti, pengesahan pengguna dan penghantaran penegasan.
- Ciri keselamatan yang betul dan sempadan FAL1, FAL2 dan FAL3.
- Pengesahan pengeluar (issuer), khalayak (audience), tandatangan, nonce, jangka hayat dan sumber penegasan.
- Pengendalian berbilang IdP, suntikan, pengikatan pemegang, privasi dan pemulihan.
- Menukar keputusan tahap kepada dasar, pemantauan, migrasi dan pengecualian.
Soalan penjelasan
- Adakah sumber tersebut merupakan kandungan awam, konsol pekerja, atau transaksi bernilai tinggi?
- Adakah federasi menggunakan OIDC, SAML, atau protokol lain, dan siapakah yang mengeluarkan serta mengesahkan penegasan?
- Adakah reka bentuk mesti menentang suntikan penegasan, pemindahan token, atau main semula selepas kecurian? Bolehkah pengguna mengemukakan pengesah terikat?
- Bagaimanakah pertukaran peranti, pemulihan, penggunaan luar talian dan peranti kongsi berfungsi?
- Bagaimanakah pemetaan pengeluar, khalayak, JWKS dan penyewa dikekalkan merentas IdP?
Jawapan 30 saat
Pilih FAL daripada risiko sumber, bukan daripada skrin log masuk. FAL1 meliputi penghantaran penegasan asas; FAL2 menambah perlindungan terhadap serangan federasi seperti suntikan penegasan; FAL3 seterusnya memerlukan bukti pengesah terikat pelanggan yang dikemukakan terus kepada RP. Jejaki IAL, AAL dan FAL secara berasingan. Sahkan pengeluar OIDC, khalayak, tandatangan, nonce dan masa. Khaskan FAL3 untuk operasi bernilai tinggi dan rancang pemulihan, privasi, giliran kunci dan kos pelancaran.
Jawapan mendalam
1. Asingkan IAL, AAL dan FAL
IAL menerangkan pembuktian identiti, AAL menerangkan cara pengguna membuktikan kawalan ke atas pengesah, dan FAL menerangkan perlindungan penegasan IdP yang dihantar kepada RP. Pengguna mungkin mempunyai AAL yang kukuh manakala transaksi federasi mempunyai FAL yang tidak mencukupi; FAL2 tidak membuktikan tahap pembuktian identiti.
Bagi setiap sumber, rekod ketiga-tiga tahap, IdP yang dibenarkan, jenis penegasan, laluan pemulihan dan pengekalan audit. Jangan petakan "menggunakan OIDC" terus kepada FAL.
2. Fahami tiga tahap FAL
FAL1 menyediakan penghantaran penegasan federasi asas untuk perkhidmatan berisiko rendah, tetapi masih memerlukan pengesahan tandatangan, pengeluar, khalayak, jangka hayat dan sesi.
FAL2 menambah perlindungan penghantaran penegasan yang lebih kukuh terhadap penyerang yang menyuntik penegasan sah ke dalam transaksi federasi yang lain. RP memerlukan konteks transaksi yang jelas, IdP yang dipercayai dan semakan suntikan.
FAL3 dibina di atas FAL2 dan memerlukan bukti pengesah terikat yang dikemukakan terus oleh pelanggan, menjadikan pemindahan penegasan lebih sukar. Ia menambah kos pengikatan peranti, pemulihan, ketersediaan dan privasi, jadi ia tidak sepatutnya menjadi lalai untuk setiap log masuk.
3. Sahkan penegasan OIDC
Sahkan tandatangan ID Token, iss, aud, exp, iat, dan nonce. OpenID Connect memerlukan perbandingan nonce dengan nilai yang dihantar dalam permintaan pengesahan; komponen laluan URL pengeluar adalah sebahagian daripada identitinya.
Dapatkan JWKS hanya daripada pengeluar yang diluluskan dan muat semula secara terkawal apabila kid tiada. Jangan bina URL penemuan daripada input pengguna atau anggap tuntutan e-mel sebagai kunci identiti merentas penyewa.
4. Menentang suntikan dan pemindahan penegasan
Kekalkan permintaan kebenaran, pengeluar, ID klien, URI ubah hala, state dan nonce di bahagian pelayan. Panggilan balik mesti sepadan dengan transaksi asal; pengeluar yang tidak diketahui, khalayak yang salah, state yang berulang atau nonce yang salah akan menghentikan aliran.
Sumber berisiko tinggi juga mengikat transaksi, sumber dan sesi. FAL2 menangani masalah teras suntikan penegasan federasi tetapi tidak menggantikan PKCE, pengenalpastian pengeluar, khalayak token atau kebenaran sumber.
5. Reka bentuk pengesah terikat FAL3
FAL3 memerlukan pelanggan mengemukakan bukti pengesah terikat secara terus kepada RP. RP mendaftarkan pengikatan, menyemak kesegaran bukti dan status peranti, serta mengendalikan kehilangan, penggantian, pembatalan dan pemulihan.
Pemulihan tidak boleh bergantung semata-mata pada log masuk IdP biasa, atau ia mungkin memintas pengikatan tersebut. Pemulihan berisiko tinggi mungkin memerlukan faktor bebas, semakan manual atau pengaktifan tertangguh; pasukan produk dan sokongan mesti menerima kos dan kadar kegagalan yang lebih tinggi.
6. Beroperasi dengan privasi dan berbilang IdP
Minta tuntutan yang perlu untuk perniagaan sahaja dan hadkan pengekalan penegasan serta medan log. Subjek daripada IdP berbeza tidak boleh digabungkan ke dalam satu identiti merentas domain tanpa pemetaan berskop pengeluar dan penyewa.
Pantau kegagalan tandatangan, konflik pengeluar, main semula nonce, penyegaran JWKS, saiz penegasan, peristiwa pemulihan dan kejayaan mengikut FAL. Gunakan pertindihan semasa giliran kunci dan pastikan konfigurasi pengeluar lama boleh disahkan untuk TTL sesi yang sedang berjalan.
7. Pilih, lancarkan dan kendalikan pengecualian
Kandungan awam biasanya tidak memerlukan FAL yang tinggi; konsol pekerja boleh menggunakan FAL2; pemindahan, kunci pentadbir dan tindakan yang tidak boleh diubah wajar dinilai untuk FAL3. Pengecualian merekodkan sumber, tarikh akhir, kawalan pampasan dan pemilik.
Lancarkan mengikut penyewa dan sumber sambil membandingkan penyiapan, pemulihan, tiket sokongan dan peristiwa keselamatan. Hentikan pelancaran jika berlaku suntikan penegasan atau kegagalan pengikatan; jangan turunkan taraf operasi berisiko tinggi secara senyap kepada FAL1 demi ketersediaan.
Model jawapan
Saya akan menilai IAL, AAL dan FAL secara berasingan. Gunakan FAL1 untuk kandungan berisiko rendah, FAL2 untuk aliran pekerja dan berbilang IdP dengan pertahanan suntikan yang lebih kukuh, dan pertimbangkan FAL3 untuk operasi bernilai tinggi seperti kunci pentadbir atau pemindahan yang tidak boleh diubah, dengan pengesah terikat dan pemulihan direka bentuk dari awal.
Setiap panggilan balik OIDC mengesahkan pengeluar, khalayak, tandatangan, masa dan nonce, mengikat pengeluar, klien, state, URI ubah hala dan transaksi. JWKS hanya diperoleh daripada pengeluar yang diluluskan dan digilirkan dengan pertindihan. Lancarkan bagi setiap penyewa, pantau suntikan, main semula, pemulihan dan penyiapan, serta berikan setiap pengecualian tarikh akhir dan kawalan pampasan. Aliran berisiko tinggi gagal-tutup (fail closed) semasa gangguan pengesahan.
Kesilapan lazim
- Menganggap FAL sebagai kekuatan log masuk dan mengabaikan IAL dan AAL.
- Menganggap OIDC secara automatik bermaksud FAL2 atau FAL3.
- Hanya menyemak tandatangan, bukan pengeluar, khalayak, nonce, jangka hayat dan konteks transaksi.
- Membenarkan pengeluar atau
kidyang dibekalkan pengguna mencetuskan penemuan sewenang-wenangnya atau pengambilan kunci. - Mendakwa FAL3 adalah satu tetapan tunggal tanpa reka bentuk pengesah terikat dan pemulihan.
- Menggabungkan tuntutan e-mel daripada IdP berbeza ke dalam satu identiti.
- Menurunkan taraf operasi berisiko tinggi secara senyap kepada FAL1 demi kadar penyiapan.
Soalan susulan dan jawapan
Bagaimanakah FAL2 berbeza daripada AAL2?
AAL2 menerangkan kekuatan pengesah; FAL2 menerangkan perlindungan penghantaran penegasan federasi. Kedua-duanya bebas dan harus direkodkan serta disusun secara berasingan.
Bilakah FAL3 berbaloi dengan kosnya?
Untuk tindakan bernilai tinggi di mana risiko pemindahan penegasan adalah penting dan pengguna boleh mengemukakan bukti pengesah terikat, seperti kunci pentadbir atau transaksi yang tidak boleh diubah. Kos dan kapasiti pemulihan mesti dinilai bersama.
Mengapakah nonce masih penting?
Nonce mengikat ID Token kepada permintaan pengesahan ini dan mengurangkan main semula respons lama. Ia tidak menggantikan pengeluar, khalayak, tandatangan atau dasar FAL.
Bagaimana jika JWKS IdP tidak tersedia?
Gunakan cache pendek yang terkawal. Jika penegasan berisiko tinggi tidak dapat disahkan, gagal-tutup (fail closed) dan berikan amaran; jangan sekali-kali menerima kunci yang tidak diketahui atau melangkau pengesahan.
Bagaimanakah anda mengendalikan penggantian peranti?
FAL3 memerlukan pengikatan baharu dan laluan pemulihan yang diluluskan. Log masuk IdP biasa mungkin merupakan salah satu faktor pemulihan tetapi tidak boleh mewarisi pengikatan peranti lama secara senyap.
Bagaimanakah anda menerangkan pilihan FAL kepada pasukan produk?
Terangkan risiko sumber, akibat pemindahan penegasan, populasi pengguna, kos pemulihan dan keperluan pematuhan. Rekodkan tarikh akhir, metrik dan kawalan pampasan berbanding hanya memetik nama tahap sahaja.