Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита данных в БД 
:(
    Опции темы
max-anikin
Дата 25.11.2005, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 23.11.2004

Репутация: нет
Всего: 1



Довольно общий вопрос, но решил его добавить в БД.

В двух словах:

Вообщем необходимо сделать защиту данных в БД. Таким образом, чтобы в БД данные хранились в зашифрованном виде, а на клиенте данные расшифровывались и выводились пользователю. Шифрование данных производится с помощью алгоритма AES. Это уже сделано.
Но осталась проблема: данный алгоритм шифрования требует наличия закрытого AES ключа на клиенте. Также желательно ввести возможность изменения ключа. На данный момент он просто зашит в клиент (exe). Вот как его безопасно передать с сервера на клиент и как его хранить я пока не знаю.

Прошу совета. Желательно поподробнее. Надеюсь описал все более менее понятно.
PM MAIL ICQ   Вверх
LSD
Дата 25.11.2005, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 24
Всего: 538



Цитата(max @ 25.11.2005, 15:18)
Вообщем необходимо сделать защиту данных в БД. Таким образом, чтобы в БД данные хранились в зашифрованном виде, а на клиенте данные расшифровывались и выводились пользователю. Шифрование данных производится с помощью алгоритма AES. Это уже сделано.
Но осталась проблема: данный алгоритм шифрования требует наличия закрытого AES ключа на клиенте. Также желательно ввести возможность изменения ключа. На данный момент он просто зашит в клиент (exe). Вот как его безопасно передать с сервера на клиент и как его хранить я пока не знаю.

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


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
YurikGL
Дата 19.12.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Автору: Какая СУБД? Если типа Interbase то через UDF можно все что угодно сделать...


Цитата
если сервер защищен, то зачем в нем хранить зашифрованные данные

Вытаскиваем диск, копируем файл базы данных и, если структура базы простая, вытаскиваем данные легко и непринужденно....
--------------------
 
PM MAIL WWW ICQ   Вверх
LSD
Дата 19.12.2005, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 24
Всего: 538



Цитата(YurikGL @ 19.12.2005, 23:08)
Вытаскиваем диск, копируем файл базы данных и, если структура базы простая, вытаскиваем данные легко и непринужденно....

1. Под защитой, понимается и физическая защита тоже.
2. Существуют средсва позволяющие шифровать физический диск целиком, в том числе и аппаратные.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
YurikGL
Дата 19.12.2005, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Цитата
1. Под защитой, понимается и физическая защита тоже.
2. Существуют средсва позволяющие шифровать физический диск целиком, в том числе и аппаратные.

Это - материальные затраты... а даже простой алгоритм шифрования позволит избежать "шаловливых ручек". Другое дело, что не совсем понятно, зачем этот ключ передавать с сервера на клиент... тогда уж на клиенте надо шифровать и на клиенте же дешифровывать...
--------------------
 
PM MAIL WWW ICQ   Вверх
Bose
Дата 16.1.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: нет
Всего: 51



Цитата(max-anikin @ 25.11.2005, 15:18 Найти цитируемый пост)

Вот как его безопасно передать с сервера на клиент и как его хранить я пока не знаю.


по этому поводу рекомендую посмотретьпринцип работы SSL
Цитата

Теперь закономерно встает вопрос о том, каким образом распространять свои публичные ключи. Для этого (и не только) была придумана специальная форма - сертификат (certificate). Сертификат состоит из следующих частей:
Имя человека/организации выпускающего сертификат.
Для кого был выпущен данный сертификат (субъект сертификата).
Публичный ключ субъекта.
Некоторые временные параметры (срок действия сертификата и т.п.).
Сертификат подписывается приватным ключом человека (или огрганизации), который выпускает сертификаты. Организации, которые производят подобные операции называются Certificate authority (CA). Если в стандартном Web-клиенте (web-browser), который поддерживает SSL, зайти в раздел security, то там можно увидеть список известных организаций, которые подписывают сертификаты. С технической стороны, создать свою собственную CA достаточно просто. Но против этого могут действовать скорее юридические препятствия.


Теперь рассмотрим, каким образом происходит обмен данными в Интернете. Воспользуемся все теми же действующими лицами.
Алиса: Привет.
Боб: Привет, я Боб (выдает свой сертификат).
Алиса: А ты точно Боб?
Боб: Алиса я Боб. (Сообщение передается два раза, один раз в открытую, второй раз, зашифрованный с помощью приватного ключа Боба).
Алиса: Все нормально, ты действительно Боб. (И присылает Бобу секретное сообщение, зашифрованное с помощью публичного ключа Боба).
Боб: А вот и мое сообщение (посылает сообщение, которое было зашифровано с помощью секретного ключа, например того же шифрованного сообщения Алисы).
Поскольку Боб знает сообщение Алисы, потому что он владеет приватным ключом и Алиса знает, что было в том сообщении. Теперь они могут использовать симметричный шифровальный алгоритм (где в качестве секретного ключа выступает сообщение Алисы) и безбоязненно обмениваться шифрованными сообщениями. А для контроля над пересылкой сообщений (от случайного/преднамеренного изменения) используется специальный алгоритм - Message Authentication Code (MAC). Довольно распространенным является алгоритм MD5. Обычно, и сам MAC-code также шифруется. В связи с этим достоверность сообщений повышается в несколько раз и внести изменения в процесс обмена практически невозможно.


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


PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.