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

Выбор алгоритма криптографической защиты данных требует комплексного подхода, ведь криптоалгоритмы дифференцируются по нескольким параметрам, таким как шифрование, методология генерации, использования и распространения ключей, уровень устойчивости, показатели быстродействия и др.. Анализ распространенных алгоритмов, среди которых IDEA, DES, AES (Rijndael), MARS, RC6, TwoFish, XTEA, RSA показал, что оптимальными для использования на мобильных платформах с точки зрения специфики их работы, уровня защиты и простоты внедрения являются алгоритмы AES и RSA . Мобильные вычислительные возможности отличаются известной ограниченностью в быстродействии, поэтому данный параметр является очень весомым при выборе алгоритма криптографических преобразований. Для определения параметров быстродействия было проведено исследование величины необходимого времени для шифрования данных фиксированных размеров, для чего была разработана специальная программа на платформе. NET Compact Framework, в которой были реализованы механизмы шифрования и расшифровки данных по алгоритмам AES и RSA. Выполнение операций осуществлялось с помощью эмулятора смартфона на операционной системе WindowsMobile 6.0, результаты исследования приведены в таблице 1.

Таблица 1

Результаты исследований быстродействия алгоритмов AES и RSA

Размер данных, MbВремя шифрования алгоритмом AES, с.Время шифрования алгоритмом RSA, с.
10.517.5
42.126.4
105.458.5

Как видно из полученных результатов программная реализация криптографических преобразований над данными на основе алгоритма AES более чем в 10 раз быстрее чем при использовании алгоритма RSA. Но симметричная система шифрования требует наличия защищенного канала передачи данных для организации обмена тайным ключом шифрования. Решить данную задачу можно за счет использования асимметричного алгоритма RSA для проведения процедуры безопасного обмена ключом шифрования по обычному незащищенному каналу. Учитывая, что обмен ключом шифрования необходим только при его генерации или изменении, то использование алгоритма RSA не повлияет на общее быстродействие системы при обмене конфиденциальной информацией, шифрование которой будет осуществляться с помощью алгоритма AES. Таким образом, криптоядро модели клиент-ориентированной системы защиты информации абонента формировать комбинированный криптографический механизм в котором шифрования осуществляться с помощью высоко продуктивного симметричного алгоритма AES а распределение сеансовых ключей шифрования будет реализован с помощью асимметричного алгоритма RSA. Такой симбиоз позволит обеспечить достаточное быстродействие и высокую надежность. Алгоритм функционирования криптоядра показан на рис. 2.

Сеанс защищенного обмена информации начинаться с того, что каждый из абонентов генерировать пару публичного и секретного ключей алгоритма RSA и осуществляться обмен публичными ключами по стандартному незащищенному каналу. Далее один из абонентов должен сгенерировать ключ шифрования. Учитывая приведенные выше результаты исследований специалистов криптологии во главе с Ади Шамир, и поставленную требование при построении модели о том, что разрабатываемая система защиты должна быть клиент-ориентированной, целесообразно модифицировать стандартную схему образования ключа шифрования путем введения возможности влияния на процесс со стороны пользователя. Идея состоит в том, что абоненту предоставляется право ввести определенную последовательность символов, размер которой далее будет приведен к длине ключа алгоритма AES путем отбрасывания избыточных символов или дополнения последовательности случайно сгенерированный символами, после чего результирующая последовательность побитовое добавляется по модулю два с ключом сгенерированным по алгоритму AES .

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

Рис. 2 Алгоритм функционирования криптоядра клиент-ориентированной системы защиты

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

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

* * *

 Многим программистам приходится работать в одиночку, что может быть сложно при решении нетипичных задач. Тут на помощь приходят коллективные информационные сообщества или блоги, например, coding4.net – создание приложений на ASP.NET (AJAX/MVC). В данном коллективном блоге описываются решения ряда задач программирования под .Net Framework.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

%d такие блоггеры, как: