Известно, что система мобильной связи, как и Интернет являются открытыми (не безопасными) системами, в том смысле, что
перехват, модификация сообщений или создание ложных сообщений и т.д. доступны среднему хакеру, не говоря уже о полной
доступности информации со стороны провайдеров Интернет или мобильной связи.
Однако расширение функциональности услуг мобильной связи требует усиления безопасности. Например, Вы хотите
передать СМС-сообщение, содержание которого будет доступно только получателю, или Вы хотите получать на мобильный телефон
банковскую информацию о состоянии Вашего счета (операции, остаток и т.д.), или даже проводить активные операции по
управлению Вашим счетом.
Режим №3. Подпись сообщения на приватном ключе отправителя и шифрование на открытом ключе получателя (CMS -
Cryptographic Message Syntax).
В демо-версию приложения, которая приводится ниже, не включены дополнительные экранные формы, которые используются для
банковских приложений.
Приложение реализовано на Java™ 2 Platform Micro Edition (J2ME) как MIDP приложение (MIDlet) для Nokia Series 40.
Локализация для двух языков - русский, английский (выбор языка автоматический в зависимости от установленного в
мобильном устройстве).
Реализованы такие основные криптографические алгоритмы и стандарты:
Шифрования: MD2 (40 бит), DES (64 бит), 3DES (128/192 бит), AES (128/192/256 бит), ГОСТ 28147 (256 бит). Базовый
алгоритм AES(256 бит).
Цифровой подписи: RSA (1024 - 4096 бит), ГОСТ 34.310 (512 бит). Базовый алгоритм RSA.
Хеш функции: SHA1 (160 бит), SHA2 (224/ 256/384/512 бит), ГОСТ 34.311 (256 бит). Базовый алгоритм хеш для цифровой
подписи - SHA1. Базовый алгоритм в PBE шифровании - SHA2 (256 бит).
Для работы с сертификатами Х.509 реализованы такие криптографические стандарты RSA Laboratories:
PKCS#5: Password-Based Encryption Standard;
PKCS #8: Private-Key Information Syntax Standard;
PKCS#12 v1.0: Personal Information Exchange Syntax.
Минимальные требования к мобильным телефонам (содержатся в технических характеристиках устройств):
Режим №1. (Шифрование на пароле). Мобильное устройство должно поддерживать (минимум):
Платформа Разработчика (Developer Platform): Series 40 2nd Edition
Технологии Java (Java Technology):
CLDC 1.1
Wireless Messaging API (JSR-120)
MIDP 2.0
Память (Memory):
Max JAR Size: 50 KB (не менее)
Пример устройств:
Nokia 6230 (http://www.forum.nokia.com/main/0,,018-2062,00.html?model=6230),
Nokia 6230i (http://www.forum.nokia.com/main/0,,018-2435,00.html?model=6230i),
И др.
Режим №2 и Режим №3. (Защита с использованием сертификатов). Мобильное устройство должно поддерживать (минимум):
Платформа Разработчика (Developer Platform): Series 40 2nd Edition
Технологии Java (Java Technology):
CLDC 1.1
Wireless Messaging API (JSR-120)
FileConnection and PIM API (JSR-75)
MIDP 2.0
Память (Memory):
Max JAR Size: 200 KB (не менее)
Пример устройств:
Nokia 6255 (http://www.forum.nokia.com/main/0,,018-2627,00.html?model=6255),
Nokia 5140i, 6060, 6101, 6111, 6270, 6630, 7360, 7370,
И др.
Загрузка программы в мобильное устройство:
Выполняется штатными инструментами мобильных устройств. Например, для телефонов Nokia, используется приложение Nokia PC
Suite 6.5.10 (поставляется на CD в комплекте), Установка приложений (Nokia Application Installer). В левом окне
приложения Nokia Application Installer необходимо выбрать откуда копируется приложение SecureSMS.jar (это файл
рассматриваемого приложения) и, нажав стрелку (в центре экрана), скопировать SecureSMS.jar в мобильный телефон:
Теперь приложение SecureSMS может быть запущено из меню "Приложения" мобильного телефона.
Если Вы хотите работать с сертификатами, необходимо выполнить дополнительно такие действия:
1. Используя свой персональный компьютер (или у провайдера) сгенерировать персональный ключ цифровой подписи и получить
цифровой сертификат.
2. Выгрузить ключ и сертификат в файл main.pfx - зайти в браузер Microsoft Internet Explorer/ Сервис/Свойства
обозревателя:/ Содержание/ Сертификаты: Выбрать сертификат, который надо выгрузить, и выполнить команду "Экспорт:". При
этом указать "Да, экспортировать закрытый ключ":
Далее выбрать "Включить по возможности все сертификаты в путь сертификата":
Завершить экспорт в файл с именем .
3. Подключить Мобильное устройство к компьютеру. В меню инструментов (Nokia PC Suite 6.5.10) выбрать "Диспетчер файлов".
Примечание. Можно все операции этого пункта выполнить через "Проводник" (Windows Explorer).
На устройстве Е (Карта памяти) мобильного устройства создайте папку и скопируйте в нее файл ключа
"main.pfx", полученный на предыдущем шаге. Вы можете создать также дополнительные папки с именами "smsinbox" (для
входящих СМС), "smsoutbox" (для исходящих/отправленных СМС), (для сохраненных СМС). Назначение этих папок
описано ниже.
На этом подготовка к работе закончена. Можно отключаться от компьютера и работать с мобильным устройством. Теперь
приложение SecureSMS может быть запущено из меню "Приложения" мобильного телефона.
Работа с приложением защиты SMS
При старте приложения проверяется возможность работы с сертификатами, а именно:
1. Проверяется, что мобильное устройство поддерживает необходимые Технологии Java (см.выше).
2. Проверяется. что на устройстве Е (Карта памяти) мобильного устройства существует папка "Certificates" и в ней
находится файл ключа "main.pfx".
При первом старте приложения в папке "Certificates" еще не создан файл хранилища сертификатов "certs.amb", поэтому
сразу можно использовать только режим №1 (шифрование на пароле).
Основное меню приложения
Основное меню приложения содержит пункты:
Новое сообщение - для создания и отправки сообщений;
Принятые - просмотр принятых сообщений;
Отправленные - просмотр отправленных сообщений;
Сохраненные - просмотр и отправка сохраненных сообщений.
В папки "Принятые" (папка "smsinbox") и "Отправленные" (папка "smsoutbox") записываются только сообщения, которые
подписаны цифровой подписью. Хранение этих сообщений может потребоваться для предъявления доказательства о том, что
подписанное сообщение (электронный документ) было отправлено или принято.
Зашифрованные, но не подписанные цифровой подписью сообщения не сохраняются.
Папка "Сохраненные" сообщения (папка "smssaved") предназначена для записи в нее файлов сообщений, созданных на
персональном компьютере и последующей их отправки приложением SecureSMS. Это может использоваться для ускорения набора
документов или в случае больших документов (об отправке больших документов см.ниже).
Экран "Новое сообщение" (режим Пароль-Шифрование)
Как сказано выше, при первом старте приложения в папке "Certificates" файл хранилища сертификатов "certs.amb" еще не
создан, поэтому возможен только режим №1 (шифрование на пароле). Входим в экран сообщения, шифруемого на пароле.
Заполняем поля (выбрать на каждом поле команду "Изменить").
Поле "Номер телефона" может быть введено непосредственно или можно через меню (кнопка) "Варианты"/"Поиск" выбрать из
адресной книги нужный номер телефона. Номер может начинаться со знака <+> (или без него) и содержать только цифры.
Поля "Сообщение" и "Пароль:" вводятся непосредственно с клавиатуры телефона. Пароль не отображается на экране. Пароль
должен быть не менее 6-ти символов (любых), на нем шифруется сообщение. Для расшифрования этого сообщения необходимо
ввести этот же пароль (см.ниже режим приема сообщений).
После ввода всех данных команда "Изменить" в полях "Сообщение" и "Пароль:" заменяется на команду "Отправить сообщение"
и можно отправить сообщение.
Если не все поля формы заполнены, сообщение не отправляется, а выдается сообщение об ошибке с указанием незаполненного
поля.
После отправки сообщения экран <Новое сообщение> сохраняется заполненным. Можно отправить то же самое сообщение другому
адресату.
Переход к режиму №2 "Шифрование на сертификате"
При выборе "Варианты" раскрывается дополнительное меню команд:
Экран "Новое сообщение" содержит дополнительное меню в списке "Варианты" (кнопка слева).
Отправить сообщение
Просмотр сертификата
Сертификат-шифрование
Пароль-шифрование
Подписать&Шифровать
Список сертификатов
Отправить сертификат
|
При первом старте приложения, как уже было сказано, в папке "Certificates" файл хранилища сертификатов certs.amb еще не
создан. Если у Вас в этой папке есть персональный ключ (файл main.pfx), то необходимо выбрать меню
"Сертификат-шифрование".
Приложение перейдет к созданию файла хранилища сертификатов certs.amb. Приложение запросит пароль к файлу ключа
main.pfx (который был задан при экспорте ключа из персонального компьютера) и автоматически создаст файл хранилище
сертификатов certs.amb, в который будет помещен Ваш сертификат из файла ключа main.pfx. Если пароль не верный или
нарушена целостность файла main.pfx, то выдается сообщение об ошибке. Целостность хранилища сертификатов защищается по
стандарту PKCS#12 в режиме "целостность открытого ключа" (public-key integrity mode).
Сертификат помечается именем "My" (это имя нельзя изменять), если используется регистрация по именам, и номером "0"
(нуль), если используется регистрация по номерам телефонов. Если Вы хотите для тестирования отправить зашифрованное
сообщение самому себе (на свой номер), то в этом случае необходимо обязательно задать реальный номер Вашего телефона
(см. ниже команду "Список сертификатов").
Примечание. Чтение файла main.pfx, проверка его целостности, расшифрование и создание файла хранилища требуют
некоторого времени (продолжительность процесса зависит от типа устройства), необходимо дождаться окончания процесса.
Экран "Новое сообщение" (режим Сертификат-Шифрование)
Если файл хранилища сертификатов создан успешно, можно работать в режимах №2 и №3. В экране "Новое сообщение" вместо
поля "Пароль...:" будет размещено поле "Сертификат".
При последующих запусках программы проверяется целостность файла хранилища сертификатов и если все успешно, то экран
"Новое сообщение" (Сертификат-Шифрование) устанавливается по умолчанию.
Переход к режиму "Пароль-Шифрование" или другим режимам возможен через дополнительное меню экрана "Новое сообщение"
выбором одного из пунктов:
Сертификат-шифрование
Пароль-шифрование
Подписать&Шифровать
Список сертификатов
Отправить сертификат
Как и в предыдущем случае, номер телефона может быть введен непосредственно с клавиатуры телефона или через меню
"Поиск" из адресной книги. Приложение проверяет наличие в хранилище сертификатов требуемого сертификата, связанного с
указанным адресатом (номером) и выводит в поле "Сертификат" имя владельца/субъекта сертификата (Subject Name) или "Нет
сертификата", в случае отсутствия сертификата. Если сертификат отсутствует, отправка сообщения в этом режиме невозможна
- необходимо перейти в режим №1 Пароль-шифрование. При переходе в другой режим номер телефона и текст сообщения
сохраняются.
Экран "Новое сообщение" (режим Подписать&Шифровать)
Режим "Подписать&Шифровать" предназначен для отправки сообщений, подписанных на Вашем приватном ключе и зашифрованном
на открытом ключе (сертификате) получателя.
Если у Вас имеется приватный ключ main.pfx для подписи сообщения и в хранилище сертификатов есть сертификат получателя,
то можно выбрать в дополнительном меню экрана "Новое сообщение" режим "Подписать&Шифровать".
Индикация режима - вместо названия поля "Сертификат" отображается "Подписать&Шифровать", хотя в этом поле, как и ранее
выводится имя владельца/субъекта сертификата (Subject Name) или "Нет сертификата", в случае отсутствия сертификата.
Правила ввода данных в остальные поля такие же, как в предыдущем режиме.
Экран "Новое сообщение" (режим Отправить сертификат)
Ваш абонент сможет зашифровать в Ваш адрес сообщения на Вашем сертификате, если в его хранилище сертификатов будет
находиться Ваш сертификат. Для передачи Вашего сертификата предусмотрен режим "Отправить сертификат" (в дополнительном
меню экрана "Новое сообщение").
Для индикации этого режима в поле "Сообщение" автоматически заносится текст сообщения "Я отправляю свой сертификат".
Поле редактируется, поэтому Вы можете дополнить это сообщение любым своим текстом.
Примечание. При приеме такого сообщения наличие прикрепленного сертификата определяется автоматически, поэтому
стандартный текст сообщения можно дополнить/ изменить.
Экран "Новое сообщение" (команда "Просмотр сертификата")
После того как в одном из режимов работы с сертификатами Вы выбрали номер абонента, и в поле сертификата отобразилась
информация о владельце/субъекте это сертификата, Вы можете посмотреть более детальную информацию о сертификате. Для
этого необходимо в дополнительном меню экрана "Новое сообщение" выбрать пункт "Просмотр сертификата".
Экран "Новое сообщение" (команда "Список сертификатов")
Для просмотра списка сертификатов, которые находятся в хранилище сертификатов, необходимо в дополнительном меню экрана
"Новое сообщение" выбрать пункт "Список сертификатов". Список может отображаться по номерам телефонов или по именам
абонентов.
Для просмотра сертификата, необходимо нажать кнопку "Выбрать".
Экран "Список сертификатов" имеет дополнительное меню (команды):
Изменить номер
Удалить номер
Импорт
Экспорт
Команда "Изменить номер" позволяет редактировать номер или выбрать из адресной книги через дополнительное меню "Поиск".
Примечание. Команда "Удалить номер" сопровождается запросом на подтверждение операции удаления. Следует осторожно
относиться к выполнению команды удаления, т.к. сертификат удаляется из хранилища, а команда "Отменить удаление"
отсутствует.
Экраны отчетов
Экраны отчетов формируются в следующих случаях: