Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Безопасность, и ещё пару вопросов.... 
:(
    Опции темы
Zamuta
Дата 28.4.2006, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: нет
Всего: 6



1. Каким вы считаете наиболее безопасный метод передачи информации до сервера (пароли, логины, ключи):

    1. Телефон->посредством технологии sms->оператор моб.связи->интернет->сервер ?
    2. Телефон->ssl защита->оператор моб.связи->интернет->сервер ?

2. Какой сертификат просит телефон перед запуском моего приложения?

3. Можно ли сделать так чтобы приложение по умолчанию имело доступ к gprs соединеню и не запрашивала разрешения пользователя?



 


--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
W0LF
Дата 29.4.2006, 05:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



1   -    2.
2   -    ?
3   -    нельзя, зависит от девайса
   
  

Это сообщение отредактировал(а) W0LF - 29.4.2006, 05:27


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
Dancer
Дата 2.5.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



1 - 2 (но трудоёмко, в смысле получения сертификата и ключа от производителя. Ладно, я об этом всём ниже напишу)
2 - это не сертификат, это нотифицирующая запись, которая говорит пользователю о том, что мидлет был не подписан, то есть не прошёл подписи (одобрения) производителя, и то что пользователь соглашается использовать API на свой страх и риск, это оносится к HTTP, HTTPS,SSL,Datagram,WMA и ещё ряду вещей. (а может быть ты не это имел ввиду ?)
3 - можно, нужно чтобы мидлет был подписан, тогда не будет выводиться сообщение каждый раз, когда пытаешься использовать какое-либо API

===================================================
Значить так, как и обещал. smile (наконец то руки добрались)
Приложение может использовать API для соединения с каким либо ресурсом и т.д. используя GPRS, посылать SMS ну и много чего ещё подобного, но кто убережёт простого пользователя от нехорошего Васи Пупкина? Василий, котырй в своё приложение каждый раз при запуске вставляет отправку SMS на какой нибудь номер, отчего этому Васи на какой-нить его счёт бабки приходят, ну или просто парень так развликается, нравиться ему людей "на бабки разводить" (по приколу это ему).  Вот для это и существует такая система, что мидлет, который не прошёл сертификацию у производителя (то есть не получил ключа, который помещается в JAD, а это не что иное как CRC SHA кодированный для манифеста по размеру приложения; кстати, по этой причине и должны совпадать значения переменных в манифесте и JAD, если JAD подписывается), будет использовать API с ограничениями.
Например, неподписанное приложение всегда будет требовать от пользователя разрешения на соединение с каким либо ресурсом HTTP (причём на выбор давая пользователю: разрешать в течении работы всего приложения; всегда спрашивать; запретить на данный запуск; запретить навсегда, ну и т.д. для некоторых API списочек другой)
Если мидлет подписан (то есть ключ на данный мидлет предоставлен производителем телефона,  и подходит под определёные сертификаты, которые производитель зашил жёстко в телефон), то такому мидлету можно доверять  и можно запускать API без запроса разрешения от пользователя.

Как происходит подписание: это ни что иное, как и подписание Java Applet. В мидлетах механизм тот же. используя keytool генерируется некий файлик (keytool -genkey и куча всяких параметров), далее при помощи этого файлика мы и подписываем наш мидлет передавая команде keytool наши JAD и JAR  и файлик сгенирированный ранее.
В данном файлике мы как раз и указываем, кто у нас и где.
В мидлете, мы в JAD прописываем в поле "MIDlet-Permissions:" навания классов, которые будут использоваться без запроса нотификации от пользователя, при условии что мидлет будет подписан. В этом поле могут быть так же и классы, которые используются лишь конкрентым производителем, и чтобы ихнее API нельзя было это использовать кому попало, есть сертификат (прошитый в телефон на заводе, ну или сам положешь smile, если знаешь куда и знаешь какой ) на основании этого сертификата разрешаем коду выполняться, а если мидлет будет не подписан, то данный код выоплняться не сможет будет возникать ошибка времени выполнения (ну, или как уж её будут обрабатывать в самой операционки телефона)

Так же при помощи сертификата можно выполнять проверку на срочность (то есть проверку на дату, и например после определённой даты не давать запускать мидлет, или пользовать API)

!!!! SSL и HTTPS можно использовать лишь на подписаных мидлета (по крайней мере на Мотороле и Нокии - это так)


 


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Dancer
Дата 2.5.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



Да, про 1 пункт, простым смертным придётся использовать не SSL, но можно самому шифровать данные на стороне мидлета (ключ к шефрации/дешифрации выдавать на картах, вроде пополнения счёта, для каждой выпущенной карты имеется информация в БД на сторне сервера) и ещё, сначала в сообщение даётся нешифрованное имя пользователя, ну или ID для определения выбора ключа на стороне сервера, так же имя пользователя должно быть и в шифрованной записи, чтобы определить, дешифровалось ли нормально на стороне сервера, к тому же проверочное имя пользователя можно или даже лучше ставить в конец шированного сообщения, чтобы при получении быть точно уверенным что сообщение целиком доставлено;
или использовать шифрацию с открытым ключом.
Для всего выше описнного не обязательно использовать SMS можно и поверх HTTP это организовать или использовать Socket. 
  

Это сообщение отредактировал(а) Dancer - 2.5.2006, 11:21


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.