Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

CryptoSMS

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

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

Ctrl ←Тест
17 комментариев
vdgg 2004

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

У сименса есть расширение стандарта, позволяющее работать с СМС, но, например, большинство аппаратов Nokia не позволяют этого. Более того, если необходимо отправлять СМС, то неплохо бы иметь доступ к PhoneBook, что вообще в стандарте не предвидится в ближайшее время (хотя у того же сименса доступ к адресной книге есть).
Получается, что парочкам придется раскошелится на сименсы :)), что значительно сужает рынок этого приложения.

Евгений Степанищев (bolknote.ru) 2004

Комментарий для vdgg:

О недостатках я знаю. :) Но!
1) Java есть не везде, но есть 2—3 ведущие платформы, помимо Java, на них можно орентироваться тоже — не такая сложная задача поставлена в начальных условиях.
2) с этим вопросом сложнее. я не знал как J2ME работает с SMS, но предпологал, что сложности есть :) А что если копировать результат в буфер, а в редакторе SMS вставлять то что есть в буфере? Как там с доступом в буфер в Java обстоит?

aamonster 2004

А зачем что-нибудь симметричное? Удобнее что-нибудь с открытым ключом, если телефон потянет (не слишком долго будет расшифровывать).

Евгений Степанищев (bolknote.ru) 2004

Комментарий для aamonster:

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

mixa 2004

но есть 2—3 ведущие платформы, помимо Java

кроме Symbian, brew и Smartphone OS в голову что-то ничего не лезет. Более-менее распростронен только симбиан, но и то, это только старшие нокии. Вот на нем, возможно, и можно нормально с смсками работать.

Евгений Степанищев (bolknote.ru) 2004

Комментарий для mixa:

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

vdgg 2004

Хмм…
Насколько мне известно, в телефонах вообще буфера нет. Буковка V-то есть, а вот Ctrl делать забывают :). Соответственно, нет буфера — нет доступа.

Вероятно это можно через сервер реализовать — дело в том, что все телефоны с J2ME обязаны поддерживать HTTP. То есть с отсылкой закриптованного сообщения на сервер проблем нет. Проблема в его получении, так как видимо придется постоянно опрашивать сервер на предмет новых мессаг, что конечному пользователю не будет удобно — придется постоянно запускать мидлет.

Евгений Степанищев (bolknote.ru) 2004

Комментарий для vdgg:

В телефона-таки буфер есть. :) Например, в моём Siemens S55.

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

vdgg 2004

В телефона-таки буфер есть. :) Например, в моём Siemens S55.

Мда, век живи — век учись. Ни на одной из своих нокий я такого не видел. Правда, для сименса это не особо актуально — там то с СМС из Java работать можно :).

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

Легко :). А вот и конкурс подходящий есть — совместная акция сана и сименса: http://www.javamasters.org/

Евгений Степанищев (bolknote.ru) 2004

Комментарий для vdgg:

Тем более. Вот только заниматься мне этим некогда :)

IxIon 2004

А зачем ограничиваться возможностями SMS, если есть поддрежка java?

Запустить icq, благо аплетов достаточно написано. Для это необходима java с сокетами… А уж как попросить по ssl каналу аську общаться — это не должно вызвать проблем.

Евгений Степанищев (bolknote.ru) 2004

Комментарий для IxIon:

Для этого, ко всем прочему, нужен GPRS и подключение к инету.

aamonster 2004

Публичный ключ передать не штука. Той же SMS-кой :-).
Вопрос только в скорости шифровки/расшифровки.
Ну а если не биться за секьюрность — то сойдет вообще чуть ли не что-нибудь типа XOR с паролем.

Евгений Степанищев (bolknote.ru) 2004

Комментарий для aamonster:

Ага. 128 байт. Две SMS кажется? Как хранить этот ключ? На бумажку списывать? Если он будет хранится в телефоне, то в чём смысл (смотри исходное сообщение).

aamonster 2004

Одной SMS-кой. 140 байт.
Хм… а по теме — я и правда взглюкнул. Значит, примитивный алгоритм, типа того, что в эриках в памятке кодов используется.

Евгений Степанищев (bolknote.ru) 2004

Комментарий для aamonster:

TEA вполне подойдёт. Очень маленький и довольно надёжный.

ctrlculture.org 2010

немного поздновато, но есть
http://www.cryptosms.org/