SMS Doğrulama Nasıl Çalışır — Teknik Açıklama
Adım 1: OTP Üretimi
Bir platform telefon numaranızı doğrulamak istediğinde, Tek Kullanımlık Şifre (OTP) üretir. Sunucu tarafında olanlar şunlardır:
- Kullanıcı telefon numarasını gönderir — Platformun arka ucu numarayı alır ve formatını doğrular (ülke kodu, rakam sayısı, geçerli ön ek).
- OTP üretilir — Kriptografik olarak rastgele bir kod oluşturulur, genellikle 4-6 rakamlıdır. Çoğu uygulama, zaman tabanlı veya sayaç tabanlı bir tohumla (RFC 6238/RFC 4226'dan TOTP/HOTP standartları)
HMAC-SHA1veyaHMAC-SHA256kullanır. - OTP saklanır — Kod, bir son kullanma zaman damgasıyla (genellikle 60-300 saniye) sunucu tarafında kaydedilir ve telefon numarasıyla ilişkilendirilir.
- Hız sınırlaması uygulanır — Platform, bu numara için son zamanlarda kaç OTP istendiğini kontrol eder. Çoğu hizmet, saatte numara başına 3-5 denemeye izin verir.
- SMS API çağrısı tetiklenir — Platform, SMS sağlayıcısına telefon numarası ve mesaj içeriğiyle bir istek gönderir.
OTP'nin kendisi genellikle rastgele bir sayıdır. Platformlar OTP'yi mesajda karma biçimde gömmezler — SMS gövdesinde düz metin olarak gönderilir. Bu, SMS doğrulamasının temel güvenlik zayıflıklarından biridir.
Adım 2: A2P SMS Ekosistemi
A2P, Uygulamadan Kişiye anlamına gelir — bir yazılım uygulamasından bir insanın telefonuna gönderilen mesajlar. Bu, P2P (Kişiden Kişiye) mesajlaşmadan farklıdır. A2P ekosisteminin kendi altyapısı vardır:
SMS Toplayıcıları
Çoğu platform SMS'i doğrudan operatörler aracılığıyla göndermez. Bunun yerine, dünya çapında yüzlerce operatörle bağlantıları sürdüren şirketler olan SMS toplayıcılarını kullanırlar. Başlıca toplayıcılar şunlardır:
- Twilio — En büyük SMS API sağlayıcısı. Uber, Airbnb, Stripe ve binlerce diğer şirket tarafından kullanılır.
- Vonage (Nexmo) — Uluslararası SMS yönlendirme için popülerdir.
- Sinch — Kurumsal OTP teslimatında güçlüdür.
- MessageBird — Avrupa odaklı toplayıcı.
- Infobip — Gelişmekte olan pazarlarda önemli bir oyuncu.
Instagram size bir OTP gönderdiğinde, mesaj muhtemelen operatörünüze ulaşmadan önce Twilio veya benzeri bir toplayıcıdan geçer. Toplayıcı yönlendirme, operatör müzakereleri ve teslimat onayını yönetir.
SMS Yönlendirme
Toplayıcı, SMS'in teslimatı için en uygun rotayı belirler. Bir ABD numarası için bu şunları içerebilir:
- Platform API çağrısı → Toplayıcı (örn. Twilio)
- Toplayıcı → Operatör ağ geçidi (örn. AT&T, T-Mobile)
- Operatör ağ geçidi → SMSC (Kısa Mesaj Servis Merkezi)
- SMSC → MSC (Mobil Anahtarlama Merkezi)
- MSC → Baz istasyonu → Kullanıcının telefonu
Uluslararası mesajlar karmaşıklık katar. ABD merkezli bir platformdan Hindistan numarasına gönderilen bir OTP, hedefe ulaşmadan önce 2-3 ara operatörden geçebilir. Her adım gecikme ve küçük bir hata olasılığı ekler.
Bunu uygulamada görmek ister misiniz?
VerifySMS'i Ücretsiz Deneyin →Sanal numaralar alın ve OTP'leri gerçek zamanlı olarak alın
Adım 3: SS7 ve Sinyal Katmanı
SS7 (Sinyal Sistemi No. 7), telefon ağlarının nasıl iletişim kurduğunu kontrol eden protokol paketidir. 1970'lerde geliştirilmiş olup hala küresel telefonculuğun temelini oluşturmaktadır. Bir SMS gönderildiğinde, SS7 şunları yönetir:
- Numara sorgulama (HLR sorgusu) — Gönderen operatör, hedef numaranın hangi operatöre ve ağa ait olduğunu belirlemek için Ev Sahibi Konum Kaydını sorgular.
- Mesaj yönlendirme — SS7 sinyalleri, mesajın ağ boyunca aldığı yolu belirler.
- Teslimat onayı — Alıcı SMSC, SS7 sinyalleri aracılığıyla bir teslimat makbuzu gönderir.
SS7 Güvenlik Sorunları
SS7, yalnızca güvenilir telekom operatörlerinin ağ erişimine sahip olduğu bir dönemde tasarlandı. Günümüzde SS7 erişimi binlerce kuruluşa açıktır ve bu da güvenlik açıklarına yol açmaktadır:
- SMS ele geçirme — SS7 erişimine sahip bir saldırgan, SMS mesajlarını kendi cihazına yönlendirebilir. Bu, bankacılık 2FA'sına yönelik gerçek dünya saldırılarında gösterilmiştir.
- Konum takibi — SS7 sorguları bir telefonun fiziksel konumunu ortaya çıkarabilir.
- Numara taklidi — SS7, farklı bir numaradan geliyormuş gibi görünen mesajlar göndermeye olanak tanır.
Bu güvenlik açıkları nedeniyle güvenlik uzmanları, SMS tabanlı 2FA'dan uygulama tabanlı kimlik doğrulayıcılara (TOTP) veya donanım anahtarlarına (FIDO2) geçilmesini önermektedir. Ancak, ilk hesap doğrulaması (bir numaraya erişiminiz olduğunu kanıtlama) için, en geniş erişime sahip olduğu için SMS endüstri standardı olmaya devam etmektedir.
Adım 4: Sanal Numaralar SMS'i Nasıl Alır
Sanal telefon numaraları, fiziksel SIM ve radyo bileşenlerini yazılımla değiştirerek çalışır. Sanal bir numara bir OTP'yi şu şekilde alır:
- Numara ataması — Sanal numara sağlayıcısı, operatörlerden numara blokları kiralar. Bunlar, geçerli operatör kayıtlarına sahip gerçek telefon numaralarıdır.
- SIM bankası veya yazılım SIM — Sağlayıcı, donanımda fiziksel SIM kartları (yüzlerce veya binlerce SIM içeren SIM bankaları) çalıştırır veya mesaj almak için operatör düzeyinde yazılım entegrasyonları kullanır.
- SMS operatöre ulaşır — OTP mesajı, diğer tüm SMS'ler gibi sanal numarayla ilişkili operatöre teslim edilir.
- Mesaj iletilir — SIM bankası veya operatör entegrasyonu gelen SMS'i yakalar ve API aracılığıyla sağlayıcının arka ucuna iletir.
- Kullanıcı kodu görür — Sağlayıcının kontrol paneli veya API'si, alınan SMS'i kullanıcıya görüntüler.
Anahtar içgörü: Gönderen platformun bakış açısından, sanal bir numara fiziksel bir telefondan ayırt edilemez. SMS aynı yönlendirme yolunu izler. Fark, son milimetrededir — mesaj bir telefon ekranında görüntülenmek yerine yazılım tarafından yakalanır.
Adım 5: Platform Tarafı Doğrulama
Kullanıcı OTP'yi aldıktan ve platforma girdikten sonra, sunucu tarafı doğrulama gerçekleşir:
- Kod karşılaştırması — Platform, gönderilen kodu saklanan OTP ile karşılaştırır.
- Son kullanma kontrolü — OTP süresi dolmuşsa (genellikle 60-300 saniye), doğrulama başarısız olur.
- Deneme sayımı — Çoğu platform, doğrulamayı kilitlemeden önce 3-5 yanlış denemeye izin verir.
- Numara sınıflandırması — Bazı platformlar, potansiyel kötüye kullanımı işaretlemek için numarayı VoIP/sanal numara veritabanlarına karşı kontrol eder.
- Başarı veya başarısızlık — Kod eşleşirse ve süresi dolmamışsa, telefon numarası doğrulanmış olarak işaretlenir.
Platformlar Sanal Numaraları Nasıl Tespit Eder
Bazı platformlar sanal numaraları engellemeye çalışır. Kullandıkları yöntemler şunlardır:
| Tespit Yöntemi | Nasıl Çalışır | Etkililik |
|---|---|---|
| Numara türü sorgusu | Numaranın mobil, sabit hat veya VoIP olup olmadığını kontrol etmek için operatör veritabanlarını sorgular | Orta — birçok sanal numara mobil olarak kaydedilir |
| Operatör veritabanı kontrolü | Bilinen VoIP sağlayıcı aralıklarına karşı numarayı karşılaştırır | Orta — büyük sağlayıcılar için çalışır, küçükleri kaçırır |
| HLR sorgusu | SIM kart ayrıntıları için Ev Sahibi Konum Kaydını sorgular | Yalnızca yazılım tabanlı numaraları tespit etmek için yüksek, SIM bankası numaraları için daha düşük |
| Davranışsal analiz | Aynı aralıktaki numaralardan kaç hesap oluşturulduğunu izler | Zamanla yüksek, ancak veri birikimi gerektirir |
Sanal numara sağlayıcıları, mobil hatlar olarak kaydedilmiş operatör sınıfı numaralar kullanarak, çeşitli numara havuzları sürdürerek ve numaraları sık sık değiştirerek bu tespitlere karşı koyarlar. Tespit-kaçınma döngüsü devam etmektedir.
SMS Doğrulamasının Kusurlarına Rağmen Devam Etmesinin Nedenleri
SMS doğrulaması iyi bilinen güvenlik zayıflıklarına sahiptir, ancak baskın yöntem olmaya devam etmektedir. Nedenleri pratiktir:
- Evrensel erişim — Her telefon SMS alabilir. Uygulama yüklemeye gerek yok. Bu, özellikli telefonlardaki ve eski cihazlardaki milyarlarca kullanıcıyı kapsar.
- Kullanıcı aşinalığı — Herkes "gönderdiğimiz kodu girin" anlayışına sahiptir. Açıklamaya gerek yok.
- Düşük uygulama maliyeti — SMS API'leri ucuzdur. Twilio, ABD'de SMS başına yaklaşık 0,0075 ABD doları ücret alır. Ölçekte, bu doğrulama başına kuruşlardır.
- Kabul edilebilir güvenlik ödünleşmesi — Çoğu kullanım durumu için (sosyal medya kaydı, yemek teslimatı hesapları), SMS, donanım güvenlik anahtarları gerektirmeden otomatik kötüye kullanımı caydırmak için yeterli sürtünme sağlar.
Sektör yavaş yavaş alternatiflere yöneliyor. Passkey'ler (FIDO2), uygulama tabanlı TOTP'ler ve anlık bildirimler benimseniyor. Ancak ilk telefon doğrulaması — bir kullanıcının bir telefon numarasına sahip olduğunu kanıtlama — için SMS standart olmaya devam etmektedir.
Bu Ekosistemde Sanal Numaraların Rolü
Sanal numaralar belirli bir niş kaplar: fiziksel bir cihaza ihtiyaç duymadan telefon numarası düzeyinde erişim sağlarlar. Bu, aşağıdakiler de dahil olmak üzere meşru senaryolar için kullanışlıdır:
- Gizlilik koruması — Gerçek numaranızı verilerinizi satabilecek platformlarda bulundurmamak. Gizliliğin neden önemli olduğunu görmek için VerifySMS vs Ücretsiz SMS Siteleri — Neden Ücretli Daha İyi bakın.
- Çoklu hesap yönetimi — Aynı platformda birden fazla hesap çalıştıran işletmelerin her biri için benzersiz numaralara ihtiyacı vardır.
- Uluslararası erişim — Yerel SIM kartlara sahip olmadan ABD'de Sanal Telefon Numaraları — Non-VoIP Numaralar platformlarda hesapları doğrulamak.
- Geliştirme ve test — OTP akışlarını test eden QA ekiplerinin fiziksel cihazları yönetmeden birçok numaraya ihtiyacı vardır.
Teknik açıdan bakıldığında, sanal numaralar, SMS doğrulamasının yalnızca bir numaraya sahip olunduğunu kanıtlaması — numaranın birinin cebindeki fiziksel bir telefonda olduğunu değil — gerçeğinden yararlandığı için çalışır. Numara geçerli olduğu ve A2P mesajları alabildiği sürece doğrulama başarılı olur.
Gelişmiş: OTP Teslimat Optimizasyonu
SMS doğrulaması uygulayan bir geliştiriciyseniz, güvenilir teslimat için teknik hususlar şunlardır:
- Gönderen kimliklerini akıllıca kullanın — Alfanümerik gönderen kimliklerini destekleyen ülkelerde marka adınızı kullanın. ABD'de, en iyi teslimat oranları için özel bir kısa kod veya 10DLC (10 Haneli Uzun Kod) kullanın.
- Yedek yönlendirme uygulayın — Bir rota başarısız olursa mesajın başka bir rota üzerinden yeniden denenebilmesi için birden fazla SMS toplayıcısı kullanın.
- Mesajları kısa tutun — OTP mesajları 160 karakterin (bir SMS segmenti) altında olmalıdır. Çok segmentli mesajların hata oranları daha yüksektir.
- Uygun zaman aşımları ayarlayın — 120 saniye idealdir. Çok kısa olması yanlış başarısızlıklara neden olur; çok uzun olması ele geçirilen kodların kullanılmasını sağlar.
- Teslimat makbuzlarını kaydedin — Mesajların teslim edilip edilmediğini, beklediğini veya başarısız olduğunu izleyin. Bu veriler operatöre özgü sorunları belirlemeye yardımcı olur.
SMS doğrulamayı alıcı taraftan görün
VerifySMS'i Ücretsiz Deneyin →150+ ülke · Anında aktivasyon · 0,10 $/numara
