Secure Enclave — mimari ve korumalı eşişlemcinin çalışma şekli

Yazar: IT Sectr Yayınlanma: 2026-03-14 Okuma süresi: 10 dk

Secure Enclave, Apple cihazlarında kriptografik işlemleri işlemek ve gizli verileri depolamak için izole edilmiş güvenli bir ortam uygulayan özel bir donanım eşişlemcisidir. Secure Enclave, L4 mikrokerneli ile kendi mikroişlemcisinde çalışır ve cihazın ana belleğine veya çevre birimlerine doğrudan erişimi yoktur. Apple Platform Güvenlik Kılavuzu'na göre Secure Enclave, çip düzeyinde kriptografik işlemler sağlamak için donanım TRNG ve özel bir AES motoru kullanır.

Önemli noktalar

  • Secure Enclave — kendi işlemcisi, belleği ve AES motoru olan izole bir Apple eşişlemcisi
  • Touch ID ve Face ID, biyometrik şablonların güvenli depolanması ve eşleştirilmesi için Secure Enclave'i kullanır
  • Kriptografik anahtarlar Secure Enclave içinde oluşturulur ve şifrelenmemiş olarak asla dışarı çıkmaz
  • Donanım izolasyonu, tehlikeye girmiş bir iOS çekirdeğinin bile Secure Enclave verilerine eriıememesini sağlar
  • SOC, A7 çipinden (iPhone 5S, 2013) başlayarak özel bir Secure Enclave içerir, A9'dan itibaren ayrıdır

Secure Enclave Nedir?

Secure Enclave (SEP — Secure Enclave Processor), Apple'ın SoC'sine entegre edilmiş özel bir 32 bit RISC işlemcidir (eski çiplerde ARM Cortex-A7/A8, özel L4 mikrokernel). Donanım izolasyonu gerektiren tüm kriptografik ve biyometrik işlemler için güvenli bir eşişlemci olarak işlev görür.

Tarih ve Nesiller

Secure Enclave ilk olarak A7 çipinde (iPhone 5S, 2013) Touch ID ile birlikte ortaya çıktı. A7–A8'de Secure Enclave, işlemcinin bir parçası olarak uygulanır. A9'dan (iPhone 6S, 2015) itibaren Secure Enclave, bağımsız güç ve saatlemeye sahip çipin ayrı bir alanını kullanır. A12'den (2018) itibaren Secure Enclave, kendi Gerçek Rastgele Sayı Üreticisine (TRNG) ve bir donanım Ed25519 hızlandırıcısına sahiptir.

Her Secure Enclave, çip üretim aşamasında gömülü benzersiz bir tanımlayıcıya (UID) sahiptir. UID, diğer tüm anahtarları şifrelemek için kök anahtar olarak kullanılır. Apple bile bu tanımlayıcıyı çıkaramaz veya kurtaramaz — yalnızca Secure Enclave içinde erişilebilir.

Neden İzolasyon Gereklidir

Modern mobil işletim sistemleri karmaşıktır ve milyonlarca satır kod içerir, bu da onları istismarlara karşı savunmasız hale getirir. Bir saldırgan iOS üzerinde (çekirdek düzeyinde) tam kontrol sağlasa bile, Secure Enclave erişilemez durumda kalır — ana SoC'den fiziksel olarak ayrılmıştır ve doğrudan komutları kabul etmez. Yalnızca güvenli bir kanal üzerinden şifrelenmiş istekler SEP ile etkileşime girebilir.

Apple Platform Güvenliği (2025)'ne göre, mevcut donanım kısıtlamalarıyla kilitli bir cihazda Secure Enclave'den başarılı bir veri çıkarma belgelenmemiştir.

Secure Enclave Nasıl Çalışır?

Secure Enclave bağımsız bir işlemci olarak çalışır: cihaz önyüklemesinden sonra, kendi önyükleyicisi (SEP ROM) ile başlatılır, L4 mikrokernelinin bütünlüğünü doğrular ve ardından güvenli bir posta kutusu aracılığıyla Uygulama İşlemcisinden (AP) gelen istekleri bekleme durumuna geçer.

AP-SEP İletişim Kanalı

Uygulama İşlemcisi (AP) ile Secure Enclave arasındaki iletişim, paylaşılan bir oturum anahtarıyla şifrelenmiş güvenli bir posta kutusu aracılığıyla gerçekleşir. AP şifrelenmiş bir istek gönderir, SEP şifresini çözer, işlemi (imzalama, şifre çözme, anahtar oluşturma) gerçekleştirir ve sonucu şifrelenmiş biçimde döndürür. SEP asla şifrelenmemiş komutları kabul etmez.

Bir oturum anahtarı oluşturmadan önce, AP ve SEP, SEP ROM'una gömülü ve bir Apple sertifikasıyla doğrulanan bir Grup Anahtarı (Group Key) kullanan bir kimlik doğrulama protokolü gerçekleştirir. Bu mekanizma, yalnızca gerçek bir Apple cihazının bu Secure Enclave ile etkileşime girebilmesini garanti eder.

Anahtar Oluşturma ve Koruma

Tüm kriptografik anahtarlar, donanım TRNG kullanılarak Secure Enclave içinde oluşturulur. Her anahtar cihazın UID'sine bağlıdır ve dışa aktarılamaz. Bir anahtara erişirken, AP onun tutamacını (Keychain'deki gibi) belirtir ve SEP anahtarın kendisini ifşa etmeden işlemi gerçekleştirir.

objective-c
// Secure Enclave içinde ECDSA anahtarı oluşturma
@interface AppDelegate ()
- (SecKeyRef)generateSEKey;
@end

- (SecKeyRef)generateSEKey {
    let attributes: [String: Any] = [
        kSecAttrKeyType as String: kSecAttrKeyTypeECSECPrimeRandom,
        kSecAttrKeySizeInBits as String: 256,
        kSecAttrTokenID as String: kSecAttrTokenIDSecureEnclave,
        kSecPrivateKeyAttrs as String: [
            kSecAttrIsPermanent as String: true,
            kSecAttrLabel as String: "com.app.key"
        ]
    ]
    var error: Unmanaged<CFError?>?
    return SecKeyCreateRandomKey(attributes as CFDictionary, &error)
}

Mimari ve Bileşenler

Secure Enclave yalnızca bir yazılım modülü değildir — bir çip üzerinde tam teşekküllü bağımsız bir bilgisayardır. Kendi işlemcisini, RAM'ini, ROM'unu, kalıcı olmayan belleğini ve özel kriptografik hızlandırıcıları içerir.

İşlemci ve Bellek

Secure Enclave işlemcisi, 32 bit ARM Cortex-A7 (A7-A10) veya özel bir L4 mikrokernelidir (A12+). RAM statik olarak tahsis edilir (SRAM) ve dışardan erişilemez. ROM (SEP ROM), önyükleyiciyi ve grup anahtarını içerir. Kalıcı olmayan bellek, UID'yi, kök sertifikaları ve kalıcı anahtarları saklar.

Secure Enclave'in SRAM boyutu sınırlıdır (nesile bağlı olarak 16–64 KB). Bu mimari bir kısıtlamadır: SEP içinde yalnızca kriptografik işlemler ve biyometrik şablon eşleştirmesi gerçekleştirilir. Diğer tüm veriler şifrelenmiş bir kanal aracılığıyla AP'nin ana belleğine aktarılır.

Kriptografik Hızlandırıcılar

Secure Enclave, özel donanım blokları içerir: AES motoru (donanım şifreleme/şifre çözme), P256 hızlandırıcısı (ECDSA, ECDH), SHA-256/SHA-512 modülü, TRNG (halka osilatörlerine dayalı Gerçek Rastgele Sayı Üretici). Bu, minimum güç tüketimiyle yüksek performans (gigabit AES hızları) sağlar.

BileşenİşlevPerformans
AES MotoruDonanım AES-256 şifreleme3.5 GB/s (A12+)
P256 HızlandırıcıECDSA imzalama/doğrulama15000 işlem/s
TRNGRastgele sayı üretimi1 Mbit/s
SHA-256Veri karmalama2 GB/s
UID (eFuse)Benzersiz çip tanımlayıcısı256 bit

Grup Anahtarı ve Sertifikalar

Secure Enclave çiplerinin her partisi, SEP ROM'una gömülü bir Grup Anahtarı (Group Key) alır. Bu anahtar, SEP'in AP'ye kimlik doğrulaması ve şifrelenmiş bir kanal oluşturulması için kullanılır. Apple, grup anahtarlarını imzalayan sertifikalar yayınlayarak SEP'in gerçekliğinin ürün yazılımı düzeyinde doğrulanmasını sağlar.

Uygulamalarla Etkileşim

iOS geliştiricileri Secure Enclave'e doğrudan erişmez. Etkileşim üst düzey API'ler aracılığıyla gerçekleşir: LocalAuthentication (Touch ID, Face ID), Keychain Services (SEP'te anahtar depolama), CryptoKit (SEP anahtarlarıyla kriptografik işlemler).

CryptoKit ve Secure Enclave

CryptoKit çerçevesi (iOS 13+), ECDSA anahtarları oluşturmak ve verileri imzalamak için Secure Enclave'e doğrudan erişim sağlar. secureEnclaveKey işaretiyle oluşturulan anahtarlar fiziksel olarak SEP içinde bulunur. İmzalama sırasında, veriler güvenli bir kanal üzerinden iletilir, işlem SEP'te gerçekleştirilir ve imza uygulamaya geri döndürülür.

swift
import CryptoKit
import LocalAuthentication

func signWithSecureEnclave() throws -> Data {
    let context = LAContext()
    let accessControl = try SecAccessControl(
        protection: kSecAttrAccessibleWhenUnlockedThisDeviceOnly,
        flags: .userPresence
    )

    let key = try SecureEnclave.P256.SigningKey(
        accessControl: accessControl
    )

    let dataToSign = "authenticate".data(using: .utf8)!
    return try key.signature(for: dataToSign)
}

Keychain ve Secure Enclave

Keychain Services, kriptografik anahtarları depolamak için Secure Enclave'i kullanabilir. kSecAttrTokenID = kSecAttrTokenIDSecureEnclave özelliği, anahtarın SEP içinde oluşturulması ve saklanması gerektiğini sisteme bildirir. SEP'teki anahtarlar her zaman EC türündedir (secp256r1/P-256), çünkü Secure Enclave RSA'yı desteklemez.

Secure Enclave ve Biyometri

Touch ID ve Face ID, Secure Enclave aracılığıyla uygulanan temel kullanıcı özellikleridir. SEP yalnızca biyometrik şablonları depolamakla kalmaz, aynı zamanda sağlanan verilerle eşleştirme yaparak parmak izi veya yüz görüntüsünün ele geçirilme olasılığını ortadan kaldırır.

Biyometrik Verilerin Depolanması

Bir parmak izi veya yüz kaydedilirken, sensör görüntüyü Secure Enclave'e iletir, burada matematiksel bir şablona (görüntü değil!) dönüştürülür ve SEP'in şifrelenmiş belleğinde saklanır. Orijinal görüntü yok edilir. Şablon harici olarak çıkarılamaz — SEP yalnızca yeni bir şablonu depolananlarla karşılaştırabilir.

Secure Enclave en fazla 5 parmak izi veya yüz depolayabilir. Tüm şablonlar cihazın UID'si tarafından korunur. Cihaz yeniden başlatıldığında, ilk kez parola (kilit kodu, biyometri değil) girilene kadar SEP şablonlara erişimi engeller.

Kimlik Doğrulama Süreci

Bir kullanıcı parmağını Touch ID'ye koyduğunda, sensör görüntüyü yakalar ve (iOS sürücüsü aracılığıyla) güvenli bir kanal üzerinden Secure Enclave'e iletir. SEP, şablonu depolananlarla karşılaştırır. Eşleşme durumunda, SEP AP'ye başarı durumu ve Keychain'in kilidini açmak için geçici bir anahtar döndürür. Başarısız denemeler izlenir ve yapılandırılabilir sayıda başarısızlıktan sonra, parola girilene kadar SEP tüm biyometrik istekleri engeller.

swift
import LocalAuthentication

func authenticateUser() {
    let context = LAContext()
    var error: NSError?

    guard context.canEvaluatePolicy(
        .deviceOwnerAuthenticationWithBiometrics,
        error: &error
    ) else { return }

    context.evaluatePolicy(
        .deviceOwnerAuthenticationWithBiometrics,
        localizedReason: "Kimlik doğrula"
    ) { success, error in
        if success {
            // SEP biyometrik eşleşmeyi onayladı
        }
    }
}

Cihaz Kaybında Güvenlik

Cihazın kaybedilmesi durumunda, biyometrik veriler birden çok düzeyde korunur: şablonlar UID ile şifrelenir (SEP dışında okunamaz), SEP her yeniden başlatmada, 48 saat hareketsizlikten sonra veya 5 başarısız biyometrik denemeden sonra cihaz şifresini gerektirir. Find My aracılığıyla Kayıp Modu, SEP'i ek olarak engeller.

Sıkça Sorulan Sorular

Secure Enclave verilerine erişilebilir mi?

Kilitli bir cihazda — hayır. Secure Enclave, kullanıcı kimlik doğrulaması olmadan verilere erişilemeyecek şekilde tasarlanmıştır. Bilinen saldırılar (A5-A11'de checkm8), SEP'ten veri çıkaramaz — AP'yi tehlikeye atarlar ancak Secure Enclave'i etkilemezler.

Secure Enclave hangi algoritmaları destekler?

ECDSA (secp256r1/P-256) — imzalama ve doğrulama için. ECDH — anahtar anlaşması için. AES-256 — simetrik şifreleme için. SHA-256 — karmalama için. RSA desteklenmez. Tüm işlemler donanım tarafından gerçekleştirilir.

Apple Silicon'lı Mac'te Secure Enclave farklı mı?

Apple Silicon (M1, M2, M3) üzerinde Secure Enclave, A çiplerine benzer şekilde ancak artırılmış kaynaklarla uygulanır. Daha fazla eşzamanlı anahtarı, daha hızlı P256 işlemlerini destekler ve genişletilmiş bir kullanım durumu kümesine (FileVault, otomatik doldurma, Safari) sahiptir.

Secure Enclave UID'si nedir?

UID (Benzersiz Kimlik), çip üretimi sırasında Secure Enclave'e gömülen 256 bitlik rastgele bir tanımlayıcıdır. UID, cihazdaki diğer tüm anahtarları şifrelemek için kök anahtar olarak kullanılır. SEP'in kendisi de dahil olmak üzere hiçbir bileşen bunu okuyamaz.

Secure Enclave nasıl sıfırlanır?

Tam sıfırlama, Kurtarma Modu (DFU) aracılığıyla ürün yazılımı geri yüklenirken gerçekleşir. Secure Enclave anahtar hiyerarşisini yeniden oluşturur. Tüm Keychain verileri ve biyometrik şablonlar, kurtarma imkanı olmaksızın kalıcı olarak silinir — bu geri döndürülemez bir işlemdir.

Özet

  • Secure Enclave — kendi işlemcisi, belleği ve kriptografik hızlandırıcıları olan izole bir Apple donanım eşişlemcisi
  • Touch ID ve Face ID'nin biyometrik şablonları yalnızca SEP içinde depolanır ve işlenir; AP'nin bunlara erişimi yoktur
  • Kriptografik anahtarlar, donanım TRNG kullanılarak Secure Enclave tarafından oluşturulur ve dışa aktarılamaz
  • CryptoKit ve Keychain, uygulamaların kSecAttrTokenIDSecureEnclave aracılığıyla Secure Enclave'i kullanmasına olanak tanır
  • SEP, bir AES motoru (3.5 GB/s), P256 hızlandırıcısı (15000 imza/s) ve özel bir SHA-256 bloğu içerir
  • Donanım izolasyonu, iOS çekirdeğinin tamamen tehlikeye girmesi durumunda bile veri korumasını garanti eder
  • iOS uygulamalarında özel imzalama anahtarlarını depolamak için CryptoKit aracılığıyla Secure Enclave'i kullanın

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun