Skip to main content

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 0 olamaz.
  • 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:

ParametreAçıklamaVarsayılan
TCKN_ENABLEDTCKN doğrulamayı etkinleştirfalse
TCKN_REQUIREDZorunlu mu, isteğe bağlı mıtrue
TCKN_KPS_ENABLEDMERNİS/KPS gerçek zamanlı sorgufalse
KPS_API_ENDPOINTKPS servis URL'si
KPS_API_USERNAMEKPS kullanıcı adı
KPS_API_PASSWORDKPS şifresi
KPS_FALLBACK_ALGO_ONLYKPS unavailable → algoritma doğrulamasıfalse
TCKN_ALLOW_PASSPORTYabancı pasaport numarasına izin verfalse

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:

AlanDeğer
eventtckn_verified
tckn_hashSHA-256 hash (maskelenmiş log'da görünmez)
kps_resultverified / failed / skipped
macCihaz MAC adresi
ipAtanan IP
timestampISO 8601

Sorun Giderme

Geçersiz TCKN Hatası

Kullanıcı doğru TCKN'yi girdiğini düşünüyorsa:

  1. 11 haneli olduğunu ve baştaki sıfırın bulunmadığını kontrol edin.
  2. Algoritma hesaplamasını BTK doğrulama aracıyla çapraz kontrol edin.

KPS Bağlantı Hatası

kps_error: connection timeout
  1. KPS_API_ENDPOINT adresinin sunucudan erişilebilir olduğunu doğrulayın.
  2. KPS kimlik bilgilerinin güncel olduğunu kontrol edin.
  3. Geçici kesinti için KPS_FALLBACK_ALGO_ONLY=true ayarını etkinleştirin.