Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2010, 18:50   #1
Копоть Артём
Пользователь
 
Аватар для Копоть Артём
 
Регистрация: 12.04.2009
Сообщений: 29
Печаль Работа с зашифрованными файлами

Доброго времени суток! Народ! Ситуация такая. У меня есть база данных в нескольких файлах. Они зашифрованы. При запуске программа расшифровывает файлы во временную папку, с ними нормально работает, а по завершении работы заменяет старые файлы на новые (предварительно зашифровав), а временные файлы удаляет.
Потом подумал: ведь это зияющая дырища в защите: ведь можно запустить программу, а потом аккуратно скопировать расшифрованные временные файлы и творить с ними что душа пожелает. Ведь так? Так что делать? Может, надо какой-то парольный доступ организовывать непосредственно при работе с файлами? Как это сделать в Delphi?
Программист - это человек, который решает совершенно непонятным вам способом проблемы, о существовании которых вы даже не подозревали.
Копоть Артём вне форума Ответить с цитированием
Старый 10.11.2010, 22:02   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Безусловно, это огромная зияющая брешь в Вашей защите.

Избежать этого просто - ни в какой момент времени данные не должны быть на диске! Т.е. нужно отказываться от расшифровки файлов. И пользоваться БД с шифрацией на уровне ядра.
или хранить в БД зашифрованные данные. И получать от СУБД зашифрованные данные. А расшифровывать их на клиенте по мере необходимости.

p.s. разумеется, вариант перейти на СУБД, поддерживающую шифрацию на уровне ядра БД - намного лучше (и проще и надежнее).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.11.2010, 21:04   #3
Копоть Артём
Пользователь
 
Аватар для Копоть Артём
 
Регистрация: 12.04.2009
Сообщений: 29
По умолчанию для Serge_Bliznykov

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ни в какой момент времени данные не должны быть на диске! Т.е. нужно отказываться от расшифровки файлов. И пользоваться БД с шифрацией на уровне ядра..
А с этого места можно подробнее?
Программист - это человек, который решает совершенно непонятным вам способом проблемы, о существовании которых вы даже не подозревали.
Копоть Артём вне форума Ответить с цитированием
Старый 11.11.2010, 22:33   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пошарился в поисковиках...

MS Access 2007 (почитать здесь или перевод через Гугл этой статьи)

SQLite + SQLCipher (an SQLite extension)

Шифровать базу данных SQLite в C#

Accuracer

Absolute Database

Firebird 3.0

InterBase 2009

MS SQL Server 2008 - SQL Server 2008: Безопасность

Oracle + TDE : Прозрачное шифрование данных
(Transparent Data Encryption)


не совсем СУБД, но, как вариант:
Single File System (Archive / Backup Library with
Transparent Compression and Strong Encryption)

p.s. Внимание. очень многое из списка НЕ бесплатно!

p.p.s. разумеется, я это всё не пробовал. Да и прежде чем говорить о защите данных, всегда предварительно вспоминайте анекдот про Неуловимого Джо

p.p.p.s. Если Вы программируете на Delphi, я бы рекомендовал начать обзор с "Accuracer" и "Absolute Database" ...

Последний раз редактировалось Serge_Bliznykov; 11.11.2010 в 22:35.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2010, 20:29   #5
Копоть Артём
Пользователь
 
Аватар для Копоть Артём
 
Регистрация: 12.04.2009
Сообщений: 29
По умолчанию

А с BDE ничего нельзя сделать? У меня вся СУБД на ней построена, и я только её и знаю
Программист - это человек, который решает совершенно непонятным вам способом проблемы, о существовании которых вы даже не подозревали.
Копоть Артём вне форума Ответить с цитированием
Старый 12.11.2010, 20:52   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
При запуске программа расшифровывает файлы во временную папку, с ними нормально работает, а по завершении работы заменяет старые файлы на новые (предварительно зашифровав), а временные файлы удаляет.
Это лечение геморроя бетонированием гланд.
Лучше бы взял одну из предлагаемых выше СУБД - будет надежнее, там безопасность хай йому Грець, так что никто не пройдет из плохих дядечек.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.11.2010, 19:23   #7
Копоть Артём
Пользователь
 
Аватар для Копоть Артём
 
Регистрация: 12.04.2009
Сообщений: 29
По умолчанию

Уух! Всю СУБД переделывать
Программист - это человек, который решает совершенно непонятным вам способом проблемы, о существовании которых вы даже не подозревали.
Копоть Артём вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами в С серг Общие вопросы C/C++ 9 18.02.2010 19:21
Работа с файлами. Си jimmywoodes Помощь студентам 3 28.01.2010 09:27
работа с файлами mental Общие вопросы Delphi 3 27.01.2010 04:28
Работа с файлами prod87 Общие вопросы Delphi 3 01.11.2009 23:39
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03