
Keamanan Masuk Tunggal
iOS, iPadOS, macOS, dan visionOS mendukung pengesahan ke jaringan perusahaan melalui Masuk Tunggal (SSO). SSO dapat digunakan dengan penyedia identitas (IdP) untuk mengesahkan pengguna atas layanan yang berhak mereka akses. SSO dapat digunakan untuk berbagai aktivitas jaringan, dari sesi Safari aman hingga app pihak ketiga.
iOS, iPadOS, macOS, dan visionOS menyertakan ekstensi SSO Kerberos bawaan. Pengembang app juga dapat menyediakan penerapan Masuk Tunggalnya sendiri menggunakan ekstensi SSO.
Masuk Tunggal Kerberos
iOS, iPadOS, macOS, dan visionOS mendukung pengesahan ke jaringan perusahaan menggunakan Kerberos. Dukungan SSO didasarkan pada proyek Heimdal sumber terbuka dan menggunakan token SPNEGO dan protokol Negosiasi HTTP untuk bekerja dengan gateway pengesahan berbasis Kerberos dan sistem Pengesahan Terpadu Windows yang mendukung tiket Kerberos. Pengesahan berbasis sertifikat seperti PKINIT juga didukung.
Ekstensi SSO Kerberos mendukung jenis enkripsi berikut:
AES-128-CTS-HMAC-SHA1-96
AES-256-CTS-HMAC-SHA1-96
iOS, iPadOS, dan visionOS memberikan dukungan yang fleksibel untuk SSO ke semua app yang menggunakan kelas NSURLSession atau URLSession untuk mengelola koneksi jaringan dan pengesahan. Apple memberi semua pengembang kelas ini untuk mengintegrasikan koneksi jaringan tanpa sela dalam app mereka.
Semua app Mac yang mendukung pengesahan Kerberos berfungsi dengan SSO. Ini meliputi banyak app yang terdapat di macOS, seperti Kalender, Mail, dan Safari, dan meliputi layanan seperti berbagi file, berbagi layar, dan shell aman (SSH). Banyak app pihak ketiga yang mendukung Kerberos.
Untuk mengonfigurasi SSO, konfigurasi memungkinkan layanan manajemen perangkat untuk menggunakan pengaturan yang diperlukan ke perangkat. Ini meliputi pengaturan nama pokok pengguna (akun pengguna Active Directory) dan pengaturan realm Kerberos, serta konfigurasi mengenai app dan URL web Safari mana yang harus diizinkan untuk menggunakan SSO.
Masuk Tunggal yang dapat diperluas
Penerapan masuk tunggalnya sendiri menggunakan ekstensi SSO untuk iOS, iPadOS, macOS, dan visionOS. Ekstensi SSO diaktifkan saat app asli atau web perlu menggunakan IdP untuk pengesahan pengguna. Pengembang dapat menyediakan dua jenis ekstensi:
Ekstensi pengalihan, yang mengalihkan ke HTTPS
Ekstensi tantangan/respons, seperti Kerberos
Hal ini memungkinkan skema pengesahan Open ID Connect (OIDC), OAuth, SAML 2.0, dan Kerberos untuk didukung oleh Masuk Tunggal yang dapat diperluas. Ekstensi SSO juga dapat mendukung pengesahan pada FileVault dan Jendela Masuk di macOS dengan mengadopsi SSO Platform, yang memungkinkan Mac untuk menerima token SSO selama proses masuk.
Untuk menggunakan ekstensi Masuk Tunggal, app dapat menggunakan API AuthenticationServices atau dapat mengandalkan mekanisme intersepsi URL yang ditawarkan oleh sistem operasi. WebKit dan CFNetwork menyediakan lapisan intersepsi yang memungkinkan dukungan tanpa hambatan dari Masuk Tunggal untuk app asli atau WebKit. Agar ekstensi Masuk Tunggal diaktifkan, konfigurasi harus diinstal melalui layanan manajemen perangkat. Selain itu, ekstensi jenis pengalih harus menggunakan Domain Terkait untuk membuktikan bahwa IdP yang didukung mengetahui keberadaannya.
Masuk Tunggal Platform
Dengan Masuk Tunggal Platform (SSO Platform), pengembang dapat membuat ekstensi SSO untuk macOS yang diperluas ke FileVault dan Jendela Masuk macOS. SSO Platform mendukung mekanisme pengesahan yang berbeda dengan IdP:
Kata sandi
Pengesahan kata sandi mendukung WS-Trust. Ini memungkinkan pengguna untuk mengesahkan bahkan saat IdP yang mengelola akun mereka digabung.
Selain itu, pengguna juga dapat menyelaraskan kredensial akun lokal mereka dengan IdP. Kata sandi akun lokal diselaraskan secara otomatis dengan kata sandi akun IdP mereka.
Kunci Secure Enclave
Kunci dibuat dan disimpan di Secure Enclave selama proses pendaftaran pengguna dan digunakan untuk disahkan dengan IdP tanpa kata sandi.
Kartu cerdas
Kartu cerdas digunakan untuk disahkan dengan IdP.
Kunci Akses
Pass yang disimpan di Dompet Apple digunakan untuk disahkan dengan IdP.
Pendaftaran
Untuk menggunakan SSO Platform, Mac dan setiap pengguna mendaftar dengan IdP. Tergantung pada dukungan IdP dan konfigurasi yang diterapkan, Mac dapat melakukan pendaftaran perangkat di latar belakang menggunakan:
Token pendaftaran yang disediakan di konfigurasi manajemen perangkat.
Pengesahan, yang memberikan jaminan kuat mengenai identifikasi perangkat (UDID dan nomor seri).
Setelah pendaftaran perangkat berhasil, pengguna terdaftar (kecuali jika akun pengguna menggunakan Mode Tamu yang Disahkan). Jika diperlukan IdP, pendaftaran pengguna dapat meminta pengguna untuk mengonfirmasi pendaftarannya. Untuk akun pengguna lokal yang dibuat SSO Platform sesuai permintaan, pendaftaran pengguna terjadi secara otomatis di latar belakang.
Selama proses pendaftaran, Mac membuat dua kunci: kunci yang menandatangani perangkat, dan kunci enkripsi perangkat. Tergantung ekstensi SSO, kunci dapat menggunakan hal berikut:
NIST P-256 ECDH-ES
HKPE dengan NIST P-256, NIST P-384, atau X25519
Ini mempertahankan koneksi tepercaya dengan IdP tanpa pengguna, SSO Platform mendukung kunci perangkat bersama. Ini memungkinkan fitur seperti SSO Platform selama Pendaftaran Perangkat Otomatis, pembuatan akun pengguna sesuai permintaan berdasarkan informasi dari IdP, pengesahan jaringan, dan Mode Tamu yang Disahkan dan menggunakan kunci penandatanganan dan enkripsi yang sama untuk semua pengguna di perangkat tertentu.
Catatan: Ekstensi SSO harus mendukung metode yang diminta untuk melakukan pendaftaran. Pengalihan mode juga didukung. Misalnya, saat membuat akun pengguna baru dengan nama pengguna dan kata sandi saat masuk, akun tersebut dapat beralih untuk menggunakan kunci yang dicadangkan Secure Enclave atau kartu cerdas setelah berhasil masuk.
Penerimaan token dan penyegaran
Untuk mengesahkan pengguna ke app dan situs web mereka sesuai kebutuhan, ekstensi SSO menggunakan token SSO. Untuk membantu memastikan ekstensi SSO selalu siap untuk melakukan pengesahan, SSO Platform berupaya untuk menyegarkan atau menerima token baru dari IdP jika token:
Hilang
Kedaluwarsa
Dibuat lebih dari empat jam lalu
Untuk meminta atau memperbarui token dari IdP, permintaan masuk atau penyegaran Token Web JSON (JWT) dikirim dan—tergantung pada metode yang ditetapkan oleh ekstensi SSO—ditandatangani dengan kunci yang menandatangani perangkat menggunakan ES256, ES384, atau Ed25519. Token yang dibuat adalah bagian dari muatan respons yang dienkripsi AES-GCM 256 menggunakan kunci publik dari kunci enkripsi perangkat.
Jika enkripsi kata sandi diminta oleh ekstensi SSO, kata sandi tidak dikirim di permintaan masuk dan digantikan oleh pernyataan tersemat yang dienkripsi AES-GCM 256 dan berisi kata sandi. Kunci enkripsi terkait lalu dibuat (sebagaimana ditentukan oleh ekstensi SSO menggunakan salah satu mekanisme juga tersedia untuk kunci enkripsi perangkat).
Saat mekanisme pengesahan memerlukan tanda tangan digital, SSO Platform menggunakan pernyataan JWT tersemat untuk Kunci Secure Enclave dan pengesahan kartu cerdas. Pernyataan ini:
Ditandatangani dengan pengesah saat menggunakan kartu cerdas.
Dienkripsi menggunakan ES256, ES384, atau Ed25519 saat menggunakan Kunci Secure Enclave sebagaimana dijelaskan oleh ekstensi SSO.
Terlepas dari metode pengesahan, token SSO:
Disimpan di rantai kunci menggunakan atribut perlindungan data rantai kunci
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnlyHanya dibagikan dengan ekstensi SSO
Tidak dapat dipindahkan