Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.015 c
4-1123829294
Mickey Mouse
2005-08-12 10:48
2005.10.09
IrDA и Bluetooth в Delphi


5-1101835909
Ranger
2004-11-30 20:31
2005.10.09
Тестирование интерфейса времени проектирования


4-1123597670
NeoMaster
2005-08-09 18:27
2005.10.09
Получение списка всех подкаталогов на всех логических дисках


6-1118600263
integery
2005-06-12 22:17
2005.10.09
POP3 + ActiveX


8-1112417822
Galiaf
2005-04-02 08:57
2005.10.09
Звуки в Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский