Google опубликовал библиотеку и дополнение к Chrome для обеспечения "end-to-end"-шифрования в Web

Компания Google в рамках проекта End-To-End подготовила дополнение для встраивания в Chrome/Chromium средств «end-to-end»-шифрования, выполняемых на стороне браузера без вовлечение в процесс шифрования внешних серверов, производя все операции только на конечных клиентских системах. Код проекта распространяется под лицензией Apache 2.0. Дополнение позволяет обеспечить шифрование, расшифровку, создание и проверку цифровых подписей для любых передаваемых через браузер текстов и сообщений, например, можно организовать шифрованную переписку в почтовом web-сервисе, из коробки не поддерживающем шифрование. Для выполнения криптографических операций используется OpenPGP, что позволяет обеспечить совместимость с существующими системами шифрования по открытым ключам. Являясь совместимым с большинством инструментов «end-to-end»-шифрования, включая PGP и GnuPG, представленный проект позволяет значительно упростить использование шифрования для конечных пользователей, не требуя от них специальных навыков.

В основе дополнения End-To-End лежит новая криптографическая JavaScript-библиотека c реализацией стандарта OpenPGP (IETF RFC 4880), которую можно использовать и в других web-проектах. Библиотека предоставляет функции для генерации ключей (пока поддерживается только EC-ключи, Elliptic Curve Cryptography), шифрования, расшифровки, создания и проверки цифровых подписей. Текущее состояние разработки оценивается как полнофункциональный альфа-выпуск, предназначенный для независимого рецензирования кода сообществом. При этом некоторые части End-To-End уже используются в сервисах Google.

Основное внимание рекомендуется уделить оценке общих концепций реализации систем шифрования на JavaScript. Проблема заключается в том, что при расшифровке закрытый ключ сохраняется в памяти процесса, что потенциально позволяет вредоносным дополнениям получить доступ к остаточным данным, которые могут включать содержимое ключа. С учётом достаточно сложного механизма сборки мусора в JavaScript достаточно трудно обеспечить надёжную очистку памяти. Для решения этой проблемы в End-To-End применяется дополнительное шифрование ключа паролем, хранение расшифрованных данных вне контекста текущего сайта и изоляцию от стороннего JavaScript кода через выполнение в sandbox. JavaScript-реализация также потенциально может быть подвержена атакам по сторонним каналам (side-channel attacks), использующим косвенные методы для восстановления данных. Для защиты от данного вида атак все операции в дополнении выполняются только по запросу пользователя, без автоматического инициирования операций расшифровки.

End-To-End входит в число проектов, подпадающий под программу Vulnerability Reward Program, в рамках которой компания Google готова выплатить до 20 тысяч долларов за выявление уязвимостей в своих продуктах. Кроме того, на днях расширен спектр проектов, которые могут участвовать в программе Patch Rewards, в рамках которой производятся выплаты вознаграждений за выполнение работ по повышению безопасности популярного сетевого и системного свободного ПО. Под действие программы теперь попадают популярные web-фреймворки и средства разработки, такие как Angular, Closure, Dart, Django, Dojo Foundation, Ember, GWT, Go, Jinja (Werkzeug, Flask), jQuery, Knockout, Struts, Web2py и Wicket.

Дополнительно можно отметить опубликованный Google отчёт об использовании шифрования трафика при работе сервиса GMail. В настоящее время около 69% исходящий запросов и 48% входящих передаются между серверами GMail и сторонними почтовыми службами с использованием STARTTLS, т.е. защищены от транзитного перехвата. В среднем с начала года доля сеансов с шифрованием трафика увеличилась с 33% до 58%. В Facebook наблюдается примерно такая же статистика, через зашифрованные каналы связи передаётся примерно 58% сообщений при степени поддержки STARTTLS серверами в 76%. Администраторам почтовых серверов, ещё не добавившим поддержку STARTTLS, рекомендуется сделать это для повышения защищённости почты своих пользователей.

0_1401863247.png

©  OpenNet