Подписание/проверка открытого ключа

Я разрабатываю приложение для управления шифрованием файлов и электронной почты с использованием (в основном) PKI. У меня есть открытый брелок со списком контактов и их открытыми ключами.

Возвращаясь к старым временам, когда я использовал PGP, я вспоминаю требование подписывать открытые ключи своим закрытым ключом.

Является ли это необходимостью для PKI, и если да, то чего достигает эта подпись? Является ли плохой практикой просто хранить список/базу данных имен людей (и адресов электронной почты) и их открытый ключ? Конечно, если их открытый ключ каким-либо образом подделан, шифрование потерпит неудачу, и когда вы выбираете, кому вы отправляете или делитесь зашифрованными данными, даже если «успешное вмешательство» осталось незамеченным, зашифрованные данные не прекратятся. все равно попал не в те руки?


person Jonny Wilson    schedule 02.06.2013    source источник
comment
Откуда вы знаете, что открытый ключ, который вы получили в первую очередь, правильный?   -  person SLaks    schedule 02.06.2013
comment
Хорошо, хороший момент. Так как же его подписание доказывает обратное? Скажем, вы сгенерировали пару ключей, отправили мне свой открытый ключ, и я его сохранил. Как я могу доказать, что это действительный ключ?   -  person Jonny Wilson    schedule 02.06.2013
comment
Люди, которые его подписывают (надеюсь), проверяют владельца.   -  person SLaks    schedule 02.06.2013
comment
Итак, в моем приведенном выше примере я знаю вас, поэтому я подписываю ваш открытый ключ? Это доказывает, что это ВАШ ключ? Нужно ли подписывать каждый открытый ключ в вашей связке ключей или это просто «приятная» функция? Полагаю, я спрашиваю, можете ли вы на законных основаниях использовать этот открытый ключ для защиты данных, даже если он не был подписан? Итак, я никогда не встречался с вами, но я хочу отправить вам защищенные данные — это все еще «безопасно»?   -  person Jonny Wilson    schedule 02.06.2013
comment
Все зависит от того, от чего вы пытаетесь защитить данные. Кроме того, знать меня недостаточно; вам нужно подтвердить, что ни один злоумышленник MITM не модифицировал ключ, который, по вашему мнению, принадлежит мне. en.wikipedia.org/wiki/Key_signing_party   -  person SLaks    schedule 02.06.2013
comment
Для вас принципиально невозможно безопасно отправить мне данные, если у меня нет какого-то внеполосного способа проверить, что вы знаете, кем вы себя называете. (например, доверенная третья сторона) blogs.msdn.com/b/ericlippert/archive/2011/09/27/   -  person SLaks    schedule 02.06.2013
comment
^^ Очень интересно было прочитать! Имеет смысл даже в 4 утра! Спасибо.   -  person Jonny Wilson    schedule 02.06.2013


Ответы (1)


Все, что связано с подписанием открытого ключа закрытым ключом, полезно, когда у вас есть выделенная пара ключей, которую вы используете только для подписи, а затем другие пары ключей, которые вы используете для шифрования. Эта выделенная пара ключей является вашей «доверенной» парой ключей, которая каким-то образом известна как законно прикрепленная к вам (часто благодаря тому, что она подписана центром сертификации или благодаря тому, что многие доверенные люди подписали, что они подтвердили ее связь с вами.)

Вы используете этот «доверенный» закрытый ключ, чтобы подписать свой не совсем доверенный открытый ключ. Таким образом, люди могут отменить подпись/расшифровать ваш новый открытый ключ с помощью вашего доверенного открытого ключа. Это математически возможно только в том случае, если оно было подписано вашим доверенным закрытым ключом.

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

person Jeff Wolski    schedule 02.06.2013