Контакты
Подписка 2025

Применение криптографии в качестве сервиса для мобильных приложений

Сергей Петренко, 10/01/19

Авторы: Сергей Петренко, Руслан Щучинов

 Актуальность вопросов обеспечения информационной безопасности в мобильных устройствах растет вместе с популярностью их использования.

В данной статье мы коротко рассмотрим некоторые аспекты применения криптографических методов защиты информации для мобильных платформ.

 

Применение криптографии в персональных мобильных устройствах

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

Защищенные коммуникации "точка–точка"

Многим бы хотелось, чтобы их личные разговоры по мобильным телефонам были защищены и недоступны третьим лицам. Однако изначально "защищенная" сотовая связь стандарта GSM по факту таковой уже не является в силу постоянно растущего количества обнаруженных закладок и уязвимостей в протоколах защиты мобильной связи (A3, А5, A8, G4 и др.), мобильных ОС и аппаратной части устройств. Кроме того, известны случаи "прослушки" абонентов с использованием поддельных базовых станций, в том числе передвижных, есть атаки на сами базовые станции с возможностью перехвата управления и т.д.

Использование наложенных криптографических механизмов потенциально может обеспечить конфиденциальность связи в сотовой сети, но сценариев их массового применения пока нет. Известны лишь экзотические варианты, например приобретение и использование группой людей для связи между собой одинаковых "криптотелефонов" (Blackphone, Cryptophone и др.).

Доступ к системе ДБО

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

Электронная цифровая подпись

Удаленно использовать ряд сервисов, например предоставляемых порталом государственных услуг, можно при наличии квалифицированной ЭЦП, реализация которой требует наличия сертифицированных ФСБ России средств криптографической защиты информации (далее – СКЗИ). Исходя из этого, использование квалифицированной ЭЦП на мобильном устройстве сопряжено с решением специфических задач, таких как контроль распространения СКЗИ, безопасное хранение ключей в устройстве и др.

Альтернативным путем является реализация ЭЦП непосредственно на SIM-карте. Такой сценарий, например, уже начал реализовываться в этом году в Казахстане в рамках проекта "Мобильное правительство". В России реализация ЭЦП на SIM-карте потенциально интересна по следующим причинам:

  • на российском рынке есть примеры сертификации программных СКЗИ, реализованных на иностранных чипах и сертифицированных по классу КС3, чего нельзя сказать про СКЗИ для мобильных платформ, а SIM-карта по сути и является микрочипом иностранного производства;
  • российские производители микросхем технологически уже готовы выпускать "отечественные" SIM-карты – сертификация СКЗИ на таких чипах может быть заметно проще и быстрее, чем на SIM-картах иностранного производства;
  • SIM-карта выдается при обязательном предъявлении паспорта; запросив дополнительно к паспорту СНИЛС, можно выполнить требование по установлению личности владельца при выдаче квалифицированного сертификата ЭЦП.

Вариант размещения ЭЦП на SIM-карте в течение последних нескольких лет достаточно активно прорабатывался как Минкомсвязи России, так и операторами сотовой связи и некоторыми вендорами СКЗИ. Однако реального воплощения в жизнь пока так и не получил.

NFC-платежи

При наличии в мобильном телефоне NFC-модуля и Secure Element (далее – SE) определенные технические решения позволяют "превратить" его в "электронный кошелек" для совершения бесконтактных платежей. SE представляет из себя отдельный микрочип, отвечающий за информационную безопасность, и бывает нескольких типов: встроенный (Embedded SE), отчуждаемый (Removable SE – microSD-карта) или SE на U-SIM. Для реализации "на борту" телефона виртуальной платежной карты необходима поддержка в SE международных стандартов (например, EMV) и соответствующих им криптоалгоритмов (3DES, RSA, SHA).

Массового распространения технология NFC-платежей с мобильного телефона в России пока не получила, но уже есть отдельные пилотные проекты и работающие сервисы.

Встраивание криптографии

Для наиболее популярных мобильных платформ (Android и iOS) встраивание криптографии возможно по двум вариантам, каждый из которых имеет свои особенности.

  • Получение прав "суперпользователя" (Jailbreak для iOS и UnlockRoot для Android) и размещение криптобиблиотек на уровне ядра ОС с заменой системной криптографии на "свою".
  • Встраивание криптографии через предоставляемый ОС специальный API. Такой интерфейс доступен в OC Android и iOS начиная с версий 4.х и 9.х соответственно. Этот путь выглядит более предпочтительным, т.к. реализация происходит легитимным путем, и сохраняется работоспособность всех системных средств защиты платформы.

Разработка криптографического ПО

Существует как минимум три важных отличия в разработке ПО для мобильных устройств от создания приложений для ПК.

1. Дефицит памяти. ОС Android 4 может ограничить размер выделенной для приложения оперативной памяти объемом в 64 Мб. Это означает, что Android-приложение, работающее с большими файлами, не может, например, сначала сформировать нужную структуру формата PKCS#7 в памяти, а затем записать ее в файл. Возможный дефицит памяти приходится учитывать на всех уровнях приложения вплоть до чтения и записи сущностей в формате стандарта двоичного кодирования информации ASN.1. Отсюда следует, что поточность, т.е. способность программы обрабатывать большие массивы данных порциями, а не целиком, должна закладываться в мобильное приложение с криптографией еще на этапе проектирования.

Заказчик системы электронного документооборота может, например, предъявить требование поддержать шифрование файлов объемом до 200 Мбайт. Для разработчиков это означает, что файлы в формате PKCS#7 на мобильных устройствах могут записываться только в поточном режиме с помощью TLV-элементов неопределенной длины. А это уже влияет на выбор модуля для работы с ASN.1, реализацию стандарта PKCS#7 и т.д.

2. Высокие требования к быстродействию программы. Из-за разной производительности платформ скорость работы алгоритма на ПК и на смартфоне может отличаться на порядки, но пользователь не должен этого ощутить. Поэтому в разработке мобильного ПО нельзя списать задачи оптимизации алгоритмов в технический долг – их необходимо решать еще до выпуска приложения.

Каждый из российских криптоалгоритмов имеет свои способы повышения скорости работы. В алгоритме шифрования ГОСТ 28147–89 вместо стандартной таблицы узлов замены можно использовать расширенный вариант таблицы с "утопленной" операцией циклического сдвига. В новой функции хеширования ГОСТ Р 34.11–2012 трудоемким является линейное преобразование L, которое можно оптимизировать, вычислив заранее результаты для комбинаций из 8 бит. Одна из самых "тяжелых" операций в криптографии – процедура создания/проверки подписи. В алгоритмах ГОСТ Р 34.10–2012 эту процедуру можно оптимизировать сразу по трем независимым направлениям:

  • оптимизация алгоритма нахождения кратной точки эллиптической кривой;
  • использование неаффинных координат для представления точек эллиптической кривой;
  • ускорение операций в конечном поле, например реализация эффективного умножения.

3. Реализация. Возможности для кастомизации криптографии в иностранных мобильных ОС сильно ограничены, что вынуждает российских разработчиков искать нестандартные решения. Например, если в Android-приложении стандартный элемент WebView должен показывать HTTPS-страницы с ГОСТ TLS, программе необходимо сначала "добраться" до системного класса, обслуживающего HTTPS-соединения, заменить в нем фабрику SSL-сокетов на собственную, поддерживающую Cipher Suites с алгоритмами ГОСТ и уже после этого открыть заданную HTTPS-ссылку. На практике это можно реализовать, например, с использованием методов рефлексивно-ориентированного программирования.

Криптография во вредоносном ПО

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

Зашифровываться могут:

  • SMS-коды и сообщения;
  • адреса удаленных ботнет-серверов;
  • канал передачи данных удаленному серверу;
  • имена функций, переменных и файлов, используемых в коде;
  • исполняемые и бинарные файлы, содержащие вредоносный функционал.

Данный сценарий ставит перед нами нетривиальные задачи обнаружения и реверс-инжиниринга вредоносного кода, поиска ошибок в реализации криптоалгоритмов (статически "прописанный" ключ и т.д.) и, собственно, криптоанализа.

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

 

Темы:КриптографияИнфоТеКСИтоги

Программа мероприятий
для руководителей и специалистов
по защите информации

Посетить
Кибербезопасность
Форум ITSEC 2025 | Москва | Radisson Blu Belorusskaya. Мероприятия для директоров и специалистов по ИБ, инженеров, ИТ-руководителей и разработчиков
Регистрируйтесь и участвуйте 14-15 октября →
Статьи по той же темеСтатьи по той же теме

  • Квантовый баг-баунти для блокчейна
    Александр Подобных, Независимый эксперт по ИБ в SICP.ueba.su
    В начале июня 2025 г. исследовательская инициатива Project Eleven выступила с громким заявлением, мгновенно привлекшим внимание как криптосообщества, так и специалистов по безопасности. На кону – один биткоин, более $100 тыс. по текущему курсу. Эту сумму организаторы обещают тому, кто сумеет подобрать приватный ключ к указанному биткоин-адресу, используя квантовый компьютер. Условие одно: для атаки должен быть применен алгоритм Шора – квантовый метод, теоретически способный обойти криптографическую защиту, на которой держится вся архитектура биткоина.
  • Киберустойчивость в энергетике: как избежать иллюзий?
    Евгений Генгринович, советник генерального директора компании “ИнфоТеКС”
    Когда речь заходит о цифровой трансформации в АСУ ТП, наравне с вопросами информационной безопасности все чаще поднимается тема киберустойчивости. Устойчивость важна для любой технологической системы – будь то электроэнергетика, нефтегазовая отрасль или нефтехимия. Основная задача любого технологического процесса – достижение запланированных бизнес-результатов, и службы эксплуатации традиционно отвечают за его надежность.
  • Secret Disk для Linux: прозрачное шифрование дисков на рабочих станциях
    Денис Суховей, руководитель департамента развития технологий компании Аладдин
    Secret Disk для Linux обеспечивает предотвращение утечек конфиденциальной информации с помощью шифрования на рабочих станциях с отечественными ОС семейства Linux.
  • "Крипто БД" – сертифицированная система предотвращения утечек информации из СУБД
    Денис Суховей, руководитель департамента развития технологий компании Аладдин
    Система “Крипто БД” позволяет осуществлять выборочное динамическое шифрование информации, хранящейся в таблицах базы данных.
  • Криптографический протокол защищенного обмена для индустриальных систем стал национальным стандартом
    Марина Сорокина, руководитель продуктового направления компании “ИнфоТеКС”
    1 апреля 2024 г. вступил в силу ГОСТ Р 71252–2024 “Информационная технология. Криптографическая защита информации. Протокол защищенного обмена для индустриальных систем”, утвержденный приказом Росстандарта № 235-ст от 15 февраля 2024 г.
  • Управление уязвимостями в криптокошельках
    Александр Подобных, Независимый эксперт по ИБ в SICP.ueba.su
    Криптовалюта не лежит на кошельках, это всего лишь способ хранения закрытого (секретного) ключа. Примерно как на пластиковой банковской карте нет самих денег, она лишь открывает доступ к банковскому счету.

Хотите участвовать?

Выберите вариант!

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2025
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
Linux
Как минимизировать киберриски: управление инцидентами
Обсудим 31 июля →

More...
ТБ Форум 2025
3 июля | Защищенный удаленный доступ к ИТ-инфраструктуре
Жми, чтобы участвовать

More...