Petunjuk dan konteks
Beberapa penyedia layanan telepon tidak dapat menjamin bahwa pensinyalan SIP membawa PASSporT secara end-to-end. Berdasarkan RFC 9888, rancang Call Placement Service (CPS) out-of-band dan jelaskan discovery, pengiriman dan pengambilan, otorisasi mTLS, kedaluwarsa, interoperabilitas gateway, serta risiko privasi.
RFC 9888 menargetkan penyedia layanan besar yang tidak dapat membawa PASSporT secara andal melalui SIP. Sebuah OOB Authentication Service (OOB-AS) mengirimkan PASSporT ke CPS melalui HTTP, dan sebuah OOB Verification Service (OOB-VS) mengambilnya melalui pull atau menerimanya melalui push. Wawancara ini menguji batasan kepercayaan dan masa pakai objek, bukan sekadar REST bucket generik.
Apa yang dinilai oleh pewawancara
Pewawancara mencari kejelasan tanggung jawab antara kredensial STIR, PASSporT, CPS, OOB-AS, dan OOB-VS; model iklan CPS dan otorisasi rentang nomor telepon yang tepercaya; mTLS, kuota, dan jendela kesegaran (freshness window) yang singkat untuk mencegah pemalsuan, replay, dan flooding; serta penjelasan konkret mengenai pengambilan multipenyedia, konversi gateway, privasi metadata, dan kebijakan kegagalan.
Pertanyaan klarifikasi
Partisipan dan batasan jaringan
Identifikasi siapa yang menandatangani PASSporT, siapa yang mengoperasikan CPS penyedia tujuan, apakah OOB-VS melakukan pull atau berlangganan push, dan jalur mana saja yang melintasi gateway PSTN atau jaringan lama (legacy).
Tujuan keaslian dan privasi
Klarifikasi apakah sistem harus membuktikan identitas penelepon, mengurangi pemalsuan nomor (spoofing), atau juga menyembunyikan metadata panggilan. Dalam model penyedia RFC 9888, CPS dioperasikan oleh partisipan panggilan, sehingga asumsi privasinya berbeda dari layanan OOB internet terbuka.
Latensi dan retensi
Tentukan batas keterlambatan maksimum yang diizinkan sebelum menampilkan indikator panggilan, toleransi clock skew, dan apakah PASSporT hanya diperlukan hingga verifikasi selesai. CPS bukanlah arsip jangka panjang.
Jawaban 30 detik
“Saya akan memublikasikan iklan CPS bertanda tangan yang mengikat SPC atau rentang nomor telepon ke URI HTTPS. OOB-AS akan mengirimkan PASSporT melalui mTLS menggunakan kredensial STIR tepercaya; CPS akan mengotorisasi tujuan, menerapkan kuota, dan menyimpan setiap objek hanya selama jendela kesegarannya. OOB-VS dapat melakukan pull setelah panggilan tiba atau berlangganan push berdasarkan rentang. CPS multipenyedia harus mengotorisasi pembacaan menggunakan tujuan PASSporT dan TNAuthList. Gateway hanya melakukan translasi dalam cakupan yang didelegasikan. Saya akan mengukur kedaluwarsa, duplikasi, permintaan tidak sah, dan latensi, serta mendokumentasikan batasan pengumpulan metadata.”
Solusi langkah demi langkah
Langkah 1: Memetakan alur kepercayaan dan data
OOB-AS membuat atau membawa PASSporT dan mengirimkannya ke CPS tujuan. CPS menerimanya berdasarkan iklan dan kebijakan lokal. OOB-VS hanya menerima rentang tujuan yang diotorisasi untuk diverifikasinya. Verifikasi tetap memeriksa tanda tangan PASSporT, orig, dest, dan kesegaran; kedatangan dari CPS tidak menggantikan verifikasi kriptografis.
Langkah 2: Memublikasikan iklan CPS yang aman
Iklan memetakan SPC atau rentang nomor telepon ke URI HTTPS CPS. Iklan harus ditandatangani oleh kredensial STIR yang tepercaya, dan penerima membandingkan TNAuthList penandatangan dengan rentang yang diiklankan. Hal ini mencegah pemegang kredensial membajak suatu rentang nomor. Penemuan (discovery) dapat menggunakan konfigurasi, basis data, atau DNS yang aman, namun cache memerlukan pembuatan versi (versioning) dan masa kedaluwarsa.
Langkah 3: Mengotorisasi pengiriman
OOB-AS membentuk koneksi TLS dengan CPS, lebih disukai mTLS, dan CPS memeriksa apakah sertifikat milik penyedia pengirim yang diizinkan. Terapkan kuota berdasarkan penyedia, rentang, dan laju (rate); tolak kredensial yang tidak dikenal, tujuan yang salah, dan flooding. Kembalikan status penerimaan, penolakan, dan duplikasi yang dapat diobservasi tanpa mengekspos detail kebijakan internal yang dapat membantu penyerang menyelidiki layanan.
Langkah 4: Menegakkan retensi dan kesegaran
Simpan PASSporT hanya selama yang dibutuhkan untuk pengambilan dan jangan pernah melebihi interval kesegarannya; RFC 9888 menjelaskan batas maksimum 60 detik untuk alur penyedia ini. Lakukan deduplikasi menggunakan orig, dest, pengidentifikasi panggilan, dan data khusus PASSporT agar objek yang sama tidak dapat diputar ulang (replayed) tanpa batas. Kedaluwarsa harus menjadi invarian yang ditegakkan, bukan sekadar proses pembersihan berkala.
Langkah 5: Mendukung pengambilan pull dan push
Dalam mode pull, OOB-VS melakukan kueri ke CPS setelah menerima panggilan tanpa PASSporT yang tersemat. Dalam mode push, ia berlangganan berdasarkan rentang atau SPC dan menerima objek secara proaktif. CPS multipenyedia memeriksa dest PASSporT sebelum mengirimkannya ke penyedia. Kegagalan push tidak memperpanjang kesegaran tanda tangan; verifikasi harus membedakan antara “belum tersedia” dan “tidak valid”.
Langkah 6: Membatasi gateway dan fallback
Gateway dapat mengekstrak PASSporT dari SIP INVITE dan mengirimkannya ke CPS yang melayani penyedia PSTN lama, atau menerjemahkan objek OOB untuk protokol downstream. Kredensialnya harus memiliki cakupan delegasi yang eksplisit dan tidak boleh memberikan wewenang ke seluruh jaringan. Keputusan apakah akan melanjutkan panggilan yang belum diverifikasi, menundanya, atau memblokirnya saat CPS tidak tersedia merupakan kebijakan produk dan regulasi.
Langkah 7: Mencakup privasi, operasional, dan simulasi
CPS melihat metadata panggilan, jadi batasi field, retensi, dan akses audit. Lacak keberhasilan pengiriman, permintaan tidak sah, duplikasi, kedaluwarsa, latensi pull, backlog push, dan penolakan kuota berdasarkan penyedia. Uji pencabutan sertifikat, rentang yang tumpang tindih, replay, pembacaan lintas penyedia, iklan yang diubah, kehilangan gateway PSTN, dan pemadaman parsial CPS.
Jawaban model
Pertama, saya akan mendaftarkan partisipan dan rentang otorisasi. Setiap penyedia tujuan memublikasikan iklan CPS bertanda tangan STIR yang mengikat SPC atau rentang nomor teleponnya ke URI HTTPS. OOB-AS mengirimkan PASSporT melalui mTLS; CPS memvalidasi kredensial, tujuan, rentang, dan kuota, kemudian menyimpan objek hanya selama masa kesegarannya. RFC 9888 menjelaskan retensi maksimum selama 60 detik. OOB-VS dapat melakukan pull setelah panggilan tanpa tanda tangan tiba atau berlangganan push. CPS multipenyedia mengotorisasi pembacaan menggunakan dest dan TNAuthList. Gateway PSTN hanya boleh mengekstrak atau menerjemahkan dalam cakupan yang didelegasikan. Layanan membedakan kredensial yang hilang, kedaluwarsa, dan tidak valid, menerapkan kebijakan fallback yang eksplisit, mengaudit akses metadata, dan mengukur flooding, replay, latensi, serta penolakan kuota.
Kesalahan umum
- Kesalahan: Memperlakukan CPS sebagai penyimpanan objek publik. → Mengapa gagal: Penulisan dan pembacaan tanpa izin memungkinkan terjadinya pemalsuan, kebocoran, dan flooding. → Perbaikan: Gunakan kredensial tepercaya, mTLS, otorisasi rentang, dan kuota penyedia.
- Kesalahan: Menyimpan PASSporT untuk investigasi jangka panjang. → Mengapa gagal: Jendela penyimpanan yang lebih panjang meningkatkan risiko replay dan paparan metadata. → Perbaikan: Gunakan TTL pendek yang terikat pada verifikasi dan tegakkan penghapusan.
- Kesalahan: Mengotorisasi pembacaan hanya berdasarkan orig. → Mengapa gagal: Akses multipenyedia juga harus membatasi dest dan TNAuthList penyedia. → Perbaikan: Otorisasi rentang tujuan pada tahap pengiriman dan pengambilan.
- Kesalahan: Mempercayai PASSporT setelah ekstraksi gateway. → Mengapa gagal: Memindahkan objek antarprotokol tidak menggantikan proses verifikasi. → Perbaikan: Pertahankan verifikasi dan berikan delegasi minimal kepada gateway.
Pertanyaan lanjutan dan tanggapan
Bagaimana jika sertifikat mTLS OOB-AS bocor?
Cabut sertifikat, hentikan wewenang pengirimannya, dan isolasi cakupan penyedianya. Objek yang sudah dikirimkan tetap memerlukan validasi kesegaran dan tanda tangan PASSporT; identitas koneksi saja tidak cukup.
Mengapa perlu menandatangani iklan CPS?
Iklan menentukan ke mana PASSporT harus dikirimkan. Penandatanganan mengikat URI CPS ke SPC atau rentang nomor telepon dan mencegah pengalihan ke kolektor yang dikendalikan penyerang.
Pengambilan pull atau push?
Pull bersifat sederhana dan dipicu oleh panggilan riil. Push dapat mengurangi penundaan verifikasi tetapi memerlukan otorisasi langganan, penanganan backlog, dan mekanisme pencabutan. Penerapan skala besar dapat menggabungkan keduanya berdasarkan penyedia dan rentang nomor.
Haruskah panggilan diblokir ketika CPS tidak tersedia?
Pisahkan antara indikator anti-spoofing dan pemblokiran regulasi. Panggilan biasa dapat dilanjutkan dengan label belum diverifikasi; aliran berisiko tinggi dapat ditunda atau diblokir, namun kebijakan, batas waktu (timeout), dan metrik positif palsu harus ditentukan secara eksplisit.