Как зашифровать файл sqlite db с помощью java на стороне сервера, чтобы клиент flex / air мог его прочитать? - PullRequest
1 голос
/ 23 января 2012

Мы пытаемся создать файл sqlite db, используя java на сервере, и зашифровать его. Затем мы отправляем зашифрованный файл базы данных на компьютер клиента, на котором запущено приложение Adobe Air для настольных ПК. В этом случае приложение air должно иметь возможность открывать / читать из зашифрованного файла БД (клиент доступен только для чтения).

Мы используем java 1.6, flex / actionscript 4.5 и Air 3.1.

Мы можем создать файл sqlite db на сервере и отправить его клиенту, и он может быть прочитан клиентом без проблем, если мы не шифруем его. Но у нас проблемы с шифрованием.

Мы прочитали довольно много документации о способности Actionscript открывать зашифрованные файлы sqlite с помощью AES + CCM (http://help.adobe.com/en_US/as3/dev/WS8AFC5E35-DC79-4082-9AD4-DE1A2B41DAAF.html#WS61068DCE-9499-4d40-82B8-B71CC35D832C). И мы пытаемся использовать криптопакет Java для шифрования файла базы данных sqlite.

Шифрование важно, потому что мы не хотим, чтобы клиент мог открыть файл sqlite db с помощью любого браузера sqlite, только с нашим приложением Air.

Кто-нибудь делал это раньше и может указать нам правильное направление?

1 Ответ

0 голосов
/ 24 января 2012

Прежде всего, почему бы просто не отправить зашифрованный файл по защищенному каналу amf?Если вам требуется какой-либо дополнительный уровень безопасности, как насчет простого шифрования XOR?Криптография становится довольно сложной и имеет две разные технологии, при которых одна шифрует, а другая дешифрует - может что-то стать волосатым.Xor шифрование предполагает наличие секретного ключа.Первый символ данных Xor'ed с первым символом клавиши, второй со вторым, и так далее, пока вы не достигнете конца ключа, после чего следующий символ данных затем Xor'ed с первымхарактер данных и т. д., пока вы не достигнете конца потока данных.Для расшифровки точно такой же алгоритм.Конечно, вы можете выбрать миллион способов генерации ключей.Лично я бы не стал доверять текущим криптографическим библиотекам actionscript, чтобы сделать это для меняНо это чисто вопрос мнения.И переписать один ... Удачи в любом случае.

...