Проект ЕС по верификации возраста требует аппаратной аттестации
Проект по верификации возраста с открытым исходным кодом, разработанный Европейским союзом, подвергся критике после того, как его сопровождающий подтвердил, что аппаратная аттестация является обязательным архитектурным требованием. Это вызвало опасения по поводу Linux, кастомных прошивок Android и независимо скомпилированных приложений.
Дискуссия началась в репозитории GitHub для приложения проекта для Android, где один из пользователей заявил, что привязка учётных данных к определённым аппаратным средам усложнит поддержку открытых систем.
«Аттестация с привязкой к оборудованию — это требование проекта, а не деталь реализации, от которой мы можем просто отказаться,» — ответил один из разработчиков. Проект предложил альтернативные архитектурные решения и сообщил, что вскоре будет опубликована специальная проверка безопасности и модель угроз.
Решение позволяет пользователям подтвердить, что они достигли определённого возраста, не раскрывая своего имени, точной даты рождения или полного документа, удостоверяющего личность. Чтобы предотвратить копирование, клонирование или повторное использование учетных данных модифицированными клиентами, в проекте используются ключи, хранящиеся на защищенном оборудовании, таком как Android TEE, StrongBox или Secure Enclave от Apple.
Однако критики утверждают, что такой подход ставит под угрозу всю систему, поскольку делает ее зависимой от небольшого числа одобренных устройств, операционных систем и поставщиков услуг аттестации.
Согласно технической спецификации проекта, приложения для проверки возраста должны использовать встроенное криптографическое оборудование, если таковое имеется. Однако более строгие проверки, такие как обнаружение рут-доступа, Google Play Integrity и Apple App Attest, не являются обязательными в эталонной реализации и могут быть оставлены на усмотрение отдельных разработчиков.
Это различие важно, поскольку при хранении ключей на аппаратном уровне серверу не нужно подтверждать подлинность всего устройства, операционной системы или сборки приложения. Формулировка сопровождающего оставляет некоторую неопределенность в отношении того, насколько строгими будут требования к производственным развертываниям.
Кроме того, существует отдельное ограничение, связанное с управлением. Предполагается, что поставщики услуг по подтверждению возраста будут выдавать учетные данные только приложениям, включенным в список соответствующих требованиям приложений, который ведет Европейская комиссия. Это означает, что публикация исходного кода не гарантирует автоматически, что созданная сообществом версия сможет использовать реальный сервис.
Важно отметить, что Linux прямо не запрещен. Пользователи Linux на настольных компьютерах могли зайти на сайт и отсканировать QR-код с помощью поддерживаемого мобильного кошелька. Однако в текущей архитектуре нет встроенного кошелька для Linux, а альтернативные мобильные операционные системы могут не соответствовать необходимым условиям доверия.
Так что, как вы понимаете, разногласия выходят далеко за рамки одной реализации для Android. Однако на данный момент позиция проекта такова, что привязка к оборудованию по-прежнему необходима. Ожидаемый анализ безопасности и модель угроз могут дать более подробное объяснение, почему был выбран именно такой компромисс и могут ли альтернативные корневые элементы доверия или менее строгие реализации соответствовать требованиям.
До тех пор главный вопрос остается нерешенным: может ли система идентификации с открытым исходным кодом, финансируемая ЕС, оставаться открытой, если доступ в реальной жизни зависит не только от доступного исходного кода, но и от одобренных приложений, поддерживаемого оборудования для обеспечения безопасности, доверенных операционных сред и политики поставщиков учетных данных.
Редактор: AndreyEx
Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.