ГлавнаяФорумДневникиФотоальбомы

Войти через:
Впервые на Nokia Club? Зарегистрируйтесь или воспользуйтесь формой логина. Телефоны Игры Темы Программы

 

Общие сведения о сapabilities и сертификатах безопасности

Для любого пользователя смартфона на базе Symbian OC 9.x известно, что в свой телефон он может установить только лишь подписанное приложение. Такова система безопасности данной ОС.
Первые шаги при знакомстве с сертификатами были в статье Общие сведения о сертификатах безопасности

Сертификат - это электронный документ, дающий право приложениям быть примененными (установленными) в среде Symbian OS9.х для конкретного конечного пользователя. Документ выдвигает определенные требования разработчикам программного обеспечения в зависимости от развития операционных систем и аппаратных средств Nokia, что формирует стандартное условие на определение срока использования - срок действия сертификата. Сертификат содержит информацию, идентифицирующую держателя (компанию Symbian), от которого исходит сертификат. Издается центрами сертификации и выдается компанией Symbian.

Для чего же мы подписываем приложения.

Для того, чтобы подписать приложение, мы используем сертификат и ключ к нему. Подписывая приложение, мы добавляем ему цифровую подпись, которая и будет показывать вашему смартфону тот уровень доверия для приложения, который был разрешен данной цифровой подписью.
Когда происходит установка подписанной программы на ваш телефон, установщик телефона проверяет цифровую подпись с помощью корневого сертификата (root certificate), который находится на вашем телефоне:
  • Если сертификат, которым подписано приложение, происходит от корневого, то такое приложение считается надежным. Т.о., если Вы подписываете программу личным сертификатом, выданным на Ваш личный IMEI, то корневой сертификат считает такое приложение надежным. Если Вы устанавливаете приложение, подписанное сертификатом разработчика, полученный у Symbian, то такое приложение также считается надежным. Такие приложения, как правило, могут получить больше возможностей (capabilities).


  • Если же приложение подписано с помощью self-sign сертификата (называют его общий и может быть создан пользователем самостоятельно), то установщик определяет, что цифровая подпись не происходит от корневого сертификата, и поэтому такое приложение считается ненадежным. И во время установки такого приложения Вам будет выведено предупреждение о том, что данная программа получена из ненадежного источника, и будет предложено либо продолжить установку, либо отменить.
    Теперь вы знаете, что обозначает это сообщение, поэтому можете продолжить установку программы.




  • Если же устанавливаемое приложение не подписано, то установщик, не обнаружив цифровой подписи, сообщит вам об ошибке в сертификате и предложит обратиться к разработчику приложения. Установка будет прервана.




  • Если же приложение имеет цифровую подпись, но подписано личным сертификатом для другого устройства (личный сертификат выдается для каждого IMEI телефона), то установщик при проверке с корневым сертификатом в системе сочтет подпись неверной, и Вам будет выведено сообщение об Ошибке: Установка невозможна. Запрещено сертификатом. Установка будет прервана.



Таким образом, мы видим, что цифровая подпись показывает уровень доверия для устанавливаемого приложения и соответственно определяет набор его capabilities.


Далее мы рассмотрим, как же определяется набор capabilities для устанавливаемого приложения и какими сертификатами требуется подписать их уровень доверия.

Что же такое capabilities

Сapabilities - это набор определенных разработчиком возможностей для исполняемых файлов приложения (ЕХЕ файла) и файлов библиотек (DLL файла) для использования тех или иных API. Т.е., если говорить очень упрощенным языком - определяет возможность доступа на обращение к определенным функциям операционной системы и функциональным возможностям самого смартфона.

Каждый исполняемый файл приложения (ехе) имеет свой набор этих возможностей (capabilities), необходимых ему для корректной работы.
Если приложение содержит файлы библиотек (DLL), то для них также определяется свой набор возможностей (capabilities). Библиотека – это компонент, который использует исполняемый файл приложения или системные приложения, таким образом, ее capabilities не должны быть ограничены, т.е. ее возможностей не должно быть меньше, чем у исполняемого файла, который использует ее в процессе своей работы. Проще говоря, набор capabilities библиотеки должен отображать тот же уровень доверия, какой потребуется приложениям, что станут ее использовать.

1. Self-sign сертификат.

Называется общим. Может быть создан пользователем самостоятельно. При установке приложения, подписанного таким сертификатом, выводится сообщение о ненадежности приложения. Установка не прерывается, пользователю предлагается либо продолжить установку, либо прервать ее.

  • Если у приложения нет capabilities, т.е. такому приложению не надо определять набор возможностей, то такое приложения можно подписывать общим сертификатом (self-sign). Примером таких приложений могут служить файлы русификаторов, где переведены лишь файлы ресурсов, темы оформления.

  • Если приложение имеет минимально необходимый набор основных capabilities, то такое приложение также может быть подписано общим (self-sign) сертификатом.
5 Сapabilities, что входят в этот набор и могут быть подписаны общим сертификатом (self-sign):

LocalServices
Доступ к локальным сервисам (bluetooth, IrDA).
Наличие такой возможности необходимо, например, для передачи данных через bluetooth или ИК-соединение. Обычно, такие соединения не требуют оплаты и пользователь знает о том, что эти сервисы используются.

NetworkServices
Доступ к сетевым сервисам, таким как WLAN и GPRS.
Благодаря этой возможности, приложение получает доступ к любым сетевым сервисам не зависимо от транспортной среды. Возможным становится, например, осуществление голосовых вызовов, установка соединений IP-сети.

ReadUserData
Доступ на чтение конфиденциальной информации пользователя.
Благодаря этой возможности, приложение может прочитать конфиденциальную пользовательскую информацию, например - контакты. Какая информация считается конфиденциальной, определяется на уровне конкретной платформы.

WriteUserData
Доступ на запись конфиденциальной информации пользователя.
Благодаря этой возможности, приложение может изменить конфиденциальную пользовательскую информацию, например - контакты. Какая информация считается конфиденциальной, определяется на уровне конкретной платформы.

UserEnvironment
Доступ к сервисам, которые предоставляют данные из окружения пользователя.
Наличие такой возможности необходимо, например, для записи аудио, получения изображений и т.д.


2. Symbian Signed сертификат.
Выдан компанией Symbian либо производится подпись приложения через On-Line сервис. Выдается под личный IMEI пользователя. К сертификату выдается открытый ключ, с помощью которых подписываются устанавливаемое приложения. Предупреждения о ненадежности приложения при установке возникать не будет. Подписанные приложения таким образом можно устанавливать только на тот аппарат, чей IMEI указан в сертификате.

13 Сapabilities, что входят в этот набор и могут быть подписаны личным сертификатом (Symbian Signed):

Базовый набор Сapabilities:

LocalServices
UserEnvironment
NetworkServices
ReadUserData
WriteUserData


Расширенный набор Сapabilities:

Location
Доступ к API, позволяющим определить положение телефона на местности.
Благодаря этой возможности, приложение может определить местоположение телефона. Для этого могут использоваться GPS-приемник или другие установленные модули, данные оператора сети.

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

SurroundingsDD
Доступ к логическим драйверам устройства.
Предоставляет доступ к логическим драйверам устройства, которые предоставляют информацию об окружении телефона.

ProtServ
Позволяет серверам регистрироваться с защищенными именами. Защищенные имена начинаются с "!" (Восклицательный знак). Ядро ОС не позволяет процессам без ProtServ использовать подобные имена, тем самым обеспечивая защиту таких процессов от использования таких имен другими серверами.

PowerMgmt
Контроль системных процессов.
Позволяет завершать (убивать) процессы в системе, выключать/перезагружать телефон.

ReadDeviceData
Доступ на чтение конфиденциальных данных устройства и сети.
Эта возможность предоставляет доступ к API, с помощью которого можно получить информацию о текущей сети (например: Cell IDs), о используемом устройстве (IMEI), о параметрах устройства (список установленных приложений и т.д.).

WriteDeviceData
Доступ на запись конфиденциальных данных устройства и сети.
Предоставляет доступ к конфиденциальным данным в системе (параметры, которые контролируют поведение устройства). Например, изменение параметров (настроек) программного обеспечения смартфона.

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


3. Symbian Signed Publisher ID сертификат.

Выдан компанией Symbian (Хотя мы получаем такие сертификаты на китайских сайтах). Выдается под личный IMEI пользователя, но содержит в себе 1000 IMEI, т.е. этим же сертификатом могут подписывать свои приложения 1000 пользователей, под чей IMEI сделан сертификат. К сертификату выдается открытый ключ, с помощью которых подписывается устанавливаемое приложения. Предупреждения о ненадежности приложения при установке возникать не будет. Подписанные приложения таким образом можно устанавливать только на тот аппарат, чей IMEI указан в сертификате.

Эта сертификат имеет четыре дополнительные возможности к сapabilities (итого: 17 сapabilities), что входят в набор и могут быть подписаны личным сертификатом (Symbian Signed Publisher ID)

Базовый набор Сapabilities:
LocalServices
UserEnvironment
NetworkServices
ReadUserData
WriteUserData


Расширенный набор сapabilities Symbian Signed:
Location
SwEvent
SurroundingsDD
ProtServ
PowerMgmt
ReadDeviceData
WriteDeviceData
TrustedUI


NetworkControl
Доступ и контроль сетевых протоколов
NetworkControl capability позволяет изменить состояние текущих соединений, а также задать параметры, необходимые для установки новых соединений. Примерами таких действий являются изменение приоритета вызова или принудительное закрытие определенных соединений.

MultimediaDD
Предоставляет доступ к важным функциям мультимедиа
Эта возможность дает, например, прямой доступ к соответствующим драйверам устройства, приоритетный доступ к мультимедийным API (для обработки звука, видео, для работы с камерой и т.д.). На данный момент необходимость в MultimediaDD возникает, в основном, при работе с Audio Proxy Server для реализации полнодуплексного аудио.

CommDD
Прямой доступ к драйверам всего коммуникационного оснащения.
Сюда входят, например: WiFi, USB, последовательный порт.

DiskAdmin
Администрирование дисков.
DiskAdmin capability предоставляет возможности, с помощью которых можно манипулировать сразу множеством папок или каталогов (а также целостностью, поведением всей файловой системы). Такими операциями являются, например: монтирование/демонтирование партиций дисков.

4. Сертификат leftup. Доступ ко всем возможностям (All Сapabilities)

Приложение, подписанное таким сертификатом получает доступ к дополнительным возможностям (Сapabilities), разрешаемые на уровне платформы или производителя устройств. 20 Сapabilities

Базовый набор Сapabilities:
LocalServices
UserEnvironment
NetworkServices
ReadUserData
WriteUserData


Расширенный набор сapabilities Symbian Signed:
Location
SwEvent
SurroundingsDD
ProtServ
PowerMgmt
ReadDeviceData
WriteDeviceData
TrustedUI


Расширенный набор сapabilities Symbian Signed Publisher ID:
NetworkControl
MultimediaDD
CommDD
DiskAdmin


AllFiles
Доступ на чтение всей файловой системы, доступ на запись в приватные папки других процессов.
Аналогично TCB, наличие этой возможности очень строго контролируется, получить ее достаточно сложно. Однако некоторым типам приложений эта возможность может быть необходима (например - тестирующее ПО производителей телефонов). AllFiles capability так же нужна программам, которые создают и восстанавливают резервные копии данных. В отличие от TCB, AllFiles предоставляет доступ на чтение и запись в папку \private.
AllFiles capability может использоваться:
Производителями сотовых телефонов для создания мощного файлового менеджера. Пользователь, имея такой менеджер, может изменить или удалить приватные файлы, необходимые для работы программных серверов - это может плохо сказаться на функционировании всей системы в целом. Поэтому Symbian строго не рекомендует предоставлять AllFiles capability всем желающим.

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

Разработчикам ПО следует обратить внимание на DRM-технологии, которые предоставляют возможности по защите файлов. На сегодняшний день существует 5 основных "стандартов" DRM:
FairPlay DRM (Apple), WMDRM или Microsoft DRM (Microsoft), Open MG DRM (Sony), Helix DRM (Realnetworks), OMA DRM (Open Mobile Aliance).
Большинство из них сосредоточено на защите музыки и видео, однако потенциально возможно использовать DRM для защиты любых типов данных.

TCB
Доступ на запись к исполняемым и разделяемым ресурсам, которые отмечены как "только для чтения".
Предоставляет доступ на запись к папкам \sys и \resource. TCB capability является наиболее критичной возможностью, так как с ее помощью можно изменить исполняемые приложения, которые определяют параметры безопасности процессов.


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

Давайте рассмотрим какие возможностями (capabilites) имеет приложение Xplore.



Приложение подписанно разработчиком и имеет базовый набор возможностей:
LocalServices, NetworkServices, ReadUserData, WriteUserData



Добавим приложению Xplore capability Allfiles. Этим мы добавим программе доступ на чтение всей файловой системы, доступ на запись в приватные папки других процессов.





Подпишем его личным сертификатом. И попробуем установить его в телефон.



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

Поэтому данное приложение Xplore Allfiles возможно установить только, если его подписать сертификатом leftup. Данный сертификат разрешает установку приложения с любыми Сapabilites.

Для того, чтобы иметь возможность подписывать приложения сертификатом leftup, предварительно необходимо получить полный доступ к системным файлам и папкам смартфона любым из предложенных способов: В статье использованы описания capabilites c wiki.forum.nokia.com
Общие сведения о сapabilities и сертификатах безопасности
52
Добавлено — 06.02.2009
Автор: Червоная Ольга
Обсудить статью

Оценки статьи

5 2
4 0
3 0
2 0
1 0
Средняя оценка

5


Комментарии к этой статье отключены







  • Тренды
  • Статьи
  • Личный опыт

TOP-модели
1 Nokia 6 Arte Black
2 Nokia 216 Dual SIM
3 Nokia 6
Рассылка  Настройки





Другие мобильные клубы
Samsung клубSony Ericsson клубSiemens клуб