Защита открытого ключа RSA во время транзита - PullRequest
0 голосов
/ 29 декабря 2011

* Разъяснение: Мой вопрос касается настройки «безопасного» канала связи между двумя сторонами, где ключ (чтение ключевой фразы) был согласован в реальном мире.Только использование RSA позволяет проводить MITM-атаки (если я не ошибаюсь), поэтому я подумал о шифровании открытых ключей с помощью AES (ключа, с которым оба согласились) перед отправкой их соответствующим сторонам *

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

Перед началом связи между двумя приложениями им необходимо обменяться ключами.Это не должно быть проблемой, но я думал об использовании AES для шифрования открытых ключей перед их отправкой через Интернет.

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

Так что я хочу обменяться ключами и защитить их от MITM-атак.

Если кто-нибудь мог бы дать лучшее предложение (я использую библиотеку LibCrypto, кстати), я весь в ушах.

Спасибо.

С уважением / Томас Густавссон

1 Ответ

1 голос
/ 29 декабря 2011

Этот вопрос показывает много заблуждений с вашей стороны.

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

Я думаю, что это реальная проблема, которую вы имеете, и задайте вопрос.
Я думаю, что: как вы можете знать, что вы используете открытый ключ сущностиВы действительно хотите общаться, а не с открытым ключом злонамеренного объекта, претендующего на то, чтобы быть тем, с кем вы хотите общаться?

Эта проблема решается в типичной установке с помощью сертификатов, подписанных доверенным органом и выданных конкретному объекту , т. Е. IP или DNS-имени.

В вашем случае вы не предоставили никаких сведений о ваших сертификатах.

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

Если вы будете следовать другому плану, например, симметричному шифрованию, тогда вы начнете задавать другие вопросы, например, как безопасно делиться секретным ключом и т. Д.

...