24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Потенциально это опасная технология, если используется централизованная аттестация, но из материалов, которые удалось нагуглить, нихрена не понятно.
Нужно ответить на вопросы
1 позволяет ли данная технология хранить код в зашифрованном виде так, чтобы никто кроме авторизованной стороны не мог его расшифровать?
Ответ на это вопрос зависит от того, что такое HW-based attestation.
Сейчас поясню.
Прочитал слайды, ничего не понял.
Позволяет ли данная технология хранить код в зашифрованном виде так, чтобы никто кроме авторизованной стороны не мог его расшифровать?
Ответ на это вопрос зависит от того, что такое HW-based attestation и что подразумевается под HW based Attestation provides remote platform assurance that “this is the right app executing in the right platform “
Сейчас поясню.
Допустим копирасты хотят сделать невзламываемый DRM. Для этого пишут программу, которая создаёт анклав, который делает следующее
в первоначальный запуск:
1) скачивает с сервера копирастов код по защищённому доверенному каналу
2) генерит ключ, шифрует код этим ключом, выводит зашифрованный код из анклава, недоверенная часть его сохраняет на диск
в последующие запуски:
3) загружает зашифрованный код, расшифровывает его и выполняет
Так как ключ для расшифровки кода (sealing-ключ, если я верно понял) каким-то образом хранится так, что его нельзя извлечь (возможно он выводится с помощью PUF из REPORTа), и он не доступен вне анклава, то расшифровать код нельзя.
Только все усилия копирастов летят насмарку, если можно написать программу, которая соединится с их сервером и получит бинарник их секретного алгоритма, и, по-видимому, предотвращение этого в интеле и реализовали.
Я вижу несколько способов сделать это, все из которых подрывают владение системой.
Во-первых, можно в каждый чип внедрить секретный ключ, наружу не передаваемый, а на сервере интела хранить пару <открытый, ид чипа>, выдаваемую копирастам, оплатившим подписку, через API, а в процессе аттестации заставлять клиента подписывать challenge (копираст его выбирает) xor REPORT (копираст его знает для своего кода) и проверять подпись. Подтверждением аутентичности является соблюдение клиентом протокола (это говорит о том, что он знает приватный ключ и имеет такое же значение REPORT и наличие публичного в хранилище Intel). Программу же сделать нельзя, так как она не будет знать приватный ключ, из чипа не передаваемый. В случае утечки можно будет определить, какому чипу соответствует экземпляр спираченного кода, поместить ид этого чипа в реестр пиратов, после чего у него перестают работать все дрмнутые программы, а ещ стучат на него и к нему приезжают из фбр. Интел же может следить, на каком чипе исполняется программа какого вендора, отслеживая запросы к своей БД. Впрочем ничто не мешает хранить публичные ключи чипов в блокчейне биткоина.