
Tekli oturum açma güvenliği
iOS, iPadOS, macOS ve visionOS, kurumsal ağlarda Tekli Oturum Açma (SSO) aracılığıyla kimlik doğrulamayı destekler. SSO, kullanıcıların erişim yetkisine sahip olduğu servislerde kimlik doğrulamasını yapmak için bir kimlik sağlayıcı (IdP) ile çalışır. SSO, güvenli Safari oturumlarından üçüncü parti uygulamalara kadar çeşitli ağ etkinlikleri için kullanılabilir.
iOS, iPadOS, macOS ve visionOS, yerleşik bir Kerberos SSO genişletmesi içerir. Uygulama geliştiriciler, SSO genişletmelerini kullanarak kendi Tekli Oturum Açma uygulamalarını da sunabilirler.
Kerberos Tekli Oturum Açma
iOS, iPadOS, macOS ve visionOS, kurumsal ağlarda Kerberos kullanarak kimlik doğrulamayı destekler. SSO desteği, açık kaynaklı Heimdal projesine dayanır ve Kerberos tabanlı kimlik doğrulama ağ geçitleri ve Kerberos biletlerini destekleyen Windows Tümleşik Kimlik Doğrulama sistemleri ile çalışmak için SPNEGO jetonlarını ve HTTP Anlaşma protokolünü kullanır. PKINIT gibi sertifika tabanlı kimlik doğrulama da desteklenir.
Kerberos SSO genişletmesi şu şifreleme türlerini destekler:
AES-128-CTS-HMAC-SHA1-96
AES-256-CTS-HMAC-SHA1-96
iOS, iPadOS ve visionOS, ağ bağlantılarını ve kimlik doğrulamayı yönetmek için NSURLSession veya URLSession sınıfını kullanan herhangi bir uygulamaya esnek SSO desteği sağlar. Apple, tüm geliştiricilere uygulamalarında ağ bağlantılarını sorunsuzca entegre etmeleri için bu sınıfları sağlar.
Kerberos kimlik doğrulamayı destekleyen tüm Mac uygulamaları SSO ile çalışır. Buna; Takvim, Mail ve Safari gibi macOS’te yerleşik olan pek çok uygulama ve dosya paylaşma, ekran paylaşma ve güvenli kabuk (SSH) gibi servisler dahildir. Pek çok üçüncü parti uygulama da Kerberos’u destekler.
SSO’yu ayarlamak için bir konfigürasyon aygıt yönetimi servisinin gerekli ayarları aygıta iletmesine izin verir. Buna kullanıcı ana adının (Active Directory kullanıcı hesabı) ve Kerberos bölge ayarlarının yapılmasının yanı sıra hangi uygulamaların ve Safari web URL’lerinin SSO’yu kullanmasına izin verileceğinin ayarlanması da dahildir.
Genişletilebilir Tekli Oturum Açma
Uygulama geliştiricileri iOS, iPadOS, macOS ve visionOS için SSO genişletmelerini kullanarak kendi Tekli Oturum Açma uygulamalarını sağlayabilir. Yerel bir uygulamanın veya bir web uygulamasının kullanıcı kimlik doğrulaması için bir IdP kullanması gerektiğinde SSO genişletmeleri çağrılır. Geliştiriciler iki tür genişletme sağlayabilir:
HTTPS’e yeniden yönlendiren yeniden yönlendirme genişletmeleri
Kerberos gibi kimlik sorusu/yanıtı genişletmeleri
Bu; OpenID Connect (OIDC), OAuth, SAML 2.0 ve Kerberos kimlik doğrulama düzenlerinin genişletilebilir Tekli Oturum Açma tarafından desteklenmesini sağlar. SSO genişletmeleri, Mac’in oturum açma sırasında SSO jetonlarını almasına izin veren Platform SSO’yu kullanarak FileVault’ta ve macOS’teki Oturum Açma Penceresi’nde kimlik doğrulamayı da destekleyebilir.
Bir uygulama, Tekli Oturum Açma genişletmesini kullanmak için AuthenticationServices API’sini kullanabilir veya işletim sisteminin sunduğu URL yakalama mekanizmasına güvenebilir. WebKit ve CFNetwork, yerel uygulamada veya WebKit uygulamasında sorunsuz bir Tekli Oturum Açma desteğine izin veren bir yakalama katmanı sunar. Tekli Oturum Açma genişletmesinin çağrılması için aygıt yönetimi servisi aracılığıyla bir konfigürasyonun yüklenmesi gerekir. Ayrıca yeniden yönlendirme türündeki genişletmelerin, destekledikleri IdP’nin kendilerinin varlığından haberdar olduğunu kanıtlamak için İlişkili Alanlar’ı kullanması gerekir.
Platform Tekli Oturum Açma
Platform Tekli Oturum Açma (Platform SSO) ile geliştiriciler, macOS FileVault ve Oturum Açma Penceresi’ne genişleyen macOS’e yönelik SSO genişletmelerini oluşturabilir. Platform SSO, bir IdP ile farklı kimlik doğrulama mekanizmalarını destekler:
Parola
Parola ile kimlik doğrulama WS-Trust’ı destekler. Bu, kullanıcının kendi hesabını yöneten IdP birleştirildiğinde bile kimlik doğrulamasına izin verir.
İsteğe bağlı olarak kullanıcılar kendi yerel hesaplarının kimlik bilgilerini de bir IdP ile eşzamanlayabilir. Yerel hesap parolası, IdP hesabının parolası ile otomatik olarak eşzamanlı tutulur.
Secure Enclave Anahtarı
Kullanıcı kayıt işlemi sırasında bir anahtar yaratılır ve Secure Enclave’de saklanır, parola olmadan IdP ile kimlik doğrulamak için kullanılır.
Akıllı kart
IdP ile kimlik doğrulamak için bir akıllı kart kullanılır.
Erişim Anahtarı
IdP ile kimlik doğrulamak için Apple Cüzdan’da saklanan bir kart kullanılır.
Kayıt
Platform SSO’yu kullanmak için Mac ve her bir kullanıcı IdP ile kaydolur. IdP desteğine ve uygulanan konfigürasyona bağlı olarak Mac şunları kullanarak arka planda aygıt kaydını sessizce gerçekleştirebilir:
Aygıt yönetimi konfigürasyonunda sağlanan bir kayıt jetonu.
Aygıt tanıtıcıları (UDID ve seri numara) hakkında güçlü bir güvence sağlayan bir onaylama.
Başarılı bir aygıt kaydından sonra, kullanıcı kaydolur (kullanıcı hesabı Kimliği Doğrulanmış Konuk Modu’nu kullanmıyorsa). IdP gerektirirse, kullanıcı kaydı kullanıcıdan kendi kaydını doğrulamasını istemeyi içerebilir. Platform SSO’nun talebe bağlı yarattığı yerel kullanıcı hesapları için kullanıcı kaydı arka planda otomatik olarak gerçekleşir.
Kayıt işlemi sırasında Mac iki anahtar yaratır: bir aygıt imzalama anahtarı ve bir aygıt şifreleme anahtarı. SSO genişletmesine bağlı olarak anahtarlar şunları kullanabilir:
NIST P-256 ECDH-ES
NIST P-256, NIST P-384 veya X25519 ile HKPE
Bunlar, kullanıcıdan bağımsız olarak IdP ile güvenilir bir bağlantı sağlar, Platform SSO paylaşılan aygıt anahtarlarını destekler. Bu, Otomatik Aygıt Kaydı sırasında Platform SSO, IdP bilgilerine bağlı olarak isteğe bağlı kullanıcı hesabı yaratma, ağ yetkilendirme ve Kimliği Doğrulanmış Konuk Modu gibi özellikleri etkinleştirir ve belirli bir aygıttaki tüm kullanıcılar için aynı imzalama ve şifreleme anahtarını kullanır.
Not: SSO genişletmesinin kaydı gerçekleştirmek için istenen yöntemi desteklemesi gerekir. Yöntemleri değiştirmek de desteklenir. Örneğin, oturum açma sırasında kullanıcı adı ve parolayla yeni bir kullanıcı hesabı yaratırken o hesap oturum açma başarılı olduktan sonra Secure Enclave tarafından yedeklenen bir anahtar veya akıllı kart kullanmaya geçebilir.
Jeton alma ve yenileme
Kullanıcının uygulamalarında ve web sitelerinde gereken şekilde kimliğini doğrulamak için SSO genişletmesi SSO jetonlarını kullanır. SSO genişletmesinin kimlik doğrulama gerçekleştirmek için her zaman hazır olmasını sağlamaya yardımcı olmak için Platform SSO jetonlar şu durumdaysa jetonları yenilemeye veya IdP’den yeni jetonlar almaya çalışır:
Yok
Süresi dolmuş
4 saatten eski
IdP’den jeton istemek veya jetonları yenilemek için JSON Web Jetonu (JWT) oturum açma veya yenileme isteği gönderilir ve SSO genişletmesi tarafından belirlenen yönteme bağlı olarak ES256, ES384 ya da Ed25519 kullanılarak aygıt imzalama anahtarı ile imzalanır. Yaratılan jetonlar, aygıt şifreleme anahtarının genel anahtarını kullanan AES-GCM 256 şifreli yanıt verisinin bir parçasıdır.
Parola şifreleme SSO genişletmesi tarafından isteniyorsa parola oturum açma isteğinde gönderilmez ve parolayı içeren AES-GCM 256 şifreli gömülü bildiri ile değiştirilir. Böylece ilişkili şifreleme anahtarı yaratılır (aygıt şifreleme anahtarı için de kullanılabilen mekanizmalardan biri kullanılarak SSO genişletmesi tarafından belirlendiği şekilde).
Kimlik doğrulama mekanizması dijital imza gerektirdiğinde Platform SSO, Secure Enclave Anahtarı ve akıllı kart kimlik doğrulama için gömülü bir JWT bildirisi kullanır. Bildiri için şunlardan biri geçerlidir:
Akıllı kart kullanılarak kimlik doğrulayıcı ile imzalanmıştır.
SSO genişletmesi tarafından belirlendiği şekilde bir Secure Enclave Anahtarı kullanıldığında ES256, ES384 veya Ed25519 kullanılarak şifrelenmiştir.
Kimlik doğrulama yönteminden bağımsız olarak SSO jetonları:
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnlyanahtar zinciri veri koruma özelliği kullanılarak anahtar zincirinde saklanırYalnızca SSO genişletmesi ile paylaşılır
Yerleşiktir