Selamlar, 2FA nin çalışma mantığı hakkında bir kaç video izledim ve makale okudum fakat pek anlamadım desem yeridir. Mailime 2FA kurduğumda telefonumdaki 2FA uygulaması ile web sitesi arasında bir bağlantı veya iletişim oluyor mu ?
Yani cihazlarımı belli etmek istemediğim bir sitedeki hesabıma (benim durumumda bu microsoft hesabım) 2FA kurduğumda cihazımla bir iletişime geçiyor mu yoksa sunucu ve telefonumda 2FA kodları bağımsız bir şekilde mi hesaplanıyor ?
2FA için iki farklı yöntem kullanabilirsiniz. Outlook Mailiniz özelinde bir offline yöntem olarak Authenticator kullanabilirsiniz.
Bu önceden belirlenmiş bir fonksiyon üzerinden belirli aralıklarla (genelde 30 veya 10 sn idir) kod üretilmesine neden olur. Bu kodlar istenildiği zaman hem sunucu hem de uygulama tarafından üretilebilir ve her iki taraf da aynı sonuca ulaşacağı için sizi içeri alır. Bu yöntem ilk ayarlama aşaması dışında tamamen offline işlemektedir.
İkinci ihtimal SMS/Mail/Cep-Onay tarzı yöntemlerle size o an kendi ürettiği bir kodu gönderir ve aslında dolaylı yoldan sizin cihazınızla iletişime geçmiş olur. Yani tek taraflı olarak size kod gönderir. Bu gönderme yolun güvenliği yöntemin güvenlik seviyesini belirleyecektir. Mesela SMS ile kod gönderilmesi genel olarak güvensizdir.
Üçüncü ve son ihtimal genelde Google’ın çok kullanıdğı yöntemdir ve sizin yaptığınız tanıma en çok uyandır. Telefon veya Tablette uygulama üzerinden oturum açmışsınızdır. Siz başkaca bir cihazdan oturum açmanızı istediğinizde uygulama üzerinden (maillere baktığınız uygulama olabilir mesela bu) duruma göre “evet bu benim” gibi bir butona tıklamanızı veya gösterdiği 3 sayıdan doğru olanı seçmenizi isteyebilir. Bu durumda gerçek anlamda 2 taraflı bir iletişim söz konusu olmaktadır.
Sonradan aklıma gelen ihtimal ise Yubico/Yubikey gibi donanımsal cihazların kullanılmasıdır. Bu tamamen başkaca bir konu olup bence aralarında en güvenlisi budur.
Mevcut içeriği dışarı aktarma veya paylaşma seçeneği olan uygulamalar var fakat bir uygulamanın secret key generate edebildiğini görmemiştim. Önerebileceğiniz bir uygulama var mı?
İlk ayarlamada tam olarak nasıl çevrim içi çalıştığından emin değilim. Bir sunucuda üretilen secret keyi QR ile veya manuel olarak authenticator uygulamasına eklerken de çevrim içi iletişim kurulmuyor diye biliyorum. Kullanıcının doğru kodu çalıştırdığını onaylamak için 6 basamaklı sayıyı girmek yeterli oluyor ki bu zaten her zaman yapılacak bir işlem.