Опубликован: 13.10.2008 | Доступ: свободный | Студентов: 1606 / 174 | Оценка: 4.22 / 3.70 | Длительность: 09:12:00
ISBN: 978-5-9963-0003-7
Лекция 12:

Доверительные вычисления (Trustworthy computing)

< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Аннотация: История вопроса. Безопасность. Конфиденциальность. Надежность. Практика деловых отношений. Предполагаемая реализация. Возможные результаты

Доверительные вычисления (Trusted Computing) - совокупность стандартов, разрабатываемых на их основе технологий, аппаратного и программного обеспечения для создания высокой степени безопасности. Безопасность гарантируется тем, что система допускает использование только сертифицированного аппаратного и программного обеспечения. Под сертификацией скрывается иерархия цифровых подписей; на их основании принимается решение, что и каким компонентам будет позволено. Криптографические процессоры проверяют подписи и контролируют сам центральный процессор.

Trusted computing и trustworthy computing

Различают понятия "trusted" и "trustworthy". NSA (Национальное агенство безопасности США) определяет trusted component как компонент, сбой в котором не влияет на безопасность всей системы, а trustworthy component - как компонент, в котором не произойдет сбой. С другой стороны, Министерство обороны США определяет trusted как нечто, чему мы вынуждены доверять за неимением выбора. Таким образом, термин trusted (доверенный) имеет довольно много значений.

Приведем пример: наши соседи не могут разглашать информацию о состоянии нашего здоровья, просто потому, что ее у них нет. Таким образом, они не могут нарушить безопасность нашей медицинской информации. А вот наш лечащий врач имеет к ней доступ и может поделиться информацией. Мы выбрали себе того лечащего врача, которому доверяем, то есть пошли на компромисс. Если же лечащий врач - один в радиусе 100 км, то мы просто вынуждены ему доверять. Во всех трех случаях компонент является доверенным.

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

Создатели идеи доверительных вычислений

Доверительные вычисления разрабатываются Trusted Computer Group (TCG, ранее TCPA). В совет директоров TCG входят ведущие производители программного и аппаратного обеспечения. Всего в TCG около сотни организаций-участников и несколько десятков спонсоров. TCG разрабатывает спецификации, определяющие доверительные вычисления в виде серии отраслевых стандартов. Члены TCG внедряют принципы доверительных вычислений в выпускаемое ими программное обеспечение и оборудование.

История доверительных вычислений

Теоретические основания TCPA заложены в труде В. Арбау, Д. Фар-бера и Дж. Смита "Защищенная и надежная архитектура начальной загрузки". Ключевая мысль о "базовом мониторе" для контроля всего доступа, впрочем, намного старше - она была высказана Джеймсом Андерсеном в 1972 г. в работе для Военно-воздушных сил Соединенных Штатов и с тех пор является основой при разработке военных систем безопасности. Авторы обращают внимание на то обстоятельство, что если безопасности программного обеспечения уделяется много внимания, то доверие к оборудованию подразумевается само собой.

В их системе AEGIS базовая система ввода/вывода делится на две логические подсистемы: одна - это привычная BIOS, а другая отвечает за правильность контрольных сумм и цифровых подписей. Таким образом, после включения компьютера сначала на все возможные ошибки проверяется энергозависимая память, затем - платы расширения, загрузочный сектор, операционная система и т. д. AEGIS впервые предусматривает полную цепочку проверки - от включения компьютера до запуска приложения, не пропуская ни одного компонента оборудования. Такие "полные цепочки" на самом деле легко разрываются. Поэтому на случай ошибки авторы предусмотрели аварийную загрузку с одного или нескольких серверов. При возникновении проблем с оборудованием это не помогает, однако с подобной трудностью сталкивается каждый пользователь ПК в любом случае. Кроме того, AEGIS может при поврежденном BIOS провести автоматическое восстановление с надежного сервера. Модель системы была основана на FreeBSD, а также на IPv6 для шифруемой загрузки.

Относительно сертификации необходимых для цифровых подписей открытых ключей не дается никаких пояснений. Как можно прочитать во втором разделе, авторы допускают даже сеть доверия Web of Trust, известную по PGP/GnuPG.

Основы доверительных вычислений

Доверительные вычисления определяют пять ключевых элементов, которыми должна обладать полностью доверенная система.

  1. Endorsement Key.
  2. Secure Input and Output.
  3. Memory curtaining / Protected execution.
  4. Sealed storage.
  5. Remote attestation.

Подтверждающий ключ (Endorsement Key)

Endorsement key - это пара 2048-битных RSA-ключей. Ключи генерируются производителем микросхемы на основе протокола, разработанного TCG. Закрытый ключ хранится в микросхеме. Микросхема проектируется таким образом, чтобы ключ нельзя было извлечь даже с помощью аппаратного анализа. Открытый ключ используется для подтверждения подлинности и шифрования данных, передаваемых микросхеме. Микросхемы называются доверенными модулями (Trusted Platform Module - TPM) или микросхемами Фрица (по имени американского сенатора, который активно работает над тем, чтобы внедрить такие микросхемы во все потребительское оборудование и установить штрафы за продажу несовместимых с ними устройств).

Безопасный ввод/вывод

Чтобы подтвердить, что используемое для ввода/вывода программное обеспечение действительно есть программное обеспечение, которое должно выполнять ввод/вывод, используются контрольные суммы. Таким образом можно выявить часть вредоносного программного обеспечения.

Memory curtaining

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

Sealed storage

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

Remote attestation

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

Как происходит процесс загрузки

Компьютер запускается с активированной микросхемой Фрица. Согласно спецификации TCG, сначала через Internet путем обращения к заслуживающему доверия координатору времени настраивается локальный таймер. После этого система проверяет BIOS и платы PCI, а в случае некоторых реализаций - даже клавиатуру. Сертифицированный интерфейс DMA призван воспрепятствовать несанкционированному доступу к памяти. Оборудование должно входить в список сертифицированного оборудования (Hardware Certification List, HCL). Еще один список - перечень аннулированных серийных номеров (Serial Number Revocation List, SRL): в первую очередь, он будет касаться приложений, но предположительно также и оборудования. Все, что перечислено в списке, блокируется. Согласно спецификации, оба списка при каждом запуске системы корректируются через Internet. Приложения, указанные в SRL, должны, по идее, блокироваться и в "добровольном" режиме. Также могут быть блокированы или удалены документы, входящие в перечень аннулированных документов (Document Revoсation List, DRL).

Возможные применения доверительных вычислений

Digital Rights Management (DRM)

Считается, что идея доверительных вычислений возникла именно для защиты авторского права. Каким образом здесь используются доверительные вычисления?

Например, загрузка файла с музыкой. С помощью удаленного наблюдения можно разрешить проигрывать данный файл только на той программе-плеере, которая не нарушает правила компании звукозаписи (считаем, что у компании звукозаписи есть список таких программ). Закрытое хранилище не позволит пользователю открыть этот файл с помощью другого плеера или другого компьютера. Музыка будет проигрываться в скрываемой памяти, что не позволит пользователю сделать нелегальную копию файла во время проигрывания. Безопасный ввод/вывод не позволит перехватить данные, передаваемые звуковой системе, и сделать таким способом нелегальную копию.

Выявление мошенничества (cheating) в online-играх

Часть игроков многопользовательских online-игр модифицируют свою копию игры с целью получения несправедливого преимущества в игре. С помощью удаленного наблюдения, безопасного ввода/вывода и сокрытия памяти серверы игры могут убедиться, что их игроки используют неизмененные копии игры.

Защиты от кражи идентификатора

Рассмотрим активно развивающееся в последние годы online банковское дело. При соединении пользователя с сервером банка можно использовать удаленное наблюдение. То есть страница сервера с полями для ввода данных будет отображена только в том случае, если сервер подтвердит, что он действительно является сервером этого online-банка. Далее введенные пользователем и зашифрованные номер счета и PIN передаются по сети.

Защита от вирусов и шпионов (spyware)

Рассмотрим такой пример: на некотором сайте можно скачать модифицированный клиент ICQ, содержащий код, который загружает на компьютер вирус или перехватывает и журналирует все события клавиатуры. Операционная система обнаружит отсутствие правильной цифровой подписи у измененного клиента ICQ и проинформирует пользователя.

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

Доверительные вычисления могут быть использованы разработчиками антивирусов для предотвращения повреждения вирусами их антивирусов.

Защита биометрических аутентификационных данных

Устройства биометрической аутентификации могут использовать доверительные вычисления для предотвращения установки шпионских программ. Для биометрических устройств особенно остро стоит вопрос кражи аутентификационных данных, так как в отличие от пароля они не могут быть изменены.

Верификация удаленных вычислений для grid computing

С помощью доверительных вычислений можно гарантировать, что результаты вычислений участников grid computing не поддельны и действительно соответствуют поставленной для данного компьютера задаче. Это позволит проводить вычисления с использованием большого числа компьютеров (например, для задач симуляции в метеорологии), не прибегая к дополнительным вычислениям для проверки подлинности данных.

< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Вячеслав Кузнецов
Вячеслав Кузнецов

Здравствуйте.

Как оплатить курс?