О том, что такое Открытые и закрытые ключи, в Интернете есть очень классическая статья: http://www.youdzone.com/signature.html
Я обращаюсь к основному содержанию этой статьи, чтобы познакомить вас с тем, как работают Открытые и закрытые ключи.
У Боба есть два ключа: один — открытый, а другой — закрытый.
Открытый ключ Боба является общедоступным и может быть получен кем угодно, но закрытый ключ известен только самому Бобу и должен храниться в абсолютной конфиденциальности.
Давайте сначала посмотрим на разницу между Открытыми и закрытыми ключами:
Проще говоря, открытый ключ используется для шифрования информации и проверки цифровой информации. подпись, в то время как закрытый ключ используется для расшифровки полученного сообщения шифрования и создания цифровой подписьиз。
Что должна сделать Сьюзен, если она хочет отправить Бобу зашифрованное сообщение?
Даже если другие получат зашифрованный текст, они не смогут его взломать, поскольку зашифрованный текст, зашифрованный открытым ключом Боба, можно расшифровать только с помощью закрытого ключа Боба, а закрытый ключ Боба принадлежит только самому Бобу.
Интересно, нашли ли вы проблему?
Когда Боб получает сообщение, отправленное ему Сьюзен, как он узнает, что это сообщение является оригинальным сообщением, отправленным ему Сьюзен?
Мог ли кто-то подделать первоначальную информацию?
Может ли кто-нибудь притвориться Сьюзен и отправить сообщение?
Поскольку открытый ключ Боба является общедоступным, любой может использовать открытый ключ Боба для шифрования информации.
Другими словами, как Сьюзен сможет доказать, что это сообщение было отправлено ею?
Для этого необходимо использовать цифровую подпись.
Процесс цифровой подписи обычно начинается с Хэш-функции.,Например, MD5, SHA, RIPEMD-160 и т. д. Особенностью Хэш-функции является то, что она может конвертировать данные любого размера в строку фиксированной длины (например, 32-битную, 64-битную).,Эта строка называется хешем или дайджестом. Важной особенностью Хэш-функции является то, что,Даже небольшое изменение данных приведет к созданию совершенно другого значения хеш-функции.
Даже если будет изменен только один символ, итог, сгенерированный Хэш-функцией, будет сильно отличаться.
Susanпроходитьцифровая подпись,Это может доказать, что документ выдан вами самостоятельно.,И он не был подделан во время передачи.
Наконец, есть еще один важный вопрос. Вы это обнаружили?
Поскольку открытые ключи являются общедоступными и могут быть легко получены кем угодно, как гарантировать, что открытые ключи не были подделаны?
Как Боб и Сьюзен определяют, что открытый ключ, находящийся в их руках, принадлежит друг другу?
Если злоумышленник выдает себя за Боба и отправляет Сьюзен свой открытый ключ, заставляя Сьюзан думать, что она болтала с Бобом, как его взломать?
В это время необходимо представитьцентр сертификации .
Центр сертификации (CA) можно понимать как «центр проверки личности» в сетевой безопасности, аналогичный паспортному инспектору в онлайн-мире. Его основная задача — предоставить цифровые сертификаты участникам цифровых коммуникаций (таким как веб-сайты, приложения и т. д.) для обеспечения подлинности их личности, конфиденциальности и целостности передачи данных.
Центры сертификации работают следующим образом:
С помощью центра сертификации Боб и Сьюзен могут получить открытый ключ друг друга от центра сертификации, тем самым гарантируя, что полученный открытый ключ заслуживает доверия.
Симметричное шифрование,Также известно как шифрование секретного ключа.,Относится к методам шифрования и дешифрования с использованием одного и того же ключа. Этот метод шифрования отличается высокой эффективностью.,Поскольку алгоритм относительно прост,Быстрая скорость расчета,Подходит для больших объемовданныеизшифрование。
Нет Симметричное шифрование — это Открытые, представленные в этой статье. и закрытые ключишифрование,Относится к методам шифрования и дешифрования с использованием пары ключей. Открытый ключ может быть опубликован,Любой может использовать его для доступа к информации; закрытый ключ должен храниться в секрете;,Только владелец закрытого ключа может использовать его для расшифровки информации.
Симметричное Алгоритм шифрования прост и быстр, подходит для передачи больших объемов данных, а не симметрично. шифрование Алгоритм сложный,Скорость медленнее,Подходит только для передачи важной информации.
Например, когда мы обычно пользуемся Интернетом,Необходимость передачи больших объемов данных,Очень подходит для использования алгоритма симметричного шифрования.,Но секретный ключ, используемый в алгоритме Симметричное шифрование и для дешифрования, один и тот же.,Здесь есть трудность,Как беспрепятственно передать секретный ключ другой стороне?
На самом деле, эта проблема прекрасно решена. Это протокол HTTPS. Давайте посмотрим, как реализован протокол HTTPS.
(Источник изображения: https://github.com/ByteByteGoHq/system-design-101)
HTTPS с использованием несимметричного шифрование(Открытые и закрытые ключи)доставить Симметричное Симметричный ключ, необходимый для шифрования (сессионный ключ), как только сервер получит симметричный секретный ключ, все последующие коммуникации будут использовать Симметричное шифрованиепередача инфекции,Это гарантирует, что передача информации между веб-сайтом и пользователем осуществляется в шифровании, Безопасность. так,Даже если информация будет перехвачена во время передачи,Хакеры также не могут прочитать эту информацию,Потому что у них нет секретного ключа для его расшифровки.
HTTPSвеб-сайтшифрование передачи прекрасно сочетает Симметричное шифрование и асимметричное Преимущества алгоритма шифрования в протоколе HTTPS, несимметричное шифрование используется для первоначального обмена ключами и аутентификации, а Симметричное шифрование используется для последующей передачи данных с целью учета эффективности и безопасности.
Такой дизайн потрясающий~
Ссылки:
http://www.youdzone.com/signature.html
https://time.geekbang.org/column/article/99636?utm_source=u_nav_web&utm_medium=u_nav_web&utm_term=pc_interstitial_1413
https://github.com/ByteByteGoHq/system-design-101