TsgcWSAPIServer_WebAuthn

Yalnızca OpenSSL 3.

Giriş

TsgcWSAPIServer_WebAuthn bileşeni, WebAuthn Relying Party sunucusunu uygulamak için basit ama güçlü bir çözüm sunar ve web uygulamanızda parolasız kimlik doğrulamayı etkinleştirir. Bir WebAuthn uygulaması, sunucu tarafı kayıt ve kimlik doğrulamayı işleyen bir WebAuthn sunucusundan ve genellikle bir javascript uygulaması olan istemci tarafı bir uygulamadan oluşur.

 

WebAuthn, güvenli bağlantıların (SSL/TLS) kullanımını gerektirir, bu nedenle OpenSSL kütüphaneleri dağıtılmalı ve sunucuyla yapılandırılmalıdır.

 

Yalnızca OpenSSL 3.0.0+ API'si desteklenir, bu nedenle önceki OpenSSL sürümleri çalışmayabilir.

 

Yapılandırma

 

TsgcWSAPIServer_WebAuthn, Server özelliği kullanılarak bir HTTP sunucusuna, TsgcWebSocketHTTP_Server veya TsgcWebSocketServer_HTTPAPI öğesine eklenmelidir. Kayıt ve kimlik doğrulama seçeneklerini işleyecek sunucu uç noktalarını ve desteklenen algoritmalar, origin'ler ve daha fazlası gibi WebAuthn seçeneklerini yapılandırabilirsiniz.

 

Endpoints Options

Burada, HTTP/JavaScript isteklerini WebAuthn'i bir authenticator olarak kullanmak üzere işleyecek sunucu endpoint'lerini yapılandırabilirsiniz. Bileşen zaten varsayılan endpoint'lerle yapılandırılmıştır, ancak ihtiyaçlarınıza uyacak şekilde hepsini değiştirebilirsiniz.

 

 

Örnek: sunucunuz www.test.com etki alanında dinliyorsa, kimlik doğrulama seçeneklerine yapılan istek varsayılan olarak http://www.test.com/sgcWebAuthn/Authentication/Options olacaktır

 

WebAuthn Seçenekleri

Bu özellikte WebAuthn Sunucu Bileşeninin ana seçeneklerini yapılandırabilirsiniz.

 

 

WebAuthn, kimlik avı ve siteler arası saldırıları önlemek için gerekli olan aynı kaynak ilkesi kısıtlamalarını uygulamak için kaynakları (origins) kullanır. WebAuthn kayıt ve kimlik doğrulama işlemleri sırasında, kaynak tarayıcı ve kimlik doğrulayıcı tarafından sıkı bir şekilde doğrulanır.

 

 

 

WebAuthn'da crossOrigin, WebAuthn işleminin, üst düzey gezinme bağlamından farklı bir origin'den gömülü bir iframe gibi bir çapraz origin bağlamından gerçekleştirilip gerçekleştirilmediğini belirten bir boolean parametredir.

Bu parametre, tarayıcıların ve authenticator'ların gömülü ortamlarda kimlik doğrulama isteklerini güvenli bir şekilde işlemesine yardımcı olmak için tanıtıldı — modern web uygulamalarında yaygın bir senaryo.

 

 

WebAuthn, açık anahtar kimlik bilgisi oluşturma ve doğrulama için çeşitli kriptografik algoritmaları destekler. Bu algoritmalar, kimlik bilgisi kaydı (navigator.credentials.create() ile) ve kimlik doğrulama (navigator.credentials.get() ile) sırasında kullanılır ve asimetrik anahtar çiftleri kullanarak challenge'ların güvenli bir şekilde imzalanmasını ve doğrulanmasını sağlar. Sunucu, en yaygın algoritmalar olan ES256 ve RS256 ile varsayılan olarak yapılandırılmıştır. Hangi algoritmaların desteklendiğini Algorithms özelliğinden istediğiniz zaman değiştirebilirsiniz. Aşağıdaki algoritmalar desteklenir:

 

 

WebAuthn'da, attestation, isteğe bağlı bir mekanizmadır ve authenticator'ın (örn. cihaz veya güvenlik anahtarı), kimlik bilgisi oluşturma sırasında üreticisi, modeli ve güvenlik özellikleri hakkında bilgi sağlamasına olanak tanır. Bu bilgi, Relying Party'nin (RP) authenticator'a güvenip güvenmeyeceğine karar vermesine yardımcı olur.

 

Farklı attestation biçimleri, bu verilerin nasıl yapılandırıldığını ve doğrulandığını tanımlar. Yaygın olarak kullanılan üç biçim android-key, packed ve fido-u2f, apple veya none gibi diğerleridir. Varsayılan olarak tüm attestation biçimleri etkindir. Desteklenen attestation biçimlerinin listesini aşağıda bulabilirsiniz:

 

 

 

 

 

 

 

WebAuthn API'de, AllowCredentials, kimlik doğrulama süreci sırasında (navigator.credentials.get() aracılığıyla) kullanılan isteğe bağlı bir alandır. Belirli bir Relying Party (RP) için kullanıcının kimliğini doğrulamasına izin verilen kimlik bilgisi ID'lerinin bir listesini belirtir. Bu mekanizma, RP'nin bir oturum açma girişimi için hangi kimlik bilgilerinin geçerli sayılacağını kontrol etmesine olanak tanır. credentials özelliği aşağıdaki alanlara sahiptir:

 

 

 

 

WebAuthn Protokolü

 

 

 

 

 

Başvuru