Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline nKognito  
#1 Оставлено : 18 мая 2009 г. 19:15:16(UTC)
nKognito

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 26

Народ, все доброьго времени суток. Задача такая - есть сервер и куча пользователей с контейнерами закрытых ключей. Нужно реализовать доступ к определенному Windows-приложению с помощью закрытых ключей. Вот написал приложение, считывающее ключи.. А что дальше делать никак не пойму... Кто-нибудь киньте ссылочку на примерчики (не важно на каком языке), очень нужно. Спасибо всем кто ответит...
Offline Kirill Sobolev  
#2 Оставлено : 18 мая 2009 г. 19:40:57(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
Задача такая - есть сервер и куча пользователей с контейнерами закрытых ключей. Нужно реализовать доступ к определенному Windows-приложению с помощью закрытых ключей. Вот написал приложение, считывающее ключи..

А какую роль в этой задаче играет собственно ЭЦП?
Техническую поддержку оказываем тут
Наша база знаний
Offline nKognito  
#3 Оставлено : 18 мая 2009 г. 19:49:28(UTC)
nKognito

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 26

Kirill Sobolev написал:
Цитата:
Задача такая - есть сервер и куча пользователей с контейнерами закрытых ключей. Нужно реализовать доступ к определенному Windows-приложению с помощью закрытых ключей. Вот написал приложение, считывающее ключи..

А какую роль в этой задаче играет собственно ЭЦП?


Дело в том, что заказчики поставили условие - запускать поставляемое нами ПО только с помощью КриптоПро ключей (у них уже внедрена данная система на других проектах). Вот и пытаемся реализовать "авторизацию" с помощью ЭЦП и закрытых ключей. ВОобще это реально, не подскажете?
Offline Kirill Sobolev  
#4 Оставлено : 18 мая 2009 г. 20:01:28(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Вполне реально.
Как бы происходил запуск приложения, если исключить авторизацию вообще?
Техническую поддержку оказываем тут
Наша база знаний
Offline nKognito  
#5 Оставлено : 18 мая 2009 г. 20:09:33(UTC)
nKognito

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 26

Kirill Sobolev написал:
Вполне реально.
Как бы происходил запуск приложения, если исключить авторизацию вообще?


Обычное Windows-приложение, при запуске выдает окошко для ввода логин-пароль, при вводе которых запускается само приложение. План: логин и пароль будут хранится в БД вместе с идентификатором ключа - система кривая, но это желание заказчика. Соответственно когда пользователь вставляет носитель с контейнером, некоторое приложение считывает ключ, проверяет его у сервера КриптоПро и дергает из базы логин-пароль для входа в наше Windows-приложение. Вот и ищу куски кода для считывание ключа и последующей проверки этих данных на сервере.
Offline Kirill Sobolev  
#6 Оставлено : 18 мая 2009 г. 20:41:27(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Можно сделать так (заодно и ЭЦП получится прикрутить)
На сервере в БД вместе с логинами и паролями хранятся открытые ключи пользователей.
Некоторое приложение (у пользователя) не просто считывает ключ, а подписывает им некую тестовую информацию, например - строку, содержащую логин пользователя и отсылает ее на сервер.
Сервер же проверяет эту строку открытым ключем из БД, соответствующим логину, и в случае успеха предоставляет доступ.
Техническую поддержку оказываем тут
Наша база знаний
Offline nKognito  
#7 Оставлено : 18 мая 2009 г. 20:52:58(UTC)
nKognito

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 26

Да, идея не плохая. У меня в связи с этим пара вопросов:
1. Каким образом на стороне КриптоПро генерится открытый ключ (я пока что умею только генерить контейнер с закрытыми ключами посредством csptest.exe)
2. Достигается ли таким образом 100%-ная вероятность аутентификации именно "нужного" человека,а не самозванца (варианты кражи носителей можно опустить)?

Спасибо за Ваши ответы.
Offline Kirill Sobolev  
#8 Оставлено : 18 мая 2009 г. 21:35:08(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
1. Открытый ключ может быть легко вычислен из закрытого, в MS CryptoAPI есть для этого средства
2. Да, если гарантируется что у разных людей - разные ключи.
Техническую поддержку оказываем тут
Наша база знаний
Offline nKognito  
#9 Оставлено : 18 мая 2009 г. 21:41:51(UTC)
nKognito

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 26

Спасибо за ответы. Теперь что касается примеров, у Вас случаем нет ссылок на соответствующие методы? Или хотя бы какой будет алгоритм в псевдо-коде... Какова последовательность действий?
1. Инициализация CSP - CryptAcquireContext
2. Получение цифровой подписи - CryptGetUserKey
3. Получение хэша строки - CryptHashData
4. Подпись определенной строки - CryptSignHash

Какой метод сранивает строки?

Правльно ли я понял?

Отредактировано пользователем 18 мая 2009 г. 21:43:34(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.