шифрование базы данных - PullRequest
9 голосов
/ 11 ноября 2008

Мне нужна защита базы данных на случай кражи жесткого диска.

Я не видел много баз данных (даже основных), претендующих на поддержку шифрования.

  • Вам, ребята, известны какие-нибудь базы данных, поддерживающие шифрование?
  • Если я использую базу данных, которая не поддерживает шифрование, это плохая идея, чтобы зашифровать данные нативно (например, с помощью библиотек шифрования Java)? Может ли это вызвать проблемы для баз данных со строго типизированными полями?
  • Какие другие решения доступны для шифрования моей базы данных?

Ответы [ 11 ]

6 голосов
/ 11 ноября 2008

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

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

Стилеру придется переформатировать накопитель, чтобы использовать его.

Конечно, если ваш компьютер использует автоматический вход, это не вариант для вас.

HTH, даже если это не решение для шифрования базы данных.

3 голосов
/ 11 ноября 2008

И Microsoft SQL Server, и Oracle поддерживают шифрование базы данных. SQL Server 2008 добавляет Прозрачное шифрование данных , которого не было в SQL Server 2005, который поддерживал только шифрование на уровне ячейки.

3 голосов
/ 11 ноября 2008

MS SQL Server 2008 определенно поддерживает это. Не уверен насчет старых версий.

2 голосов
/ 11 ноября 2008

Oracle поддерживает нечто, называемое прозрачным шифрованием, и работает с кошельком.

Возможно, из-за нашей реализации мы не имели успеха с ним. Мы столкнулись с проблемами, когда после того, как ЛЮБОЙ пользователь, имеющий учетные данные (т.е. пользователь с записью в кошельке), получил доступ к данным, он был открыт для всех тех, кто имел доступ к таблице. Если вы беспокоитесь только о шифровании в состоянии покоя, это может сработать для вас (вы можете проверить в документации Oracle, что оно шифрует в состоянии покоя) - если вам нужна зашифрованная передача в / из БД, я не уверен это то, что вы ищете.

Все это говорит - я думаю, что решение с таким решением, как шифрование на уровне жесткого диска, предложенное в другом посте, вероятно, больше подходит вам, учитывая ваш вопрос.

Отказ от ответственности: По профессии я не администратор баз данных, поэтому могу предложить это только из опыта, который у нас был с технологией Oracle. Я работаю в компании Fortune 500, и у нас наверняка были подходящие люди, которые смотрели на это.

1 голос
/ 30 сентября 2009

Если вы ищете хорошую встроенную базу данных, которая поддерживает шифрование, я бы порекомендовал SQLCipher *, который является версией SQLite, которая обеспечивает прозрачное шифрование базы данных по лицензии с открытым исходным кодом. Очевидный вариант использования - в мобильных и автономных приложениях.

* Полное раскрытие: я в команде разработчиков.

1 голос
/ 11 ноября 2008

Sybase SQL Anywhere поддерживает 128-битное и 256-битное шифрование AES.

1 голос
/ 11 ноября 2008

Fujitsu и Samsung продают жесткие диски с шифрованием на уровне жесткого диска. Я не знаю, если это вариант для вашей проблемы.

0 голосов
/ 13 декабря 2016

Как рекомендует Билли Грей, SQLipher - лучшая библиотека для шифрования базы данных. Чтобы использовать библиотеку, просто нужно вызвать

SQLiteDatabase.loadLibs (контекст); SQLiteOpenHelper.getWritableDatabase ( «yourSecretKey»):

0 голосов
/ 20 ноября 2013

TDE - лучший способ добиться этого ...

http://technet.microsoft.com/en-us/library/cc278098%28v=sql.100%29.aspx

0 голосов
/ 11 ноября 2008

Не уверен, если это вариант для вас, но разработчик SQLite продает версии библиотеки, которые используют зашифрованные базы данных: http://www.hwaci.com/sw/sqlite/prosupport.html#crypto.

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