Ответы пользователя по тегу Информационная безопасность
  • Правильно ли я понимаю работу защищенных протоколов?

    pazukdev
    @pazukdev
    Java Dev
    Вы можете безопасно обмениваться данными с кем-то только в том случае, если у Вас обоих есть общий ключ для их шифровки и расшифровки, о котором больше никто не знает. Проблема в том, как сделать так, чтобы он оказался у вас обоих, но при этом никто его не узнал. Т.е. как передать ключ по открытому каналу не скомпроментировав его. Ассиметричное шифрование как раз вот про это.

    Алгоритм этой операции такой:

    1. Сервер передает клиенту публичный ключ по незащищенному соединению.

    2. На основе публичного ключа сервера клиент создает разделяемый (общий) ключ, сохраняет его у себя.

    3. Клиент шифрует свой разделяемый ключ и в зашифрованном виде передает серверу.

    4. Сервер расшифровывает зашифрованный разделяемый ключ c помощью своего приватного ключа и получает разделяемый ключ у себя.

    Ассиметричное шифрование свою задачу выполнило - handshake состоялось. Далее клиент и сервер имея разделяемый ключ могут обмениваться уже симметрично зашифрованными данными.
    Ответ написан
    Комментировать