← Blog
Guide · 10 menit baca · Updated April 2026

Cara Kerja Verifikasi SMS — Penjelasan Teknis

Cara Kerja Verifikasi SMS — Penjelasan Teknis

Langkah 1: Pembuatan OTP

Saat sebuah platform perlu memverifikasi nomor telepon Anda, platform tersebut akan membuat Kode Sandi Sekali Pakai (OTP). Inilah yang terjadi di sisi server:

  1. Pengguna mengirimkan nomor telepon — Backend platform menerima nomor dan memvalidasi formatnya (kode negara, jumlah digit, awalan yang valid).
  2. OTP dibuat — Kode acak kriptografis dibuat, biasanya 4-6 digit. Sebagian besar implementasi menggunakan HMAC-SHA1 atau HMAC-SHA256 dengan seed berbasis waktu atau berbasis penghitung (standar TOTP/HOTP dari RFC 6238/RFC 4226).
  3. OTP disimpan — Kode disimpan di sisi server dengan stempel waktu kedaluwarsa (biasanya 60-300 detik) dan dikaitkan dengan nomor telepon.
  4. Pembatasan laju diterapkan — Platform memeriksa berapa banyak OTP yang telah diminta untuk nomor ini baru-baru ini. Sebagian besar layanan mengizinkan 3-5 upaya per nomor per jam.
  5. Panggilan API SMS dipicu — Platform mengirimkan permintaan ke penyedia SMS-nya dengan nomor telepon dan konten pesan.

OTP itu sendiri biasanya hanya berupa angka acak. Platform tidak menyematkan OTP dalam bentuk ter-hash dalam pesan — OTP dikirim sebagai teks biasa di badan SMS. Ini adalah salah satu kelemahan keamanan mendasar dari verifikasi SMS.

Langkah 2: Ekosistem SMS A2P

A2P adalah singkatan dari Application-to-Person — pesan yang dikirim dari aplikasi perangkat lunak ke telepon manusia. Ini berbeda dari pesan P2P (Person-to-Person). Ekosistem A2P memiliki infrastrukturnya sendiri:

Agregator SMS

Sebagian besar platform tidak mengirim SMS langsung melalui operator. Sebaliknya, mereka menggunakan agregator SMS — perusahaan yang memelihara koneksi dengan ratusan operator di seluruh dunia. Agregator utama meliputi:

Ketika Instagram mengirimi Anda OTP, pesan tersebut kemungkinan besar melewati Twilio atau agregator serupa sebelum mencapai operator Anda. Agregator menangani perutean, negosiasi operator, dan konfirmasi pengiriman.

Perutean SMS

Agregator menentukan rute optimal untuk pengiriman SMS. Untuk nomor AS, ini mungkin berarti:

  1. Panggilan API Platform → Agregator (misalnya, Twilio)
  2. Agregator → Gerbang operator (misalnya, AT&T, T-Mobile)
  3. Gerbang operator → SMSC (Short Message Service Center)
  4. SMSC → MSC (Mobile Switching Center)
  5. MSC → Stasiun pangkalan → Telepon pengguna

Pesan internasional menambah kerumitan. OTP dari platform yang berbasis di AS ke nomor India mungkin melewati 2-3 operator perantara sebelum mencapai tujuan. Setiap lompatan menambah latensi dan sedikit kemungkinan kegagalan.

Ingin melihat ini beraksi?

Coba VerifySMS Gratis →

Dapatkan nomor virtual dan terima OTP secara real-time

Langkah 3: SS7 dan Lapisan Pensinyalan

SS7 (Signaling System No. 7) adalah rangkaian protokol yang mengontrol cara jaringan telepon berkomunikasi. Dikembangkan pada tahun 1970-an, SS7 masih menjadi tulang punggung telekomunikasi global. Saat SMS dikirim, SS7 menangani:

Masalah Keamanan SS7

SS7 dirancang pada masa ketika hanya operator telekomunikasi tepercaya yang memiliki akses jaringan. Saat ini, akses SS7 tersedia untuk ribuan entitas, menciptakan kerentanan keamanan:

Kerentanan inilah mengapa pakar keamanan merekomendasikan untuk beralih dari 2FA berbasis SMS ke otentikator berbasis aplikasi (TOTP) atau kunci perangkat keras (FIDO2). Namun, untuk verifikasi akun awal (membuktikan Anda memiliki akses ke nomor), SMS tetap menjadi standar industri karena jangkauannya paling luas.

Langkah 4: Cara Nomor Virtual Menerima SMS

Nomor telepon virtual bekerja dengan mengganti komponen SIM fisik dan radio dengan perangkat lunak. Inilah cara nomor virtual menerima OTP:

  1. Penetapan nomor — Penyedia nomor virtual menyewa blok nomor dari operator. Ini adalah nomor telepon asli dengan pendaftaran operator yang valid.
  2. Bank SIM atau SIM lunak — Penyedia mengoperasikan kartu SIM fisik dalam perangkat keras (bank SIM dengan ratusan atau ribuan SIM) atau menggunakan integrasi perangkat lunak tingkat operator untuk menerima pesan.
  3. SMS tiba di operator — Pesan OTP dikirimkan ke operator yang terkait dengan nomor virtual, sama seperti SMS lainnya.
  4. Pesan diteruskan — Bank SIM atau integrasi operator menangkap SMS masuk dan meneruskannya ke backend penyedia melalui API.
  5. Pengguna melihat kode — Dasbor atau API penyedia menampilkan SMS yang diterima kepada pengguna.

Wawasan kuncinya: dari sudut pandang platform pengirim, nomor virtual terlihat identik dengan telepon fisik. SMS mengikuti jalur perutean yang sama. Perbedaannya ada di mil terakhir — alih-alih ditampilkan di layar ponsel, pesan ditangkap oleh perangkat lunak.

Langkah 5: Verifikasi Sisi Platform

Setelah pengguna menerima OTP dan memasukkannya di platform, verifikasi sisi server terjadi:

  1. Perbandingan kode — Platform membandingkan kode yang dikirimkan dengan OTP yang disimpan.
  2. Pemeriksaan kedaluwarsa — Jika OTP telah kedaluwarsa (biasanya 60-300 detik), verifikasi gagal.
  3. Penghitungan upaya — Sebagian besar platform mengizinkan 3-5 upaya yang salah sebelum mengunci verifikasi.
  4. Klasifikasi nomor — Beberapa platform memeriksa nomor terhadap database nomor VoIP/virtual untuk menandai potensi penyalahgunaan.
  5. Berhasil atau gagal — Jika kode cocok dan belum kedaluwarsa, nomor telepon ditandai sebagai terverifikasi.

Cara Platform Mendeteksi Nomor Virtual

Beberapa platform mencoba memblokir nomor virtual. Metode yang mereka gunakan:

Metode DeteksiCara KerjaEfektivitas
Pencarian tipe nomorMenanyakan database operator untuk memeriksa apakah nomor tersebut adalah seluler, telepon rumah, atau VoIPSedang — banyak nomor virtual terdaftar sebagai seluler
Pemeriksaan database operatorMembandingkan nomor dengan rentang penyedia VoIP yang diketahuiSedang — berfungsi untuk penyedia besar, melewatkan yang lebih kecil
Pencarian HLRMenanyakan Home Location Register untuk detail kartu SIMTinggi untuk mendeteksi nomor hanya perangkat lunak, lebih rendah untuk nomor bank SIM
Analisis perilakuMelacak berapa banyak akun yang dibuat dengan nomor dari rentang yang samaTinggi seiring waktu, tetapi membutuhkan akumulasi data

Penyedia nomor virtual melawan deteksi ini dengan menggunakan nomor kelas operator yang terdaftar sebagai jalur seluler, memelihara kumpulan nomor yang beragam, dan sering mengganti nomor. Siklus penghindaran deteksi terus berlanjut.

Mengapa Verifikasi SMS Tetap Bertahan Meskipun Ada Kekurangannya

Verifikasi SMS memiliki kelemahan keamanan yang terkenal, namun tetap menjadi metode dominan. Alasannya praktis:

Industri perlahan-lahan bergerak menuju alternatif. Passkey (FIDO2), TOTP berbasis aplikasi, dan notifikasi push semakin diadopsi. Tetapi untuk verifikasi telepon awal — membuktikan pengguna mengontrol nomor telepon — SMS tetap menjadi standar.

Peran Nomor Virtual dalam Ekosistem Ini

Nomor virtual menempati ceruk khusus: mereka menyediakan akses tingkat nomor telepon tanpa memerlukan perangkat fisik. Ini berguna untuk skenario yang sah termasuk:

Dari sudut pandang teknis, nomor virtual berfungsi karena mereka mengeksploitasi fakta bahwa verifikasi SMS hanya membuktikan kontrol atas sebuah nomor — bukan bahwa nomor tersebut ada di telepon fisik di saku seseorang. Selama nomor tersebut valid dan dapat menerima pesan A2P, verifikasi akan berhasil.

Tingkat Lanjut: Optimalisasi Pengiriman OTP

Jika Anda seorang pengembang yang menerapkan verifikasi SMS, berikut adalah pertimbangan teknis untuk pengiriman yang andal:

Lihat verifikasi SMS dari sisi penerima

Coba VerifySMS Gratis →

150+ negara · Aktivasi instan · $0,10/nomor

>Artikel Terkait