Удаленная проверка приложения в процессе выполнения

Можно ли доказать удаленной стороне, что приложение, которое я запускаю в моей системе, такое же, как я утверждаю, что я использую DRTM или SRTM? Если да, то как?

1 ответ

Решение

Теоретически: да. Концепция называется удаленной аттестацией.

Основная идея такова: сначала у вас есть надежная цепочка доверия, построенная на вашей платформе, например:

BIOS  ==>  Boot loader  ==>  OS  ==>  Applications

Полученные результаты сохраняются в ПЦР.

Теперь вы можете позволить TPM подписать этот набор PCR, который называется quote,

Вы можете отправить эту цитату удаленному лицу. Здесь начинаются проблемы:

  1. Как вы можете доказать, что цитата была подписана аппаратным TPM, а не эмулятором?

    Возможные решения: предварительные общие ключи или какой-то CA.

  2. Как вы можете быть уверены, что значения PCR представляют собой состояние доверенной системы?

    Это не так просто. Если у вас есть SRTM, вы должны рассмотреть каждую возможную комбинацию того, как ваша система загружает компоненты. Например, в фазе BIOS, в каком порядке загружаются дополнительные ПЗУ?

    Здесь DRTM приходит на помощь, но это немного облегчает ситуацию. С DRTM вы можете забыть обо всем, что было до DRTM. Если у вас небольшая доверенная среда, скажем, как мерцание, то у вас будет управляемый набор доверенных конфигураций. Если у вас полнофункциональная ОС, то это сложно.

    Во-первых, вы должны найти ОС, которая измеряет все. IMA IBM для ядра Linux является одним из примеров.

    Тогда малейшая разница в порядке загруженных компонентов приведет к различным значениям ПЦР. Кроме того, рассмотрите все комбинации состояний, в которых могут находиться различные установленные программные пакеты.

    Возможные решения - ограничить возможный набор значений ПЦР, которые представляют допустимую конфигурацию. Например, вы можете измерить весь образ ОС вместо каждого двоичного файла. Примером является платформа acTvSM, опубликованная несколько лет назад.

Вывод: не существует простого, готового решения, но вы можете спроектировать систему так, чтобы она соответствовала вашим требованиям.

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