Сегодня, когда мобильные устройства давно перестали быть просто «телефонами», появление мощного и безопасного поиска по фотографиям становится не просто «фишкой», а полноценной технологией, способной изменить наше представление о личных данных. В сети вокруг iOS 18 и новой фичи «Enhanced Visual Search» («Продвинутый визуальный поиск») уже поднялся целый шквал обсуждений и даже опасений. По словам исследователя Джеффа Джонсона, приложение «Фото» в iOS 18 и macOS 15 отправляет «куда-то» данные, что вызывает закономерные вопросы: «Куда отправляет?», «Зачем?» и «Нет ли тут рисков для приватности?». В этой статье я постараюсь раскрыть тему гомоморфного шифрования (Homomorphic Encryption) и объяснить, какую роль оно играет в новом поиске от Apple.
Почему «волшебный» поиск фотографий требует «волшебных» решений
С самого начала Apple хотела помочь пользователям быстро находить все фото с «кошками», «собаками» или, например, «жёлтыми машинами». Для этого картинки превращаются в особые числовые представления — векторные эмбеддинги.
- 🐱 Одна координата в таком векторе может отвечать за степень «кошачьности» объекта.
- 🐶 Другая — за «собачесть»,
- 🐺 А третья, возможно, за «дикость», что в сумме даёт «волка».
Чем ближе точки двух векторов, тем больше сходства между объектами на фото. Обычно эта технология выполняется прямо на устройстве — ведь так безопаснее. Но сложность в том, что локальная база данных может «разрастись» до таких размеров, что хранить её на iPhone не очень-то удобно. Особенно когда речь идёт о тонком различении между золотистым ретривером и любой другой породой собак.
Тогда закономерно приходит идея: перенести часть вычислений на сервер, где уже лежит огромная база заранее подготовленных «векторов». Но что делать с приватностью, если отправлять вектор в «открытом» виде нельзя? Ведь даже из «размытых» данных о ваших фото (сколько собак, какой породы и т. д.) можно выудить много лишней информации. Тут и появляется герой сегодняшнего дня — гомоморфное шифрование.
В чём суть гомоморфного шифрования
Главная магия гомоморфного шифрования (Homomorphic Encryption) заключается в том, что сервер может производить вычисления над зашифрованными данными, не зная, что там внутри!
Представим:
- Вы на своём устройстве шифруете некоторый вектор (например, «вектор-собака») и отправляете зашифрованный результат на сервер.
- Сервер производит поиск или сравнение «в лоб», не расшифровывая данные.
- Возвращает вам зашифрованный результат, который только вы можете расшифровать.
С точки зрения сервера, он буквально выполняет «сложение» и «умножение» над неведомыми ему числами, потому что шифрованные данные выглядят как случайный набор бит. Но внутри них продолжает жить ваш вектор, который (после возвращения результата на устройство и расшифровки) волшебным образом превращается в оценку близости с объектами в базе.
🛡️ Почему это безопасно
- Сервер не видит ваши фото или их точное векторное представление.
- Вы получаете «ответ» (например, рейтинг похожести на золотистого ретривера), но при этом сервер так и не узнаёт, что считалось.
Для специалистов по криптографии эта технология — настоящая находка. Но с точки зрения производительности всё не так радужно: полный набор гомоморфных операций (FHE, Fully Homomorphic Encryption) требует больших ресурсов и работает на порядки медленнее классических операций. Поэтому Apple, по их же заявлениям, использует «своеобразную» гомоморфию SHE — Somewhat Homomorphic Encryption (Частичное гомоморфное шифрование) с ограниченным числом операций, чтобы не потерять всё время на вычислениях.
Тонкости реализации: почему всё не так просто
Хотя базовые примеры гомоморфного шифрования (как умножение двух зашифрованных чисел) выглядят компактно, реальность оказывается сложнее. Ведь, чтобы совершить полноценный поиск ближайшего соседа (Nearest Neighbor) или вычислить косинусную схожесть (cosine similarity), требуются:
- 🤔 Сложение (для накопления суммы),
- ✖️ Умножение (для скалярных произведений),
- 💠 Нормализация (деление, корень, усреднение), которая внутри FHE — очень сложный кейс.
Поэтому Apple использует разбиение базы на кластеры и другие хитрости (например, дифференциальную приватность) чтобы:
- 🙈 Скрывать от сервера отдельные детали о вашем фото,
- 🤝 Уменьшать объём вычислений,
- ⚖️ Балансировать между точностью и производительностью.
Например, после нахождения «самого похожего» кластера (хотя сервер и не знает конкретно, что вы искали), ваш iPhone получает зашифрованные результаты и расшифровывает их уже локально. При этом дополнительные меры — вроде отправки «фейковых запросов» или пакетной обработки нескольких пользователей за раз — призваны ещё сильнее запутать потенциальных любителей подглядеть за вашими интересами.
Личное мнение: шаг в будущее, но без идеального счастья
С одной стороны, эта технология меня абсолютно восхищает: теперь можно использовать «умные» облака, не раскрывая им свои личные данные. Как по мне, это ещё один кирпичик на пути к идеальному миру, в котором у человека остаётся контроль над информацией, а весь «тяжёлый» функционал выполняют мощные серверы.
Однако нельзя забывать, что пока (по крайней мере в iOS 18) этот процесс не полностью прозрачен для пользователя. Большинству людей непонятно, что векторная репрезентация — это тоже «кусочек личных данных». То, что Apple внедряет гомоморфное шифрование, похвально, но хотелось бы большего диалога и уважения к принципам осознанного согласия.
Мы уже живём в мире, где «всё уходит в облако» — теперь на сцену выходит «частное вычисление в облаке». И это гораздо лучше, чем отдавать серверам все свои секреты в чистом виде. Как энтузиаст, я бы не отключал новую функцию поиска: она облегчает жизнь и в перспективе может открыть двери к другим крутым сервисам «без компромиссов» в приватности. Но хотелось бы более подробных, человеческих разъяснений прямо от Apple: что именно, когда и куда утекает?
📚 Рекомендации и ссылки
Ниже я привожу список материалов, которые помогут глубже погрузиться в тему. Эти ссылки были упомянуты в оригинальной новости — если хотите понять технические детали и контекст, советую заглянуть:
Если коротко, гомоморфное шифрование — это удивительная технология, позволяющая облакам «работать вслепую», сохраняя конфиденциальность ваших данных. Пока что она далека от идеала и требует больших вычислительных мощностей, но прогресс в этой сфере обещает нам новый уровень безопасности и удобства. И остаётся лишь надеяться, что разработчики (не только Apple) будут находить оптимальный баланс между внедрением подобных инструментов и прозрачным взаимодействием со своим сообществом.