Все, что вам нужно знать об Аккаунте CyanogenMod

Pavel Tikhonov
Android Android Support
Все, что вам нужно знать об Аккаунте CyanogenMod

Кушик Дутта об авторах Аккаунта CyanogenMod:

Эд Карриган, Доби Уоллерт, и Крис Сойарс создали классный сервис по обнаружению и удаленному стиранию данных с устройства для CyanogenMod. Он снабжен лучшими механизмами защиты и приватности, нежели вариант от Google.

Из блога CyanogenMod об Аккаунте CM:

Мы [команда CyanogenMod] приглашаем вас опробовать то, что мы считаем шагом в направлении улучшения опыта пользования CM. На нашем Github вы можете найти новое приложение для службы "Account Provider" под названием "Аккаунт CyanogenMod".

Оно предоставляет полностью опциональный аккаунт, который вы можете создать, чтобы получить доступ к дополнительным функциям в CyanogenMod. В течение нескольких месяцев мы трудились над интегрированием полностью зашифрованного сервиса обнаружения вашего устройства, или, если оно было потеряно, удаленного безопасного стирания данных с него (включая пользовательские). Этот сервис также станет частью проекта обмена защищенными SMS сообщениями, над чем сейчас работает Мокси Марлинспайк, а также интеграции с нашим форумом.

Это сервис, который должен быть частью каждой мобильной ОС, и мы гордимся тем, что можем предоставить что-то подобное своим пользователям. Использование кастомного программного обеспечения не значит, что вы остаетесь без первоклассного функционала. Мы будем дополнять функционал страницы аккаунта CM со временем.

На рынке уже существуют различные методы обнаружения/стирания данных удаленно, но нам они кажутся крайне небезопасными, давая работникам компаний или хакерам доступ к данным о вашем местоположении или иной информации, без спроса.

Аккаунт CM опционален и бесплатен. Сервис - безопасен и управляется нами. Код шифрования со стороны клиента сервиса на вебсайте - на запутан. Исходный код приложения - находится в свободном доступе и лицензировано Apache. Мы призываем всех, кто пользуется сервисом, принять участие в обозревании защиты и приватности передаваемых данных, дабы понять, чем наш сервис выделяется среди аналогов.

Разумеется, некоторых из вас может волновать вопрос о приватности и безопасности данных. Мы разработали политику конфиденциальности, страницу с правилами пользования сервисом, и специальную страницу с часто задаваемыми вопросами под названием "Что такое Аккаунт CyanogenMod', дабы ответить на большую часть ваших вопросов. Но даже если вы решите пропустить знакомство с ними, мы можем описать нашу политику в двух пунктах:
  • Мы не заинтересованы в перепродаже ваших данных
  • Мы не можем отследить или удаленно стереть данные с вашего устройства. Протокол сервиса создан таким образом, чтобы этого не смог сделать никто кроме вас самих
С учетом того, что это несколько отличается от традиционных нововведений в виде функций, мы не станем сразу же предоставлять доступ к сервису вместе с ночными сборками. Тем, кто заинтересован в тестировании функции, мы предлагаем самостоятельно сделать сборку, протестировать ее, и проверить программный код Аккаунта CyanogenMod. Исходники можно найти на нашем Github. Мы ждем ваших отзывов.

И раз уж мы затронули тему безопасности, мы бы также хотели прокомментировать еще одно грядущее изменение. Многие из вас наверняка не в курсе структуры подписи ключей в ОС Android, но если вкратце, то это основной инструмент, используемый для проверки целостности образа прошивки от производителя, и обеспечения некоего уровня защиты от фальсификации. Для предоставления нашим пользователям возможности копаться в системе, мы выпускали сборки, подписанные так называемыми "тестовыми_ключами", что идут в комплекте с SDK ОС Android. И в то время, как они прекрасно подходят для разрешения доступа к модификации системы и наших zip-архивов - они удручающе небезопасны. В течение двух последних месяцев, мы вносили в CyanogenMod изменения (Подпись финальных версий пакетов иными ключами по запросу и Обновление релизного ключа CM для рекавери) для подготовки к переменам нашего статус-кво в области практики подписи ключами.

В ближайшем будущем, мы перейдем на модель двойных релизов. Появится ветка исходников "Пользовательская", подписанная нашим частным ключем, блокируя систему в соотвествии с лучшей практикой и защитой фрэймворка Android. Но дабы не лишать пользователей возможности "хакать" систему, за что так прославилась CM, мы (параллельно) будем выпускать "девелоперские" сборки, которые и дальше будут подписываться нашими тестовыми_ключами. Мы считаем, что путь двойных релизов сборок является наилучшим вариантом для коммьюнити, при этом охраняя большую часть пользователей, и в то же время предоставляя возможность разработчикам и дальше заниматься их любимым делом.

Более подробный рассказ о двойных релизах будет размещен в ближайшем будущем.

- Команда CyanogenMod

Кушик Дутта о технической стороне механизма обнаружения устройства с помощью аккаунта CM:

Новый сервис от CyanogenMod по обнаружению устройства,и удаленного стирания данных с него, создает защищенное соединение между вашим браузером (с помощью движка javascript) и вашим устройством.

Сервер никогда не получает данные о вашем пароле. Ваша аутентификация - и есть этот самый пароль. В браузере генерируется публичный ключ, и снабжается хеш-кодом аутентификации сообщений с помощью настоящего пароля (неизвестного серверу). При запросе об обнаружении устройства, оно (устройство) получает этот самый публичный ключ, и подтверждает его достоверность, т.к. на устройстве имеется такой же оригинальный пароль.
Затем устройство отправляет на сервер зашифрованный симметричный ключ посредством публичного ключа.
Сервер не может расшифровать симметричный ключ, поскольку на нем не хранится частный ключ.
Браузер получает зашифрованные данные, и расшифровывает симметричный ключ.

На этом этапе, между браузером и устройством образуется защищенный коммуникационный канал, и они оба устанавливают подлинность друг друга. Сервер не способен вести прослушку данного канала. Он всего лишь выступает в качестве перевозчика данных.

После этого, браузер запрашивает местоположение устройства (или стирание данных с него) посредством этого защищенного канала.

Результатом всего этого процесса является следующее:



Как видно на скриншоте с открытым окном расширения Firebug, данные, отправляемые на сервер, абсолютно невидимы.

Вот как должны быть устроены сервисы по обнаружению устройства. Вы не можете довериться заявлениям, что серверные данные никогда не будут перехвачены. Вам никогда не следует доверять заявлениям, что поставщик услуг не выдаст ваши данные правительству, если поступит такой приказ.

Вы можете лишь верить в то, что данные были защищены от самого сервиса.

Исходники программного кода сервиса для Android уже доступны на Github CyanogenMod. А код вебсайта... ПКМ + "Просмотр кода страницы", мы ни от кого не скрываем его.
Раздел: Android Автор: Pavel Tikhonov
21 августа 2013, 04:17

Ответы