"Oleg Prosvetov" ...
> Респект, Усем!
>
> На нижеследуемый текст меня вдохновила реализация шифрования в YaP и желание
> помочь разработчикам Firebird в скорейшем решении проблемы защиты базы данных.
> К сожелению реализация шифрования в YaP на меня не произвела должного 
> впечатления,

    Вдоховила, но не впечатлила... гм... :)

> но уже хорошо что начало положено. Я предлагаю шифрование с помощью PGP. 
> Желающим
> ознакомиться с PGP сюда: http://ru.wikipedia.org/wiki/PGP

    При наличии официального сайта с документацией даже не упоминать его - как
минимум странно... гм...

> Возможно идеи которые я изложу ниже уже витали в головах разработчиков, 
> поэтому не
> судите строго.

    Возможно уже витали. Попробую быть немного корректней Олега :)

> 1) Для того чтобы защитить базу данных для начала необходимо решить проблему 
> PlainText-
> запросов.

    Не сказал бы, что это проблема #1

> Как известно данные между клиентом и сервером Firebird передаются практически
> в открытом виде, поэтому с помощью таких программ как например FlexTracer 
> достаточно
> просто отследить все запросы посылаемые клиентом серверу и обратно.

    Запросы обратно не посылаются, однако :)

> Это значительно
> упрощает задачу взломщика, который может изучив как работает программа, может
> воспользоваться базой данных поставляемой с этой программой по своему 
> усмотрению.

    Весьма спорное и не обоснованное утверждение. Впрочем - не будем о нём, тут
и так есть что опровергать :)

...
> Прехват public(открытых) ключей взломщику ничего не даст, на то они и 
> называются открытые,
> т.е. доступные всем. Расшифровка же данных клиентом и сервером будет 
> осущесвлятся ихними
> private(закрытыми) ключами. Кстати для надежности можно задавать интервал 
> генерации и
> обмена ключами, но увлекатся я думаю не стоит, потому что будут тормоза :) 
> Т.е. мы получаем
> зашифрованный канал между клиентом и сервером и программа перехвата остается 
> при своих
> интересах :)

    Про атаку "man in the middle" мы, конечно, не в курсе. Вынужден огорчить - 
это элементарно
взламывается.

> 2) Теперь собственно переходим к главной проблеме, защите базы данных. 
> Технология:
>     а)  клиент посылает запрос серверу о необходимости создать зашифрованную 
> базу данных
>     б)  сервер генерирует новую пару ключей, создает базу и открытым ключем 
> из этой пары
> шифрует базу т.е. различные ее страницы(page)      (Data, Blob data, Index 
> root и т.д.)

    Это будет не просто медленно, а _ооочень_ медленно. Советую узнать для чего 
используют
симметричные, а для чего не симметричные алгоритмы.


-- 
Хорсун Влад

PS Хотелось бы узнать, чем это лучше моего предложения :)


Ответить