Недавно разговор зашел о безопасности покупок на Интернете и вообще безопасности SSL/TLS (технология используемая HTTPS, чтобы сделать общение с веб-сайтом «безопасным»), и Джим выдал один из своих знаменитых монологов (помните? Джим – это такой гениальный человек, удобно расположенный в соседнем со мной офисе) Позволю себе его привести в краткой форме...
Итак, вы идете на вебсайт и браузер сообщает, что он «secure», то есть безопасный. И правда, адресная строка начинается с https:// и никто не кричит вам в лицо, что сертификат истек, неправильный или выпущен неизветсно кем... Так что, вы можете купить что хотели и ни о чем не волноваться? Вообще-то это не совсем так...
Как же устроена http-безопасность? SSL/TLS призвано решить две проблемы: во-первых, подслушивания на Интернете, а во-вторых, подтверждения личности сторон (или хотя бы одной стороны – продавца).
Начнем с прослушивания. Вся модель SSL/TLS/HTTPS основана на идее, что соединяются две машины, которым мы доверяем, причем они соединены через сеть, которой мы абсолютно не доверяем. К сожалению, эта модель не совсем соответствует истине. Доверяем мы сети или нет – это отдельный вопрос, но машины, которые соединены, заселены вирусами, троянами, рекламным софтом под завязку, так что доверять конечным машинам ничуть не легче чем сети между ними. Иногда даже сложнее, поскольку троян регистрирующий содержимое ваших запросов через веб до того, как они зашифрованы – это слишком просто. Проблема скорее в том чтобы поставить этот троян на вашу машину, а потом считать данные без следов, что – учитывая распространненость оных – тоже не такая уж великая задача. Так что хотя шифрование работает достаточно хорошо, само по себе это – увы! – совсем недостаточная защита.
Дальше – интереснее. Вторая функция SSL/TLS/HTTPS состоит в том, чтобы вы могли убедиться, что продавец это тот – за кого он себя выдает. Скажем, идете вы на сайт ozon.ru или bolero.ru – вы хотите быть уверены, что это действительно ozon.ru или bolero.ru, а не Вася Пупкин, притворяющийся оными и собирающий вашу платежную иноформацию. Все бы хорошо, но давайте посмотрим, как это работает.
Итак, Маша приходит на сайт Пети. Она не знает Петю, поэтому ему не доверяет. Но (!) Маша знает Федю. Федя выдает Пете сертификат, что он – Петя. Когда Маша приходит на сайт к Пете, он использует сертификат, чтобы подтвердить, что он Петя, таким образом Маша знает, что он действительно Петя. В чем проблемы с такой схемой?
Конечно, это еще не повод биться в истерике и не пользоваться Интернетом. Просто эта технология, как и любая другая, не является автоматически безопасной. Как и в случае с обычными магазинами, надо отметить. Надо понимать, где кончаются гарантии технологии, и где начинается ваша собственная ответственность.
Например, сам я использую несколько простых мер, которые делают игру значительно более безопасной:
К слову, меры эти действуют вполне неплохо.