Имеет ли значение, на каком компьютере (хост или клиент) я генерирую пару ключей SSH?

  1. Значит ли это, что и сервер, и клиент производят один и тот же сеансовый ключ в одной и той же сессии?

Да, как видно из картинки в недавнем вопросе.

Если да, то почему там также написано, что "Это асимметричный ключ"?

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

Означает ли фраза "This is an asymmetrical key", что сеансовые ключи, сгенерированные на сервере и клиенте, не одинаковы?

Конечно, нет. Общий секрет одинаков (он называется общим).

  1. Означают ли пули 6 и 7, что на клиенте или на сервере входными данными алгоритма, генерирующего сеансовый ключ, являются собственный закрытый ключ и открытый ключ другого клиента?

Если да, то как сеансовые ключи на сервере и клиенте идентичны, если входные данные у них разные?

В этом и заключается смысл упомянутого "математического уравнения". Если цвета недостаточно пояснительны, то в Википедии есть пояснение с цифрами:

  1. Алиса и Боб договорились использовать модуль p = 23 и основание g = 5 (которое является примитивным корнем по модулю 23).
  2. Алиса выбирает секретное целое число a = 6, затем посылает Бобу A = ga mod p
    • A = 56 mod 23 = 8
  3. Боб выбирает секретное целое число b = 15, затем посылает Алисе B = gb mod p
    • B = 515 mod 23 = 19
  4. Алиса вычисляет s = Ba mod p
    • s = 196 mod 23 = 2
  5. Боб вычисляет s = Ab mod p
    • s = 815 mod 23 = 2
  6. Алиса и Боб теперь имеют общий секрет (число 2).

Математический принцип, стоящий за этим, - "мультипликативная группа целых чисел по модулю p", но аналогичные механизмы стоят за криптографией RSA или эллиптическими кривыми.

Как отличаются сеансовые ключи для разных сеансов? Есть ли входы, которые зависят от сеанса?

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

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

3
22.09.2016, 01:40
0 ответов

Теги

Похожие вопросы