Асимметричный криптографический алгоритм на базе Конечно-Автоматной Модели


Защита Базы Данных (БД). - часть 3


Для   доступа абонента А к БД выполняется следующая последовательность  действий абонента и сервера (протокол):

1.      допустим, абоненту  А необходимо получить информацию о к-ом элементе bdk   базы данных. БД. Для этого он посылает серверу по незащищенному каналу запрос - свое имя А.

2.       Сервер генерирует случайное число R

и посылает его по незащищенному каналу абоненту А.

3.      Абонент А, получив R’, выполняет операцию: DA ([R’+bdk]) (где [R’+bdk]  - конкатенация  R’ и bdk) и посылает этот код серверу В.

4.      Сервер В выполняет операцию  EA (DA ([R’+bdk]))> R’+bdk, сравнивает R’  со сгенерированным случайным числом R. Если они совпадают, то это значит, что, обратившийся действительно абонент А.

5.      Сервер В выполняет запрос: считывает содержимое к-го элемента базы данных, присоединяет в конец bdk  число R, кодирует: EA (DB ([bdk+R]))

и результат посылает абоненту А.

6.        Абонент А

выполняет последовательность операций:

Форм. 2     DA(EA(DB([bdk+R’]))) > DB([bdk+R’]) >

EB(DB([bdk+R’])) > bdk+R

сравнивает R` с R и если они совпадают, то это значит, что bdk соответствует bdk, то есть, абонент А получил запрошенный к-ый элемент БД.

Обратите  внимание на операции пунктов 3 и 5.

       a.      В первом случае мы используем конкатенацию  [R’+bdk].  Она предназначена для сервера В, которому известен размер числа R. Факт  совпадения R` и R в пункте 4 указывает на то, что запрашивается именно  bdk, то есть не было искажений при передаче запроса.

      b.      Во втором случае используется конкатенация [bdk+R],  которая, при совпадении  R` и R позволяет в пункте 6 сделать вывод об истинности принятого от сервера bdk.  




Начало  Назад  Вперед



Книжный магазин