Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 26
|
Народ, все доброьго времени суток. Задача такая - есть сервер и куча пользователей с контейнерами закрытых ключей. Нужно реализовать доступ к определенному Windows-приложению с помощью закрытых ключей. Вот написал приложение, считывающее ключи.. А что дальше делать никак не пойму... Кто-нибудь киньте ссылочку на примерчики (не важно на каком языке), очень нужно. Спасибо всем кто ответит...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:Задача такая - есть сервер и куча пользователей с контейнерами закрытых ключей. Нужно реализовать доступ к определенному Windows-приложению с помощью закрытых ключей. Вот написал приложение, считывающее ключи.. А какую роль в этой задаче играет собственно ЭЦП? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 26
|
Kirill Sobolev написал:Цитата:Задача такая - есть сервер и куча пользователей с контейнерами закрытых ключей. Нужно реализовать доступ к определенному Windows-приложению с помощью закрытых ключей. Вот написал приложение, считывающее ключи.. А какую роль в этой задаче играет собственно ЭЦП? Дело в том, что заказчики поставили условие - запускать поставляемое нами ПО только с помощью КриптоПро ключей (у них уже внедрена данная система на других проектах). Вот и пытаемся реализовать "авторизацию" с помощью ЭЦП и закрытых ключей. ВОобще это реально, не подскажете?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Вполне реально. Как бы происходил запуск приложения, если исключить авторизацию вообще? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 26
|
Kirill Sobolev написал:Вполне реально. Как бы происходил запуск приложения, если исключить авторизацию вообще? Обычное Windows-приложение, при запуске выдает окошко для ввода логин-пароль, при вводе которых запускается само приложение. План: логин и пароль будут хранится в БД вместе с идентификатором ключа - система кривая, но это желание заказчика. Соответственно когда пользователь вставляет носитель с контейнером, некоторое приложение считывает ключ, проверяет его у сервера КриптоПро и дергает из базы логин-пароль для входа в наше Windows-приложение. Вот и ищу куски кода для считывание ключа и последующей проверки этих данных на сервере.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Можно сделать так (заодно и ЭЦП получится прикрутить) На сервере в БД вместе с логинами и паролями хранятся открытые ключи пользователей. Некоторое приложение (у пользователя) не просто считывает ключ, а подписывает им некую тестовую информацию, например - строку, содержащую логин пользователя и отсылает ее на сервер. Сервер же проверяет эту строку открытым ключем из БД, соответствующим логину, и в случае успеха предоставляет доступ. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 26
|
Да, идея не плохая. У меня в связи с этим пара вопросов: 1. Каким образом на стороне КриптоПро генерится открытый ключ (я пока что умею только генерить контейнер с закрытыми ключами посредством csptest.exe) 2. Достигается ли таким образом 100%-ная вероятность аутентификации именно "нужного" человека,а не самозванца (варианты кражи носителей можно опустить)?
Спасибо за Ваши ответы.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
1. Открытый ключ может быть легко вычислен из закрытого, в MS CryptoAPI есть для этого средства 2. Да, если гарантируется что у разных людей - разные ключи. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 26
|
Спасибо за ответы. Теперь что касается примеров, у Вас случаем нет ссылок на соответствующие методы? Или хотя бы какой будет алгоритм в псевдо-коде... Какова последовательность действий? 1. Инициализация CSP - CryptAcquireContext 2. Получение цифровой подписи - CryptGetUserKey 3. Получение хэша строки - CryptHashData 4. Подпись определенной строки - CryptSignHash Какой метод сранивает строки? Правльно ли я понял? Отредактировано пользователем 18 мая 2009 г. 21:43:34(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close