(2017-10-23 17:11:15 отредактировано borune)

Аутентификация без токена

Добрый день!

Поскольку работа с усб токеном в андроиде вызывает некоторые неудобства (см. https://forum.rutoken.ru/post/11250/#p11250), то в данный момент рассматривается иной вариант, который заключается в том, чтобы хранить закрытый ключ на устройстве. Подскажите пожалуйста, возможно ли без установки дополнительных приложений, сервисов и библиотек организовать аутентификацию пользователя на сервере? Если да, то какие шаги для этого необходимо предпринять?

Re: Аутентификация без токена

Добрый день, borune.

Уточните пожалуйста, что Вы подразумеваете под аутентификацией пользователя на сервере? Вы хотите сделать TLS на web-сервере, или TLS/SSL для openVPN на сервере, или аутентификацию в SSH, или в VNC\RDP?

(2017-10-24 17:56:07 отредактировано borune)

Re: Аутентификация без токена

Под аутентификацией я понимаю аутентификацию. Т.е. подтверждение подлинности пользователя. Сделать это можно, как известно, несколькими способами. В случае с рутокеном можно использовать ЭЦП. Схема где-то на форуме предлагалась уже:
1) Клиент шлет запрос на сервер
2) Сервер высылает клиенту какие-то данные
3) Клиент шифрует эти данные своим закрытым ключом и отсылает назад серверу
4) Сервер расшифровывает данные открытым ключом клиента

Вообщем вопрос такой. Могу ли я безо всяких там КриптоНУЦов, КриптоПРО и пр. сторонних приложений в своем приложении подписывать данные?

Re: Аутентификация без токена

Добрый день, borune.

Как я понимаю токен Вы тоже использовать не хотите.

Здесь вопрос вступает в правовую область.
Вы можете так сделать на иностранных алгоритмах, например, на RSA. Никто не запрещает.
Если Вы хотите так сделать на ГОСТ алгоритмах, то Вам надо либо использовать сторонние сертифицированные СКЗИ, либо самому получить лицензию на разработку таких средств в ФСБ России.

(2017-10-26 19:35:51 отредактировано borune)

Re: Аутентификация без токена

Владимир Салыкин пишет:

Добрый день, borune.
Как я понимаю токен Вы тоже использовать не хотите.

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

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

Re: Аутентификация без токена

Добрый день, borune.

Я уже писал Вам, что если Вы хотите отказать от использования наших "дополнительных приложений, сервисов и библиотек", то Вы можете реализовать весь этот функционал в своем приложении самостоятельно. Можете начинать отсюда - https://github.com/seek-for-android/pool/wiki/PCSCLite

Re: Аутентификация без токена

borune пишет:

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

Криптография, не входящая в мобильную операционную систему (а ГОСТ-овая криптография со всей очевидностью там не поддерживается на уровне ОС), а также работа с внешними смарт-картами в ОС Android может быть реализована исключительно на уровне отдельных приложений. К таким приложениям относятся упомянутые "КриптоНУЦов, КриптоПРО и пр."
Если Вам нужно подписывать документы под ОС Android ГОСТ-овой подписью, Вам необходимо отдельное приложение, которое это умеет делать.

(2017-10-27 15:40:18 отредактировано borune)

Re: Аутентификация без токена

Vladimir Ivanov пишет:

может быть реализована исключительно на уровне отдельных приложений.

А можно поподробнее вот тут? Для меня, как  для программиста, такое категоричное утверждение далеко не очевидно.

Re: Аутентификация без токена

borune пишет:
Vladimir Ivanov пишет:

может быть реализована исключительно на уровне отдельных приложений.

А можно поподробнее вот тут? Для меня, как  для программиста, такое категоричное утверждение далеко не очевидно.

В свое время известные всем вендоры экспериментировали с поддержкой ГОСТ-алгоритмов на уровне мобильной ОС. Правда для этого требовалось рутовать устройство. Такой способ был признан самими разработчиками и сообществом неправильным по понятным причинам.
Есть конечно способ, не требующий рута. Например, какой-нибудь сервис, который обрабатывал бы запросы на выполнение криптографических операций от приложений. Способ хороший, но все равно нужны приложения, которые догадывались бы о существовании этого сервиса.
В свое время даже американцам пришлось сделать поддержку внешних смарт-карт на уровне приложений. Именно по причине того, что не смогли нормальным способом встроить такую поддержку на уровне мобильной ОС, поскольку там отсутствует стандартный способ коммуникации с внешними смарт-картами, полноценный PC/SC, например.
Даже для Common Access Card пришлось городить огород с ридерами и приложениями. В итоге все равно на уровне вендорских приложений поддержка есть - отдельно почта, отдельно браузер и все остальное.

(2017-10-27 20:00:42 отредактировано borune)

Re: Аутентификация без токена

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

А то получается, что для того, чтоб подписать документ я должен устанавливать 3 сторонних приложения, а если я хочу реализовать подпись у себя в приложении, то никаких готовых инструментов для этого не существует. Как-то неудобно и странно