- PVSM.RU - https://www.pvsm.ru -
В связи с развитием событий в мире последним временем пользователи сети всё чаще задумываются о своей безопасности: кто-то отказывается пользоваться рядом web-сервисов, кто-то удаляет личную информацию, фото и другие данные с социальных сетей, а кто-то и вовсе «блокирует» свои учётные записи. Но вот только большинство этих данных удаляются лишь визуально, что, в принципе, общеизвестный факт.
Поскольку значительная часть моих знакомых — это люди, не имеющие достаточных знаний в сфере IT, то приходится изощрятся, чтобы заставить их пользоватся непривычными им сервисами либо утилитами, которые я считаю безопасными.
Предлагаю относительно простой способ установки безопасного канала для текстового общения через всеми известную сеть ВКонтакте. Для этого не нужно никакого дополнительного софта либо обширных знаний в сфере информационной безопасности. Всё, что вам нужно иметь — это web-браузер и аддон GreaseMonkey.
Мотив данного метода — создать канал, управляемый собеседниками без посредника, т.е. не давать возможность серверу видеть незашыфрованный текст сообщений. Конечно, типичная man-in-the-middle атака посредством подмены открытого ключа вполне возможна, но очень маловероятна, так как мы опасаемся не прослушки в режиме реального времени, а потенциальной опасности компрометации текста сообщений в ближайшем будущем, например, по запросу спецслужб.
Как я уже говорил выше, была идея создать собственный месенджер (ну вы поняли, с чем). Почему? Из пары причин:
Но через некоторые трудности, среди каких — как разработка продукта, так и его внедрение среди непрограммистов. Поэтому в качестве субъекта сих извращений был однозначно выбран ВКонтакте, а платформой для внедрения конечного продукта стал аддон GreaseMonkey [1]:
Исходя из того, на какую аудиторию рассчитана эта статья, я не буду объяснять процесс установки GreaseMonkey и моего скрипта. Если же вы не знаете, как это сделать — читайте мануал, например, тут [2] (спасибо google [3] за эту ссылку).
В качестве механизма шифрования выбран, конечно же, неповторимый RSA в стандартной имплементации. Объяснять этот механизм тоже нет смысла, так как статья не о нем, а о автоматизации сего процесса, но, на всякий случай, двустороннее асиметрическое шифрование выглядит так:
Процесс в картинке:
Для реализации алгоритма RSA я использовал его JS-имплементацию, написанную парнями из Стэнфорда [4]. Она была одной из первых, что попались на глаза, и отлично оправдала все мои ожидания, поэтому я использовал именно её.
Итак, что делает скрипт?
CTRL+SHIFT+V
;"%n:открытый_ключ_напарника"
и "%m:зашифрованное,сообщение"
, заменяя их нотификациями про факт получения публичного ключа от напарника либо расшифрованным текстом.
При открытии страницы с чатом в верхнем правом углу должно появится сообщение «VKSL loaded» (возможно, придется нажать F5, если вы перешли с другой страницы). Нажав CTRL+SHIFT+V
на странице с чатом, опять таки получим сообщение об успешной (или же неудачной) инъекцией шифратора в код страницы.
После этого каждый из собеседников должен нажать на линк «GENERATE KEYS NOW». Через несколько (возможно, десятков) секунд появится сообщение, что ключ сгенерирован и отправлен. Следовательно, собеседние на другом конце будет тоже уведомлен об этом.
Теперь можно приступать к общению. Для отправки обычного сообщения пользуемся стандартной кнопкой, для отправки шифрованного — нажимаем на «SEND ENCRYPTED». Скрипт на другом конце сам поймёт, что нужно делать, если получено зашифрованное сообщение.
Установить скрипт можна отсюда: http://userscripts.org/scripts/show/396094 [5]
Желающие потестить: можете писать мне сюда [6].
Спасибо за ваше внимание!
Автор: AndersonDunai
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vkontakte/55677
Ссылки в тексте:
[1] GreaseMonkey: http://ru.wikipedia.org/wiki/Greasemonkey
[2] тут: http://softlakecity.ru/browsers/firefox/greasemonkey
[3] google: http://habrahabr.ru/users/google/
[4] парнями из Стэнфорда: http://www-cs-students.stanford.edu/~tjw/jsbn/
[5] http://userscripts.org/scripts/show/396094: http://userscripts.org/scripts/show/396094
[6] мне сюда: http://vk.com/init6
[7] Источник: http://habrahabr.ru/post/213537/
Нажмите здесь для печати.