Информационная безопасность



              

Использование программных идентификаторов


Программные идентификаторы используются, в частности механизмами хранилищ запечатанных данных (sealed storage) и засвидетельствования (attestation).

Хранилище запечатанных данных. Реализованный с помощью средств криптографии механизм контроля доступа, в котором предполагается, что запечатывающий компонент (sealer) указывает, какие программы (определяемые по идентификатору кода) могут прочитать, или «распечатывать» данный секрет. Данный метод обеспечивает конфиденциальность и целостность хранимых данных. В принципе примитивы метода могут быть реализованы на любом системном уровне. К примеру, его можно реализовать аппаратно в форме службы для операционной системы, либо в операционной системе в форме службы для приложений.

На рис. 1 представлены примитивы Seal и Unseal. Программы могут вызывать примитив Seal и называть свой программный идентификатор (так происходит в большинстве случаев) или программный идентификатор какой-либо другой программы как объекта, имеющего доступ к данной информации. Если примитив Unseal вызывается программой, идентификатор которой «запечатан», он возвращает «запечатанный» секрет и программный идентификатор запечатывающего компонента (sealer). Если обратившаяся с запросом программа имеет другой идентификатор, Unseal возвращает ошибку.

Seal предназначен для локального хранения секретных данных. «Запечатанные» секреты недоступны для других компьютеров. Существует достаточно широкий диапазон возможностей реализации примитивов Seal и Unseal [6]. В общем случае уровень реализации — будь то аппаратный уровень или операционная система — должен иметь доступ к криптографическому ключу K.

В демонстрационной реализации Seal создает структуру данных, содержащую секретную строку, предоставленную программой, которая запустила механизм, идентификатор программы, для которой должны быть открыты запечатанные данные, а также идентификатор программы, вызвавшей Seal, — чтобы распечатывающий элемент мог идентифицировать источник данных [7]. Для шифрования этой структуры данных и защиты ее целостности в механизме Seal используется примитив шифрования с аутентификацией (authenticated encryption primitive), который может сочетать шифрование и аутентификацию сообщения.




Содержание  Назад  Вперед