CryptoSMS
Вот интересно. Сейчас в сотовых телефонах есть Java. Есть потребность передавать информацию из телефона в телефон и хранить её там так, чтобы её нельзя было прочитать случайно. Как мне кажется, хороший выход передавать информацию через SMS в зашифрованном виде. На телефоне запускается Java-приложение, где SMS криптуется и отсылается адресату. На другом конце, чтобы прочитать сообщение запускается то же приложение, где SMS раскриптовывается. Пароль известен только двоим, верификация правильности полученного результата не производится. Алгоритм что-нибудь простое и семметричное, типа TEA или RC4.
Никто не видел ничего подобного?
Проблем на самом деле несколько.
1) Не на всех телефонах есть Java :)
2) MIDP 1.0, равно как и вышедший недавно MIDP 2.0 не включают в себя WMA (Wireless Messaging API, http://java.sun.com/products/wma/%29, то есть на самом деле большинство реализаций JVM в телефонах не позволяют отправлять/принимать SMS.
У сименса есть расширение стандарта, позволяющее работать с СМС, но, например, большинство аппаратов Nokia не позволяют этого. Более того, если необходимо отправлять СМС, то неплохо бы иметь доступ к PhoneBook, что вообще в стандарте не предвидится в ближайшее время (хотя у того же сименса доступ к адресной книге есть).
Получается, что парочкам придется раскошелится на сименсы :)), что значительно сужает рынок этого приложения.
Комментарий для vdgg:
О недостатках я знаю. :) Но!
1) Java есть не везде, но есть 2—3 ведущие платформы, помимо Java, на них можно орентироваться тоже — не такая сложная задача поставлена в начальных условиях.
2) с этим вопросом сложнее. я не знал как J2ME работает с SMS, но предпологал, что сложности есть :) А что если копировать результат в буфер, а в редакторе SMS вставлять то что есть в буфере? Как там с доступом в буфер в Java обстоит?
А зачем что-нибудь симметричное? Удобнее что-нибудь с открытым ключом, если телефон потянет (не слишком долго будет расшифровывать).
Комментарий для aamonster:
1) несемметричное в реализации сложнее и работать будет врядли приемлемое время.
2) публичный ключ должен быть такой длины, что легче повеситься, чем найти способ как-то его передать.
кроме Symbian, brew и Smartphone OS в голову что-то ничего не лезет. Более-менее распростронен только симбиан, но и то, это только старшие нокии. Вот на нем, возможно, и можно нормально с смсками работать.
Комментарий для mixa:
У некоторых фирм есть свои извращения, чтобы игры писать. Лень сейчас информацию искать, но раньше я интересовался.
Хмм…
Насколько мне известно, в телефонах вообще буфера нет. Буковка V-то есть, а вот Ctrl делать забывают :). Соответственно, нет буфера — нет доступа.
Вероятно это можно через сервер реализовать — дело в том, что все телефоны с J2ME обязаны поддерживать HTTP. То есть с отсылкой закриптованного сообщения на сервер проблем нет. Проблема в его получении, так как видимо придется постоянно опрашивать сервер на предмет новых мессаг, что конечному пользователю не будет удобно — придется постоянно запускать мидлет.
Комментарий для vdgg:
В телефона-таки буфер есть. :) Например, в моём Siemens S55.
Через сервер — неудобно. Остаётся Siemens :)) Тоже не так плохо :) Может предложить Сименсу как идею? :))
Мда, век живи — век учись. Ни на одной из своих нокий я такого не видел. Правда, для сименса это не особо актуально — там то с СМС из Java работать можно :).
Легко :). А вот и конкурс подходящий есть — совместная акция сана и сименса: http://www.javamasters.org/
Комментарий для vdgg:
Тем более. Вот только заниматься мне этим некогда :)
А зачем ограничиваться возможностями SMS, если есть поддрежка java?
Запустить icq, благо аплетов достаточно написано. Для это необходима java с сокетами… А уж как попросить по ssl каналу аську общаться — это не должно вызвать проблем.
Комментарий для IxIon:
Для этого, ко всем прочему, нужен GPRS и подключение к инету.
Публичный ключ передать не штука. Той же SMS-кой :-).
Вопрос только в скорости шифровки/расшифровки.
Ну а если не биться за секьюрность — то сойдет вообще чуть ли не что-нибудь типа XOR с паролем.
Комментарий для aamonster:
Ага. 128 байт. Две SMS кажется? Как хранить этот ключ? На бумажку списывать? Если он будет хранится в телефоне, то в чём смысл (смотри исходное сообщение).
Одной SMS-кой. 140 байт.
Хм… а по теме — я и правда взглюкнул. Значит, примитивный алгоритм, типа того, что в эриках в памятке кодов используется.
Комментарий для aamonster:
TEA вполне подойдёт. Очень маленький и довольно надёжный.
немного поздновато, но есть
http://www.cryptosms.org/