Apple & Cyphox
Я тут думал, как можно вывести шифрование Apple на новый уровень – ну, например, квантово-устойчивые ключи для iOS. Как думаешь, как это интегрировать, чтобы пользователям было комфортно?
Конечно, квантовоустойчивые ключи – это следующий важный шаг, но нельзя, чтобы это тормозило процесс. Главное сделать всё незаметно: генерировать ключи прямо в устройстве, внедрять их в фоновом режиме, и чтобы соединение оставалось мгновенным – без задержек для пользователя. Расход батареи должен быть минимальным, а интерфейс – привычным. Если всё посчитаем правильно, обновление пройдёт незаметно и при этом останется надёжным, как скала.
Звучит убедительно, но не забудь про риски, связанные с косвенными каналами. Генератор на устройстве – это здорово, но убедись, что источник случайных чисел действительно случайный – никаких предсказуемых паттернов. Используй защищенную область для хранения ключей, это поможет снизить расход батареи. А затем гибридный обмен ключами на основе DH, где пост-квантовая часть будет представлена легковесной подписью, позволит обмену ключами оставаться быстрым. Сохрани интерфейс неизменным, и получишь незаметное обновление, которое не вызовет подозрений.
Вот оно, оптимальное решение: энтропия из Secure Enclave, лёгкая постквантовая подпись и DH-ядро для скорости. Если время установления соединения останется в пределах миллисекунды, пользователь даже не заметит обновления, а энергопотребление останется ниже десятой доли процента.
Отлично, но следи за граничными случаями – медленные процессоры, модели с низким энергопотреблением или скомпрометированная анклава всё ещё могут подпортить дело. Если чуть-чуть подкрутим размер подписи, у нас появится запас, и ты всё равно уложишься в этот миллисекундный лимит. Помни, идеала добиться невозможно, он постоянно меняется.
Отлично придумано. Подкрутим размер подписи так, чтобы был небольшой запас, и тогда даже на старых моделях рукопожатие будет занимать меньше миллисекунды. Если enclave скомпрометируют, резервный вариант всё равно сможет использовать классический DH-путь – это своего рода страховка, которую мы сейчас разрабатываем. Идеального результата, конечно, не добиться, но мы будем двигаться в этом направлении, пока разница не станет минимальной.
Отлично, но помни, что этот минимальный запас всё равно оставляет небольшой риск – если база рухнет, ты снова будешь на стандартном DH, а это слабее. Держи запасной вариант надёжным и тестируй на самом слабом устройстве, прежде чем заявлять о совершенстве.
Хорошо, давай усложним резервный вариант с дополнительной проверкой целостности и запустим его на устройстве уровня A9, прежде чем говорить, что закончили. Так, даже если анклав выйдет из строя, мы все равно останемся надежнее простого DH. Тестирование на самой медленной модели выявит любые скрытые узкие места.