Аутентификация Алисой Боба после первого контакта
От: Михaил  
Дата: 17.02.17 19:16
Оценка:
На собеседовании задали вопрос: как Алиса может убедиться, что Боб — тот же самый боб, с которым она уже связывалась ранее?
Мой ответ: боб генерирует пару priv key, pub key, отсылает алисе свой priv key во время первого контакта. Алиса генерирует какой нибудь текст, шифрует его приватным ключем боба, отсылает результат бобу. Боб дешифрует эту криптограмму и отсылает результат алисе. Алиса сравнивает свой изначальный текст с полученным от боба дешифрованным текстом, и если они совпали, то боб — это тот самый боб (цифровая подпись).
Верно ли это и так ли делают в "реальном мире"?
Собеседующие сказали что думаю в правильном направлении, но приватный ключ нельзя отсылать, на то он и приватный. Что не так?
Re: Аутентификация Алисой Боба после первого контакта
От: SkyDance Земля  
Дата: 17.02.17 19:22
Оценка: 12 (2) +2
М>На собеседовании задали вопрос: как Алиса может убедиться, что Боб — тот же самый боб, с которым она уже связывалась ранее?

Web of Trust (PGP и подобные).

М>Собеседующие сказали что думаю в правильном направлении, но приватный ключ нельзя отсылать, на то он и приватный. Что не так?


Правильно сказали, приватный ключ никуда отсылать нельзя. Алисе не нужен приватный ключ Боба, Алисе нужно убедиться, что "Боб-2" знает приватный ключ "Боб-1". Поэтому при первом контакте Алиса и Боб обмениваются публичными ключами, и их используют для аутентификации во время следующей связи.
Re[2]: Аутентификация Алисой Боба после первого контакта
От: Михaил  
Дата: 17.02.17 22:48
Оценка:
Здравствуйте, SkyDance, Вы писали:

М>>На собеседовании задали вопрос: как Алиса может убедиться, что Боб — тот же самый боб, с которым она уже связывалась ранее?


SD>Web of Trust (PGP и подобные).


М>>Собеседующие сказали что думаю в правильном направлении, но приватный ключ нельзя отсылать, на то он и приватный. Что не так?


SD>Правильно сказали, приватный ключ никуда отсылать нельзя. Алисе не нужен приватный ключ Боба, Алисе нужно убедиться, что "Боб-2" знает приватный ключ "Боб-1". Поэтому при первом контакте Алиса и Боб обмениваются публичными ключами, и их используют для аутентификации во время следующей связи.


То есть после изначального обмена ключами, алиса отправляет бобу текст, боб его шифрует своим priv ключем и отправляет алисе. Алиса его декодирует публичным ключем боба, и смотрит, совпал ли оригинальный текст с дешифрованным или нет. То есть ключи перепутал? В моем случае просто public key стал private (который нельзя всем подряд сообщать), а private — public? Или ключи неравноценны и генерируются таким способом что рассекречивание private почему то ведет к рассекречиванию public?
Re[3]: Аутентификация Алисой Боба после первого контакта
От: SkyDance Земля  
Дата: 18.02.17 00:21
Оценка: 5 (2) +2
М>То есть после изначального обмена ключами, алиса отправляет бобу текст, боб его шифрует своим priv ключем и отправляет алисе. Алиса его декодирует публичным ключем боба, и смотрит, совпал ли оригинальный текст с дешифрованным или нет.

Это один из вариантов проверки.

М>То есть ключи перепутал? В моем случае просто public key стал private (который нельзя всем подряд сообщать), а private — public? Или ключи неравноценны и генерируются таким способом что рассекречивание private почему то ведет к рассекречиванию public?


В большинстве случаев из закрытого (private) ключа можно сгененерировать открытый (public). Это свойство присуще всем основанным на логарифмах алгоритмах, включая эллиптические, Diffie-Hellman, и прочие DSA с Эль-Гамалями.

Для классического RSA в теоретическом смысле вы правы. Но в практическом применении для ускорения шифрования стандарт PKCS требует, чтобы поля все поля открытого ключа хранились в закрытом ключе тоже. То есть потенциально можно этого не делать, но я о таких нестадартных реализациях никогда не слышал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.