Как я могу защитить ключ от других приложений? - PullRequest
0 голосов
/ 16 апреля 2011

Настройка

  1. У меня есть база данных SQLite, которая содержит конфиденциальную информацию о пользователе.
  2. Эта база данных может быть реплицирована на другие машины
  3. Я доверяю пользователю, но не другим приложениям
  4. Пользователь периодически получает доступ к глобальному серверу

Цели безопасности

  1. Любая программа, кроме авторизованной (моей), не может получить доступ к базе данных SQLite.
  2. Взлом защиты на одной машине НЕ приведет к нарушению безопасности на других машинах
  3. Система должна быть обновляемой (это означает, чтоесли какой-либо алгоритм, например алгоритм генерации ключей, является некорректным, его можно изменить)

Предложенный дизайн

Использовать зашифрованное хранилище базы данных SQLiteключ в безопасном хранилище ОС.

Проблемы

Любой взлом Windows позволит человеку получить доступ к ключу для всех машин, который нарушает цель # 2

Примечания

  1. Аналогично этому методу, если я сохраню ключ в исполняемом файле, нарушение безопасности приведет к нарушению всех систем.
  2. Кроме того, я ссылаюсь на безопасное хранилище Windows.Хотя, если понадобится, я перейду к конкретному решению для ОС, но я бы предпочел решение, не относящееся к ОС

Есть идеи о том, как достичь целей проектирования?

1 Ответ

0 голосов
/ 16 апреля 2011

Я думаю, вам нужно будет использовать оборудование TPM, например, через TBS или что-то подобное, чтобы сделать безопасную версию этого.Насколько я понимаю, TPM позволяет приложению проверять, что оно не отлаживается или не отслеживается на программном уровне, и операционная система должна предотвращать любое другое приложение, претендующее на модуль TPM, что оно является вашим приложением.Хотя я могу ошибаться.

Вы можете использовать какой-то ключ безопасности через неизвестность, но он может быть взломан отладчиком, если вы не используете TPM.

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