2FA (İki Faktörlü Kimlik Doğrulama)
İki Faktörlü Kimlik Doğrulama (2FA), kullanıcıların bir hesaba veya sisteme erişmeden önce kimliklerini doğrulamak için iki farklı tanımlama biçimi sağlamasını gerektiren bir güvenlik sürecidir.
İki Faktörlü Kimlik Doğrulama (2FA), bir kullanıcının kimliğini doğrulamak için iki farklı kimlik doğrulama faktörü gerektirerek güvenliği artıran çok faktörlü bir kimlik doğrulama (MFA) yöntemidir. Bu faktörler genellikle üç türe ayrılır: kullanıcının bildiği bir şey (örneğin, şifre, PIN), kullanıcının sahip olduğu bir şey (örneğin, fiziksel bir belirteç, akıllı telefon, akıllı kart) ve kullanıcının kendisi olduğu bir şey (örneğin, parmak izi, yüz taraması). Yaygın bir uygulama, bir şifreyi (bilgi faktörü) bir kimlik doğrulama uygulaması tarafından oluşturulan veya SMS ile gönderilen tek kullanımlık bir şifre (OTP) ile (sahiplik faktörü) birleştirmeyi içerir. Süreç, kullanıcının öncelikle şifresi gibi birincil kimlik bilgilerini girmesiyle başlar. Birinci faktörün başarılı bir şekilde doğrulanmasının ardından sistem ikinci faktörü ister. İkinci faktörün geçerliliği daha sonra önceden kaydedilmiş bir değere veya zamana dayalı bir algoritmaya karşı kontrol edilir. Her iki faktör de başarıyla kimliği doğrulandığında erişim izni verilir. 2FA'nın temel faydası, kimlik avı (phishing), kimlik bilgisi doldurma (credential stuffing) ve kaba kuvvet saldırıları gibi yaygın saldırı vektörlerine karşı dayanıklılığıdır, çünkü tek bir faktörün ele geçirilmesi yetkisiz erişim sağlamak için yeterli değildir. Ancak, dezavantajları arasında artan kullanıcı sürtünmesi, ikinci faktörlerin kaybolması veya çalınması olasılığı ve ikinci faktörün teslim mekanizmasının (örneğin, SMS'in engellenmesi) güvenliğine bağlılık yer alır. Gelişmiş uygulamalar, sistemin bağlama, konuma, cihaza veya günün saatine göre gereken faktörlerin sayısını veya türünü dinamik olarak ayarladığı risk tabanlı kimlik doğrulamayı içerebilir.
graph LR
Center["2FA (İki Faktörlü Kimlik Doğrulama)"]:::main
Rel_asymmetric_encryption["asymmetric-encryption"]:::related -.-> Center
click Rel_asymmetric_encryption "/terms/asymmetric-encryption"
Rel_mfa_multi_factor_authentication["mfa-multi-factor-authentication"]:::related -.-> Center
click Rel_mfa_multi_factor_authentication "/terms/mfa-multi-factor-authentication"
Rel_multi_factor_authentication_mfa["multi-factor-authentication-mfa"]:::related -.-> Center
click Rel_multi_factor_authentication_mfa "/terms/multi-factor-authentication-mfa"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
Özel bir hazine sandığını açmak için iki anahtara ihtiyacınız olması gibi: bildiğiniz bir anahtar (gizli bir kod gibi) ve sahip olduğunuz başka bir anahtar (özel bir oyuncak gibi).
🤓 Expert Deep Dive
İki Faktörlü Kimlik Doğrulama (2FA), birincil kimlik bilgileri (genellikle bir şifre veya parol) üzerine ek bir doğrulama mekanizması katmanlayarak güvenliği temelden artırır. Bu süreç, çok faktörlü kimlik doğrulama (MFA) ilkesine uyar ve özellikle aşağıdaki kategorilerden iki farklı faktör gerektirir:
- Bildiginiz bir sey: Sifreler, PIN'ler, güvenlik sorularının cevapları.
- Sahip oldugunuz bir sey: Fiziksel belirteçler (örneğin, YubiKey, RSA SecurID), kimlik doğrulama uygulamalarını çalıştıran akıllı telefonlar (örneğin, Google Authenticator, Authy) veya SMS tabanlı OTP'ler için SIM kartlar.
- Oldugunuz bir sey: Parmak izleri, yüz taramaları veya iris desenleri gibi biyometrik veriler.
Yaygın bir uygulama, RFC 6238 tarafından standartlaştırılmış Zamana Dayalı Tek Kullanımlık Şifreleri (TOTP) içerir. TOTP algoritmaları, paylaşılan bir gizli anahtara (ilk kurulum sırasında sağlanan) ve genellikle NTP aracılığıyla senkronize edilen mevcut zamana dayanarak her 30-60 saniyede bir yeni bir kod üretir. Sunucu tarafı doğrulama, belirli bir zaman penceresi için beklenen OTP'leri yeniden hesaplamayı ve kullanıcı tarafından sağlanan kodla karşılaştırmayı içerir.
Başka bir yaygın yöntem, her kullanımdan sonra artan bir sayaca dayalı kodlar üreten RFC 4226'da tanımlanan HMAC Tabanlı Tek Kullanımlık Şifrelerdir (HOTP). Sunucu ve istemci senkronize edilmiş sayaçları korumalıdır.
Daha gelişmiş uygulamalar, genel/özel anahtar kriptografisinden yararlanan Universal 2nd Factor (U2F) ve halefi FIDO2'yi kullanır. Kayıt sırasında, güvenlik anahtarında benzersiz bir özel/genel anahtar çifti oluşturulur ve genel anahtar hizmetle kaydedilir. Kimlik doğrulama, sunucunun FIDO cihazının özel anahtarıyla imzaladığı bir meydan okuma göndermesini içerir, bu da sunucu tarafından daha sonra kaydedilen genel anahtar kullanılarak doğrulanır ve anahtarın cihazdan asla ayrılmaması ve web sitesinin belirli kökenine (alan adına) bağlı olması nedeniyle kimlik avı saldırılarına karşı güçlü bir direnç sağlar.