Обмен м-ду 2 БД+шифрование (MySQL+Perl|PHP+sh+js)
Задача следующая:
БД1 MySQL(~20 тыс. записей) структура:
таблица1: autoincrement_1; index_id2; дата3; дата4; поле5; поле6; ... поле 20;
таблица2: index_id1; поле_ключ_шифрования2;
Нужно реализовать:
Интерфейс для редактирования таблиц (есть рабочий вариант на Ext-js*)
Интерфейс для загрузки файла excel (либо .csv) в таблицу1. (Perl|PHP|...)
Скрипт1 (mysql+sh через cron):
Для каждой изменённой записи из таблицы1 Поля 1-4 берутся живьём, Поля 5-20 складываются в одно поле с разделителями, это поле шифруется ключом из таблицы2 AES_ENCRYPT(поля5-20, таблица2.поле_ключ_шифрования2), записи сбрасывается в дамп (с периодичностью 1-2/час).
Дамп развёртывается на другом сервере(SSL) в БД2 Нужно реализовать:
(скрипт2( mysql+sh через cron), развёртывающий дамп в таблицу 3 БД2.
Web-интерфейс без редактирования, ro(есть рабочий вариант на Ext-js*),
По прохождении авторизации клиенту отсылаются его данные, которые должны развернуться скриптом3(реализация AES_DECRYPT на js, есть исходник) в БД2.таблица3, ключ для расшифровки предоставляет пользователь, ключ по сети не гуляет. Этот дешифрующйи скрипт3 нужно дописать/доделать - встроить функцию расшифровки в класс Extjs* или поверх него)
Для БД1 нужен простенький интерфейс с авторизацией, по заведению записей в таблицу1 и таблицу 2 с возможностью автогенерации случайных ключей_шифрования в последней, Реализация желательно на Extjs*.
Для БД2 нужен интерфейс - авторизация пользователей**.Небольшая защита от брутафорса***.
Возможно впоследствии (не сейчас) понадобится редактируемое поле в интерфейсе для БД2, отсылаемое обратно по цепочке. За дополнительную компенсацию затраченных усилий.
Предполагается везде FreeBSD+Apache+SSL. Perl|PHP с умом. Небольшие консультации по делу и для дела.
----
Если есть Ваши готовые решения сходной задачи, немного иначе реализованные - внимательно рассмотрю Ваши предложения. Нужные вопросы - приветствуются.
Очевидно, нужен человек, практически знакомый с теорией защиты информации.
Смысл сей задачи - мобильность + некоторая анонимность.
С Уважением к Вам, Билли
----
вышеуказанные ссылки:
* Extjs - http://extjs.com - World-class JavaScript, Ajax and UI Components гугль-подобное js-расширение с поддержкой
ajax.
http://extjs.com/deploy/dev/examples/grid/array-grid.html - пример как выглядит Grid в ajax.
** Авторизация пользователей по схеме: (по IP + SID генерируется уникальное число, передаётся клиенту, этим числом клиент шифрует md5(пароль), передаёт серверу... или предложите свою.
*** Небольшая защита от брутафорса - например, пауза после 10 неудачных попыток авторизации, После 100 неверных попыток за сутки - авторизация только после повторного верного пароля с данного ай-пи + SID.