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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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
Криптография в sqlite
    #36423857
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю эт тока под линукс
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36535928
512es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Я так понимаю эт тока под линукс
там же написано что это кросс платформенное расширение движка склайта. качайте и собирайте под что хотите. если разберётесь, пишите =) мне тоже интересно..
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36590758
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал собрать.. Наткнулся на проблему сборки OpenSSL. Пробовал под VC08, cygwin, Mingw - везде какие-то проблемы.. Что-то смог устранить сам(например, установка интерпретатора пёрла =)) ), что-то выше моего понимания.. Пробовал версии 1-0-0, 0-9-8k...

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

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

Если не хотите сами разбираться, команда разработчиков эскулайта предлагает расширение для криптации, работающее на всех платформах, плюс саппорт к нему.
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591428
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlУ меня получилось, а что? Напильник в руки и вперед.
Кстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
Пытался, не получается, а сроки поджимают..
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591429
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBG
Если не хотите сами разбираться, команда разработчиков эскулайта предлагает расширение для криптации, работающее на всех платформах, плюс саппорт к нему.
Увы, мне это не по карману.
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591431
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlКстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
А версию OenSSL какую собирал?
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591905
ЯИра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на каком языке написан клиент, может использовать пользовательские функции и crypt api ?
типа
insert into t1 values(null, MyCrypt(DataToCrypt));
select * from t1 where MyDeCrypt(data) like '%нечто%';
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591941
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЯИраА на каком языке написан клиент, может использовать пользовательские функции и crypt api ?
типа
insert into t1 values(null, MyCrypt(DataToCrypt));
select * from t1 where MyDeCrypt(data) like '%нечто%';
Delphi. Я думал о таком варианте, но мне кажется, это будет неэффективно в плане производительности. Определенные запросы на выборку извлекают до 3 тысяч записей за раз, каждая запись содержит 2-4 текстовых поля, каждое придется декриптить...
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591965
ЯИра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думаю немедленнее будет, чем другие варианты. Плюс реализовать просто и бесплатно. Попробуй
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36591975
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЯИраЯ думаю немедленнее будет, чем другие варианты. Плюс реализовать просто и бесплатно. Попробуй
Попробовать наверное и впрямь стоит.. Сегодня еще помучаюсь со сборкой сабжа, а завтра возьмусь за этот вариант. Спасибо. :-)
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36592980
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yogi89White OwlКстати вот OpenSSL собирается MinGW без напильника. Просто надо незабыть правильно проинсталлировать собранное в свои include/lib каталоги.
А версию OenSSL какую собирал?Последнюю, 1.0.0.
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36593059
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В теории ...
Можно подменить WinWrite и WinRead в sqlite на свои функции.
В них реализовать шифрование, дешифровывание.
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36645727
Yogi89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня, кстати, получилось собрать сабж. Посоветовали в гугл-группе по обсуждению сабжа прикрутить к MinGW TCL интерпретатор, после все собралось безо всяких..
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36650702
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Криптография в sqlite
    #36818683
AntonH851
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибуть собирал 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
25 сообщений из 34, страница 1 из 2
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Криптография в sqlite
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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