|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Здравствуйте, третий день не могу найти ответ на свой вопрос. Собственно необходимо срочно написать программку на C# с ЛОКАЛЬНОЙ базой данных. Не могу найти НИ ОДНОЙ подходящей. Суть: 2 таблички, отношения многие ко многим. Необходимо усложнить вскрывшему сопоставление строк Главные требования: - База данных НЕ должна легко вскрываться сторонней прогой (типа IbExpert) - Обязан работать запрос вида "select .. . ... .... .... ... LEFT JOIN... .... where ... .... LIKE '%..%' " (соответственно шифрование ДО вноса в БД и запутывание ключей - отпадает) Желательно: - Простота установки у клиента (Службы стартовать каждому в лом) - Наличие ХП ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 09:53 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
NeogennБаза данных НЕ должна легко вскрываться сторонней прогой (типа IbExpert) Надо рассказать авторам, что они сделали крутой хакерский инструмент. NeogennНе могу найти НИ ОДНОЙ подходящей. Не удивительно. Поскольку Ваше требование означает в точности следующее: нужна СУБД которая нахрен никому не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 10:22 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
softwarer, то есть, по вашему, если БД локальная, то защита от тупого копирования файла, вскрытия и сопоставления данных по айдишникам не нужна вовсе и бессмысленна? Или я написал чтото противоречащее? Можно подвинуться. В идеале - БД должна работать только с моей прогой, обеспечивающей поиск и выборку. Кажется, наиболее подходящее решение - sqlcipher, но 150$ выделять никто на это не будет. А бесплатных аналогов я не нашел (прога на C#) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 10:38 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Neogenn, никто не будет писать базу "к которой сложно подконнектиться". Напротив, все стараются сделать это лёгким и с использованием стандартных механизмов, поэтому требование "невскрываемости ибэкспертом" в точности означает "база никому не нужна". Чтобы защититься от несанкционированного доступа к файлу, нужна поддержка шифрования на уровне базы. Но во-первых, и тут невскрываемость не абсолютная (поскольку есть доступ к программе с зашитым в неё ключом), а во-вторых, поддержка шифрования на уровне базы - сложна и трудоёмка, в бесплатном продукте её вряд ли кто-то будет делать. Если ваше начальство считает, что эти данные стоят дешевле $150 - совершенно не вижу смысла дёргаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 10:57 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
softwarer, Собственно к такому выводу я и пришел. Думаю теперь есть ли смысл перекидыватся с SQLite на firebird изза логина/пароля на вход... Еще вариант - Может кто подскажет какие-нибудь алгоритмы шифрования текста (Чуть сильнее Цезаря =D), с которым можно будеть выбирать через "Like %...%" Собственно усложнить то нужно прочтение текстовых полей (НО именно по ним будет идти поиск) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 11:10 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
NeogennДумаю теперь есть ли смысл перекидыватся с SQLite на firebird изза логина/пароля на вход... Сомневаюсь, что логин/пароль на вход как-то защищают от вскрытия на уровне файла. Можно погуглить, но почти уверен в ответе. P.S. Я единственный раз в жизни занимался вскрытием базы, защищённой наподобие упомянутого cipher-а. Справился минут за сорок. С тех пор, надеюсь, стало посложнее, но... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 12:04 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
если таблички всего 2, и хочется их прямо вообще совсем защитить - может быть сделать свой движок на файликах? или как-то впихнуть все в кей-вэлью хранилище, с которым "хакерам" будет лень возиться? Данных то много ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 12:33 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Вы не описали с какого рода угрозами вщлома/взломщика вы боретесь. Если ваша прога сетевая и вы боретесь против удаленного доступа к данным, но при этом вам надо, что-бы в базе что-о искалось, то вы просто закрываете доступ пользователя к оригинальным таблицам с данными, а ф-ии поиска зашиваете хранимую процедуру. Если же у вас взломщик - администратор, который имеет полные привелегии на базу данных, то тут вас ждет облом. Надо будет выбирать либо шифрация (и надо думаьб где при этом еще хранить лючи для расшифровки) и ф-ии поиска придйется делать на клиенте, либо удобство поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 14:56 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
и да, поиск по конестуркции LIKE '%..%' не будет использовать индекс, т.е. вы попадаете на сканирование таблицы. В этом случае можно и на клиенте се делать, если можете обесепчить надежное хранение ключа (в чем я сомневаюсь) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 14:59 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
а лучше сделать гибрид. Где важная текстовая информация хранится в зашифрованном виде, а вся информация для соединений берется из цифрового открытого ID. Итоговоая выборка передается на клиенте, где зашифрованные поля расшифровываются для отображения локальным ключем. Ключ засунуть в аппаратный токен. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 15:02 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
А зачем это? По-хорошему, я бы за такое руки бы отрывал нафиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 20:25 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Или возьми FVMas: "если я не буду летать - то НИКТО НЕ БУДЕТ". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 20:29 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
softwarerникто не будет писать базу "к которой сложно подконнектиться". Напротив, все стараются сделать это лёгким и с использованием стандартных механизмов, поэтому требование "невскрываемости ибэкспертом" в точности означает "база никому не нужна". А как же Oracle Vault?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 20:30 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Ggg_old, Будет небольшая програмка, обеспечивающая поиск и выборку. Необходимо чтобы пользователи данной программы не могли меняться своими файлами БД. т.е. если я дам свой файлик другому юзверю - программа на том компе его не съест.... "Защиту" (обратите внимание на кавычки) БД - достаточно будет обеспечить цезарем и путанием ключей (т.е. для выборки), либо вытаскиванием таблицы связей в отдельный файл... В общем, сейчас буду думать. Информация в строках не несет никакой секретности. Хочется скрыть именно связи. Ну а насчет перепрыгивания на FireBird только изза наличия ХП - я еще подумаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2012, 07:21 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
если объем таблицы связей небольшой, то ее можно хранить зашифрованной каким-то простым алгоритмом, но индивидуальным для каждого пользователя ключем. Для поиска клиент вызывает хранимку и передает ей в том числе свой шифровальный ключ. В хранимке этим ключем таблица связей расшифровывается в сессионную временную таблицу, по ней осуществляется поиск, результат отдается обратно, а таблица грохается. Функции расшифровки можно реализовать в виде расширенной хранимки (DLL), что-бы никто не ковырялся в ее кишках. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2012, 11:32 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА как же Oracle Vault?.. А что в нём кардинально усложняет работу с БД? Входящее в него шифрование базы - как раз иллюстрация к "сложно, дорого, в бесплатном решении вряд ли будет". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 10:43 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Neogenn, Как вариант:SQL Server Express LocalDB авторSQL Server Express LocalDB is a new lightweight edition of Express that has all its programmability features, yet runs in user mode and has a fast, zero-configuration installation and short list of pre-requisites. The LocalDB edition of SQL Server is targeted to program developers. LocalDB installation copies a minimal set of files necessary to start the SQL Server Database Engine. Once LocalDB is installed, developers initiate a connection by using a special connection string. When connecting, the necessary infrastructure is automatically created and started, enabling the application to use the database without complex or time consuming configuration tasks. Developer Tools can provide developers with a SQL Server Database Engine that lets them write and test Transact-SQL code without having to manage a full server instance of SQL Server. An instance of SQL Server Express LocalDB can be managed by using the SqlLocalDB.exe utility. SQL Server Express LocalDB should be used in place of the SQL Server Express user instance feature which is deprecated http://msdn.microsoft.com/en-us/library/hh510202(v=sql.110).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 13:04 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Andrey SribnyakКак вариант:SQL Server Express LocalDB Ну, какой же это вариант, когда "Developer Tools can provide developers with a SQL Server Database Engine that lets them write and test Transact-SQL code". Аффтар хочет как раз, чтобы люди с Developer Tools жестоко обламывались. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 14:02 |
|
Локальная БД. Защита
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Аффтар хочет как раз, чтобы люди с Developer Tools жестоко обламывались. Кто ему мешает хранить зашифрованные данные? При физическом доступе только самописный вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2012, 14:28 |
|
|
start [/forum/topic.php?fid=35&fpage=11&tid=1552580]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 149ms |
0 / 0 |