Как я могу зашифровать мой SSD, но все равно загружаться без присмотра (linux)?

У меня есть система, которая отображает видео с камеры с оверлеем, и она должна загружаться без какого-либо вмешательства пользователя (чем быстрее, тем лучше). Однако эти системы будут в руках клиентов, поэтому мы беспокоимся о реверс-инжиниринге.

ОС (linux), программное обеспечение и журналы хранятся на SSD-диске mSATA. Процессор представляет собой Core i3 4-го поколения с 4 ГБ оперативной памяти.

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

Есть встроенный модуль TPM, который может быть решением, но я не смог найти хорошую документацию по его использованию для этого.

Я открыт для любых предложений.

1 ответ

обзор

  1. зашифровать диск
    • использование dm-crypt а также LUKS
  2. seal ключ к TPM и использовать ограничения доступа в соответствии с общеизвестными PCR задавать.
  3. использовать безопасную загрузку
    • Intel TXT и TBoot способны безопасно загружать ядро ​​Linux. Вы должны проверить, поддерживает ли ваш процессор и чипсет TXT.

Безопасность

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

  • Диск может быть дешифрован только на машине с конкретным TPM.

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

  • TPM может быть обманут с помощью недорогих (< 100 €) аппаратных атак. Это требует некоторых навыков, но это вполне осуществимо.

  • Ключ все еще может быть получен путем удаления оперативной памяти и чтения ее с помощью специального устройства. Но он будет удален во время сброса Paltform Intel TXT.

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

  • Поведение во время выполнения! Если ваш клиент может получить доступ к работающей системе (SSH, HTTP, ...), то диск будет смонтирован, и все данные будут доступны.

связи

Несколько лет назад был выпущен исследовательский проект protorype, вы также можете найти там некоторую информацию: IAIK acTvSM Platform

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