Design and development of a secure and accessible web authentication alternative to FIDO2
FIDO2'ye alternatıf güvenli ve erişilebilir bir web kimlik doğrulama tasarımı ve gelıştirilmesi
- Tez No: 863650
- Danışmanlar: Prof. Dr. KEMAL BIÇAKCI
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilişim Uygulamaları Ana Bilim Dalı
- Bilim Dalı: Bilgi Güvenliği Mühendisliği ve Kriptografi Bilim Dalı
- Sayfa Sayısı: 97
Özet
Bu projeye başlarken öncelikli hedefimiz, geleneksel şifre tabanlı ve FIDO2 tabanlı kimlik doğrulama yöntemlerinin doğasında var olan sınırlamaları ve zorlukları ele almak için hazırlanmış QRAuth adlı yenilikçi bir QR kodu tabanlı kimlik doğrulama akışı sunmaktı. FIDO2'nin kapsamlı bir analizini yaparak, işleyişini ve doğal gereksinimlerini inceleyerek, yaygın olarak benimsenmesinin önünde önemli engeller oluşturacağını tahmin ettiğimiz iki önemli sorun noktası belirledik. Birincisi, WebAuthn ve CTAP protokollerini destekleyen“FIDO sertifikalı”yazılımları çalıştıran“FIDO sertifikalı”cihazlara olan talep. İkinci olarak, geleneksel şifrelerde sınırlı da olsa bulunan bir özellik olan hesap yetkilendirme desteğinin bulunmaması. Önerimizin özü, yukarıda belirtilen sorunları ustalıkla çözerken FIDO2'nin güvenliğinden ödün vermemekte yatmaktadır. FIDO2'de kullanılan aynı açık anahtarlı kriptografiden yararlanmak, protokolümüzün güvenliği için bize bir temel sağlar. Böyle bir temel üzerine inşa ettiğimiz için protokolümüzün“kripto”kısımlarının üzerinden geçmek zorunda kalmıyor ve daha çok uygulama düzeyindeki tartışmalara odaklanıyoruz. Temel açık anahtar kriptografisinin tam olarak nasıl çalıştığını öğrenmek isteyen okuyucular FIDO2 teknik incelemesini okuyabilirler. Bununla birlikte, güvenlik analizimizde incelendiği üzere, çözümümüz hiçbir şekilde mükemmel değildir ve hala üzerinde çalışılması gereken ve bazıları FIDO2 ile paylaşılan sorunları vardır. FIDO2'nin eksikliklerinin üstesinden gelmek için, kimlik doğrulama akışımız FIDO2'de görülen geleneksel üç bileşeni (RP, kimlik doğrulayıcı ve kullanıcı aracısı (tarayıcı)) çok önemli bir tarayıcı uzantısı bileşeni getirerek aşmaktadır. Ayrıca,“sertifikasyon”ve özel güvenlik protokollerine olan ihtiyacı ortadan kaldırmak için diğer bileşenleri elden geçiriyoruz. Dahası, protokolümüz tüm iletişimin akışın dört bileşeni arasında güvenli hatlar üzerinden gerçekleşmesini sağlamak üzere tasarlanmıştır. Sistemimizin ayrılmaz bir unsuru olan tarayıcı uzantısı, QR kodu oluşturma ve görüntüleme gibi önemli bir rol üstlenmektedir. Bu kod, bir meydan okumayı ve kullanıcı adı gibi diğer ilgili kimlik doğrulama bilgilerini kapsar. Bir tarayıcı uzantısını dahil etme motivasyonumuz, oltalama saldırısı direnci özelliğini karşılama ihtiyacından kaynaklanmaktadır. Uzantı, aktif sitenin gerçek olduğunu doğrulayarak MITM saldırılarını önler. Chrome V3 API kullanılarak geliştirilen ve tamamen JS ile yazılan örnek uzantımız, diğer tüm tarayıcılara sorunsuz bir şekilde taşınabilirlik sağlar. Kullanıcı QR kodunu okuyup kimlik doğrulama işlemini tamamladığında, uzantının kimlik doğrulama sunucusuna bir kimlik doğrulama durumu yoklama isteği başlatması kayda değer bir öneme sahiptir. Kullanıcı kimlik doğrulama onayını aldıktan sonra, uzantı kullanıcının web sayfasını dinamik olarak yenileyerek kimlik doğrulama belirtecinin alınmasını kolaylaştırır. Daha sonra, kullanıcı mobil kimlik doğrulayıcıyı kullanarak tarayıcı uzantısı tarafından sunulan QR kodunu okur. Mobil kimlik doğrulayıcının rolü, FIDO2'deki kimlik doğrulayıcının rolünü yansıtır; bu rol genel-özel anahtar çiftlerinin oluşturulmasını, özel anahtar kullanılarak meydan okumanın imzalanmasını, özel anahtarın cihazda güvenli bir şekilde saklanmasını ve imzalanan meydan okumanın genel anahtarla birlikte kimlik doğrulama sunucusuna iletilmesini içerir. Meydan okuma imzalandıktan sonra, kullanıcının açık anahtarıyla birlikte kimlik doğrulama sunucusuna iletilir (oturum açma senaryolarında yalnızca imzalı meydan okuma iletilir). Sunucu, kullanıcı oturumunun süresinin dolmadığından emin olduktan sonra, ilgili açık anahtarı kullanarak imzayı doğrular. Doğrulamanın başarılı olması üzerine kimlik doğrulama sunucusu, tarayıcı uzantısının yoklama isteğine yanıt vererek kullanıcının kimliğinin doğrulandığını onaylar. Ayrıca, kimlik doğrulama sunucusu, kullanıcının korunan kaynaklara erişmesine izin veren bir kimlik doğrulama belirteci yayınlar. Akışımızın ayırt edici bir özelliği de geçici hesap delegasyonunu desteklemesidir. Bu işlevsellik, kullanıcıların QR kodlarını güvenilir varlıklarla paylaşmalarını sağlayarak, güvenlikten ödün vermeden hesaplarına geçici olarak erişmelerini sağlar. Teklifimizin güvenlik analizi gereksinimini basitleştirmek için akışımızı OpenId Connect'in bir parçası olarak Token'lar kullanarak uyguladık. Bu nedenle, tüm kimlik doğrulama protokolünün kapsamlı bir güvenlik analizini yapmak yerine, OIDC ile kullanılan geleneksel parola tabanlı kimlik doğrulama şemasından akışımız tarafından değiştirilen bileşenleri analiz etmeye odaklandık. Güvenlik analizimizde, bir tarayıcı eklentisinin dahil edilmesinin kimlik avı saldırılarına karşı direnç için ön koşulumuzu gerçekten yerine getirdiğini doğruluyoruz. Ayrıca, güvenlik varsayımlarımızın kullanıcının cihazının ötesine geçerek aktaran tarafa uzanması gerekmediğini iddia ediyoruz. Bununla birlikte, QR kodu paylaşımı yoluyla hesap yetkilendirmesi desteği, oturum zamanlayıcıları kullanarak makul bir çözüm önerdiğimiz yeniden oynatma saldırılarıyla ilgili yeni bir güvenlik açığı ortaya çıkarmıştır. Son olarak, güvenliğimizin açık anahtar kriptografisine dayandığını göz önünde bulundurarak, dijital imzalarla ilişkili herhangi bir riskin, akışımızın güvenliğine de eş zamanlı olarak risk oluşturduğunu iddia ediyoruz - bu durum FIDO2 ile de paylaşılan bir husustur. Geleneksel şifreler ve FIDO2'ye kıyasla teklifimizin neden cazip bir alternatif olduğunu tam anlamıyla vurgulamak için, QRAuth'u öne çıkaran on bir kriteri belirleyerek üç kimlik doğrulama seçeneğini karşılaştırdık. Teklifimizin her bir bileşeni için, kullandığımız açık kaynak araçlarını da içerecek şekilde, kapsamlı uygulama yönergeleri sunuyoruz. Bu yönergeler, teklifimizin uygulamasını kendi uygulamalarında tekrarlamak isteyen geliştiricilere referans olacak kaynak kod kapsamaktadır. Tüm bileşenlerin tam kod tabanı, bu teze eşlik eden CD'de bulunabilir. Sonuç olarak, QR kod tabanlı kimlik doğrulama akışımızın, FIDO2'ye kıyasla önemli avantajlar sunduğuna kesinlikle inanıyoruz. Bununla birlikte, protokolümüzün kapsamlı bir güvenlik analizi ve FIDO2'deki aynı sorunu yansıtan hesap kurtarma konusundaki kalıcı zorluk da dahil olmak üzere gelecekteki araştırma ve geliştirmeler için potansiyel alanları belirliyoruz.
Özet (Çeviri)
In embarking on this project, our primary goal was to introduce an innovative QR code-based authentication flow named QRAuth crafted to address the inherent limitations and challenges posed by traditional password-based and FIDO2-based authentication methods. Through a comprehensive analysis of FIDO2, delving into its workings and inherent requirements, we identified two pivotal pain points that we anticipate will pose significant hurdles to its widespread adoption. Firstly, the demand for“FIDO certified”devices running“FIDO certified”software that support WebAuthn and CTAP protocols. Secondly, the absence of account delegation support, a feature, albeit to a limited extent, is present in traditional passwords. The essence of our proposal lies in not compromising the security of FIDO2 while adeptly resolving the aforementioned issues. Leveraging the same public-key cryptography as used in FIDO2, gives us a basis for the security of our protocol. By building on such a basis, we don't have to go over the“crypto”parts of our protocol and focus more on the application-level discussions. Readers interested in learning how exactly the underlying public-key cryptography works can read through the FIDO2 white paper. However, as explored in our security analysis, our solution is by no means a perfect one and still has issues that need to be worked on, some of which are shared with FIDO2. To overcome the shortcomings of FIDO2, our authentication flow transcends the conventional three components seen in FIDO2—RP, authenticator, and user agent (browser)—by introducing a pivotal browser extension component. Furthermore, we overhaul the other components to remove the need for“certification”and specific security protocols. Furthermore, our protocol is designed to ensure that all communication occurs over secure lines among the flow's four components. The browser extension, an integral element of our system, assumes the crucial role of generating and displaying a QR code. This code encapsulates a challenge and other pertinent authentication information, such as the username. Our motivation for incorporating a browser extension stems from the need to satisfy the phishing-attack resistance property. The extension handles authenticating that the active site is genuine preventing MITM attacks. Our sample extension, developed using Chrome V3 API and entirely scripted in JS, ensures seamless portability to any other browser. Of noteworthy significance is that, as the user reads the QR code and completes the authentication process, the extension initiates an authentication-status polling request to the authentication server. Upon receiving confirmation of user authentication, the extension dynamically refreshes the user's web page, facilitating the reception of the authentication token. Subsequently, utilizing the mobile authenticator, the user reads the QR code presented by the browser extension. The role of the mobile authenticator mirrors that of the authenticator in FIDO2, which involves the generation of public-private key pairs, signing the challenge using the private key, securely storing the private key in the device, and communicating the signed challenge with the public key to the authentication server. Once the challenge is signed, it is transmitted to the authentication server alongside the user's public key (in login scenarios, only the signed challenge is transmitted). The server, after ensuring the user session hasn't expired, verifies the signature using the corresponding public key. Upon successful verification, the authentication server responds to the browser extension's polling request, confirming that the user is authenticated. Moreover, the authentication server issues an authentication token that allows the user to access protected resources. A distinguishing feature of our flow is its support for temporary account delegation. This functionality empowers users to share QR codes with trusted entities, affording them temporary access to their accounts without compromising security. To simplify the security analysis requirement for our proposal, we implemented our flow as part of OpenId Connect using Tokens. Thus, instead of delving into a comprehensive security analysis of the entire authentication protocol, our focus was on analyzing the components altered by our flow from the traditional password-based authentication schema used with OIDC. In our security analysis, we validate that the inclusion of a browser extension indeed fulfills our prerequisite for resistance against phishing attacks. Furthermore, we assert that our security assumptions need not extend beyond the user's device into the relaying party. However, the support for account delegation through QR code sharing introduced a new vulnerability related to replay attacks, for which we propose a plausible solution using session timers. Finally, we assert that given that our security is anchored in public-key cryptography, any risk associated with digital signatures concurrently poses a risk to the security of our flow—a consideration shared with FIDO2. To fully highlight what makes our proposal an attractive alternative to both traditional passwords, and FIDO2 we compared the three authentication options across eleven criteria outlining what makes QRAuth stand out. We offer exhaustive implementation guidelines for each component of our proposal including which open-source tools we used. These guidelines encompass code samples serving as references for developers interested in replicating our proposal's implementation in their applications. The full code base of all components can be found in the accompanying CD to this thesis. In conclusion, we firmly believe that our QR code-based authentication flow offers substantial advantages over FIDO2. Nevertheless, we identify potential areas for future research and enhancements, including a comprehensive security analysis of our protocol and the persistent challenge of account recovery, mirroring the same issue in FIDO2.
Benzer Tezler
- Rostam: A passwordless web single sign-on solution integrating credential manager and federated identity systems
Rostam: Kimlik yöneticisi ve federasyonlu kimlik sistemlerini entegre eden şifresiz bir web tek oturum açma çözümü
AMIN MAHNAMFAR
Yüksek Lisans
İngilizce
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilişim Uygulamaları Ana Bilim Dalı
PROF. DR. KEMAL BIÇAKCI
- Savunma sanayi şirketlerinde web uygulama güvenliğinde geleneksel yöntemler ve büyük dil modelleri (LLM) üzerine bir çalışma
A study of traditional methods vs. (LLM) agents results in web application security for defense industry companies
AHMET TORTUMLU
Yüksek Lisans
Türkçe
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiSavunma Teknolojileri Ana Bilim Dalı
PROF. DR. KEMAL BIÇAKCI
- Kapalı site fiziksel çevresinin, çocukların mekan algısına etkisi: Maltepe Adalife ve White city örneği
The effect of gated communities physical environment on the children's perception of space: Examples Adalife and White city from maltepe
BURAK KOÇ
Yüksek Lisans
Türkçe
2019
Mimarlıkİstanbul Teknik ÜniversitesiMimarlık Ana Bilim Dalı
DOÇ. DR. ELMİRA AYŞE GÜR
- Kentteki oyun alanları üzerine eleştirel bir okuma: Beyoğlu örneği
Critical reading on playgrounds in the city: Beyoğlu example
DERYA İYİKUL KOTAN
Yüksek Lisans
Türkçe
2019
Mimarlıkİstanbul Teknik ÜniversitesiMimarlık Ana Bilim Dalı
DOÇ. DR. MELTEM AKSOY
- Engelli bireyler için erişilebilir üniversite kampüs alanlarının tasarım stratejilerinin geliştirilmesi: İstanbul Teknik Üniversitesi kampüs örneği
Development of design strategies of accessible university campus areas for disabled people: case study of Istanbul Technical University campus
BERFU GÜLEY GÖREN
Doktora
Türkçe
2018
Şehircilik ve Bölge Planlamaİstanbul Teknik ÜniversitesiŞehir ve Bölge Planlama Ana Bilim Dalı
PROF. DR. AYŞE LALE BERKÖZ