Задать вопрос
  • Вопрос про безопасность с примером. как работает RSA при работе с сертификатами и зашифрованными сессиями?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Просто если так, то что тогда, если допустим я обменялся с другим человеком открытым ключом сертификата RSA, т.е. он имеет возможность расшифровать подписанный мной документ


    Нет, он не имеет возможность расшифровать. Он может только провалидировать, что документ был подписан тобой.
    Если что-то зашифровано публичным ключом, расшифровать может тот, у кого есть приватный ключ.

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

    Если у кого-то оба ключа, и этот кто-то не ты, это значит что твои ключи скомпроментированы.

    По поводу сертификата.
    Для установки шифрованного соединения используется тот же самый ассиметричный алгоритм шифрования с приватным и публичным ключом. Просто в сертификате есть публичный ключ.
    Разница в том, что в сертификате есть и другие поля, например центр который выдал сертификат, сроки годности сертификата, может быть доменное имя и другие поля.
    Перед установкой https сессии, твой браузер может провалидировать сертификат сервера на соответствие доменному имени, на то, что браузер доверяет этому сертификату (или центру который его выдал), что сертификат не просрочен. А для установкий самой https сессии уже используется публичный ключ из сертификата.
    Для каждой https сессии создается свой уникальный секрет, который шифруется публичным ключом и передается на сервер.
    Ответ написан