Touch ID یک سیستم احراز هویت بیومتریک Apple است که بر اساس اسکن اثر انگشت از طریق یک سنسور فازلیتی داخل دکمه Home یا دکمه تغذیه کار میکند. این فناوری در iPhone 5S در سال 2013 رونمایی شد و به اولین حسگر بیومتریک انبوه در بازار موبایل تبدیل شد. به گزارش Apple Platform Security (2025)، احتمال تصادفی اتفاقی تساوی Touch ID ٠/٠٠١٪ — ۱ در ۵۰ ٠٠٠ اثر انگشت است.
نکات کلیدی
Touch ID یک حسگر بیومتریک اثر انگشت است که توسط Apple برای احراز هویت کاربر در دستگاههای iPhone، iPad و Mac طراحی شده است. این فناوری بر اساس اسکن فازلیتی است: یک لایه نازک شیشه یاقوتی روی حسگر از یک ماتریس فازلیتی 500 نقطه محافظت میکند که ریزترین جزئیات الگوی پاپیلاری را — مینوشیها، منافذ و جهت خطوط را میخواند.
بر خلاف اسکنرهای اپتیکی که در دستگاههای Android آن زمان رایج بودند، روش فازلیتی Touch ID دقت بالاتری را به دلیل تماس مستقیم انگشت با حسگر ارائه میدهد. حلقه سرامیکی (detection ring) دور دکمه Home لمس انگشت را تشخیص میدهد و ماتریس را تنها در صورت وجود تماس زنده فعال میکند و از فعالشدن غیرضروری در اثر لمس تصادفی اجسام فلزی جلوگیری میکند.
نسل اول Touch ID (iPhone 5S، iPad Air 2) ضخامت 170 میکرون و وضوح حسگر 500 PPI داشت. نسل دوم (iPhone 6S، iPhone SE نسل 1) حسگر را به یک ماتریس 170 میکرونی با تشخیص بهبودیافته انگشتهای مرطوب بهروز رساند. نسل سوم در MacBook Air و MacBook Pro با دکمه Touch ID روی کیبورد استفاده میشود — حسگر مستقیماً به چیپ Apple T2 یا Silicon Secure Enclave متصل است.
فرآیند احراز هویت از طریق Touch ID شامل دو مرحله است: ثبتنام (enrollment) و تایید (verification). هر دو مرحله داخل Secure Enclave انجام میشود — یک کپروسسور امنیتی ایزوله شده که حتی با دسترسی root نیز از iOS دسترسی ندارد.
کاربر انگشت خود را چندین بار از زوایای مختلف به دکمه Home قرار میدهد. ماتریس فازلیتی بخشی از اثر انگشت به ابعاد 8×8 میلیمتر با وضوح 500 PPI اسکن میکند. سیستم تا ۱۲ قطعه مختلف از یک اثر انگشت را در زوایای امتیال مختلف جمعآوری میکند — این برای تشخیص انگشت در چرخش 360 درجه ضروری است. هر قطعه به یک الگوی ریاضی تبدیل میشود و در یک الگوی مرجع اثر انگشت ادغام میشود.
با لمس انگشت، detection ring سیگنالی به Secure Enclave ارسال میکند و اسکن را آغاز میکند. ماتریس اثر انگشت فعلی را در ظرف 200–300 میلیثانیه ثبت میکند، مینوشیها (پایان و شاخههای خطوط پاپیلاری) را استخراج و با الگوهای ذخیرهشده مقایسه میکند. Secure Enclave مقایسه را روی 50–100 نقطه انجام میدهد و متریک تشابه را محاسبه میکند. اگر تطابق از مقدار آستانه تجاوز کند، احراز هویت موفقیتآمیز تلقی میشود.
پس از 3 تلاش ناموفق، Touch ID به مدت 10 ثانیه قفل میشود. پس از 5 تلاش ناموفق، رمز عبور دستگاه مورد نیاز است و Touch ID تا اولین ورود موفق رمز عبور غیرفعال میشود. پس از راهاندازی مجدد دستگاه یا گذشت 48 ساعت از آخرین بازکرایی، Touch ID نیز به رمز عبور نیاز دارد — این یک نیاز سختافزاری Secure Enclave است که قابلیت دور زدن از طریق نرمافزار را ندارد.
حسگر Touch ID یک ساختار چند لایه است که هر لایه نقش خود را ایفا میکند: از حفاظت مکانیکی تا تشخیص لمس و ثبت اثر انگشت. تمام دادههای حسگر از طریق یک کانال شیفره مستقیماً به Secure Enclave منتقل میشوند.
| لایه | مواد | کارکرد |
|---|---|---|
| شیشه یاقوتی | یاقوت مصنوعی | محافظت از ماتریس در برابر خط و خش؛ عبور میدان الکتریکی انگشت |
| Detection ring | فولاد ضدزنگ | تشخیص لمس انگشت و فعالسازی حسگر |
| ماتریس فازلیتی | حسگر CMOS 500 PPI | خواندن اختلاف ظرفیت بین برجستگیها و فرورفتگیهای پوست |
| راهنداز داده | کانال شیفره | انتقال مستقیم دادهها به Secure Enclave بدون دسترسی سیستمعامل |
| Secure Enclave | ARM TrustZone | ذخیره الگوها، مقایسه و تصمیمگیری درباره احراز هویت |
تصمیم کلیدی معماری — عدم دسترسی سیستمعامل به دادههای خام. iOS نه تصویر اثر انگشت را نگاه میدارد و نه الگو را. Secure Enclave تنها نتیجه دودویی را بازمیگرداند: «موفق» یا «رد». این امکان رهگیری نرمافزاری دادههای بیومتریک را در سطح برنامهها یا سیستمعامل منتفی میکند.
Touch ID و Face ID دو فناوری بیومتریک پیاپی Apple هستند. علیرغم هدف مشترک (احراز هویت کاربر)، از نظر معماری، سناریوهای استفاده و ویژگیهای امنیتی متفاوت هستند. مقایسه به توسعهدهنده کمک میکند تا بفهمد در طراحی احراز هویت در برنامه چه محدودیتهایی را در نظر بگیرد.
در توسعه iOS، هر دو API از طریق یک چارچوب واحد به نام LocalAuthentication در دسترس هستند. فراخوانی canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics) دردسترسی بیومتری را بدون توجه به نوع آن بازمیگرداند. این به آن معنی است که یک برنامه با احراز هویت بیومتریک به طور مناسب روی تمام دستگاههای Apple کار میکند.
معماری امنیت Touch ID بر سه اصل استوار است: ایزولاسیون سختافزاری، پیوند کریپتوگرافیک به دستگاه و عدم ذخیره تصویر اصلی. این اصول از طریق Secure Enclave پیاده سازی میشوند — یک کپروسسور که تحت سیستمعامل مخصوص SEPOS کار میکند.
Secure Enclave در مرحله تولید یک شناسایی یکتای دستگاه (UID) تولید میکند که در چیپ جایگزین شده و حتی از طریق JTAG یا ایستگاههای probe نیز قابل خواندن نیست. الگوی اثر انگشت با کلیدی مشتق از UID شیفره میشود و در حافظه flash شیفره شده درون Secure Enclave ذخیره میشود. هر بار که دستگاه بارگذاری میشود، SEPOS یکپارچگی سیستمعامل را از طریق یک تاییدکننده سختافزاری بررسی میکند — اگر سیستمعامل تغییر کرده باشد، Secure Enclave به طور دائم قفل میشود.
Touch ID مطابق نیازمندیهای FIDO2 برای تایید بیومتریک است و برای مجازیسازی پرداختها در Apple Pay استفاده میشود. استاندارد PCI DSS (Payment Card Industry Data Security Standard) Touch ID را به عنوان یک عامل احراز هویت مقبول برای پرداختهای موبایل به شرط استفاده در کنار رمز PIN دستگاه برای راهاند چندعاملی میشناسد. در صورت خطره دستگاه، مهاجم نمیتواند الگوی اثر انگشت را از Secure Enclave استخراج کند — دادهها در هر تلاش برای دسترسی نامجاز از طریق حالت سیستم از بین میروند.
در توسعه iOS، ادغام Touch ID از طریق چارچوب LocalAuthentication انجام میشود — همان API که برای Face ID استفاده میشود. کد برای هر دو نوع بیومتری جهتگیر است و نیازی به مشخص کردن حسگر مشخصی ندارد. سیستم به طور خودکار روش بیومتریک موجود را در دستگاه کاربر تشخیص میدهد.
import LocalAuthentication
func authenticateWithTouchID() {
let context = LAContext()
context.localizedReason = "هویت خود را برای دسترسی به دادهها تایید کنید"
var error: NSError?
guard context.canEvaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
error: &error
) else {
// Touch ID در دسترس نیست — صفحه ورود رمز عبور را نشان بده
showPasscodeScreen()
return
}
context.evaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
localizedReason: "انگشت خود را به Touch ID لمس کنید"
) { success, authError in
DispatchQueue.main.async {
if success {
// Touch ID تایید شد
self.unlockContent()
} else {
// خطای احراز هویت
handleError(authError)
}
}
}
}
این کد پیادهسازی استاندارد احراز هویت از طریق Touch ID را نشان میدهد. روش canEvaluatePolicy وجود اثر انگشتهای ثبتشده در Secure Enclave و دردسترسی حسگر را بررسی میکند. اگر به جای Touch ID از Face ID استفاده شود، همان کد بدون تغییر کار خواهد کرد — LAContext به طور خودکار حسگر موجود را انتخاب میکند. پس از سه تلاش ناموفق، قفل سختافزاری فعال میشود و کاربر باید رمز عبور دستگاه را وارد کند.
برای پیوند کریپتوگرافیک احراز هویت بیومتریک به عملیات مشخص (مثل امضای پرداخت در Apple Pay)، از روش evaluateAccessControl با پارامتر SecAccessControl استفاده میشود. این رویکرد نتیجه Touch ID را با یک کلید در Keychain پیوند میدهد: احراز هویت موفق دسترسی به کلید مخفی را برای انجام عملیات کریپتوگرافیک باز میکند. بدون اسکن موفق اثر انگشت، کلید در Secure Enclave قفل مانده و امکان دور زدن از تایید بیومتریک از طریق نرمافزار را منتفی میکند.
Touch ID در چند سناریو کلیدی هم در سطح سیستم iOS و هم در برنامههای شخص ثالث استفاده میشود. هر سناریو از یک API LocalAuthentication واحد استفاده میکند، اما نیازمندیهای مختلفی در زمینه سیاست امنیتی ایجاد میکند — از بازکرایی ساده تا اجازه تراکنشهای امضاء کریپتوگرافیکی.
سناریوهای اصلی شامل بازکرایی دستگاه، مجازیسازی خریدها در App Store و iTunes، تایید پرداختها از طریق Apple Pay، پرکردن خودکار رمزها از iCloud Keychain و احراز هویت در برنامههای شخص ثالث از طریق LocalAuthentication میشود. در هر سناریو، Touch ID به عنوان جایگزین ورود رمز عبور عمل میکند: کاربر حسگر را لمس میکند، Secure Enclave هویت را تایید میکند و عمل بدون ورود اطلاعات ورود انجام میشود.
در iOS 14+ یک API جدید به نام ASAuthorizationAppleIDRequest اضافه شد که Touch ID را با Apple ID برای ورود بدون رمز به وبسایتها از طریق Safari ادغام میکند. کاربر Touch ID را لمس میکند و مرورگر یک توکن کریپتوگرافیکی از Secure Enclave دریافت میکند که سرور میتواند آن را بدون ذخیره رمز عبور تایید کند. این مکانیسم اساس اکوسیستم Passkeys از Apple را تشکیل میدهد.
سوالات متداول
حداکثر ۵ اثر انگشت در Secure Enclave. میتوان انگشتهای مختلف یک کاربر (شست، سبابی، وسطی) را یا اثر انگشت اعضای خانواده را برای دسترسی مشترک به دستگاه اضافه کرد. در صورت تلاش برای افزودن ششمین اثر انگشت، سیستم حذف یکی از موجودات را پیشنهاد میدهد. هر اثر انگشت به عنوان یک الگوی شیفره شده جداگانه ذخیره میشود.
نسل اول Touch ID (iPhone 5S، iPhone 6) با انگشتهای مرطوب کار نمیکرد — آب یک لایه هادی ایجاد میکرد که خواندن فازلیتی را تخریب میکرد. نسل دوم (iPhone 6S و بیشتر) با افزایش حساسیت حسگر، تشخیص انگشتهای مرطوب را بهبود بخشید. برای عملکرد بهینه، توصیه میشود انگشت را خشک کنید.
در تئوری بله — یک کپی سیلیکونی با کیفیت بالا که از اسکن 500 PPI گرفته شده باشد میتواند از تایید Touch ID عبور کند. اما ساخت چنین مولاقی نیازمند شرایط آزمایشگاهی و دسترسی به اثر انگشت اصلی است. Secure Enclave حفاظت اضافی میکند: تعداد تلاشها را محدود میکند و پس از 5 تلاش ناموفق حسگر را قفل میکند، که حملات بروتورز خودکار را غیرعملی میسازد.
Secure Enclave یک کپروسسور ایزوله شده روی چیپ Apple A-series است که تحت SEPOS کار میکند. آن سیستمعامل مخصوص خود، یک مسیر داده جداگانه به حسگر و یک ماژول شیفرگذاری AES-256 سختافزاری دارد. Secure Enclave الگوهای ریاضی اثر انگشت را ذخیره میکند، آنها را در طول تایید مقایسه میکند و تنها نتیجه دودویی را به iOS بازمیگرداند: موفق یا خطا.
در سال 2026، Touch ID در iPhone SE (نسل 3)، iPad (نسل 9 و 10)، iPad Air (نسل 4 و 5)، iPad mini (نسل 6) و تمام MacBook با چیپهای Apple Silicon وجود دارد. iPhone 15 و 16 Pro فلاگشیپ فقط از Face ID استفاده میکنند. در Mac، دکمه Touch ID در بالای سمت راست کیبورد قرار دارد و مستقیماً به Secure Enclave چیپ متصل است.
نتیجهگیری
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید