Минулого разу в аеропорту я хвилину простояв біля автоматичних паспортних воріт, тієї скляної кабінки, де кладеш паспорт на зчитувач, дивишся в камеру й чекаєш, поки двері вирішать, що ти їм подобаєшся. Це триває якусь мить. І в цю мить я впіймав себе на думці про те, що ж машина насправді робить. Вона не просто читала друковану сторінку. Вона ще й розмовляла з крихітним чипом, схованим під обкладинкою мого паспорта.
Я роками зчитую NFC-чипи за фахом. Про цей чип я знав. Просто ніколи не наводив на нього власний застосунок. І там, у воротах, мене справді зачепило: прикордонний кіоск мій паспорт читає, а NFC.cool ні.
NFC.cool існує саме для того, щоб закривати такі прогалини. Мета в мене завжди була проста й трохи вперта: бути найкращим NFC-зчитувачем, який можна поставити на телефон, і вміти все, на що NFC узагалі здатний, не перетворюючись на інструмент, для якого потрібен інженерний диплом. Паспортний чип якраз і є тим самим «усе, на що здатний NFC». Тож я його вбудував.
NFC.cool Tools тепер зчитує чип у біометричному паспорті, ID-картці чи посвідці на проживання, і на iPhone, і на Android. Показує фото та особисті дані, збережені на чипі, і каже, чи документ виглядає справжнім. Далі про те, як це працює і де проходять його чесні межі.
Чип мовчить, поки не доведеш, що документ у тебе в руках
Ось що зазвичай дивує: просто помахати телефоном над паспортом і зчитати його не вийде. Чип замкнений навмисно. Він не скаже ані слова, поки не отримає ключ, а ключ надрукований прямо на твоєму ж документі.
Як на мене, задум чудовий. Ніхто не зчитає паспорт нишком, поки той лежить у кишені чи в сумці. Єдиний вхід відкривається тому, у кого документ уже розгорнутий у руці, бо ключ збирають із того, що на ньому надруковано: номер документа, дата народження і дата закінчення дії.
Тому застосунок спершу просить саме ці три значення, і зробити це можна двома способами. Наведи камеру на машинозчитувану зону (MRZ), ту смугу з кремезними символами <<< унизу сторінки з фото або на звороті ID-картки, і NFC.cool розпізнає її оптично, так само як ворота в аеропорту. А якщо документ потертий чи світло погане, впиши три значення руками. Хай там як, отримавши ключ, застосунок попросить прикласти верхній край телефона до документа, і тоді починається справжнє зчитування чипа. Якщо колись було цікаво, як NFC працює на iPhone зсередини, тут те саме рукостискання впритул, тільки чип на тому кінці значно вибагливіший.
Що чип віддає
За кілька секунд перед тобою те, що чип носив увесь цей час: фото, яке зберіг орган видачі, ім’я, громадянство, номер документа, дата народження і дата закінчення дії, а в деяких документах ще й місце народження, орган видачі та дата видачі. Ті самі дані, які витягує кабінка прикордонника, тільки тепер вони в тебе в руці.
Кожен зчитаний документ лягає в невеликий гаманець усередині застосунку, який зветься «Мої документи», щоб можна було повернутися до нього пізніше. Гаманець живе на пристрої, а на iPhone синхронізується через твій власний iCloud. До мене чи на будь-який мій сервер він не потрапляє. Коли йдеться про таке особисте, ховати цю деталь дрібним шрифтом я не збираюся.
Чи документ справжній?
Найбільше я тішуся перевіркою автентичності. Сучасний паспортний чип не зводиться до картки пам’яті. Країна видачі підписує його вміст, наче втискає воскову печатку просто в дані. NFC.cool перевіряє цю печатку: що з моменту видачі на чипі нічого не змінили, що підпис математично дійсний і що він веде до справжнього органу видачі, який застосунок упізнає. Кращі чипи вміють ще й довести, що вони і є оригінальний кремній, а не копія, і застосунок перевіряє це теж, коли чип таке підтримує.
Але щодо формулювань я дав собі обіцянку. Застосунок ніколи не назве твій паспорт «підробкою». Якщо всі перевірки пройдено, він каже, що документ виглядає справжнім. Якщо щось не сходиться (а набагато частіше просто не вдається підтвердити видавця, бо тієї країни немає в списку, який застосунок носить із собою), він каже, що перевірити не зміг, і на цьому спиняється. «Я не зміг це перевірити» і «це підробка» звучать зовсім по-різному, і розмивати межу між ними на такій серйозній речі, як документ, я не готовий.
Чесні межі
Кілька прямих відповідей, бо в такій функції відмахуватися загальними словами було б негідно.
Документів застосунок читає багато, але обіцяти геть кожен я не можу. Я перевіряв на купі паспортів і карток із різних країн, і більшість зчиталися без проблем, але документи світу не вирівняні під одну лінійку, і твій може виявитися винятком. Якщо якийсь упирається, річ зазвичай у документі, а не в тобі.
Застосунок читає рівно те, що йому дозволено, і не більше. На деяких чипах лежать ще відбитки пальців чи дані райдужки, але їх закривають ключі, які є лише в державних систем контролю. Споживчому застосунку таких ключів не дають, та я й не хотів би, щоб вони в нього були. NFC.cool їх не чіпає ніколи. Він зчитує фото обличчя й ті самі дані, що надруковані на сторінці, тобто рівно ту частину, яку має право прочитати власник документа.
І потрібен телефон з NFC, який під час зчитування нерухомо притиснутий до документа. Чип маленький, з’єднання делікатне, тож варто телефону з’їхати, і зчитування доводиться починати спочатку. Тримай документ рівно біля верхнього краю телефона, поки все не завершиться.
Ті ворота в аеропорту досі не йдуть мені з голови. Уся безпекова вистава сучасних подорожей, а в самому її центрі крихітний NFC-чип робить обережне рукостискання, те саме, з яким я роками читаю й записую мітки. Тепер так уміє й зчитувач у твоїй кишені.
Хочеш побачити, що твій паспорт тихо носив увесь цей час? Зчитувач паспортів та ID живе в NFC.cool Tools на iPhone і Android, поруч з усім іншим, що я зробив для NFC. Розгорни паспорт, піднеси його до телефона й познайомся з тією версією себе, яка весь цей час жила на чипі.