Secure Enclave Apple उपकरणों में एक समर्पित हार्डवेयर कोप्रोसेसर है जो क्रिप्टोग्राफ़िक संचालन और गोपनीय डेटा भंडारण के लिए एक पृथक सुरक्षित वातावरण लागू करता है। Secure Enclave L4 माइक्रोकर्नेल के साथ अपने स्वयं के माइक्रोप्रोसेसर पर चलता है और इसकी डिवाइस की मुख्य मेमोरी या परिधीय उपकरणों तक सीधी पहुंच नहीं है। Apple Platform Security Guide के अनुसार, Secure Enclave चिप स्तर पर क्रिप्टोग्राफ़िक संचालन प्रदान करने के लिए हार्डवेयर TRNG और एक समर्पित AES इंजन का उपयोग करता है।
मुख्य बातें
Secure Enclave (SEP — Secure Enclave Processor) Apple के SoC में एकीकृत एक समर्पित 32-बिट RISC प्रोसेसर (पुरानी चिप्स पर ARM Cortex-A7/A8, स्वामित्व L4 माइक्रोकर्नेल) है। यह उन सभी क्रिप्टोग्राफ़िक और बायोमेट्रिक संचालनों के लिए एक सुरक्षित कोप्रोसेसर के रूप में कार्य करता है जिन्हें हार्डवेयर पृथक्करण की आवश्यकता होती है।
Secure Enclave पहली बार A7 चिप (iPhone 5S, 2013) में Touch ID के साथ दिखाई दिया। A7–A8 में, Secure Enclave प्रोसेसर के हिस्से के रूप में लागू किया गया है। A9 (iPhone 6S, 2015) से शुरू होकर, Secure Enclave स्वतंत्र पावर और क्लॉकिंग के साथ चिप के एक अलग क्षेत्र का उपयोग करता है। A12 (2018) से, Secure Enclave के पास अपना स्वयं का True Random Number Generator (TRNG) और एक हार्डवेयर Ed25519 एक्सेलेरेटर है।
प्रत्येक Secure Enclave में चिप निर्माण चरण में एक अद्वितीय पहचानकर्ता (UID) होता है। UID का उपयोग अन्य सभी कुंजियों को एन्क्रिप्ट करने के लिए रूट कुंजी के रूप में किया जाता है। Apple भी इस पहचानकर्ता को निकाल या पुनर्प्राप्त नहीं कर सकता — यह केवल Secure Enclave के अंदर ही सुलभ है।
आधुनिक मोबाइल ऑपरेटिंग सिस्टम जटिल हैं और इनमें लाखों लाइनें कोड होती हैं, जो उन्हें शोषण के लिए कमजोर बनाती हैं। भले ही कोई हमलावर iOS (कर्नेल-स्तर) पर पूर्ण नियंत्रण प्राप्त कर ले, Secure Enclave दुर्गम रहता है — यह मुख्य SoC से भौतिक रूप से अलग है और सीधे आदेश स्वीकार नहीं करता। केवल एन्क्रिप्टेड अनुरोध एक सुरक्षित चैनल के माध्यम से SEP के साथ बातचीत कर सकते हैं।
Apple Platform Security (2025) के अनुसार, वर्तमान हार्डवेयर प्रतिबंधों के साथ लॉक किए गए डिवाइस पर Secure Enclave से डेटा का कोई सफल निष्कर्षण दस्तावेज़ित नहीं किया गया है।
Secure Enclave एक स्वायत्त प्रोसेसर के रूप में कार्य करता है: डिवाइस बूट के बाद, यह अपने स्वयं के बूटलोडर (SEP ROM) से प्रारंभ होता है, L4 माइक्रोकर्नेल की अखंडता सत्यापित करता है, और फिर एक सुरक्षित मेलबॉक्स के माध्यम से एप्लिकेशन प्रोसेसर (AP) से अनुरोधों की प्रतीक्षा स्थिति में प्रवेश करता है।
एप्लिकेशन प्रोसेसर (AP) और Secure Enclave के बीच संचार एक साझा सत्र कुंजी पर एन्क्रिप्शन के साथ एक सुरक्षित मेलबॉक्स के माध्यम से होता है। AP एक एन्क्रिप्टेड अनुरोध भेजता है, SEP इसे डिक्रिप्ट करता है, संचालन (हस्ताक्षर, डिक्रिप्शन, कुंजी निर्माण) करता है, और परिणाम एन्क्रिप्टेड रूप में लौटाता है। SEP कभी भी बिना एन्क्रिप्टेड कमांड स्वीकार नहीं करता।
सत्र कुंजी स्थापित करने से पहले, AP और SEP SEP ROM में एम्बेडेड और Apple प्रमाणपत्र द्वारा सत्यापित ग्रुप की (Group Key) का उपयोग करके एक प्रमाणीकरण प्रोटोकॉल निष्पादित करते हैं। यह तंत्र गारंटी देता है कि केवल एक वास्तविक Apple डिवाइस ही इस Secure Enclave के साथ बातचीत कर सकता है।
सभी क्रिप्टोग्राफ़िक कुंजियाँ हार्डवेयर TRNG का उपयोग करके Secure Enclave के अंदर उत्पन्न होती हैं। प्रत्येक कुंजी डिवाइस के UID से जुड़ी होती है और निर्यात नहीं की जा सकती। कुंजी तक पहुँचने पर, AP इसका हैंडल (जैसे Keychain में) निर्दिष्ट करता है, और SEP कुंजी को प्रकट किए बिना संचालन करता है।
// Secure Enclave के अंदर ECDSA कुंजी निर्माण
@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)
}
Secure Enclave केवल एक सॉफ़्टवेयर मॉड्यूल नहीं है — यह एक चिप पर एक पूर्ण स्वायत्त कंप्यूटर है। इसमें अपना स्वयं का प्रोसेसर, RAM, ROM, नॉन-वोलाटाइल मेमोरी और विशेष क्रिप्टोग्राफ़िक एक्सेलेरेटर शामिल हैं।
Secure Enclave प्रोसेसर एक 32-बिट ARM Cortex-A7 (A7-A10) या एक स्वामित्व L4 माइक्रोकर्नेल (A12+) है। RAM स्टैटिक रूप से आवंटित (SRAM) है और बाहर से दुर्गम है। ROM (SEP ROM) में बूटलोडर और ग्रुप की होती है। नॉन-वोलाटाइल मेमोरी UID, रूट प्रमाणपत्र और स्थायी कुंजियाँ संग्रहीत करती है।
Secure Enclave का SRAM आकार सीमित है (पीढ़ी के अनुसार 16–64 KB)। यह एक आर्किटेक्चरल बाधा है: SEP के अंदर केवल क्रिप्टोग्राफ़िक संचालन और बायोमेट्रिक टेम्पलेट मिलान किए जाते हैं। अन्य सभी डेटा एक एन्क्रिप्टेड चैनल के माध्यम से AP की मुख्य मेमोरी में स्थानांतरित किया जाता है।
Secure Enclave में समर्पित हार्डवेयर ब्लॉक शामिल हैं: AES इंजन (हार्डवेयर एन्क्रिप्शन/डिक्रिप्शन), P256 एक्सेलेरेटर (ECDSA, ECDH), SHA-256/SHA-512 मॉड्यूल, TRNG (रिंग ऑसिलेटर पर आधारित True Random Number Generator)। यह न्यूनतम बिजली खपत के साथ उच्च प्रदर्शन (गीगाबिट AES गति) प्रदान करता है।
| घटक | कार्य | प्रदर्शन |
|---|---|---|
| AES इंजन | हार्डवेयर AES-256 एन्क्रिप्शन | 3.5 GB/s (A12+) |
| P256 एक्सेलेरेटर | ECDSA हस्ताक्षर/सत्यापन | 15000 op/s |
| TRNG | यादृच्छिक संख्या निर्माण | 1 Mbit/s |
| SHA-256 | डेटा हैशिंग | 2 GB/s |
| UID (eFuse) | अद्वितीय चिप पहचानकर्ता | 256 बिट |
Secure Enclave चिप्स के प्रत्येक बैच को SEP ROM में एम्बेडेड ग्रुप की (Group Key) प्राप्त होती है। इस कुंजी का उपयोग AP के सामने SEP को प्रमाणित करने और एक एन्क्रिप्टेड चैनल स्थापित करने के लिए किया जाता है। Apple ग्रुप कीज़ पर हस्ताक्षर करने वाले प्रमाणपत्र जारी करता है, जिससे फर्मवेयर स्तर पर SEP की प्रामाणिकता सत्यापित की जा सकती है।
iOS डेवलपर सीधे Secure Enclave तक नहीं पहुँचते। इंटरैक्शन उच्च-स्तरीय API के माध्यम से होता है: LocalAuthentication (Touch ID, Face ID), Keychain Services (SEP में कुंजी भंडारण), CryptoKit (SEP कुंजियों के साथ क्रिप्टोग्राफ़िक संचालन)।
CryptoKit फ्रेमवर्क (iOS 13+) ECDSA कुंजियाँ उत्पन्न करने और डेटा पर हस्ताक्षर करने के लिए Secure Enclave तक सीधी पहुँच प्रदान करता है। secureEnclaveKey फ्लैग के साथ बनाई गई कुंजियाँ भौतिक रूप से SEP के अंदर स्थित होती हैं। हस्ताक्षर करते समय, डेटा एक सुरक्षित चैनल के माध्यम से प्रेषित होता है, संचालन SEP में किया जाता है, और हस्ताक्षर एप्लिकेशन को वापस किया जाता है।
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 Services क्रिप्टोग्राफ़िक कुंजियों को संग्रहीत करने के लिए Secure Enclave का उपयोग कर सकता है। kSecAttrTokenID = kSecAttrTokenIDSecureEnclave विशेषता सिस्टम को बताती है कि कुंजी SEP के अंदर बनाई और संग्रहीत की जानी चाहिए। SEP में कुंजियाँ हमेशा EC प्रकार (secp256r1/P-256) की होती हैं, क्योंकि Secure Enclave RSA का समर्थन नहीं करता।
Touch ID और Face ID Secure Enclave के माध्यम से कार्यान्वित प्रमुख उपयोगकर्ता सुविधाएँ हैं। SEP न केवल बायोमेट्रिक टेम्पलेट्स संग्रहीत करता है, बल्कि प्रदान किए गए डेटा के खिलाफ मिलान भी करता है, जिससे फिंगरप्रिंट या चेहरे की छवि को इंटरसेप्ट करने की संभावना समाप्त हो जाती है।
फिंगरप्रिंट या चेहरा पंजीकृत करते समय, सेंसर छवि को Secure Enclave में प्रेषित करता है, जहाँ इसे गणितीय टेम्पलेट (एक छवि नहीं!) में परिवर्तित किया जाता है और SEP की एन्क्रिप्टेड मेमोरी में संग्रहीत किया जाता है। मूल छवि नष्ट हो जाती है। टेम्पलेट को बाहरी रूप से निकाला नहीं जा सकता — SEP केवल एक नए टेम्पलेट की संग्रहीत टेम्पलेट्स से तुलना कर सकता है।
Secure Enclave अधिकतम 5 फिंगरप्रिंट या चेहरे संग्रहीत कर सकता है। सभी टेम्पलेट्स डिवाइस के UID द्वारा सुरक्षित हैं। जब डिवाइस पुनरारंभ होता है, SEP पहली बार पासकोड (लॉक कोड, बायोमेट्रिक्स नहीं) दर्ज होने तक टेम्पलेट्स तक पहुँच अवरुद्ध करता है।
जब कोई उपयोगकर्ता अपनी उंगली Touch ID पर रखता है, सेंसर छवि कैप्चर करता है और (iOS ड्राइवर के माध्यम से) इसे एक सुरक्षित चैनल के माध्यम से Secure Enclave में प्रेषित करता है। SEP टेम्पलेट की संग्रहीत टेम्पलेट्स से तुलना करता है। मिलान होने पर, SEP AP को सफलता की स्थिति और Keychain अनलॉक के लिए एक एफेमेरल कुंजी लौटाता है। असफल प्रयास ट्रैक किए जाते हैं, और कॉन्फ़िगरेबल संख्या में विफलताओं के बाद, SEP पासकोड दर्ज होने तक सभी बायोमेट्रिक अनुरोधों को अवरुद्ध करता है।
import LocalAuthentication
func authenticateUser() {
let context = LAContext()
var error: NSError?
guard context.canEvaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
error: &error
) else { return }
context.evaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
localizedReason: "प्रमाणित करें"
) { success, error in
if success {
// SEP ने बायोमेट्रिक मिलान की पुष्टि की
}
}
}
डिवाइस खो जाने पर, बायोमेट्रिक डेटा कई स्तरों पर सुरक्षित होता है: टेम्पलेट्स UID से एन्क्रिप्टेड (SEP के बाहर अपठनीय), SEP प्रत्येक पुनरारंभ पर, 48 घंटे की निष्क्रियता के बाद, या 5 असफल बायोमेट्रिक प्रयासों के बाद डिवाइस पासकोड की आवश्यकता है। Find My के माध्यम से Lost Mode अतिरिक्त रूप से SEP को अवरुद्ध करता है।
अक्सर पूछे जाने वाले प्रश्न
लॉक किए गए डिवाइस पर — नहीं। Secure Enclave इस तरह डिज़ाइन किया गया है कि उपयोगकर्ता प्रमाणीकरण के बिना डेटा दुर्गम है। ज्ञात हमले (A5-A11 पर checkm8) SEP से डेटा नहीं निकाल सकते — वे AP से समझौता करते हैं लेकिन Secure Enclave से नहीं।
ECDSA (secp256r1/P-256) — हस्ताक्षर और सत्यापन के लिए। ECDH — कुंजी समझौते के लिए। AES-256 — सममित एन्क्रिप्शन के लिए। SHA-256 — हैशिंग के लिए। RSA समर्थित नहीं है। सभी संचालन हार्डवेयर में किए जाते हैं।
Apple Silicon (M1, M2, M3) पर, Secure Enclave A-चिप्स के समान लागू किया गया है लेकिन बढ़े हुए संसाधनों के साथ। यह अधिक समवर्ती कुंजियाँ, तेज़ P256 संचालन का समर्थन करता है, और इसमें उपयोग मामलों (FileVault, ऑटोफ़िल, Safari) का एक विस्तारित सेट है।
UID (Unique ID) एक 256-बिट यादृच्छिक पहचानकर्ता है जो चिप निर्माण के दौरान Secure Enclave में फ़्यूज़ किया जाता है। UID का उपयोग डिवाइस पर अन्य सभी कुंजियों को एन्क्रिप्ट करने के लिए रूट कुंजी के रूप में किया जाता है। यह SEP सहित किसी भी घटक द्वारा पठनीय नहीं है।
पूर्ण रीसेट रिकवरी मोड (DFU) के माध्यम से फर्मवेयर पुनर्स्थापित करने पर होता है। Secure Enclave कुंजी पदानुक्रम को पुनर्निर्मित करता है। सभी Keychain डेटा और बायोमेट्रिक टेम्पलेट्स बिना किसी पुनर्प्राप्ति संभावना के स्थायी रूप से हटा दिए जाते हैं — यह एक अपरिवर्तनीय प्रक्रिया है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें