Как я могу зашифровать мой SSD, но все равно загружаться без присмотра (linux)?
У меня есть система, которая отображает видео с камеры с оверлеем, и она должна загружаться без какого-либо вмешательства пользователя (чем быстрее, тем лучше). Однако эти системы будут в руках клиентов, поэтому мы беспокоимся о реверс-инжиниринге.
ОС (linux), программное обеспечение и журналы хранятся на SSD-диске mSATA. Процессор представляет собой Core i3 4-го поколения с 4 ГБ оперативной памяти.
По сути, как мы можем помешать недобросовестным клиентам или конкурентам просто удалить SSD и украсть код нашего приложения? Очевидный ответ - зашифровать диск, но его нужно загрузить без присмотра. Следующим логическим шагом является дешифрование программного обеспечения во время выполнения, но вам все равно нужно хранить ключ дешифрования где-нибудь в незашифрованном виде, верно?
Есть встроенный модуль TPM, который может быть решением, но я не смог найти хорошую документацию по его использованию для этого.
Я открыт для любых предложений.
1 ответ
обзор
- зашифровать диск
- использование
dm-crypt
а такжеLUKS
- использование
seal
ключ к TPM и использовать ограничения доступа в соответствии с общеизвестнымиPCR
задавать.- использовать безопасную загрузку
Безопасность
Без безопасной загрузки единственный способ предотвратить передачу ключом доверенного платформенного модуля всем желающим - это использовать пароль - это невозможно, если требуется автоматическая операция.
Диск может быть дешифрован только на машине с конкретным TPM.
Ключ освобождается только после безопасной загрузки. Таким образом, доступ к диску может иметь только утвержденное вами программное обеспечение. Тем не менее, вы должны разработать правильную стратегию обновления, чтобы иметь возможность обновлять систему. (Если обновления являются проблемой)
TPM может быть обманут с помощью недорогих (< 100 €) аппаратных атак. Это требует некоторых навыков, но это вполне осуществимо.
Ключ все еще может быть получен путем удаления оперативной памяти и чтения ее с помощью специального устройства. Но он будет удален во время сброса Paltform Intel TXT.
Резервные копии всегда являются проблемой. Если получить доступ к ценным данным в резервных копиях легко, вся защита вашей платформы ничего не стоит. Если вы храните резервную копию в той же системе, это не резервная копия.
Поведение во время выполнения! Если ваш клиент может получить доступ к работающей системе (SSH, HTTP, ...), то диск будет смонтирован, и все данные будут доступны.
связи
Несколько лет назад был выпущен исследовательский проект protorype, вы также можете найти там некоторую информацию: IAIK acTvSM Platform