ASP.NET Core'da çok faktörlü kimlik doğrulaması
Önceki ünitede, ASP.NET Çekirdek Kimliği özelleştirip genişlettiniz. Bu ünitede, çok faktörlü kimlik doğrulaması ve Kimlik'te nasıl uygulandığı hakkında bilgi ediniyorsunuz.
Çok faktörlü kimlik doğrulaması
Çok faktörlü kimlik doğrulaması (MFA), bir kullanıcıdan oturum açarken ek tanımlama biçimleri istendiği bir işlemdir. Bu istem bir uygulamadan alınan kod, donanım belirteci değeri veya biyometrik tarama olabilir. İkinci bir kimlik doğrulaması türüne ihtiyacınız olduğunda güvenlik iyileştirilmiştir.
Kimlik doğrulaması için gereken kanıt üç türe ayrılır:
- Parola veya güvenlik sorusu gibi bildiğiniz bir şey.
- Donanım belirteci veya telefonunuzdaki bir uygulama gibi sahip olduğunuz bir şey.
- Parmak izi veya yüz taraması gibi bir şeysiniz.
MFA'nın etkinliğinin büyük bir kısmı farklı kimlik doğrulama türlerinin kullanılmasından gelir. Bir saldırgan, parolanız ve çocukluk lakabınız gibi bildiğiniz birden çok şeye erişebilir. Ancak, hem bildiğiniz hem de sahip olduğunuz veya sahip olduğunuz bir şeyi tehlikeye atmak daha zordur.
Zamana dayalı tek seferlik parola
Zaman tabanlı tek seferlik parola (TOTP), 30 saniye sonra süresi dolan benzersiz sayısal kodlar oluşturan iyi bilinen bir algoritmadır. Algoritma, geçerli saat ve benzersiz bir anahtar olmak üzere iki giriş alır.
Kullanıcı, kaydederken anahtarı TOTP uyumlu bir uygulamaya girer. Bu tür uygulamalar şunlardır:
- Microsoft Authenticator.
- Google Authenticator.
- Çok daha fazlası!
Anahtarı uygulamaya girmek qr koduyla kolaylaştırılabilir. Uygulama, her 30 saniyede bir benzersiz kodlar oluşturmak ve görüntülemek için anahtarı ve geçerli saati kullanır. Uygulamanın oluşturduğu kod sunucunun beklediği kodla eşleşiyorsa kimlik doğrulaması başarılı olur. Algoritma, cihazınızdaki saatlerle sunucu arasındaki küçük farkları affedecek şekilde tasarlanmıştır.
MFA biçimi olarak, kullanıcıdan genellikle parolayla birlikte bir TOTP kodu istenir. Parola bildiğiniz bir şeydir ve kod, sahip olduğunuz bir şeyin kanıtıdır. Kodu uygulamada depolanan anahtarla oluşturmanın tek yolu budur.
Varsayılan olarak, Identity kullanan ASP.NET Core proje şablonları TOTP kimlik doğrulayıcı uygulamaları için çok faktörlü kimlik doğrulama desteği içerir. Razor Pages şablonunun Kimlik doğrulayıcıyı yapılandır uygulama formu, belirteç değerinin tohumunu oluşturmak için 32 karakterlik bir kayıt anahtarı görüntüler. Ancak şablon varsayılan olarak bir QR kodu oluşturmaz.
Not
SMS kısa mesajlarıyla gönderilen kodlar, TOTP'ye yaygın bir alternatiftir. Sonuçta, SMS iletisini alan telefon, sahip olduğunuz bir şeydir. Ancak, MFA olarak SMS, bir saldırganın yenilgiye uğratabilmesi için nispeten kolaydır. Sonuç olarak SMS kodları artık MFA'nın güvenli bir biçimi olarak kabul edilmez.
Özet
Bu ünitede, çok faktörlü kimlik doğrulamasının ne olduğunu ve varsayılan olarak ASP.NET Çekirdek Kimlik'te nasıl uygulandığını öğrendiniz. Bir sonraki ünitede, kayıt anahtarını içeren bir QR kodu sağlamak için mevcut Kimlik doğrulayıcıyı yapılandır uygulama formunu özelleştirebilirsiniz.