![]() |
|
Модераторы: feodorv |
![]()
|
|
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Есть Клиент и Сервер написаные мною, мне необходимо чтобы сервер опозновал клиентов и давал им права в зависимости от того какими он их опознал. Введение пароля-логина выглядит как-то не очень красиво поскольку нужно будет синхрогизироваит БД пользователей да и подсознательно мне етот способ как-то не нравиться. Уважаемые експерты, да и просто если есть мысли умные, подскажите пожалуйста. Постскриптум - выход в интернет не факт что будет, тоесть аутентификации через сайт тоже отпадает. Введение ключа, а куда его вводить то не в текстовый же файл, даже если его потом шифровать. Короче нужны идеи -------------------- Never again... |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 1 Всего: 5 |
Не изобретайте велосипед! Всё уже придумано до вас:
Протокол сетевой аутентификации Kerberos 5 Аутентификация по протоколу Kerberos в Windows 2000 --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
adonin, Я почитал, спасибо конечно но все же хочеться чего то попроще.
Кроме того не факт что мы будем работать в одном домене, возможно и подключение через нет, как в таком случаи быть? Выходит пользователь который захочет получить доступ к моему серверу не обИзательно будет зарегистрирован в той системе. Это сообщение отредактировал(а) Nuzur - 6.7.2006, 16:15 -------------------- Never again... |
|||
|
||||
| sllh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 8.7.2006 Репутация: нет Всего: нет |
Хм... в таком случае, самым простым будет отправка псевдо-случайнов величины, преобразованной по определенному алгоритму, например "суббота, 13:40" в том же МД5. Конечно, существует вероятность, что если сообщение было отправлено в 40, а получено в 41 минут, то опознание не пройдет, но вероятность мала -- сделать повторный запрос...
Как вариант, можно использовать аналог port knocking'а |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
sllh, ну идея то неплохая, вопрос в том не что отправлять, а как зашифровать. Ведь в таком-то случаи можно и использовать и парольль с логином то. Нужно как-то менять ключ и ето нужно делать одновременно, а вот обойтись без малой крови то?
-------------------- Never again... |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 1 Всего: 5 |
Извините, что долго не отвечал.
Nuzur, я не имел ввиду, что вы должны пользоваться средствами Windows, я говорил о том, что Вы можете использовать идеи, реализованные в протоколе Kerberos. Довольно простая процедура аутентификации, обеспечивающая высокую безопасность выглядит так: 1) Пользователь вводит на клиенте логин и пароль; 2) Клиент получает хеш логина и пароля; 3) Клиент формирует запрос, содержащий логин пользователя и некую зашифрованную фразу. В качестве ключа используется хеш логина и пароля. 4) Запрос передаётся на сервер. Сервер по логину находит в базе пароль пользователя и получает хеш логина и пароля. 5) сервер, зная хеш логина и пароля расшифровывает зашифрованную фразу. 6) сервер случайным образом генерирует сессионный ключ, шифрует его и передаёт клиенту. В качестве ключа может использоваться как хеш пароля, так и переданная клиентом в запросе зашифрованная фраза. 7) клиент расшифровывает ответ сервера, получая сессионный ключ, которым шифрует все следующие пакеты. При этом Вы гарантируете что ни один ключ не будет передан по сети в открытом виде; Для каждой сессии будет сгенерирован свой сессионный ключ. Для реализации этого алгоритма нужно, чтобы сервер хранил базу логинов и паролей всех пользователей. --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
adonin, да идея неплохая. А вы случайно
-------------------- Never again... |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: нет Всего: 23 |
Nuzur, можно использовать сертификаты CryptoAPI.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |