CryptoSMS

Вот интересно. Сейчас в сотовых телефонах есть Java. Есть потребность передавать информацию из телефона в телефон и хранить её там так, чтобы её нельзя было прочитать случайно. Как мне кажется, хороший выход — передавать информацию через SMS в зашифрованном виде. На телефоне запускается Java-приложение, где SMS криптуется и отсылается адресату. На другом конце, чтобы прочитать сообщение запускается то же приложение, где SMS раскриптовывается. Пароль известен только двоим, верификация правильности полученного результата не производится. Алгоритм — что-нибудь простое и семметричное, типа TEA или RC4.

Никто не видел ничего подобного? Идея-то простая да и рынок есть — от параноиков до влюблённых разной степени обременённости.

Комментарии 17

vdgg № 1
Проблем на самом деле несколько.
1) Не на всех телефонах есть Java :)
2) MIDP 1.0, равно как и вышедший недавно MIDP 2.0 не включают в себя WMA (Wireless Messaging API, java.sun.com/products/wma/ (http://java.sun.com/products/wma/)), то есть на самом деле большинство реализаций JVM в телефонах не позволяют отправлять/принимать SMS.

У сименса есть расширение стандарта, позволяющее работать с СМС, но, например, большинство аппаратов Nokia не позволяют этого. Более того, если необходимо отправлять СМС, то неплохо бы иметь доступ к PhoneBook, что вообще в стандарте не предвидится в ближайшее время (хотя у того же сименса доступ к адресной книге есть).
Получается, что парочкам придется раскошелится на сименсы :)), что значительно сужает рынок этого приложения.
Евгений Степанищев автор № 2
О недостатках я знаю. :) Но!
1) Java есть не везде, но есть 2–3 ведущие платформы, помимо Java, на них можно орентироваться тоже — не такая сложная задача поставлена в начальных условиях.
2) с этим вопросом сложнее. я не знал как J2ME работает с SMS, но предпологал, что сложности есть :) А что если копировать результат в буфер, а в редакторе SMS вставлять то что есть в буфере? Как там с доступом в буфер в Java обстоит?
mixa № 5
>но есть 2–3 ведущие платформы, помимо Java

кроме Symbian, brew и Smartphone OS в голову что-то ничего не лезет. Более-менее распростронен только симбиан, но и то, это только старшие нокии. Вот на нем, возможно, и можно нормально с смсками работать.
Евгений Степанищев автор № 6
У некоторых фирм есть свои извращения, чтобы игры писать. Лень сейчас информацию искать, но раньше я интересовался.
aamonster № 3
А зачем что-нибудь симметричное? Удобнее что-нибудь с открытым ключом, если телефон потянет (не слишком долго будет расшифровывать).
Евгений Степанищев автор № 4
1) несемметричное в реализации сложнее и работать будет врядли приемлемое время.
2) публичный ключ должен быть такой длины, что легче повеситься, чем найти способ как-то его передать.
vdgg № 7
Хмм…
Насколько мне известно, в телефонах вообще буфера нет. Буковка V-то есть, а вот Ctrl делать забывают :). Соответственно, нет буфера — нет доступа.

Вероятно это можно через сервер реализовать — дело в том, что все телефоны с J2ME обязаны поддерживать HTTP. То есть с отсылкой закриптованного сообщения на сервер проблем нет. Проблема в его получении, так как видимо придется постоянно опрашивать сервер на предмет новых мессаг, что конечному пользователю не будет удобно — придется постоянно запускать мидлет.
Евгений Степанищев автор № 8
В телефона-таки буфер есть. :) Например, в моём Siemens S55.

Через сервер — неудобно. Остаётся Siemens :)) Тоже не так плохо :) Может предложить Сименсу как идею? :))
vdgg № 9
>В телефона-таки буфер есть. :) Например, в моём Siemens S55.
Мда, век живи — век учись. Ни на одной из своих нокий я такого не видел. Правда, для сименса это не особо актуально — там то с СМС из Java работать можно :).

>Через сервер — неудобно. Остаётся Siemens :)) Тоже не так плохо :) Может предложить Сименсу как идею? :))

Легко :). А вот и конкурс подходящий есть — совместная акция сана и сименса: www.javamasters.org/ (https://web.archive.org/web/20031223134146 … rs.org:80/)
IxIon № 11
А зачем ограничиваться возможностями SMS, если есть поддрежка java?

Запустить icq, благо аплетов достаточно написано. Для это необходима java с сокетами… А уж как попросить по ssl каналу аську общаться — это не должно вызвать проблем.
aamonster № 13
Публичный ключ передать не штука. Той же SMS-кой :-).
Вопрос только в скорости шифровки/расшифровки.
Ну а если не биться за секьюрность — то сойдет вообще чуть ли не что-нибудь типа XOR с паролем.
Евгений Степанищев автор № 14
Ага. 128 байт. Две SMS кажется? Как хранить этот ключ? На бумажку списывать? Если он будет хранится в телефоне, то в чём смысл (смотри исходное сообщение).
aamonster № 15
Одной SMS-кой. 140 байт.
Хм… а по теме — я и правда взглюкнул. Значит, примитивный алгоритм, типа того, что в эриках в памятке кодов используется.