Вопрос или проблема
Я пытаюсь понять, как использование криптографического сопроцессорного чипа может безопасно расшифровывать диск, не позволяя кому-либо получить ключ расшифровки путем перехвата шины, по которой осуществляется связь, или загрузки диска на другой компьютер и просмотра его содержимого таким образом. В частности, я пытаюсь выяснить, как это работает, когда у кого-то есть физический доступ к устройству, и устройство требует расшифровки без пароля.
Примером может служить банкомат, который имеет встроенное устройство, которое загружается в операционную систему только в том случае, если оно работает на доверенном оборудовании, имеющем криптографический чип. В этом случае это безпарольный доступ (нет входа в систему для использования терминала банкомата). Злоумышленник может получить физический доступ к плате, но ему не должно быть разрешено перехватывать шину между криптографическим сопроцессором и главным процессором, а также не должно быть разрешено извлекать SD-карту и просматривать содержимое на отдельном компьютере.
Рассмотрим следующую ситуацию:
- Встроенная система, работающая на Linux, с криптографическим чипом, который общается по i2c
- Диск является съемным носителем, таким как SD-карта, и имеет полное шифрование диска
- Устройство без пароля, но работает только на доверенном оборудовании
- Съемный носитель не может быть загружен в другое устройство и проанализирован
- Устройство/ключи могут быть подготовлены в безопасной среде
Вопросы:
- Как возможно, что ключ расшифровки может передаваться по шине i2c, не будучи перехваченным?
- Я предполагаю, что используется шифрование с открытым ключом, но как на стороне диска держится в секрете закрытый ключ?
- Может ли такая конфигурация работать, если съемный носитель не paired с конкретным криптографическим чипом?
- Пример: устройство получает новую SD-карту (но все же может быть расшифровано с с помощью криптографического чипа)
В безопасной конфигурации эта проблема смягчается, потому что ключ шифрования никогда не должен передаваться по шине изначально.
Вместо этого ключ расшифровки надежно хранится внутри (надеемся) устойчивого к взлому криптографического сопроцессора (например, TPM или безопасного контейнера Apple).
И поскольку
личная часть ключа никогда не выставляется наружу из TPM,
процесс расшифровки должен происходить внутри, и только внутри, чипа.
Я знаю, что вы спрашивали только о ключе, но чтобы предотвратить перехват каких-либо данных по шине, данные могут быть зашифрованы в пути между криптографическим сопроцессором и главным процессором с помощью симметричного ключа шифрования.
Пожалуйста, извините за очень поздний ответ.
Ответ или решение
Криптографические сопроцессоры играют ключевую роль в обеспечении безопасности данных, особенно в контексте физической защиты и шифрования. Вопрос о том, как они могут обеспечить безопасную расшифровку данных на диске, не позволяя осуществлять их перехват через шину, требует детального рассмотрения.
Как криптографические сопроцессоры защищают ключи и данные
-
Хранение ключей:
Ключи расшифровки, используемые для шифрования диска, не должны передаваться по шине, такой как I2C. Вместо этого они хранятся в защищённом хранилище, таком как криптографический сопроцессор или модуль TPM (Trusted Platform Module). Эти устройства обеспечивают защиту от физического доступа и попыток извлечения ключей, благодаря использованию технологий защиты от подделки и шифрования. -
Процесс расшифровки:
Расшифровка данных происходит внутри сопроцессора. Подразумевается, что диск остается за пределами сопроцессора, а сам процесс расшифровки выполняется непосредственно внутри него. Это означает, что даже если злоумышленник получит физический доступ к устройству, он не сможет получить расшифрованный ключ, так как он никогда не покидает пределы сопроцессора. -
Условия безопасности шины:
Для передачи данных между сопроцессором и основным процессором можно использовать симметричное шифрование данных, формируя защиту от перехвата. Это минимизирует риск того, что кто-либо сможет увидеть расшифрованные данные, поскольку они будут зашифрованы в процессе передачи.
Обмен данными и ключами
-
Публичный ключ:
Если для инициализации некоторых операций используется асимметричное шифрование, например, для связи с внешними источниками данных, можно использовать протокол, гарантирующий, что ключи никогда не будут выданы открыто. Публичный ключ может использоваться для зашифровки данных, которые затем могут быть расшифрованы только с помощью соответствующего приватного ключа, который хранится в криптографическом сопроцессоре. -
Совместимость сменного носителя:
Данная архитектура также должна поддерживать возможность работы с новыми сменными носителями, такими как SD-карты. Это можно реализовать через механизмы сертификации и связывания, при которых новый носитель регистрируется в системе и получает необходимый доступ к ключам расшифровки после процедуры установленной аутентификации.
Заключение
Таким образом, криптографические сопроцессоры обеспечивают высокий уровень безопасности, часто применяя комбинации методов шифрования, защищая ключи и данные как на физическом, так и на логическом уровне. Эти устройства гарантируют, что даже если злоумышленник получит физический доступ к оборудованию, он не сможет получить к ним доступ или выполнить расшифровку данных, обеспечивая надежность и безопасность шифрования на высоком уровне.
Для успешной реализации таких решений требуется заранее спроектированная архитектура, которая учитывает аспекты безопасности на всех уровнях — от физической защиты до программного обеспечения.