Обмен м-ду 2 БД+шифрование (MySQL+Perl|PHP+sh+js)

Гость17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
25.02.2008

Задача следующая:

БД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.