Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Криптография в sqlite / 25 сообщений из 34, страница 1 из 2
11.02.2009, 10:46
    #35809941
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Подерживает ли sqlite криптографию.

Т.е по-мимо логина и пароля хотелось чтоб с данной бд можно было работь только из моего приложения
...
Рейтинг: 0 / 0
11.02.2009, 16:32
    #35811440
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
...
Рейтинг: 0 / 0
14.02.2009, 21:27
    #35817821
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Достаточно просто пересобрать эскулайт, поменяв хидер файла. Или можно создать свой коллэйшен вместо nocase и назначить его текстовым полям. Или можно воспользоваться функциями сжатия/распаковки данных. Или можно воспользоваться функциями криптации данных. И только в "серьезных" случаях имеет смысл криптовать всю базу - впрочем, криптованная база скорее всего будет read-only.

А еще лучше не заниматься такой фигней - стандартные решения, как правило, более жизнеспособны.
...
Рейтинг: 0 / 0
23.09.2009, 17:12
    #36213181
Oleg Zhovtanyuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
MBGДостаточно просто пересобрать эскулайт, поменяв хидер файла. Или можно создать свой коллэйшен вместо nocase и назначить его текстовым полям. Или можно воспользоваться функциями сжатия/распаковки данных. Или можно воспользоваться функциями криптации данных. И только в "серьезных" случаях имеет смысл криптовать всю базу - впрочем, криптованная база скорее всего будет read-only.

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

А какие есть в данном конкретном (по Вашей терминологии - "серьезном") случае стандартные решения?

БД на клиенте, т.е. полностью доступна для ислледования. Информацию в части полей надо закрыть наглухо, ибо privacy. Измененный хедер, конечно, остановит 99% любителей поковырятся в чужих файлах, но останется 1%, который попробует не только стандартный клиент. А нужна именно 100% гарантия...
...
Рейтинг: 0 / 0
24.09.2009, 00:00
    #36213822
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Oleg ZhovtanyukMBGДостаточно просто пересобрать эскулайт, поменяв хидер файла. Или можно создать свой коллэйшен вместо nocase и назначить его текстовым полям. Или можно воспользоваться функциями сжатия/распаковки данных. Или можно воспользоваться функциями криптации данных. И только в "серьезных" случаях имеет смысл криптовать всю базу - впрочем, криптованная база скорее всего будет read-only.

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

А какие есть в данном конкретном (по Вашей терминологии - "серьезном") случае стандартные решения?

БД на клиенте, т.е. полностью доступна для ислледования. Информацию в части полей надо закрыть наглухо, ибо privacy. Измененный хедер, конечно, остановит 99% любителей поковырятся в чужих файлах, но останется 1%, который попробует не только стандартный клиент. А нужна именно 100% гарантия...

Ссылку на Proprietary SQLite Extensions выше уже приводили. Также можно сделать свою функцию криптации поля (совсем просто) или страницы памяти (требует знания устройства СУБД). Можно работать с виртуальной криптованной ФС, поместив файл базы эскулайт в соответствующий контейнер. Желаемой вами 100-й гарантии ни одно из клиентских решений не даст, т.к. можно сделать дамп раскриптованной памяти, можно найти в памяти ключ криптации, можно пропатчить ваш бинарь, отключив защиту или заставив принимать любой ключ за правильный... В конце концов, если данные чрезвычайно важные, можно применить к вам ректальный криптоанализ. Любую криптацию можно взломать, вопрос лишь времени, так что остановитесь на некоторой разумной защите - абсолютной не существует
...
Рейтинг: 0 / 0
25.09.2009, 18:26
    #36218187
Oleg Zhovtanyuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
MBG
Ссылку на Proprietary SQLite Extensions выше уже приводили. Также можно сделать свою функцию криптации поля (совсем просто) или страницы памяти (требует знания устройства СУБД). Можно работать с виртуальной криптованной ФС, поместив файл базы эскулайт в соответствующий контейнер.


Ясно, спасибо. Главный вопрос: будет ли после этого работать
Код: plaintext
LIKE '...%'
на шифрованных полях, точнее, будут ли задействованы индексы. Потому что, если нет, то есть более простой вариант - реализовать шифровку в логике приложения, как например сделано в Dojo Offline (ENCRYPT/DECRYPT).

MBG
Желаемой вами 100-й гарантии ни одно из клиентских решений не даст, т.к. можно сделать дамп раскриптованной памяти, можно найти в памяти ключ криптации, можно пропатчить ваш бинарь, отключив защиту или заставив принимать любой ключ за правильный... В конце концов, если данные чрезвычайно важные, можно применить к вам ректальный криптоанализ. Любую криптацию можно взломать, вопрос лишь времени, так что остановитесь на некоторой разумной защите - абсолютной не существует

Дамп памяти и ректальный криптоанализ отпадают. Реально нужно защититься от утери/кражи ноутбука с клиентским приложением. Патчить тут бессмысленно, потому что приложение не взлетит без логина с паролем, а последний взломщику неизвестен (хранится в той же БД в хешированном виде).
...
Рейтинг: 0 / 0
27.10.2009, 14:18
    #36274853
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Oleg Zhovtanyuk
Дамп памяти и ректальный криптоанализ отпадают. Реально нужно защититься от утери/кражи ноутбука с клиентским приложением. Патчить тут бессмысленно, потому что приложение не взлетит без логина с паролем, а последний взломщику неизвестен (хранится в той же БД в хешированном виде).

Это решается использованием криптораздела или криптоконтейнера.
...
Рейтинг: 0 / 0
15.01.2010, 20:39
    #36413203
Zloy Bober
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Извините что влезаю...

А если этого зверя использовать?


SQLCipher is an open source SQLite encryption extension . It provides transparent, full database, AES-256 encryption with minimal performance impact. SQLCipher works by encrypting database pages before they are written to storage and decrypts them on read so encryption functionality is completely separate from the application....

SQLCipher provides you with a fully-encrypted SQLite database. It’s fast, especially with transactions and indexes, with as little as a 5% performance impact for many common operations....

SQLCipher is distributed under a BSD-style license ...


It takes advantage of the internal SQLite Codec API which allows a callback to be inserted into the pager system that can operate on database pages immediately before they are written to and read from storage. This allows SQLCipher to intercept pages and either encrypt or decrypt them on demand . SQLCipher will ensure that the entire SQLite database is encrypted transparently and on-the-fly ...
...
Рейтинг: 0 / 0
21.01.2010, 20:30
    #36423857
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Я так понимаю эт тока под линукс
...
Рейтинг: 0 / 0
23.03.2010, 04:10
    #36535928
512es
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
-=Koba=-Я так понимаю эт тока под линукс
там же написано что это кросс платформенное расширение движка склайта. качайте и собирайте под что хотите. если разберётесь, пишите =) мне тоже интересно..
...
Рейтинг: 0 / 0
21.04.2010, 17:29
    #36590758
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Пробовал собрать.. Наткнулся на проблему сборки OpenSSL. Пробовал под VC08, cygwin, Mingw - везде какие-то проблемы.. Что-то смог устранить сам(например, установка интерпретатора пёрла =)) ), что-то выше моего понимания.. Пробовал версии 1-0-0, 0-9-8k...

Есть те, у кого получилось собрать скулайт с этим экстеншином?
...
Рейтинг: 0 / 0
21.04.2010, 18:40
    #36590930
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
У меня получилось, а что? Напильник в руки и вперед.
Кстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
...
Рейтинг: 0 / 0
21.04.2010, 22:57
    #36591260
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Yogi89Пробовал собрать.. Наткнулся на проблему сборки OpenSSL. Пробовал под VC08, cygwin, Mingw - везде какие-то проблемы.. Что-то смог устранить сам(например, установка интерпретатора пёрла =)) ), что-то выше моего понимания.. Пробовал версии 1-0-0, 0-9-8k...

Есть те, у кого получилось собрать скулайт с этим экстеншином?

Если не хотите сами разбираться, команда разработчиков эскулайта предлагает расширение для криптации, работающее на всех платформах, плюс саппорт к нему.
...
Рейтинг: 0 / 0
22.04.2010, 03:23
    #36591428
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
White OwlУ меня получилось, а что? Напильник в руки и вперед.
Кстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
Пытался, не получается, а сроки поджимают..
...
Рейтинг: 0 / 0
22.04.2010, 03:25
    #36591429
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
MBG
Если не хотите сами разбираться, команда разработчиков эскулайта предлагает расширение для криптации, работающее на всех платформах, плюс саппорт к нему.
Увы, мне это не по карману.
...
Рейтинг: 0 / 0
22.04.2010, 03:26
    #36591431
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
White OwlКстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
А версию OenSSL какую собирал?
...
Рейтинг: 0 / 0
22.04.2010, 11:24
    #36591905
ЯИра
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
А на каком языке написан клиент, может использовать пользовательские функции и crypt api ?
типа
insert into t1 values(null, MyCrypt(DataToCrypt));
select * from t1 where MyDeCrypt(data) like '%нечто%';
...
Рейтинг: 0 / 0
22.04.2010, 11:33
    #36591941
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
ЯИраА на каком языке написан клиент, может использовать пользовательские функции и crypt api ?
типа
insert into t1 values(null, MyCrypt(DataToCrypt));
select * from t1 where MyDeCrypt(data) like '%нечто%';
Delphi. Я думал о таком варианте, но мне кажется, это будет неэффективно в плане производительности. Определенные запросы на выборку извлекают до 3 тысяч записей за раз, каждая запись содержит 2-4 текстовых поля, каждое придется декриптить...
...
Рейтинг: 0 / 0
22.04.2010, 11:41
    #36591965
ЯИра
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Я думаю немедленнее будет, чем другие варианты. Плюс реализовать просто и бесплатно. Попробуй
...
Рейтинг: 0 / 0
22.04.2010, 11:43
    #36591975
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
ЯИраЯ думаю немедленнее будет, чем другие варианты. Плюс реализовать просто и бесплатно. Попробуй
Попробовать наверное и впрямь стоит.. Сегодня еще помучаюсь со сборкой сабжа, а завтра возьмусь за этот вариант. Спасибо. :-)
...
Рейтинг: 0 / 0
22.04.2010, 17:25
    #36592980
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Yogi89White OwlКстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
А версию OenSSL какую собирал?Последнюю, 1.0.0.
...
Рейтинг: 0 / 0
22.04.2010, 18:02
    #36593059
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
В теории ...
Можно подменить WinWrite и WinRead в sqlite на свои функции.
В них реализовать шифрование, дешифровывание.
...
Рейтинг: 0 / 0
24.05.2010, 16:56
    #36645727
Yogi89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
У меня, кстати, получилось собрать сабж. Посоветовали в гугл-группе по обсуждению сабжа прикрутить к MinGW TCL интерпретатор, после все собралось безо всяких..
...
Рейтинг: 0 / 0
26.05.2010, 15:36
    #36650702
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
...
Рейтинг: 0 / 0
30.08.2010, 12:15
    #36818683
AntonH851
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Криптография в sqlite
Кто-нибуть собирал sqlcipher под qt? Поделитесь пожалуста опытом). Пробовал уже много раз по инструкции: http://wiki.crossplatform.ru/index.php/%D0%9F%D1%80%D0%B8%D0%B2%D1%8F%D0%B7%D0%BA%D0%B0_SQLCipher_%D0%BA_Qt
Но на этапе сборки sqlcipher при выполнении make завершается все время с ошибкой...
может там чего-то недописано?
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Криптография в sqlite / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]