Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Криптография базы данных   Найти похожие ветки 

 
lmz ©   (2005-08-16 12:25) [0]

Как мне закодировать базу данных а потом при её открытии ей расшифровать?


 
Reindeer Moss Eater ©   (2005-08-16 12:28) [1]

Слева направо, сверху вниз.


 
Anatoly Podgoretsky ©   (2005-08-16 12:33) [2]

Зачем?


 
lmz ©   (2005-08-16 21:08) [3]


> Слева направо, сверху вниз.


Как это сделать, можно фрагмент кода...


 
Desdechado ©   (2005-08-16 21:22) [4]

можно, но зачем?


 
Anatoly Podgoretsky ©   (2005-08-16 21:28) [5]

Ты ничего не говоришь о целях, может тебе хватит системных средств БДЕ


 
Ильш   (2005-08-17 06:15) [6]

procedure TForm1.BtnCodirClick(Sender: TObject);
begin
 Zakodirovat(Baza);
end;

procedure TForm1.BtnUnCodirClick(Sender: TObject);
begin
 Raskodirovat(Baza);
end;

а если серьезно прочитай что нить про CRC32 и прочее
этого в сети навалом, да и алгоритмов тоже


 
lmz ©   (2005-08-17 14:17) [7]


> нить про CRC32 и прочее

можешь дать ссылки...


 
lmz ©   (2005-08-17 14:51) [8]


> Ты ничего не говоришь о целях, может тебе хватит системных
> средств БДЕ

Мне нужно чтобы мою базу нельзя было открыть ничем другим как только моей прогой...


 
Reindeer Moss Eater ©   (2005-08-17 15:30) [9]

Этого у тебя никогда не получится.


 
OldNaum ©   (2005-08-17 15:42) [10]

при чем тут CRC32? что вы парню пудрите мозги? требуется явно защита информации от утечки при ее "публичном характере". верно? пробуй Advantage там есть хоть какое-то шифрование. я в свое время бился с шифрованием MS Access [MDB]. сложности возникли конечно при "нестрогом" поиске, т.е. при поиске по маске. знакомые из одной конторы хитрыми ухищрениями добивались все-таки шифрования MDB без потери всей функциональности, но проще, на мой взгляд использовать иной движок, если позволяют средства. но нет ничего не ломаемого. нету =)

тот же самый MDB с паролем ломается за полчаса руками. при наличии некоего ПО (www.passwords.ru к примеру) - доли секунды =) у них пароль, как я понял лежит в загаловке MDB шифрованный неким ключем из стандартной MS Office либы.

проще опиши свою задачу, может кто чем все-таки сможет помочь. как любят говорить многие - телепаты в отпуске =)

З.Ы. не надо сразу никогда просить фрагмент кода. ничему не научишься. а народ реагирует довольно агрессивно (


 
Reindeer Moss Eater ©   (2005-08-17 15:49) [11]

Зашифровать таблицу или инфу в полях можно.
Но невозможно выполнить  то, что требуется в [8].


 
Desdechado ©   (2005-08-17 15:56) [12]

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

PS гугл рулит! ищи


 
Reindeer Moss Eater ©   (2005-08-17 16:11) [13]

Остается еще убрать визуализацию содержимого БД с экрана.


 
Desdechado ©   (2005-08-17 18:40) [14]

а зачем? чтобы сору-paste не сделали? :)
дык, при больших объемах можно по одной строке показывать, при явном запросе
тогда замахаются копировать, особенно, не зная что запросить


 
Reindeer Moss Eater ©   (2005-08-17 18:46) [15]

Если в программе есть грид, сделают серию снимков + PgDown.
И скормят все файнридеру.

Если грида нет, все равно есть куча способов.
Лично я вынимал приятелю словари из каких-то программ.
Через поиск окон и посылку им сообщений.
10 минут программирования + 10 минут работы программы.

Так что баловство все это.


 
lmz ©   (2005-08-17 20:02) [16]

Мне надо не сильно замысловатую криптографию, ну хотя бы чтобы базу невозможно было открыть спощью Database Desktop


 
Anatoly Podgoretsky ©   (2005-08-17 20:04) [17]

lmz ©   (17.08.05 14:51) [8]
Мне нужно чтобы мою базу нельзя было открыть ничем другим как только моей прогой...

Так и поступят, откроют твоей "прогой"


 
lmz ©   (2005-08-17 20:10) [18]


> Anatoly Podgoretsky


> Так и поступят, откроют твоей "прогой"

Так как это сделать? Помогите...


 
Reindeer Moss Eater ©   (2005-08-17 20:19) [19]

Расслабся.
Так как все равно твоя БД никому не нужна, либо если она и нужна, то все равно ты не заставишь народ просматривать её твоей неудобной программой.
Вырвут с корнем и будут смотреть в чем удобно.


 
Ученик чародея ©   (2005-08-19 06:07) [20]

поменяй расширение на *.lmd 80% ламеров уже не откроют.


 
lmz ©   (2005-08-19 17:56) [21]


> поменяй расширение на *.lmd 80% ламеров уже не откроют.

Это всё не то....


 
Desdechado ©   (2005-08-19 18:19) [22]

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


 
lmz ©   (2005-08-19 18:29) [23]

Я прошу помощи, может кто-то делат что-то подобное...


 
TechnoDreamer ©   (2005-08-20 03:27) [24]

Ты напиши от кого шифровать собрался?
Если от ламерных юзеров, то достаточно переименовать расширение и поставить пароль. Можно еще сам файл полность шифровать, или только первые несколько символов, алгоритмов в инете море. Уже не откроют, правда чревато, если прога некоректно завершена будет.
Второй вариант шифровать поля, каждое в отдельности. Не обязательно все, можно только ключевые. Тут правда могут проблемы возникнуть, в основном с поиском.
Ну а от проффесиональных крякеров ты вряд ли спастись сможешь. Защитой одной базы не обойтись.


 
Anatoly Podgoretsky ©   (2005-08-20 12:16) [25]

На этот вопрос он упорно молчит. Без этого я не знаю, что советовать, на серьезную систему в несколько десятков миллионов долларов у него явно не хватит денег, если бы они были, то они бы приняли программиста на работу.


 
lmz ©   (2005-08-20 16:17) [26]


> Ты напиши от кого шифровать собрался?

Так скажем, не от ламеров а от средних пользователей...


 
Slym ©   (2005-08-22 07:10) [27]

Я делал черный список ФИО и его защищал т.к. в основном это был список клиентов (сикретная инфа)...
Может тоже делаешь черный список?
Ассиметричный криптоалгоритм RSA:
1.Данные шифруются открытым ключем
2. Закрытым ключем шифровал дату формирования.
3. Открытый ключ прикладывает к базе, закрытый забываем.
Данные теряются безвозвратно, но проверить вхождение ФИО в этот список легко... UpperCase ее и открытым ключем шифранут, а найти строку в таблице на стогое соответствие никаких проблем.

Достоинства:
1. Наивысочайшая секретность, данные нечитабельны даже создателю (ключь расшифровки забыт)
Недостатки:
1. Не расшифровать.. :)
2. Невозможность нестрогой проверки.
3. Выкрутасы с транслитом и 2 пробелами все ломают (но легко и их поламать :))


 
Leonid   (2005-08-22 12:11) [28]

Я когдато это пробовал, вроде получалось.
Идея такая.
В БД данные зашифрованы. Например, к каждому символу добавлена единичка.
При чтении строка дешифруется (кажись, я это делал в событии OvValidate)
При записи строка шифруется.


 
lehich   (2005-08-22 14:17) [29]


> Slym ©   (22.08.05 07:10) [27]


а исходничками если не сложно поделиться реально? :-)))


 
lmz ©   (2005-08-22 21:53) [30]


> Leonid  

Можно пример кода...
можно на почту... neo12000@rambler.ru
если напишешь на почту сообщи мне...


 
Slym ©   (2005-08-23 04:13) [31]

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


 
magic   (2005-08-24 10:39) [32]

А можно ли защищать базу следующим образом: поставлять юзерам БД, в файле которой какой-либо байт изменен? Прога запускается и возвращает прежний байт.
Пробовал такую фишку через volkov commander вручную: нажимал F4, затем менял кодировку на шестнадцатиричную и наугад менял цифирьку на новую (при этом запоминая положение цифирьки и ее значение). После этого сохранял файл и пытался подключиться к БД через IBConsole: не подключалась.
Возращал прежнюю цифирьку - работало как и раньше.
Вопрос: допустим ли такой вариант защиты и не портятся ли при этом какие-то данные в БД???


 
Slym ©   (2005-08-25 04:13) [33]

ЭЦП тебе в помощь


 
Бугага ©   (2005-08-25 09:21) [34]

А мне нужно было тоже спрятать инфу от посторонних просмотровщиков. Защита от дурака как говорится... Но я взял с сайта АП алгоритм и все строковые переменные кодировал. А при выводе в грид или в диалоговые окна раскодировал... Простенько но действует..


 
Anatoly Podgoretsky ©   (2005-08-25 10:16) [35]

Бугага ©   (25.08.05 09:21) [34]
Результат для хранения преобразовывал в Hex или в Base64?


 
lmz ©   (2005-08-25 15:46) [36]


> Но я взял с сайта АП алгоритм и все строковые переменные
> кодировал

с какого сайта ты взял алгоритм...


 
Бугага ©   (2005-08-25 16:07) [37]


> Anatoly Podgoretsky ©   (25.08.05 10:16) [35]

HEX


> lmz ©   (25.08.05 15:46) [36]

www.podgoretsky.com. Ничего что реклама? :)


 
Anatoly Podgoretsky ©   (2005-08-25 16:49) [38]

Бугага ©   (25.08.05 16:07) [37]
Ясно, я тоже так поступил, проще, а размер не волновал.


 
Max Ivanych ©   (2005-08-25 17:59) [39]

Два простых варианта:
1. Сопоставить каждому символу другой. Защита не ахти, но с учетом лени потребителей - достаточно. Файл БД переименовать, запихав при этом в папку с ним еще ряд подобных с заманчивыми названиями. Поставить пароль на БД.
2. Воспользоваться компонентами JVCL (http://sourceforge.net/projects/jvcl)



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.044 c
14-1127249587
Джо
2005-09-21 00:53
2005.10.09
Проверка доступности сайта


4-1123670306
Urgen
2005-08-10 14:38
2005.10.09
Service


1-1127105789
Frozzen
2005-09-19 08:56
2005.10.09
Регистрация класса


14-1125265756
Piter
2005-08-29 01:49
2005.10.09
Гради Буч - "Объектно-ориентированный анализ и проектирование..."


2-1125130361
Antonn
2005-08-27 12:12
2005.10.09
Что такое идентификатор по правилам Object Pascal?