Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Электронная подпись документов (Firebird) [D6]


Страницы:   1 2

Koala ©   (2005-08-17 13:45:00) 

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


Koala   (2005-08-18 11:56:00) [1]


>  [29] DrPass ©   (17.08.05 23:22)


>  [31] Slym ©   (18.08.05 05:11)


спасибо, буду искать инфу и компаненты


>  [31] Slym ©   (18.08.05 05:11)


может у Вас есть примерчик?
был, бы очень признателен..............


Sergey13   (2005-08-18 09:33:00) [2]

2[29] DrPass ©   (17.08.05 23:22)
Спасибо за ликбез. На досуге надо будет поискать подробности.

2[26] Koala ©   (17.08.05 17:35)
>Это не круто, это одно из условий, поставленных руководством.
Значит это шибко крутое требование. Начальство это любит. 8-)


Slym   (2005-08-18 05:11:00) [3]

Если хочеш реальный ЭЦП - то компоненты есть, пользуй (LockBox например DSA или RSA)
Простая ЭЦП от дурака-
Используем ХЕШ функцию (напр. MD5)
ключ формата:
 Идентификатор (ФИО)
 Затравка - ключ инициализации ХЕШ (= ХЕШ от идентификатора)

Подписание:
1. Заполнение в документе поля Идентификатор подписи.
2. Запуск ХЕШ с затравкой
3. Продолжение ХЕШ по документу
4. Заполнение в документе поля ЭЦП.

Проверка валидности:
1. Вытаскиваем из документа Идентификатор подписи
2. Делаем затравку.
3. Запоминаем и обнуляем поля ЭЦП.
4. Запуск ХЕШ с затравкой
5. Продолжение ХЕШ по документу
6. Сравнение ХЕШ по документу и запомненного из поля ЭЦП.


DrPass   (2005-08-17 23:22:00) [4]

Хм... появилось... или я не в порядке, или броузер...


DrPass   (2005-08-17 23:22:00) [5]

Прошу прощения, начало где-то потерялось

> В моем представлении это некий пароль записанный на дискете

Это не пароль, это криптографический хеш, составленный из защищаемых подписью данных и идентификатора пользователя. Таким образом ЭЦП позволяет однозначно идентифицировать лицо, подписавшее документ. Если кто-либо попытается изменить защищенные ЭЦП данные в документе, хеш перестанет быть действителен. Таким образом исключается влияние и администратора, и руководителя. Разве что они знают пароли своих юзеров/подчиненных


DrPass   (2005-08-17 23:21:00) [6]


> В моем представлении это некий пароль записанный на дискете

Это не пароль, это криптографический хеш, составленный из защищаемых подписью данных и идентификатора пользователя. Таким образом ЭЦП позволяет однозначно идентифицировать лицо, подписавшее документ. Если кто-либо попытается изменить защищенные ЭЦП данные в документе, хеш перестанет быть действителен. Таким образом исключается влияние и администратора, и руководителя. Разве что они знают пароли своих юзеров/подчиненных


Alexander Panov   (2005-08-17 17:46:00) [7]

PGP(RSA) - нормальное решение. Впрочем, как и MS CryptoApi.
Для PGP можешь использовать коммпонент - http://www.crypto-central.com/


Koala   (2005-08-17 17:35:00) [8]


>  [25] Sergey13 ©   (17.08.05 17:04)
> Но в любом случае, для заявок это шибко круто.


Это не круто, это одно из условий, поставленных руководством.

>  [6] Андрей Жук ©   (17.08.05 15:48)
> Сталкивались. В системах Клиент-банк у ответственных лиц,
> которые собственно и оформляют платежи, есть специальные
> дискеты с ключами. Можешь в нынешних условиях использовать
> USB-ключ.

Вот что-то типа этого и нужно сделать.

Но вот где почитать как это правильно делается, дайте инфу...


Sergey13   (2005-08-17 17:04:00) [9]

2 Reindeer Moss Eater ©
Я, если честно, слабо представляю себе механизм ЭЦП. Никогда не интересовался этим. В моем представлении это некий пароль записанный на дискете. Считали, сверили с нужным - поставили метку подписи. Наверное я не прав, надо порыться на эту тему.
Но в любом случае, для заявок это шибко круто.


Reindeer Moss Eater   (2005-08-17 17:03:00) [10]

>Злоумышленник - руководитель.

Куда приплыли?
Он исправил заявку. ЭЦП невалидна.
Исполнитель ей не исполняет.

Если руководитель меняет заявку и подписывает её снова - тоже все ок. На новой заявке снова его подпись.

Все в порядке.


Андрей Жук   (2005-08-17 17:02:00) [11]

Операции утверждения можно писать в другую базу, доступ к которой будет имет только внешняя контора.
Поменяешь - получишь по лбу - IP известен, время тоже.


Sergey13   (2005-08-17 16:56:00) [12]

2[19] Reindeer Moss Eater ©   (17.08.05 16:48)
Ситуация 2:

Составитель документа - менеджер.
Утверждает документ руководитель.
Злоумышленник - руководитель.

Все. Приплыли.
У вас нет механизма найти виновного.

8-)


Reindeer Moss Eater   (2005-08-17 16:54:00) [13]

Я нисколько не против.
Только ЭТО не может называться электронной подписью.
И все.


Sergey13   (2005-08-17 16:50:00) [14]

2[18] Reindeer Moss Eater ©   (17.08.05 16:44)
ИМХО, это вопрос реализации.
Кроме того, в системах а-ля "заявки на автотранспорт" такие навороты выглядят несколько избыточными. Не находишь? Тут скорее важна информативность нежели секретность.


Reindeer Moss Eater   (2005-08-17 16:48:00) [15]

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

Ситуация:

Составитель документа - менеджер.
Утверждает документ руководитель.
Злоумышленник - администратор БД.

Все. Приплыли.
У вас нет механизма найти виновного.


Андрей Жук   (2005-08-17 16:44:00) [16]

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


Reindeer Moss Eater   (2005-08-17 16:44:00) [17]

То, что проверка валидности ЭЦП покажет, что поставленная руководителем подпись не соответствует содержимому документа.
(если документ менялся после подписывания).

Причем для этой проверки не надо владеть приватным ключом руководителя. Проверить достоверность может тот, у кого есть открытый ключ владельца.
Если заявку составляет один, подписывает другой, а исполняет третий, то у этого третьего есть способ удостовериться в том, что он исполняет именно то, что было подписано шефом.


stud   (2005-08-17 16:38:00) [18]

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


Sergey13   (2005-08-17 16:37:00) [19]

2 [14] Reindeer Moss Eater ©   (17.08.05 16:31)
А что в этой ситуации изменит ЭЦП?


Reindeer Moss Eater   (2005-08-17 16:31:00) [20]

Да потому и решил, что не выполняет.
По такой подписи нельзя понять что именно было в заявке в момент когда руководитель ставил эту подпись.

Это не ЭЦП.
Это просто флаг, говорящий программе (и только программе), что запись якобы нельзя редактировать.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо