В нашем мире все имеет начало и все имеет конец, в случае с Доверенной Вычислительной Средой назовем это краткий миг «между прошлым и будущим» жизненным циклом ДВС. В момент рождения она естественно слаба и беззащитна, любой ее может «обидеть» (подменить параметры), либо «угнать» (заменить программный код).
Поэтому для активации доверенной среды выбирается момент когда рядом никого нет, то есть доверенная среда активируется ДО загрузки Операционной Системы. Сразу после инициализации системы через БИОС/UEFI управление передается на загрузчик Доверенной среды, который активирует доверенную среду на «чистой» машине и только после активации передает управление на штатный загрузчик ОС.
Таким образом, ОС с момента своей инициализации даже не догадывается о наличии на вычислительной установке скрытых от нее аппаратных и программных ресурсах.
И вот загрузилась Операционная Система, начала жить своей абсолютно непонятной жизнью, и появилась необходимость использовать для приватных вычислений ресурсы доверенной среды. Значит нужно из некоего приложения функционирующего в ОС вызвать функцию реализуемую в ДВС. Этот процесс не тривиален, ОС и соответственно приложение ничего не знает о ДВС, поэтому единственный способ начать им общаться, это использовать публичный ресурс,- оперативную память общего доступа.
Для этого приложение, функционирующее в ОС, выставляет сигнатуру в оперативной памяти, которую обнаруживает ДВС. Затем, в рамках протокола обмена, в оперативной памяти инициализируются некие переменные служащие интерфейсом между ДВС и приложением, которое захочет воспользоваться услугами ДВС.
Очевидно, Доверенная Вычислительная Среда слепа и наивна, любое приложение может воспользоваться ее услугами. Для этого ему нужно знать только сигнатуры и протокол обмена данными. Соответственно и злоумышленник может попытаться вклиниться в этот процесс со своим корыстным интересом.
Конечно, можно придумать множество вариантов защиты от нелегального использования функций ДВС, но на каждый вариант защиты найдется с десяток вариантов пробоя такой защиты, это хоть и печальная, но многократно проверенная аксиома ИБ.
Единственный надежный вариант это использование двухфакторной идентификации, ее можно организовывать по разному, но пока реализован простейший вариант контроля использования функций ДВС с визуализацией и ручным подтверждением от клавиатуры оператора.
Соответственно и исходные данные и результаты работы ДВС также могут быть «подсмотрены» и модифицированы, если он передается через ОП общего пользования, то гарантий их целостности нет. Но в большинстве случаев это не проблема, поскольку их можно зашифровать, либо напрямую выдать в сеансе доверенного выполнения на какой ни будь аппаратный контроллер, к примеру, на экран монитора, либо в сетевой адаптер.
Так что можно констатировать, что доверенная среда, «это не догма, а руководство к действию», и применение ее должно быть увязано с общей концепцией ИБ, реализуемой средствами ДВС.
И вот система славно поработала, «караул устал», оператору захотелось покурить и он «усыпляет» систему. Такой вариант ДВС не устраивает, потому как в режимах сна критические данные и коды могут выгружаться на внешние носители и соответственно там в беззащитном состоянии их можно анализировать и модифицировать.
Поэтому в доверенной вычислительной среде используется принцип: «умерла - так умерла». Если запускается процедура сна или гибернации, то система вместо этого выключается, данные и программы ДВС не выгружаются на устройство долговременного хранения, конечно неудобно, но безопасность превыше всего….