| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Криптование данных в Oracle9i |
| Автор: m@kxus 22.3.2003, 00:38 |
| Имеет ли Oracle PL/SQL возможности для шифрования данных (например, строк) с последующей дешифрацией? Если нет, то посоветуйте какой-нибудь вариант. На данный момент применяю простейший способ замены одних символов другими - глупо, но работает. Кстати, может быть, у кого-нибудь завалялся Java-класс, способный криптовать/декриптовать данные по более-менее надёжному алгоритму? Жду помощи. |
| Автор: simanyay 22.3.2003, 23:58 |
| Можно узнать конечную цель, просто для шифрования таблиц у Oracle 9i встроенные методы |
| Автор: m@kxus 24.3.2003, 21:45 |
| Конечная цель - отправлять на клиент некие шифрованые данные. |
| Автор: simanyay 24.3.2003, 23:57 |
| Тут уже надо писать ка клиентском приложении. Вряд ли Оракл сам сможет. |
| Автор: m@kxus 25.3.2003, 18:19 |
| В том всё и дело, что не доверяю я пользователю. То есть, криптование должно проходить на сервере. Сейчас это - простая замена символов. Хочется что-нибудь посерьёзнее. |
| Автор: simanyay 26.3.2003, 22:42 |
| Ты на чём пишешь? |
| Автор: m@kxus 27.3.2003, 03:04 |
| Пишу на PL/SQL. Но, подключение Java в Oracle - не проблема. |
| Автор: simanyay 28.3.2003, 01:57 |
| Ну тогда: Выбираешь алгоритм шифрования (Можешь создать топик на эту тему) Пишешь курсор, который срабатывает перед отправкой данных и после приёма (расшифровка поступивших данных) Будут проблемы с реализацией пиши - вместе разбирёмся. |
| Автор: AntonSaburov 28.3.2003, 23:35 |
| Вообще-то использовать можно и несколько иное решение. У нас был такой вариант - было две машины. На одной стоял SSL-сервер, на другой - SSL-клиент Если не знаете, что такое SSL - Security Socket Layer На одну ходили клиенты-пользователи, SSL-клиент все шифровал и отправлял на SSL-сервер, который дешифровал и отправлял запрос уже по TCP на SQL. А обратно точно так же. С SQL на SSL-сервер, там шифруем, потом на SSL-клиента, там дешифруем и потом на конечную машину пользователю. А заставлять ORACLE заниматься криптованием, IMHO, это уже слишком. |
| Автор: simanyay 29.3.2003, 22:08 |
| Но в таком случае надо писать клиентское приложения, типа "шифратор/дешифратор", а как ая понял надо этого избежать. К тому же данные по TCP протоколу, можно выловить. Я тоже считаю, что надо писать отдельное приложение. |
| Автор: AntonSaburov 29.3.2003, 23:32 | ||
Писание шифратора/дешифратора избежать как уже всем понятно нельзя А TCP - я не понял, чот значит выловить ? Данные идут уже зашифрованные. Если ключ криптования нормальной длины, то пока расшифруешь - не один год пройдет Здесь как раз и важен вопрос - когда надо начинать данные криптовать и когда их надо раскриптовать. У нас данные криптовались на выходе из корпоративной сети и через Интеренет шли криптованными. Кто угодно мог этот траффик смотреть - только смысл. А на входе в другую сеть данные декриптовались. Вообще вопрос защиты крайне сложный и важный. Потому подходить надо в комплексе всей политики безопасности на предприятии. |
| Автор: simanyay 30.3.2003, 18:50 |
| Вот именно, что внутри сети данные, как я понял, идут незашифрованные. А в локалке выловить данные достаточно легко. И получается, что на уровне локальной сети конфединциальность данных падает. А это уже плохо. |
| Автор: AntonSaburov 31.3.2003, 18:41 | ||
Если тайну знают двое, то это уже не тайна. Все равно пользователи SQL получают эту информацию. Если все пользователи в локальной сети имеют доступ к информации из SQL - то что там шифровать ? А если не все - то тогда и не надо в сеть пускать таких. Выделяй отдельную подсеть, в которой и будут работать пользователи SQL-сервера. И защищай такую сеть через фаервол или просто отключай от всех. |
| Автор: simanyay 9.4.2003, 10:51 |
| Согласен |