Рейтинг:0

Sharing RSA private keys using key exchange algorithms like Diffie–Hellman Algorithm?

флаг in

Me and my friend would like to login to an SSH server using the same private RSA key.

However, we don't want to transmit the key over the internet, for security.

I am thinking if it's possible to generate the same RSA key pair using a mutual secret from the Diffie–Hellman Algorithm (or other key exchange algorithms).

So basically I want to ask:

  1. Is there a tool that does this already? I did some research and found none.
  2. If I want to implement this myself, how can I seed an RSA keygen algorithm with my mutual secret, without compromising the security? I read this post and it seems that some further processing is needed, but I'm not familiar with cryptography so IDK if that also applies to my application here.
SAI Peregrinus avatar
флаг si
Почему? Совместное использование ключа SSH *является* нарушением безопасности. И как обмен DH для получения тех же начальных значений может быть более безопасным, чем обмен DH для отправки зашифрованного файла ключа?
Рейтинг:0
флаг in

Это идет в неправильном направлении, поэтому я отвечу, показав две альтернативы:

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

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

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

Я бы не ожидал, что будет присутствовать какой-либо механизм генерации пары ключей, который настолько хорошо описан, что его можно детерминировано использовать в разных версиях программного обеспечения. Если вы все еще хотите дать согласие на закрытом ключе, то я бы пошел в ECDSA, где закрытый ключ — это просто одно значение в диапазоне, а открытый ключ может быть напрямую получен из закрытого ключа.

Ответить или комментировать

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