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:
- Pengguna mengirimkan nomor telepon — Backend platform menerima nomor dan memvalidasi formatnya (kode negara, jumlah digit, awalan yang valid).
- OTP dibuat — Kode acak kriptografis dibuat, biasanya 4-6 digit. Sebagian besar implementasi menggunakan
HMAC-SHA1atauHMAC-SHA256dengan seed berbasis waktu atau berbasis penghitung (standar TOTP/HOTP dari RFC 6238/RFC 4226). - OTP disimpan — Kode disimpan di sisi server dengan stempel waktu kedaluwarsa (biasanya 60-300 detik) dan dikaitkan dengan nomor telepon.
- 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.
- 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:
- Twilio — Penyedia API SMS terbesar. Digunakan oleh Uber, Airbnb, Stripe, dan ribuan lainnya.
- Vonage (Nexmo) — Populer untuk perutean SMS internasional.
- Sinch — Kuat dalam pengiriman OTP perusahaan.
- MessageBird — Agregator yang berfokus di Eropa.
- Infobip — Pemain besar di pasar negara berkembang.
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:
- Panggilan API Platform → Agregator (misalnya, Twilio)
- Agregator → Gerbang operator (misalnya, AT&T, T-Mobile)
- Gerbang operator → SMSC (Short Message Service Center)
- SMSC → MSC (Mobile Switching Center)
- 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:
- Pencarian nomor (kueri HLR) — Operator pengirim menanyakan Home Location Register untuk menentukan ke operator dan jaringan mana nomor tujuan tersebut berada.
- Perutean pesan — Sinyal SS7 menentukan jalur yang dilalui pesan dalam jaringan.
- Konfirmasi pengiriman — SMSC penerima mengirimkan tanda terima pengiriman kembali melalui pensinyalan SS7.
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:
- Penyadapan SMS — Penyerang dengan akses SS7 dapat mengalihkan pesan SMS ke perangkat mereka sendiri. Hal ini telah didemonstrasikan dalam serangan dunia nyata pada 2FA perbankan.
- Pelacakan lokasi — Kueri SS7 dapat mengungkapkan lokasi fisik telepon.
- Pemalsuan nomor — SS7 memungkinkan pengiriman pesan yang tampak berasal dari nomor yang berbeda.
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:
- Penetapan nomor — Penyedia nomor virtual menyewa blok nomor dari operator. Ini adalah nomor telepon asli dengan pendaftaran operator yang valid.
- 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.
- SMS tiba di operator — Pesan OTP dikirimkan ke operator yang terkait dengan nomor virtual, sama seperti SMS lainnya.
- Pesan diteruskan — Bank SIM atau integrasi operator menangkap SMS masuk dan meneruskannya ke backend penyedia melalui API.
- 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:
- Perbandingan kode — Platform membandingkan kode yang dikirimkan dengan OTP yang disimpan.
- Pemeriksaan kedaluwarsa — Jika OTP telah kedaluwarsa (biasanya 60-300 detik), verifikasi gagal.
- Penghitungan upaya — Sebagian besar platform mengizinkan 3-5 upaya yang salah sebelum mengunci verifikasi.
- Klasifikasi nomor — Beberapa platform memeriksa nomor terhadap database nomor VoIP/virtual untuk menandai potensi penyalahgunaan.
- 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 Deteksi | Cara Kerja | Efektivitas |
|---|---|---|
| Pencarian tipe nomor | Menanyakan database operator untuk memeriksa apakah nomor tersebut adalah seluler, telepon rumah, atau VoIP | Sedang — banyak nomor virtual terdaftar sebagai seluler |
| Pemeriksaan database operator | Membandingkan nomor dengan rentang penyedia VoIP yang diketahui | Sedang — berfungsi untuk penyedia besar, melewatkan yang lebih kecil |
| Pencarian HLR | Menanyakan Home Location Register untuk detail kartu SIM | Tinggi untuk mendeteksi nomor hanya perangkat lunak, lebih rendah untuk nomor bank SIM |
| Analisis perilaku | Melacak berapa banyak akun yang dibuat dengan nomor dari rentang yang sama | Tinggi 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:
- Jangkauan universal — Setiap telepon dapat menerima SMS. Tidak perlu instalasi aplikasi. Ini mencakup miliaran pengguna di ponsel fitur dan perangkat lama.
- Keakraban pengguna — Semua orang mengerti "masukkan kode yang kami kirimkan." Tidak perlu penjelasan.
- Biaya implementasi rendah — API SMS murah. Twilio mengenakan biaya sekitar $0,0075 per SMS di AS. Dalam skala besar, ini hanya beberapa sen per verifikasi.
- Pertukaran keamanan yang dapat diterima — Untuk sebagian besar kasus penggunaan (pendaftaran media sosial, akun pengiriman makanan), SMS memberikan gesekan yang cukup untuk mencegah penyalahgunaan otomatis tanpa memerlukan kunci keamanan perangkat keras.
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:
- Perlindungan privasi — Menjaga nomor asli Anda dari platform yang mungkin menjual data Anda. Lihat VerifySMS vs Situs SMS Gratis (receive-smss.com) — Mengapa Berbayar Lebih Baik untuk mengapa privasi penting di sini.
- Manajemen multi-akun — Bisnis yang mengoperasikan beberapa akun di platform yang sama memerlukan nomor unik untuk masing-masing.
- Akses internasional — Memverifikasi akun di platform di Nomor Telepon Virtual di AS — Nomor Non-VoIP tanpa memiliki kartu SIM lokal.
- Pengembangan dan pengujian — Tim QA yang menguji alur OTP memerlukan banyak nomor tanpa mengelola perangkat fisik.
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:
- Gunakan ID pengirim dengan bijak — Di negara yang mendukung ID pengirim alfanumerik, gunakan nama merek Anda. Di AS, gunakan kode pendek khusus atau 10DLC (10-Digit Long Code) untuk tingkat pengiriman terbaik.
- Implementasikan perutean fallback — Gunakan beberapa agregator SMS sehingga jika satu rute gagal, pesan akan dicoba lagi melalui rute lain.
- Jaga agar pesan tetap singkat — Pesan OTP harus di bawah 160 karakter (satu segmen SMS). Pesan multi-segmen memiliki tingkat kegagalan yang lebih tinggi.
- Atur batas waktu yang sesuai — 120 detik adalah titik optimal. Terlalu singkat menyebabkan kegagalan palsu; terlalu lama memungkinkan kode yang disadap digunakan.
- Catat tanda terima pengiriman — Lacak apakah pesan terkirim, tertunda, atau gagal. Data ini membantu mengidentifikasi masalah khusus operator.
Lihat verifikasi SMS dari sisi penerima
Coba VerifySMS Gratis →150+ negara · Aktivasi instan · $0,10/nomor
Artikel lainnya dalam bahasa Indonesia
- Layanan Verifikasi SMS Terbaik di 2026 — Perbandingan Mega
- Aplikasi Nomor Telepon Virtual Terbaik untuk Verifikasi SMS
- Aplikasi Nomor Telepon Virtual Terbaik untuk Verifikasi SMS
- Negara Terbaik untuk Nomor Telepon Virtual Murah
- VerifySMS vs 5SIM — Layanan Verifikasi SMS Mana yang Lebih Baik?
- Alternatif SMS-Activate Terbaik 2026 — Panduan Lengkap
- Burner Phone vs Nomor Virtual — Apa Bedanya?
