Face ID е система за биометрично удостоверяване на Apple, основана на триизмерно сканиране на лицето с помощта на камерата TrueDepth. Технологията се появи за първи път в iPhone X през 2017 г. и замени Touch ID във флагманските модели. Според Apple Security Guide, вероятността за случайно отключване на Face ID от случайно лице е 1 към 1 000 000 — 20 пъти по-ниска от Touch ID с един регистриран отпечатък.
Основни точки
Face ID е система за биометрично удостоверяване, разработена от Apple за iPhone и iPad. Тя използва камера TrueDepth за създаване на точен 3D модел на лицето на потребителя и сравняването му със съхранен математически шаблон. Системата работи в пълен мрак благодарение на инфрачервено осветление.
Първият iPhone X (2017) представи Face ID като основна биометрия, замествайки Touch ID. Според Apple системата използва невронна мрежа на Neural Engine с 16 ядра, която обработва до 600 милиарда операции в секунда единствено за разпознаване на лица. През годините технологията премина през няколко поколения — от iPhone X до iPhone 16 Pro, където Face ID работи с 30% по-бързо и поддържа повече ъгли на гледане.
Ключовата разлика между Face ID и конкурентите е използването на 3D сканиране, а не на обикновена 2D снимка. Това прави системата устойчива на атаки с изображения, маски и видео. През 2023 г. Apple потвърди, че Face ID се използва над 10 милиарда пъти месечно за удостоверяване, плащания и автоматично попълване на пароли.
TrueDepth е модул на камера, състоящ се от три ключови компонента: проектор на точки (Dot Projector), инфрачервена камера (Infrared Camera) и инфрачервено осветление (Flood Illuminator). И трите компонента работят в спектър от 940 nm, невидим за човешкото око и безопасен за зрението.
Проекторът използва лазерен диод и дифракционна решетка VCSEL (Vertical-Cavity Surface-Emitting Laser) за проектиране на над 30 000 невидими инфрачервени точки върху лицето на потребителя. VCSEL лазерът работи при мощност, безопасна за очите (клас 1 по IEC 60825), и позволява изграждане на карта на дълбочината на лицето с точност до 0,1 mm.
Инфрачервената камера отчита отражението на точките, докато Flood Illuminator осветява лицето с равномерна инфрачервена светлина при условия на слаба осветеност. Данните от камерата се предават на Neural Engine, който изгражда 3D модел на лицето и го сравнява със съхранения шаблон в Secure Enclave. Процесът отнема по-малко от 400 милисекунди и се изпълнява изцяло на устройството.
| Компонент | Функция | Технология |
|---|---|---|
| Dot Projector | Проектира 30 000 инфрачервени точки | VCSEL лазер, дифракционна решетка |
| Infrared Camera | Отчита отражението на точките | 1280×960 пиксела, спектър 940 nm |
| Flood Illuminator | Осветява лицето с инфрачервена светлина | 6 LED, 940 nm, клас 1 |
| Neural Engine | Обработва 3D модела | 16 ядра, до 1 трилион операции/сек |
Процесът на Face ID се състои от три етапа: заснемане на изображение, изграждане на 3D модел и сравнение с шаблона. На първия етап Flood Illuminator осветява лицето, а Infrared Camera получава изображение в инфрачервения спектър. След това Dot Projector проектира върху лицето матрица от 30 000 точки, а камерата заснема тяхното изкривяване спрямо референтната решетка.
Neural Engine анализира изкривяването на всяка точка и изгражда карта на дълбочината на лицето — набор от 30 000 X, Y, Z координати, които описват релефа на лицето. Паралелно инфрачервеното изображение се анализира от втора невронна мрежа за проверка на Attention Aware — системата се уверява, че потребителят гледа директно към екрана с отворени очи.
Картата на дълбочината и инфрачервеното изображение се преобразуват в математически шаблон с размер около 3 KB, който се сравнява със съхранените шаблони в Secure Enclave. Ако степента на съвпадение надхвърли прага (настройваем в iOS), удостоверяването се счита за успешно. Според Apple Face ID се адаптира към промени във външния вид: порастване на брада, мустаци, очила, шапки — невронната мрежа актуализира шаблона след всяко успешно отключване.
С излизането на iOS 15.4 през 2022 г. Apple добави поддръжка на Face ID с маска. Системата анализира само областта около очите — тяхната форма, разстоянието между зениците и дълбочината на орбитите. За това се използва специален алгоритъм, обучен върху милиони изображения на лица с маски. Отключването с маска работи малко по-бавно (0,6 s спрямо 0,4 s), но осигурява достатъчно ниво на сигурност за ежедневна употреба.
Secure Enclave (SEP) е специален копроцесор в чиповете на Apple A7 и по-нови, който работи независимо от основната операционна система. В контекста на Face ID Secure Enclave изпълнява две функции: съхранява биометрични шаблони в криптирана форма и извършва математическо сравнение на новата проба с шаблона. iOS няма достъп до суровите данни от камерата — само до резултата от сравнението: съвпада или не.
Шаблонът на лицето се криптира с ключ, който се генерира от уникалния идентификатор на чипа (UID) при първото включване на устройството. UID е вграден в Secure Enclave на етапа на производство и не може да бъде прочетен отвън. Според Apple Platform Security дори Apple не може да извлече шаблона на лицето от устройството.
Attention Aware е допълнителен слой сигурност, който проверява дали потребителят съзнателно гледа към екрана. Face ID не отключва телефона, ако очите са затворени или погледът е насочен настрани. Тази защита предотвратява отключване по време на сън или без знанието на собственика. За хора с увредено зрение Attention Aware може да бъде изключен в настройките, но това намалява нивото на сигурност.
Apple тества Face ID с над хиляда маски, изработени от професионални производители на специални ефекти за филмовата индустрия. Нито една маска не успя да заблуди системата благодарение на комбинацията от технологии: инфрачервената камера анализира топлинното излъчване на кожата, Dot Projector проверява 3D релефа, а Neural Engine открива микродвиженията на лицевите мускули. На пазара не е регистриран нито един потвърден случай на заобикаляне на Face ID с помощта на маска.
Изборът между Face ID и Touch ID зависи от сценария на употреба и личните предпочитания. Face ID работи безконтактно — потребителят просто трябва да погледне към екрана. Touch ID изисква физически контакт с бутона или сензора, но не изисква визуален контакт с устройството.
| Параметър | Face ID | Touch ID |
|---|---|---|
| FAR (фалшиво приемане) | 1:1 000 000 | 1:50 000 |
| Скорост | 0,4 s | 0,2 s |
| Работа на тъмно | Да (инфрачервено осветление) | Да |
| Работа с маска | Да (от iOS 15.4) | Да |
| Безконтактно | Да | Не |
| Няколко потребители | Само 1 лице | До 5 отпечатъка |
След пандемията от COVID-19 Apple добави възможност за отключване на Face ID с маска (iOS 15.4+) — системата анализира само областта около очите. Въпреки това, за максимална сигурност Apple препоръчва използването на пълно разпознаване на лица. Touch ID все още е наличен на iPhone SE и iPad (бутон Home) и остава предпочитаният метод за потребители, които носят маски, очила с дебели стъкла или имат медицински противопоказания.
Framework-ът LocalAuthentication предоставя единен API за работа с Face ID и Touch ID на iOS. Разработчикът не трябва да знае кой сензор е инсталиран на устройството — системата автоматично избира наличния биометричен метод. По-долу е даден пример за удостоверяване с проверка на вниманието.
import LocalAuthentication
class AuthManager {
let context = LAContext()
func authenticate() {
var error: NSError?
guard context.canEvaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
error: &error
) else {
print("Биометрията не е налична: \(error)")
return
}
context.localizedReason = "Изисква се удостоверяване за вход"
context.interactionNotAllowed = false
context.evaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics
) { success, authError in
if success {
print("Удостоверяването е успешно")
} else {
print("Грешка: \(authError)")
}
}
}
}
Методът canEvaluatePolicy проверява наличието на биометрия на устройството — връща false, ако Face ID не е настроен или е блокиран след твърде много неуспешни опити. Параметърът interactionNotAllowed определя дали системата може да покаже диалогов прозорец на потребителя. За Face ID iOS автоматично добавя икона и анимация за разпознаване на лице.
Често задавани въпроси
Не. Face ID използва 3D сканиране с 30 000 инфрачервени точки, а не обикновена снимка. Плоското изображение не създава карта на дълбочината и Neural Engine незабавно разпознава опита за измама. Дори качествена 3D маска не може да заблуди системата — алгоритмите проверяват текстурата на кожата и микродвиженията на лицевите мускули.
Face ID поддържа само едно лице на устройство. За разлика от Touch ID (до 5 отпечатъка), Apple съзнателно ограничи Face ID до един потребител за повишаване на сигурността. Ако телефонът се използва от няколко души, всеки го отключва със собствената си парола, а не с биометрия.
Да, Face ID работи отлично в пълен мрак благодарение на Flood Illuminator — инфрачервено осветление, което осветява лицето с невидима за окото светлина с дължина на вълната 940 nm. Инфрачервената камера заснема изображението независимо от външното осветление.
След 5 неуспешни опита Face ID се блокира и iPhone изисква въвеждане на парола. Това е защита срещу атаки с груба сила (Brute Force). След успешно въвеждане на паролата Face ID отново става активен. При рестартиране на устройството също се изисква парола — биометрията не е налична до първото въвеждане на код.
Да, Face ID се използва за потвърждаване на плащания чрез Apple Pay. За плащане е достатъчно да натиснете двукратно страничния бутон и да погледнете към екрана. Транзакцията се потвърждава с биометрия, а не с въвеждане на PIN код. Без Face ID плащането може да бъде потвърдено само с паролата на Apple ID.
Заключения
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също