Trusted Computing, iPad, сертификация немодифицированных приложений

Так как Apple контролирует весь аппаратный / программный стек, возможно ли получить следующее (через некоторый тип доверенных вычислений):

  • аппаратное обеспечение удостоверяет, что программное обеспечение является подлинной, не сломанной iOS
  • iOS подтверждает на моем сервере, что приложение работает без изменений

Чего это добиться, заключается в следующем:

когда мой сервер отправляет данные, гарантируется, что данные могут быть использованы только так, как я намереваюсь их использовать (так как он запускает мое приложение без изменений, на iOS без сломанной тюрьмы).

Это предотвращает такие вещи, как модифицированное приложение, которое крадет данные, передаваемые с сервера на клиент. Я понимаю, что теоретически можно подслушать, но это можно устранить с помощью шифрования.

Спасибо!

1 ответ

Вкратце нет.

Вы говорите о концепциях доверенных вычислений на платформе, которая не поддерживает TC. IOS не включает ничего рядом Trusted Computing - Remote Attestation, У него нет TPM.

Цепочка доверия, установленная чипом Apple, просто пытается остановить выполнение, если подпись следующего элемента в цепочке загрузки недействительна. Если что-то не получается (джейлбрейкнуто), это не эффективный способ его обнаружения. Он очень похож на Secure Boot, представленный Microsoft, но сильно отличается от Trusted Computing, который attest какая версия системы в данный момент запущена.

При использовании доверенных вычислений TPM сохраняет измерения (PCR) загрузки системы (SRTM). При загрузке первое выполненное действие (CRTM - единственное, чему мы действительно должны безоговорочно доверять) запустит цепочку путем измерения BIOS, отправит меру в TPM (в PCR) и передаст выполнение ему (BIOS). Затем BIOS делает то же самое для следующего элемента в цепочке загрузки.

Измерения, сохраненные в PCR, могут затем использоваться для шифрования или дешифрования информации (операции SEAL/UNSEAL) в зависимости от среды, загруженной в память.

TPM не принимает меры по измерениям (хорошо или плохо). Идея состоит не в том, чтобы ограничивать то, что может быть загружено, а в том, чтобы знать, какая среда загружена на платформе. Если что-то было изменено, TPM не будет содержать правильные значения PCR, и операция UNSEAL (расшифровка с использованием PCR в качестве ключа) не будет работать.

В случае удаленной аттестации речь идет об операции QUOTE. По сути, это то же самое, что и SEAL, но использует другие ключи, чтобы убедиться, что оценивающая сторона может подтвердить, что аттестация действительно происходит из реального / совместимого TPM.

Несомненно, система может использовать операцию SEAL для защиты секрета, используемого для расшифровки операционной системы, и, таким образом, производить - в некотором роде - тот же эффект, что и безопасная загрузка.

Для получения дополнительной информации см. Мои другие сообщения.

Другие вопросы по тегам