Doğrulama katmanı, savunma katmanıdır.
OTP altyapısı saldırıya en açık uçtur. KolayOTP'de kod saklama, hız sınırı, idempotency ve fraud sinyalleri varsayılan olarak açıktır — yapılandırma gerektirmez.
Kodlar açık metin tutulmaz
Üretilen kod yalnızca HMAC-SHA256 özeti olarak saklanır; tenant başına ayrı secret kullanılır. Doğrulama sabit zamanlı karşılaştırma ile yapılır ve TTL sonunda kayıt silinir.
hmac(code, tenant_secret)
Redis fail-closed
Hız sınırı sayaçları Redis'te tutulur. Redis erişilemezse sistem doğrulamayı reddeder ve olayı fraud log'una yazar — sessizce açılmaz.
503 rate_limiter_unavailable
Idempotency
idempotency-key header'ı 24 saat boyunca saklanır. Aynı anahtarla gelen tekrar istekleri yeni mesaj üretmez, ilk yanıtı döner.
idempotency-key: <uuid>
Deneme ve TTL
Varsayılan 5 deneme ve 10 dakika ömür. Yanlış denemeler üstel gecikmeyle cezalandırılır, limit aşılınca oturum kapanır.
attempts_left: 5 · ttl: 600s
Fraud olayları
Alıcı, IP, tenant ve cihaz parmak izi bazında anomali sinyalleri üretilir; webhook'una gerçek zamanlı akar.
event: otp.fraud_suspected
Çok kiracılı izolasyon
Her tenant kendi şema alanı, anahtar seti ve kotasıyla çalışır. Anahtar sızıntısında tek komutla iptal ve rotasyon.
POST /keys/{id}/revoke
Varsayılan limitler
| Kural | Limit | Pencere |
|---|---|---|
| Alıcı başına gönderim | 3 | 10 dakika |
| Alıcı başına doğrulama denemesi | 5 | oturum |
| IP başına gönderim | 30 | 1 saat |
| Tenant başına istek | 600 | 1 dakika |
| Resend cooldown | 60 sn | oturum |
Veri ve uyum
Veri konumuBasefyio Postgres · AB bölgesi
Saklama süresiTeslim logları 90 gün, kodlar TTL
ŞifrelemeTLS 1.3 aktarımda, AES-256 diskte
ErişimRol bazlı, panel üzerinden denetim izi
KVKKAydınlatma metni ve DPA panelden indirilebilir
YedeklemeGünlük anlık görüntü, 30 gün geri dönüş
Güvenlik açığı bildirimi: guvenlik@kolayotp.com — 72 saat içinde yanıt veriyoruz.
5 dakikada ilk OTP'ni gönder.
Kredi kartı gerekmez. Sandbox anahtarıyla başla, hazır olduğunda canlıya geç.