Apa itu STIR/SHAKEN, dan apa arti level atestasi A, B, dan C?

Secure Telephone Identity Revisited (STIR) dan Signature-based Handling of Asserted information using toKENs (SHAKEN) membentuk kerangka identitas penelepon yang level A, B, dan C-nya menjelaskan apa yang diverifikasi oleh penyedia penandatangan.

Caller ID tidak pernah diautentikasi. Nomor yang tampil di ponsel yang berdering adalah nilai yang dimasukkan oleh sisi pengirim ke dalam sebuah field. Selama hampir sepanjang sejarah jaringan telepon, tidak ada pihak di hilir yang bisa memeriksa apakah sisi pengirim berhak menggunakan nomor itu. STIR/SHAKEN adalah kerangka yang menambahkan tanda tangan digital ke field tersebut agar ujung penerima bisa memeriksanya.

Bagian yang sampai ke penelepon bukanlah kriptografinya. Bagian itu adalah satu huruf: A, B, atau C.

Apa yang sebenarnya ditambahkan STIR/SHAKEN ke panggilan?

STIR/SHAKEN menempatkan token bertanda tangan di header Identity pada pesan SIP yang menyiapkan panggilan. Token tersebut menyatakan siapa yang menjamin panggilan dan seberapa besar jaminannya.

Token tersebut adalah Personal Assertion Token (PASSporT), dan ekstensi SHAKEN-nya ditetapkan dalam RFC 8588, sebuah dokumen IETF Standards Track dari Mei 2019. Ekstensi ini menambahkan dua klaim ke token dasar. Secure Telephone Identity (STI) adalah upaya yang menambahkan identitas penelepon terautentikasi ke SIP, dan klaim pertama adalah yang akan Anda lihat:

This provides three levels of attestation: a full attestation when the service provider can fully attest to the calling identity, a partial attestation when the service provider originated a telephone call but cannot fully attest to the calling identity, and a gateway attestation, which is the lowest level of attestation and represents the service provider receiving a call from a telephone gateway that does not support PASSporT or STI.

Klaim itu sendiri adalah satu karakter. RFC 8588 bagian 4:

The "attest" claim can be one of the following three values: 'A', 'B', or 'C'. These values correspond to 'Full Attestation', 'Partial Attestation', and 'Gateway Attestation', respectively.

RFC 8588 mendelegasikan definisinya: "See [ATIS-1000074] for the definitions of these three levels of attestation". Dokumen itu diterbitkan oleh Alliance for Telecommunications Industry Solutions (ATIS), bukan oleh IETF, dan tidak tersedia gratis. Batas normatif antara A dan B oleh karena itu berada di balik paywall, dan ini menjadi salah satu alasan level-level tersebut begitu sering dijelaskan dari sumber kedua.

Apa arti A, B, dan C?

A berarti penyedia mengetahui siapa Anda dan bahwa nomor tersebut milik Anda. B berarti penyedia mengetahui siapa Anda tetapi tidak mengetahui bahwa nomor tersebut milik Anda. C berarti penyedia tidak mengetahui keduanya, karena panggilan datang dari tempat lain.

FCC, regulator komunikasi AS, memberikan penjelasan publik dalam Second Report and Order on caller ID authentication, yang diterbitkan di 85 FR 73360 pada 17 November 2020. Setiap level mencatat apa yang dapat dikonfirmasi penyedia tentang penelepon dan nomor. Kata-kata regulator sendiri:

  • A: "A provider assigns an A-level attestation when it is the entry point of the call onto the IP network, it can confirm the identity of the subscriber making the call, and the subscriber is using its associated telephone number."
  • B: "A provider uses a B-level attestation to indicate that it is the entry point of the call onto the IP network and can confirm the identity of the subscriber but not the telephone number."
  • C: "A provider uses a C-level attestation when it is the point of entry to the IP network for a call that originated elsewhere but has no relationship with the initiator of a call, such as when a provider is acting as an international gateway."

Pada level C, penyedia adalah pintu masuk, bukan asal panggilan, sehingga tidak dapat menjamin keduanya.

Itulah mengapa level bukan sebuah penilaian. Panggilan yang sepenuhnya sah bisa membawa B, karena penelepon menggunakan nomor yang tidak diterbitkan oleh penyedia dan tidak dapat dikonfirmasi oleh penyedia. Panggilan gangguan bisa membawa A, karena pihak yang melakukannya adalah pelanggan yang dikenal dan menggunakan nomornya sendiri. Huruf tersebut menjelaskan bukti yang dimiliki penyedia, bukan niat panggilan.

Siapa yang menentukan apakah saya mendapat A?

Penyedia yang menandatangani panggilan yang menentukan, menggunakan uji yang ditetapkannya sendiri.

Perintah FCC yang sama menyatakan bahwa setiap penyedia menentukan ujinya sendiri:

The method or process a provider uses to determine the legitimacy of the caller's use of a telephone number is specific to each provider. As a result, a provider's reputation is tied to the rigor of its evaluation process.

Jadi tidak ada standar eksternal yang bisa Anda penuhi untuk berhak mendapat A, dan tidak ada pengaturan yang memberikannya. Yang ada adalah penyedia yang menentukan apakah telah memastikan dua hal tentang Anda, dan menanggung risiko reputasi jika salah menilai. Versi praktis dari pertanyaan ini bukan "how do I get an A" melainkan "what has my provider established about me and about this number", dan jawaban untuk bagian kedua biasanya adalah verifikasi caller ID. Caller IDs membahas pendaftaran nomor dan pembuktian kendali atasnya, yaitu langkah yang mengubah apa yang dapat dinyatakan tentang Anda.

Nomor yang diterbitkan oleh penyedia yang membawa panggilan berada dalam posisi berbeda dari nomor yang Anda miliki di tempat lain dan gunakan melalui penyedia tersebut. Panduan caller ID milik Bird menyampaikan hal yang sama dari sisi sebaliknya. Panduan itu mencantumkan kerangka anti-spoofing sebagai salah satu alasan nomor yang Anda peroleh dari tempat lain mungkin tidak sampai ke ujung penerima.

Apakah mendapat A berarti panggilan saya pasti tersambung?

Tidak. Standar memperlakukan atestasi sebagai masukan untuk keputusan pihak lain.

Perintah FCC menyatakan kegunaan level tersebut:

The STIR/SHAKEN standards envision these various attestation levels as information that can facilitate traceback and to enhance the spam identification solutions that terminating voice service providers enable for their customers.

Ada dua konsekuensi. Traceback adalah penggunaan retrospektif: klaim SHAKEN kedua adalah origination identifier, yang ada agar investigator dapat menelusuri panggilan ilegal kembali ke titik masuknya di jaringan. Identifikasi spam adalah penggunaan langsung. Ini adalah sistem yang dijalankan oleh operator penerima dan mitra analitiknya. Sistem ini menggunakan atestasi sebagai satu sinyal di antara beberapa sinyal lainnya. Panggilan bertanda tangan level A tetap bisa diberi label, dan why is my call labeled spam likely membahas siapa yang menerapkan label dan upaya apa yang tersedia.

Mengapa atestasi tidak sampai?

Karena header tidak bertahan di setiap rute.

Perintah FCC menyatakan mekanismenya secara gamblang: "if a call is routed at any point over an interconnection point or intermediate provider network that does not support the transmission of SIP calls, the Identity header will be lost." Panggilan bisa ditandatangani dengan benar di asal dan sampai di ujung penerima tanpa membawa apa pun untuk diverifikasi, karena salah satu segmen di antaranya tidak mendukung SIP.

Perintah yang sama mencatat bahwa jangkauan penyedia penerima sama pentingnya dengan jangkauan Anda. Penyedia penerima hanya dapat bertindak berdasarkan informasi autentikasi jika dapat memverifikasinya. Jika header sudah hilang, tidak ada yang bisa ditindaklanjuti. Jadi panggilan tanpa tanda tangan di ujung penerima bukan bukti bahwa penyedia asal gagal menandatangani, dan jalur di antara keduanya bukan sesuatu yang sepenuhnya dikontrol oleh kedua ujung.

Atestasi adalah sinyal kuat jika bertahan dan diam jika tidak, jadi perlakukan atestasi sebagai satu bagian dari upaya agar panggilan dijawab, bukan sebagai mekanisme yang menjamin pengiriman.

Singkatnya

  1. Level menjelaskan pengetahuan penyedia, bukan kualitas panggilan.

    A, B, dan C mencatat seberapa banyak yang dapat dijamin oleh penyedia penandatangan: penelepon dan nomor, penelepon saja, atau keduanya tidak karena panggilan datang dari tempat lain.

  2. Standar untuk mendapatkan A ditentukan oleh penyedia itu sendiri.

    FCC menyatakan bahwa metode untuk menentukan apakah penelepon boleh menggunakan suatu nomor bersifat spesifik untuk setiap penyedia, dan mengikat reputasi penyedia tersebut pada seberapa ketat metodenya.

  3. Atestasi adalah masukan untuk label, bukan keputusan akhir.

    Standar memperlakukan level sebagai bahan untuk traceback dan untuk identifikasi spam yang dijalankan oleh operator penerima. Tidak ada bagian dari atestasi yang menentukan apa yang ditampilkan di layar ponsel.

  4. Tanda tangan bisa hilang sebelum sampai.

    Panggilan yang dirutekan melalui jaringan yang tidak mendukung SIP kehilangan header Identity, sehingga panggilan yang sudah ditandatangani bisa sampai di ujung penerima tanpa apa pun untuk diverifikasi.

Terapkan dalam praktik.

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini.

Dapatkan ringkasan implementasi

Bangun di jaringan yang sama.

Kunci API uji coba langsung tersedia untuk Anda. Akses produksi terbuka saat Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Ide Anda berikutnya. Siap terhubung.