Если мы говорим о , невозможном , то вторая часть ответа С.Л.Барта достигнет этого, за исключением того, что обмен ключами должен быть выполнен другими способами.Это может быть телефон, электронная почта или даже другой веб-сайт, но если это происходит через ваш веб-сайт, то он открыт для атаки человек посередине .Вы можете сказать своим пользователям сделать это, но вы просто не можете помочь им сделать это.
Возможно, где-то есть библиотека javascript, которая будет реализовывать шифрование GPG, так что все, что вам нужно сделать, это убедиться, что каждыйсообщение зашифровано в браузере перед отправкой на ваш веб-сервер.Вы можете хранить сообщения сколько угодно, они зашифрованы.Только пользователь с правильным закрытым ключом сможет дешифровать его.
SSL и TLS, так как они используются веб-сайтами повсеместно, уязвимы для атак «человек посередине».Причина, по которой мы мало слышим об атаках такого рода, заключается в том, что большинство людей в центре заслуживают доверия, поэтому атаки просто не происходят.Недавний отзыв сертификатов CA DigiNotar и других произошел именно потому, что правительство Ирана было поймано на роли посредника и расшифровывании трафика SSL своего гражданина.
Есливы довольны предотвращением случайного слежки любопытными системными администраторами, обмен ключами также может осуществляться через ваш веб-сайт.
Еще одна вещь: безопасность - это сложно.
Даже если вы делаете это сВ хорошо известных методах шифрования шансы наличия недостатка в реализации будут очень близки к 1. Это не означает, что эти любопытные системные администраторы смогут случайно читать сообщения, но это означает, что решительный и опытный противник будетбыть в состоянии найти выход. Как только вы можете себе это позволить, вы должны нанять специалиста для редизайна или, по крайней мере, изучить ваш протокол и реализацию.