
ну ладно😁
❗️помимо того, что это бессмысленно изначально: за каждым сайтом все равно стоит своя сорм-коробка, а то и несколько, да и владельцы в 99,99% - стукачи
❗️помимо того, что сам протокол насквозь дырявый и критические уязвимости находят по сей день, собственно поэтому он и обновляется постоянно: ssl1->ssl2->ssl3->tls1->tls1.1/1.2/1.3
❗️помимо того, что человеку-посередине нужен лишь БЕСПЛАТНЫЙ ssl-strip (kali linux) для полной дешифровки пакетов
помимо всего этого, есть у ssl/tls одна фатальная, корневая, нерешаемая проблема - сертификаты и сертифицирующие центры
смысл вот в чем:
ssl/tls должен не только зашифровать пакеты, но и удостоверить нас в том, что пакет летят между нами и конкретным сайтом, оригинальным сайтом
Мы должны как-то точно узнать, что вводим свои логин/пароль именно на сайте своего банка, а не на фишинговом сайте с похожим доменом, например
Обеспечить это знание нам и должен некий сертифицирующий центр, путем выпуска сертификата для открытого ключа нашего банка
Т.е. некий центр проверяет и удостоверяет, что банк - это банк, домен принадлежит банку, открытый ключ принадлежит банку и все тут четко и законно, это типа решает проблему распределения открытых ключей
Такой нотариус в интернете, авторитетная персона, которой мы должны поверить
Ну уже сами чуете куда идет, да?😁
Проблема с сертификатами и их центрами (а следовательно и с ssl/tls) в том, что они не могут выполнить ни одной поставленной задачи, они не работают ни в одном направлении:
➡️это не может защитить нас от фишинга: вспоминаем клаудфлер (мир его дому) и то, как легко он раздает свои серты (абсолютно такие же, законные, ничем не хуже других, в адресной строке все зелененькое и подтвержденное, как у настоящего банка) ботоводам, кардерам и фишерам
⬅️это не может обеспечить нам хоть мало-мальской сохранности данных: мусора приходят в сертифицирующий центр, выпускает себе дубль ключа/свой ключ, и дальше разгоняются как хотят - возможностей перехвата/дешифровки/разъеба просто не счесть
Резюмируя по ssl/tls:
❗️несмотря на https в адресной строке, все что мы оставили в открытом белом интернете (и не только) - мы оставили В ОТКРЫТОМ ВИДЕ НА СТОЛЕ У МУСОРА, оставили НЕСКОЛЬКО РАЗ НАВСЕГДА, а может еще и кибер-бродягам подарили по дороге
✔️это применимо только когда мы - владелец сервера, и хорошо при этом понимаем что, как и зачем делаем, исключительно в личных целях; с точки зрения обычного юзера этот протокол не дает почти никакой безопасности - фиговый листок
_
Резюмируя в общем, по асимметрии↪️↩️:
❗️заявленная задача (распределение ключей) - не решена, т.к. открытый ключ - палит всю хату, лишая нас возможности правдоподобно отрицать
Следовательно неважно симметрично🔄 мы будем шифроваться или асимметрично↪️↩️, проблема все равно остается, нам все равно придется как-то беспалевно распределять ключи между aa и bb
❗️любое клиент-сервер шифрование (tls) предполагает расшифровку пакетов на сервере и не является для нас сколько-нибудь надежным, за исключением случаев, когда мы сами владеем/управляем тем сервером, или доверяем его владельцу/админу
❗️сертифицирующие центры - галимые нотариусы, а их сертификаты - галимые доверенности, и уж точно эта концепция никак не помогает решить проблему распределения ключей (в данном случае открытых)
❗️не имеет технических преимуществ перед симметрией🔄, т.к. все те же угрозы - (1)ключи, (2)mitm, (3)отрицание - остаются актуальными
❗️в голом виде (rsa) - это медленно
но при этом
✅асимметрия имеет право на жизнь, и вполне себе реализует его, и даже порой весьма успешно
Это не панацея, но это все еще надежно и порой удобно
Используется в современных е2е протоколах как составная часть, в основном для шифрования ключей/сертов/метадаты/хендшейков/подписей и прочего небольшого, т.е. того, что сопровождает основные (большие) пакеты, которые уже шифруются симметрично