Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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 протоколу, можно выловить


Писание шифратора/дешифратора избежать как уже всем понятно нельзя biggrin.gif

А TCP - я не понял, чот значит выловить ?
Данные идут уже зашифрованные. Если ключ криптования нормальной длины, то пока расшифруешь - не один год пройдет biggrin.gif

Здесь как раз и важен вопрос - когда надо начинать данные криптовать и когда их надо раскриптовать.
У нас данные криптовались на выходе из корпоративной сети и через Интеренет шли криптованными. Кто угодно мог этот траффик смотреть - только смысл. А на входе в другую сеть данные декриптовались.

Вообще вопрос защиты крайне сложный и важный. Потому подходить надо в комплексе всей политики безопасности на предприятии.

Автор: simanyay 30.3.2003, 18:50
Вот именно, что внутри сети данные, как я понял, идут незашифрованные. А в локалке выловить данные достаточно легко. И получается, что на уровне локальной сети конфединциальность данных падает. А это уже плохо.

Автор: AntonSaburov 31.3.2003, 18:41
Цитата
Вот именно, что внутри сети данные, как я понял, идут незашифрованные. А в локалке выловить данные достаточно легко. И получается, что на уровне локальной сети конфединциальность данных падает. А это уже плохо.


Если тайну знают двое, то это уже не тайна. Все равно пользователи SQL получают эту информацию. Если все пользователи в локальной сети имеют доступ к информации из SQL - то что там шифровать ? А если не все - то тогда и не надо в сеть пускать таких.
Выделяй отдельную подсеть, в которой и будут работать пользователи SQL-сервера.
И защищай такую сеть через фаервол или просто отключай от всех.

Автор: simanyay 9.4.2003, 10:51
Согласен

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)