Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Всем привет.
Нужен совет опытных людей по следующей ,как выяснилось, проблеме.

На предприятии крутятся две учетные системы (1С и Парус). Соответственно на MS SQL Server и Oracle.
Было решено реализовать электронный документооборот с квалифицированной ЭЦП по ГОСТ -у без оператора электронного документооборота. Почему так сделано - не спрашивайте. Это и не важно.

В данный момент я разработчик Oracle. Поэтому я написал программы (DDL-ки для Windows и SO - шки для Linux на C++), которые реализуют подпись, шифрование, дешифрование, проверку подписи по реализованным компанией Крипто Про алгоритмам.И подключил эти библиотеки в Oracle с помощью технологии подключения внешних библиотек. Теперь легко ими пользуюсь, вызывая функции подписи/проверки подписи, прямо из оракловых процедур.
Т.е. функционал завязан на сервере (криптоправайдер,контейнеры с закрытыми ключами и сертификатами находятся на сервере), где установлен СУБД, а не на клиенте.
Удобно. С юридической точки зрения может и не правильно. Теперь разные базы данных Oracle могут использовать одну и ту же технологию подписи. Удобно.

В 1С это реализовано не так. Там все дано на откуп клиенту. Криптоправайдер, сертификаты, ключи - все установлено на локальной машине пользователя и ответственность за их хранение возложено на юзера. Но я не говорю что это не правильно. Я ищу пути взаимовыгодного удобного существования 1C и Парус на нашем предприятии...

Я предлагаю написать библиотеки, которые будут подключатся и Oracle и MS SQL Server- ом. Надеюсь в этом плане у MS SQL SERVER все в порядке, иначе моя затея провалится...
Предполагаю что наличие общих библиотек сделает сопровождение электронного документооборота в разных учетных системах, использующих разные СУБД, более удобным.
Что вы думаете об этом?
10 дек 13, 16:43    [15272713]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
Я предлагаю написать библиотеки, которые будут подключатся и Oracle и MS SQL Server- ом.

Кто будет инициировать подключение ?
10 дек 13, 17:14    [15272972]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Glory,

Хранимая процедура
10 дек 13, 17:16    [15272994]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
Glory,

Хранимая процедура

Т.е. вы хотите написать драйвера доступа к Oracle и MS SQL ?
Которые будут
- создавать секьюрный коннект
- транслировать инструкции обеих языков друг в друга
- поддерживать распределнные транзакции
?
10 дек 13, 17:20    [15273016]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Glory,

Нет.
Я предполагаю что MS SQL SERVER есть технология подключения сторонних DLL.
Потом можно пользоваться этими DLL как обычными хранимыми процедурами.
Разве не так?
10 дек 13, 17:26    [15273054]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
Потом можно пользоваться этими DLL как обычными хранимыми процедурами.
Разве не так?

Так
А что будут делать то ваши DLL для "сопровождение электронного документооборота в разных учетных системах" ?
10 дек 13, 17:28    [15273064]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Glory,

"Поэтому я написал программы (DDL-ки для Windows и SO - шки для Linux на C++), которые реализуют подпись, шифрование, дешифрование, проверку подписи по реализованным компанией Крипто Про алгоритмам."
10 дек 13, 17:30    [15273079]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
которые реализуют подпись, шифрование, дешифрование, проверку подписи

Что "подписывают", "шифруют", "дешифруют" ваши программы ?
Файлы ? Пакеты между серверами ? ...
10 дек 13, 17:33    [15273084]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Crimean
Member

Откуда:
Сообщений: 13147
криптографическая каша. жуткая. какую информацию вы защищаете средствами КЗИ? для чего там ЭЦП?
подсказка. "на клиента" ЭЦП выносится ибо секретный ключ пользователя - его личная и безраздельная собственность, он вам носитель даже из-за угла не покажет. и накладывается подпись пользователя зачастую вообще "крипто-устройством", которое ключ наружу никогда не отдает. да, сертификат этого ключа хранится в ЦСК, но не более того. и этим ключом пользователь подтверждает свое "авторство" неким действиям / данным. а что можно подтвердить ключом, который хранится на сервере? правильно, меж-серверное взаимодействие. то есть, "для обеспечения непрерывности КЗИ" сервер, принимая данные пользователя, верифицирует его ЭЦП и на основании положительной верификации формирует свою, сохраняя пользовательскую ЭЦП. но вот передавать дальше для обработки пользовательскую ЭЦП он уже не обязан, может только свою ибо для нее он хранит основание - пользовательскую ЭЦП. как-то так. так что у вас могут быть в принципе разные ЦСК, но обеспечена должная стойкость КЗИ внезапно даже при использовании серверных секретных ключей, хотя на этом месте "безопасников", скорее всего, стошнит. возможно, несколько раз. но иногда это им можно объяснить, ссылаясь на то, что сервер может быть поднять до C2.. как-то так :)
10 дек 13, 17:38    [15273101]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Glory,

А что это имеет существенное для вас значение?

Допустим сразу двоичные данные, а может быть файлы.
В текущей реализации на сервере формируются файлы, DLL - ка подписывает двоичнное представление данных в файле и формирует новый подписанный и шифрованный файл с двоичными данными.
Если и так не дошло - могу исходник на C++ скинуть.
10 дек 13, 17:44    [15273120]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
А что это имеет существенное для вас значение?

Разумеется имеет
Вы считаеет, что слово "шифрование" объясняет, как собственно вы собираетесь осуществлять совместный документооборот двух систем на разных платформах ?
10 дек 13, 17:46    [15273129]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Konst_One
Member

Откуда:
Сообщений: 11568
ТС, а смысл тут вам что-то на сервере шифровать? может проще поднимите секьюрное соединение между серверами?
10 дек 13, 17:47    [15273131]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Потому что размер данных в концерне огромный!
Потому что это подразумевает автоматическое формирование приходных документов в системе как только пришло зашифрованные письмо. Или вы думаете что там пользователь будет сидеть и в ручную проверять подпись,генерировать и формировать документы ?
Все должно быть автоматически и быстро! В моем понимании C++ и СУБД решают проблему. Для маленьких предприятий ,возможно, и прокатит 1с-ный вариант...
Иначе никому такой документооборот не нужен!
10 дек 13, 17:53    [15273158]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
Все должно быть автоматически и быстро!

Оффлайн репликация через мейл - это автоматически и быстро ??? Смешно.
10 дек 13, 17:55    [15273171]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Cristiano_Rivaldo,

вы мой ответ перечитайте. он по идее соединяет все ваши проблемы вместе и дает вариант решения. а DLL для MS SQL можно писать, сам с КЗИ так работаю на MS SQL, но вам для начала, все же, нужно перечитать то, что я уже написал. возможно, после осознания появится "дополнительная легкость"
10 дек 13, 17:55    [15273172]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Glory
Cristiano_Rivaldo
Все должно быть автоматически и быстро!

Оффлайн репликация через мейл - это автоматически и быстро ??? Смешно.

Кто говорил про майл??? Е мое. Вы кто по професси???
10 дек 13, 17:58    [15273196]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Cristiano_Rivaldo
Кто говорил про майл??? Е мое. Вы кто по професси???

некто, по имени Cristiano_Rivaldo
"Потому что это подразумевает автоматическое формирование приходных документов в системе как только пришло зашифрованные письмо. "
10 дек 13, 17:59    [15273202]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Crimean,

Да. Разница в том, что в таком случае оператором ЭДО в этом случае являемся мы сами.
Но это уже к юристам...
Моя задача чтоб все было автоматизированно и быстро работало. И чтоб было легко в сопровождении - так как там каждый раз новый формат придумывает ФНС России.
Попробую воплотить в реальность задуманное.
10 дек 13, 18:07    [15273250]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Cristiano_Rivaldo,

так объедините оба подхода. пусть подписывают и клиент и сервер. вам, возможно, будет необходимо дополнительно подписывать некоторые данные, уже подписанные клиентами, серверными ключами. ну и ладно. и - да - "сертификаты на локальной машине" - так не бывает. это не имеет смысла. для сертификатов есть ЦСК. другое дело, что самих ЦСК вполне может быть много. но тогда все упрется в (решаемые) вопросы доверия друг другу разных ЦСК

еще раз. на MS либы писать / использовать можно. хоть Ц++ хоть C#. так что технических проблем (кроме как собственно "договориться с 1С") я не особо вижу. а теологические, вроде как, решаемы
10 дек 13, 18:13    [15273281]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Cristiano_Rivaldo
Member

Откуда:
Сообщений: 346
Crimean,

Спасибо большое!
Можно ваш майл? Если понадобится какая-нибудь небольшая консультация...

Заранее спасибо!
10 дек 13, 18:20    [15273314]     Ответить | Цитировать Сообщить модератору
 Re: Размышления по реализации ЭЦП (электронно-цифровой подписи) между MS SQL SERVER и Oracle  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Cristiano_Rivaldo,

профиль :)
10 дек 13, 19:46    [15273629]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить