Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 10415|Yanıt: 0

Mobil ve masaüstü OAuth 2.0 güvenlik analizi ve CodeVerifier mekanizması

[Bağlantıyı kopyala]
Yayınlandı 28.11.2020 20:51:48 | | | |
Masaüstü ve mobil uygulamalar, tüm OAuth 2.0 sürecinin tamamlanmasına yardımcı olmak için uygulamaya gömülü tarayıcılardır

Süreç şekilde gösterilmiştir



OAuth2.0 web
1) AuthCode'u belirtilen Web yönlendirme Uri'sine geri döndür (bu URI uygulama geliştiricisi tarafından yapılandırılmıştır)
2) Token'ı değiştirmek için, client kimliğini doğrulamak için clientId ve clientSecret ile geçmeniz gerekir (uygulama arka uçu servisi tarafından elde edilen)

Yukarıdaki iki noktaya dikkat edersek,
1) Web uygulamasının yönlendirmeUri algılanması geçersiz olduğu için
2) Arka uç hizmeti olmadığı için istemci güvenli değildir
Karşılaşabileceğimiz saldırı, aşağıdaki şekilde gösterildiği gibi, kötü amaçlı bir uygulamanın authCode'u engelleyerek AuthorizationServer'a mesaj göndererek tokenı elde etmesi olabilir; böylece token müşterinin uygulamaya izni olmadan başka bir resmi uygulama yetkisine alınır ve saldırının amacına ulaşılır.



Çözüm:

1. İstemci rastgele bir dizi oluşturur: kod doğrulayıcı ve bu rastgele diziyi kaydeder
code_challenge = transform(code_verifier, [Plain| S256])
Dönüşüm yöntemi sade ise, kod meydan okuması kod doğrulayıcıya eşdeğerdir
Dönüşüm yöntemi S256 ise, kod meydan okuması kod doğrulayıcının Sha256 hash'ına eşittir
2. Yetkilendirme kod talebiyle ilgili bir kod meydan okuması getirin ve kod meydan okuması nasıl oluşturulur. Bu ikisi, sunucu tarafından verilen yetkilendirme koduna bağlıdır
3. Yetkilendirme kodunu alındıktan sonra, istemci Access Token için yetkilendirme kodunu değiştirirken ilk oluşturulan kod doğrulayıcıyı getirir. Sunucu, kod doğrulayıcıyı bound transform yöntemine göre hesaplar, hesaplanan sonucu bound code challenge ile karşılaştırır ve tutarlıysa Access Token verir.




Önceki:.NET/C#, bir WSDL XML dosyasından bir CS dosyası oluşturur
Önümüzdeki:ASP.NET Core (iii) ActivatorUtilities kullanarak dinamik örnekler oluşturun
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com