TC Kimlik Doğrulama
5651 sayılı Kanun kapsamında halka açık internet erişim noktalarında kullanıcı kimliğinin tespiti yasal bir zorunluluktur. AnchorSpot, TCKN (T.C. Kimlik Numarası) doğrulamasını captive portal akışına entegre ederek bu gerekliliği yerine getirir. İsteğe bağlı olarak MERNİS/KPS üzerinden gerçek zamanlı devlet kaydı sorgusu da yapılabilir.
Yasal Dayanak
5651 Sayılı Kanun, Madde 7 — Toplu kullanım sağlayıcıları (internet kafe, otel, AVM vb.) erişim hizmetini yalnızca kimliği tespit edilmiş kullanıcılara sunmakla yükümlüdür. Bu yükümlülüğün yerine getirilmemesi idari para cezasına neden olabilir.
:::info BTK Uyumluluğu AnchorSpot'un TCKN doğrulama modülü, Bilgi Teknolojileri ve İletişim Kurumu (BTK) tarafından yayımlanan teknik kılavuz gereksinimlerini karşılayacak biçimde tasarlanmıştır. :::
TCKN Algoritma Doğrulaması
TCKN'nin gerçek bir devlet sorgusuna gerek kalmaksızın matematiksel olarak geçerli olup olmadığı kontrol edilir. Geçerli bir TCKN:
- 11 haneden oluşur.
- İlk hanesi
0olamaz. - Son iki hane belirli bir checksum algoritmasıyla hesaplanır.
d10 = (7 * (d1 + d3 + d5 + d7 + d9) - (d2 + d4 + d6 + d8)) mod 10
d11 = (d1 + d2 + ... + d10) mod 10
Algoritma doğrulaması, geçersiz girişlerin devlet servislerine iletilmesini önler ve sistem yükünü azaltır.
Akış
Temel Akış (Algoritma Doğrulaması)
Misafir → TCKN girer → Checksum doğrulanır → Oturuma bağlanır → İnternet erişimi
curl -X POST https://<portal-host>/api/v1/hotspot-portal/tckn/verify \
-H "Content-Type: application/json" \
-d '{
"tckn": "12345678901",
"mac": "aa:bb:cc:dd:ee:ff",
"ssid": "Misafir-WiFi"
}'
Başarılı yanıt:
{
"status": "authorized",
"session_id": "sess_tckn_8c2a",
"tckn_valid": true,
"kps_verified": false
}
Gelişmiş Akış (MERNİS/KPS Gerçek Zamanlı Doğrulama)
KPS doğrulaması etkinleştirilmişse ek kişisel bilgi de istenir:
curl -X POST https://<portal-host>/api/v1/hotspot-portal/tckn/verify \
-H "Content-Type: application/json" \
-d '{
"tckn": "12345678901",
"birth_year": 1985,
"mac": "aa:bb:cc:dd:ee:ff",
"ssid": "Misafir-WiFi"
}'
AnchorSpot bu bilgileri KPS servisi ile sorgular. Doğrulanmış yanıt:
{
"status": "authorized",
"session_id": "sess_tckn_8c2a",
"tckn_valid": true,
"kps_verified": true
}
:::warning KPS Servis Bağımlılığı
KPS gerçek zamanlı sorgu aktifken servis geçici olarak erişilemez olursa misafir bağlanamaz. KPS_FALLBACK_ALGO_ONLY=true ayarı ile KPS devre dışıyken algoritma doğrulamasına geri düşmesi sağlanabilir.
:::
KVKK — Kişisel Veri Koruma
:::info Veri Maskeleme
TCKN, denetim kayıtlarında ve günlüklerde maskelenerek saklanır. Örneğin 12345678901 değeri loglarda 1234****901 olarak görünür. Ham TCKN yalnızca aktif oturum süresince şifreli bellekte tutulur; oturum kapandıktan sonra tek yönlü hash (SHA-256 + salt) olarak arşivlenir.
:::
KVKK kapsamındaki saklama ve imha süreleri Ayarlar → Uyumluluk → Veri Saklama bölümünden yapılandırılır.
Konfigürasyon
Ayarlar → Kimlik Doğrulama → TCKN bölümünden:
| Parametre | Açıklama | Varsayılan |
|---|---|---|
TCKN_ENABLED | TCKN doğrulamayı etkinleştir | false |
TCKN_REQUIRED | Zorunlu mu, isteğe bağlı mı | true |
TCKN_KPS_ENABLED | MERNİS/KPS gerçek zamanlı sorgu | false |
KPS_API_ENDPOINT | KPS servis URL'si | — |
KPS_API_USERNAME | KPS kullanıcı adı | — |
KPS_API_PASSWORD | KPS şifresi | — |
KPS_FALLBACK_ALGO_ONLY | KPS unavailable → algoritma doğrulaması | false |
TCKN_ALLOW_PASSPORT | Yabancı pasaport numarasına izin ver | false |
SSID bazında etkinleştirme için Ağlar → [SSID] → Kimlik Doğrulama Yöntemleri → TCKN seçeneği kullanılır.
Yabancı Misafir Desteği
TCKN_ALLOW_PASSPORT=true ayarı ile Türk vatandaşı olmayan misafirler pasaport numaralarıyla kimlik doğrulaması yapabilir. Portal, TCKN alanına P öneki eklendiğinde pasaport moduna geçer:
P → AA1234567 (pasaport numarası)
Pasaport numaraları yalnızca format kontrolüne tabi tutulur; devlet sorgusu yapılmaz.
:::tip Karma Ortamlar Hem TCKN hem de pasaport seçeneğinin açık olduğu bir yapıda portal, "TC Kimlik No / Pasaport No" şeklinde ikili giriş alanı gösterir. Misafir hangisine sahipse onu kullanabilir. :::
Diğer Doğrulama Yöntemleriyle Birlikte Kullanım
TCKN doğrulaması, diğer kimlik doğrulama yöntemlerine ek bir katman olarak kullanılabilir:
- SMS OTP + TCKN — Telefon numarası doğrulandıktan sonra TCKN de istenir.
- Sponsor + TCKN — Sponsor onayı verilirken TCKN kaydı alınır.
- Yalnızca TCKN — Tek başına kimlik doğrulama yöntemi olarak kullanılır.
Denetim Kaydı
Her TCKN doğrulama olayı denetim tablosuna işlenir:
| Alan | Değer |
|---|---|
event | tckn_verified |
tckn_hash | SHA-256 hash (maskelenmiş log'da görünmez) |
kps_result | verified / failed / skipped |
mac | Cihaz MAC adresi |
ip | Atanan IP |
timestamp | ISO 8601 |
Sorun Giderme
Geçersiz TCKN Hatası
Kullanıcı doğru TCKN'yi girdiğini düşünüyorsa:
- 11 haneli olduğunu ve baştaki sıfırın bulunmadığını kontrol edin.
- Algoritma hesaplamasını BTK doğrulama aracıyla çapraz kontrol edin.
KPS Bağlantı Hatası
kps_error: connection timeout
KPS_API_ENDPOINTadresinin sunucudan erişilebilir olduğunu doğrulayın.- KPS kimlik bilgilerinin güncel olduğunu kontrol edin.
- Geçici kesinti için
KPS_FALLBACK_ALGO_ONLY=trueayarını etkinleştirin.