Защитить базу Access office XP

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Защитить базу Access office XP

Сообщение Алексей К. » 24.03.2005 (Чт) 14:38

Реально ли защитить от открытия - чтобы гуляющие в инете проги по подбору паролей не справились? Какие мысли есть?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.03.2005 (Чт) 14:46

Нет, все-равно вскроют при большом желании. А зачем защищать БД?
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 24.03.2005 (Чт) 15:04

Да у меня в базе структура дерева хранится, а дерево: классификатор элементов для САПР - где-то 3000 элементов. Может какую другую базу посоветушь с хорошей защитой?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.03.2005 (Чт) 15:08

А что в нем секретного?

Можешь использовать MS SQL, можешь FireBird (правда под него OLEDB-провайдеров найти трудно). Но если есть физический доступ к машине с БД (например, к серверу с MS SQL), то ни о какой надежной защите говорить не приходится.
Если оно того стоит, разработай свой закриптованный контейнер и храни данные в нем.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 24.03.2005 (Чт) 15:17

Классификатор - научный труд одного товарища, который поросил написать прогу- управление хранением файлов (разных систем САПР) в соответствии с его классификатором. Про крипт.: почти закончил прогу, храню закриптованные данные в аце. Но когда пользователь будет добавлять новый узел - мне надо проверить на: существует ли узел который начинается на первые 4 буквы нового узла-> грабли - как я проверю через like если данные закриптованы :( походу никак...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 24.03.2005 (Чт) 15:28

Алексей К. писал(а):походу никак...


Да ладно отчаиваться - все просто:

1. Правильная защита на уровне пользователя (с твоим системным файлом базы данных) с родной шифрацией базы обломает 99,9% желающих ее взломать.
2. Чтобы обломались оставшиеся - переименуй mdb и mdw в файлы с другим расширением (можно просто поменять у них расширения!) - они и не подумают что это база Access.
3. Думаешь большое желание будет у всех разбираться с чужой программой и ломать ее забесплатно? Проще конторе ее купить...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 24.03.2005 (Чт) 15:37

Успокоил :)

Ну даже если сменить расширение - просто более меннее разбирающему человеку посмотреть файл в любом файл-менеджере в кодировке dos и можно увидеть до боли знакомы слова: A c e s s V B A D a t a, accessobject и т.д.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 24.03.2005 (Чт) 15:48

Алексей К. писал(а):Ну даже если сменить расширение - просто более меннее разбирающему человеку посмотреть файл в любом файл-менеджере в кодировке dos и можно увидеть до боли знакомы слова: A c e s s V B A D a t a, accessobject и т.д.


Что - дать тебе парочку файлов для пробы на предмет вскрытия - хочешь озадачиться? Мне, к примеру, интересно - сможешь ли вскрыть их...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 25.03.2005 (Пт) 14:18

Попробовал сделать защиту от SHIFT, в функции вызываемой макросом autoexec почему то выдает ошибку на строке создания проперти (программный код защиты общеизвестный)
Код: Выделить всё

Function pusk()
Set dbs = CurrentDb
On Error GoTo errh:
dbs.Properties("AllowBypassKey") = False
Application.Quit
Change_Bye:
Exit Function
errh: If err.Number = 3270 Then ' Свойство не найдено.
Set prp = dbs.CreateProperty("AllowBypassKey", dbBoolean, False)
dbs.Properties.Append prp
Resume Next
Else
' Неизвестная ошибка.
Resume Change_Bye
End If
End Function


Ошибка такая: Ошибка преобразования типа данных. (Ошибка 3421)
Данные не могут быть преобразованы ядром базы данных Microsoft Jet к типу, требуемому методом или свойством. Такая ошибка обычно возникает, если указан аргумент одного типа, а для метода или свойства требуется другой тип.
Что не так?

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 25.03.2005 (Пт) 14:28

Если бюджет разработки позволяет, можно воспользоваться аппаратным ключем (f.e. guardant). Насколько я помню, они позволяют шифровать/дешифровывать на лету файлы, к которым обращается твоя программа....

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 25.03.2005 (Пт) 14:40

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

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 25.03.2005 (Пт) 15:38

А данные тут не при чем. При использовании апаратного ключа, шифруется файл данных (то есть mdb-база целиком, как файл). А при обращении к ней из программы - расшифровывается на лету. Там даже на уровне кода делать нечего - все выполняют драйвер который вместе с ключом идет. Проблема только в цене. Ключ стоит где-то долларов 10-15, плюс SDK - еще долларов 20.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 25.03.2005 (Пт) 15:46

Ситуация (с аппаратным ключом): пользователь запустил программу, выполняется запрос, пока он выполняется он через проводник заходит в папку программы а там - база зашифрованная лежит или уже расшифрованная?, после выполнения запроса опять зашифровывается? Ты наверно юзал такие ключи, подскажи как ситуация обстаит. У меня будет сетевая программа, а значит нужно guard net использовать. Разработчики ключа сами пишут что если много юзеров - то реком-ся несколько ключей. А такой ключ с безлим. лицензией (кол-ва юзеров) где-то за 100$ тянет.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 25.03.2005 (Пт) 16:18

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

Афаир, нет. Там это как-то более хитро делается... Но чтобы быть уверенным, можешь связаться непосредственно с разработчиками: http://www.guardant.ru Мне, помню, там все в деталях разжевали.
Алексей К. писал(а):У меня будет сетевая программа, а значит нужно guard net использовать. Разработчики ключа сами пишут что если много юзеров - то реком-ся несколько ключей. А такой ключ с безлим. лицензией (кол-ва юзеров) где-то за 100$ тянет.

Guardant Net II 5 - $25 за 1 шт. http://www.guardant.ru/products/price/
А больше пяти одновременных соединений Access при многопользовательском доступе вряд ли потянет...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList  
cron