2016-07-10 1 views
0

Я собираюсь написать инструмент, который авторизуется на сервере AD, отправляет некоторые данные (например, objectID) на серверный сервер. Бэкэнд проверяет эти данные. Если у клиента достаточно прав, бэкэнд отправит некоторые данные обратно клиенту.C++. Только авторизованные пользователи AD должны иметь возможность запускать программу

Это не выглядит безопасным для меня, чтобы отправить идентификатор объекта или что-то в этом роде, потому что его слишком легко сохранить и использовать снова.

Как я могу сделать его более безопасным? Можно ли отправить идентификатор сеанса на сервер и на стороне сервера проверить пользователя, используя этот идентификатор, его ip и что-то еще?

Спасибо.

ответ

1

Вы не можете авторизоваться на клиенте. Любой может проверить протокол и взломать его. Вы надежно отправляете свой запрос и учетные данные на сервер, который выполняет аутентификацию AD. Затем он создает сеанс, для которого одобрено auth.

+0

Правильно, для обеспечения безопасной аутентификации вам необходимо установить безопасный канал (SSL или TLS), передать учетные данные безопасным образом и получить токен сеанса. Кроме того, у вашего сервера может быть метод для возврата анонимного токена сеанса, с которого вы шифруете учетные данные, отправляете их на сервер и получаете окончательный ключ сеанса - хотя это дублируемая работа, которая может выполняться на более низком уровне. –

Смежные вопросы