Описание Xabber. Jabber для Android

Кто просматривает этот контент: "Тема" (Всего пользователей: 0; Гостей: 1)

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
3 002
Репутация
9 273
#1
xabber-logo-display.png
Сегодня на работе пришла мысль, а какого хуя почему я юзаю Телеграм на ведроиде, но не использую жабу. Погуглил буквально 3 минуты, так что за крутость приложения не отвечаю)
Запросы для Гугла были следующими: опенсурс приложение, поддержка шифрования. Как раз этот жаббер клиент и подходил под мои запросы. Понравилась фича с использованием Orbot (тоесть tor) в качестве прокси. Собственно всё.

Описание :
Свободный Jabber (XMPP) клиент с поддержкой нескольких учетных записей, простым и удобным интерфейсом.

Особенности:
- Современный дизайн
- Поддержка нескольких учетных записей
- Быстрое переключение между активными чатами
- Гибкая настройка отображения списка контактов и групп контактов
- Совместим со всеми стандартными XMPP-сервера
- Поддержка конференций (Multi user chat, MUC)
- История переписки
- Сохранение истории переписки на SD карте
- Возможность хранения истории сообщений на сервере
- Поддержка гиперссылок в сообщениях (веб-страницы, YouTube, email, телефонные номера, XMPP Uri)
- Аватарки пользователей
- Информации о контакте (vCard)
- Сортировка контактов по группам и/или учетным записям
- Управление списком контактов: добавление/удаление/редактирование контактов, групп, подписок
- Поиск по контактам
- Настройки уведомлений для каждого контакта
- Настройки уведомлений по ключевым фразам
- Полная поддержка Unicode (общайтесь на любом языке)
- Портретный и ланшафтный режимы
- Сжатие трафика (если поддерживается вашим сервером)
- Поддержка ресурсов, приоритетов
- OTR шифрование
- Поддержка TLS
- Поддержка старого SSL
- Поддержка SASL
- Проверки сертификата сервера
- Поддержка SRV-записей и DNS round robin
- Отображение типа клиента в списке контактов (Adium, Empathy, Gajim, Gtalk, iChat, Miranda, Pidgin, Psi, QIP, Xabber, Xabber VIP)
- Уведомление о наборе текста
- Подтверждение доставки сообщений
- Ярлыки для чатов на рабочем столе

В ближайшее время появятся:
- Отдельный интерфейс для планшетов
- Передача файлов

Поддерживаемые протоколы:
RFC-3920: Core
RFC-3921: Instant Messaging and Presence
XEP-0030: Service Discovery
XEP-0128: Service Discovery Extensions
XEP-0115: Entity Capabilities
XEP-0054: vcard-temp
XEP-0153: vCard-Based Avatars
XEP-0045: Multi-User Chat (incompletely)
XEP-0078: Non-SASL Authentication
XEP-0138: Stream Compression
XEP-0203: Delayed Delivery
XEP-0091: Legacy Delayed Delivery
XEP-0199: XMPP Ping
XEP-0147: XMPP URI Scheme Query Components
XEP-0085: Chat State Notifications
XEP-0184: Message Delivery Receipts
XEP-0155: Stanza Session Negotiation
XEP-0059: Result Set Management
XEP-0136: Message Archiving
XEP-0224: Attention
XEP-0077: In-Band Registration

Исходный код Xabber доступен по адресу https://github.com/redsolution/xabber-android под лиц
Приложения на Google Play – Xabber

Screenshot_2016-04-23-01-33-06.png Screenshot_2016-04-23-01-33-16.png Screenshot_2016-04-23-01-33-27.png Screenshot_2016-04-23-01-33-38.png Screenshot_2016-04-23-01-47-00.png Screenshot_2016-04-23-01-47-07.png Screenshot_2016-04-23-01-48-22.png Screenshot_2016-04-23-01-49-30.png Screenshot_2016-04-23-01-49-36.png Screenshot_2016-04-23-01-53-20.png
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
3 002
Репутация
9 273
#2
Если кто-то знает более интересные варианты, прошу написать в тему. К примеру, кто-нибудь в курсе есть ли джаббер клиент с таким же функционалом, но с перламутровыми пуговицами вдобавок с поддержкой pgp?
Имеется платный вариант, но мы же фром Раша:) SJ IM - Safety Jabber for Android
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
3 002
Репутация
9 273
#4
Есть отдельная тулза с pgp-шифрованием. Правда это не вариант для жабы. Неудобно.
Статейка сХакера.

Как зашифровать переписку на смартфоне и планшете с помощью PGPTools
Шифрование данных — непременный хакерский ритуал, в котором каждый применяет свой набор утилит. Если для десктопных ОС выбор предлагается большой, то в мобильных операционках пока доступны единичные приложения. Мы обратили внимание на новое творение разработчика SJ Software — PGPTools. Первая версия этой программы вышла в апреле. За полгода список поддерживаемых платформ сущеcтвенно расширился. Теперь он включает Windows 10, Windows Phone, iOS (8.0 и выше), OS X (начиная с 10.9) и Android (4.0 и новее). Для тестирования была выбрана последняя версия PGPTools v.1.10 под ОС Android. Стоит программа почти восемьдесят рублей, так что мы скинулись всей редакцией и приступили к ее изучению.

Встречают по интерфейсу
Еще до установки программы становится очевидно, что ее авторы придерживаются минималистических взглядов. В инсталляционном пакете PGPTools занимает полтора мегабайта, а после установки — всего пять с половиной. Радует и то, что список запрашиваемых разрешений состоит ровно из одного пункта — записи на карту памяти. Никакой отправки СМС, доступа в интернет и к личным сведениям ей не требуется.


Только необходимые разрешения

Интерфейс утилиты тоже крайне прост и легок в освоении. С одной стороны, это позволяет быстро в ней разобраться, а с другой — вызывает легкую тоску по привычным менюшкам с длинными списками настроек. В текущей версии PGPTools можно только задать пароль и выбрать длину ключа. Зато программа позволяет создать несколько пар ключей и управлять ими из отдельной вкладки. Здесь можно выбрать текущий ключ и желаемые действия с ним. Поддерживается экспорт (через буфер обмена или функцию «передать»), а также возможен импoрт ранее созданных PGP-ключей.

Использование PGPTools
Начинается работа в программе с простого шага — создания пары ключей. Для этого нужно ввести свое имя или никнейм, адрес электронной почты (он будет использоваться для отправки зашифрованных и/или подписанных писем) и пароль.


Создание ключа длиной 4096 бит

В схеме PGP все ключи генерируются парами, поскольку их математически связывает общая пaрольная фраза. Ее стоит сделать длинной и сложной, но без фанатизма — забытый пароль не восстановят. Ключи в парах генерируются разные по своей структуре — асимметричные. Публичный ключ назван так потому, что его можно свободно передавать кому угодно. Он служит для проверки подписи его владельца и обеспечивает возможность отправить ему зашифрованное сообщение. Расшифровать такое послание можно только парным ему секретным ключом. На то он и секретный, чтобы знал его лишь создатель этой пары ключей.

Упрощенно говоря, публичным ключом письмо шифруют перед отправкой, а секретным дешифруют после получения. Это как бы цифровая реализация замка с защелкой: захлопнуть дверь с ним может любой, а вот открыть — только владелец ключа. Мы сделали на пробу две пары ключей: минимально (1024 бита) и максимально (4096 бит) возможной длины.
По данным NIST, ключи PGP с длиной 1024 бита и менее считались ненадежными еще несколько лет назад. Тогда они вскрывались за приемлемое время на мощных серверах, а сегодня щелкаются как семечки в сетях распределенных вычислений. Помимо выбора длины ключа, уровень защиты определяется также сложностью парольной фразы и самим механизмом реализации PGP.
Основная панель в PGPTools носит такое же название. Она переключается между двумя режимами: шифрованием и дешифрованием. Ее вид зависит от того, какой ключ был ранее выбран на панели key list — публичный или секретный.

Зашифровать любой текст с помощью PGPTools можно в пару кликов. Для этого достаточно вставить его в поле с подсказкой Enter source из любого источника и нажать кнопку Encrypt. Шифрование будет выполнено с использованием выбранного ранее публичного ключа.


Шифрование в PGPTools открытым ключом

Расшифровать его чуть сложнее. Нужно выбрать секретный ключ (парный использованному для шифрования публичному) и ввести пароль, заданный при их совместной генерации. Блок зашифрованного текста также вставляется в поле источника, а результат дешифровки отображается ниже после нажатия кнопки Decrypt.


Дешифрование с выбором ключа и вводом пароля

Основное назначение PGPTools как программы с асимметричной схемой шифрования состоит в защите переписки (в частности, почты) с возможностью передать ключ собеседнику по ненадежному каналу. Если бы один и тот же ключ использовался для шифрования/дешифрования сообщений, то его перехват скомпрометировал бы всю переписку. Перехват открытых ключей практически бесполезен. Обменявшись ими, можно сразу начать обмен зашифрованными сообщениями. После создания их не открыть даже отправителю. Это может сделать только получатель — своим секретным ключом и после ввода парольной фразы.

Передавая зашифрованные письма, убедись, что блок шифротекста вставляется как есть — без разрывов и переносов. Иначе его нельзя будет дешифровать из-за появления искажений.

Пара (тысяч) слов об алгоритме
В классической реализации Циммермана схема PGP использует одну хеш-функцию и два криптографических алгоритма: один с симметричным и один с асимметричным ключом. Также в ней применяется сеансовый ключ, создаваемый при помощи генератора псевдослучайных чисел. Такой сложный процесс обеспечивает более надежную защиту данных, то есть математическую сложность восстановления секретного ключа из парного ему публичного.

Выбор алгоритмов сейчас доступен очень широкий. Именно он в большой степени влияет на качество конкретной реализации PGP. Обычно используют AES и RSA, а из хеш-функций выбирают ту, что, по современным представлениям, наименее подвержена коллизиям (RIPEMD-160, SHA-256). В PGPTools для шифрования данных используется алгоритм IDEA, для управления ключами и цифровой подписи — RSA. Хеширование происходит с помощью функции MD5.

Сам многостадийный процесс (де)шифрования данных у любой программы реализован в одном из наборов общедоступных криптографических библиотек. Все создаваемые PGPTools ключи содержат в названии версии BCPG, что косвенно указывает на использование Bouncy Castle OpenPGP API. При проверке этого предположения в файле com.safetyjabber.pgptools.apk было обнаружено прямое указание на библиотеки Bouncy Castle.


PGP Tools использует Bouncy Castle OpenPGP API

Они реализуют схему OpenPGP согласно RFC 4880, но имеют свои особенности. Одна из них состоит в том, что (в зависимости от выбранной версии) в них может не применяться подключ шифрования. Также в этих библиотеках замечены ограничения эффективной длины ключа. Это означает, что выше некоего предела (обычно 1024 бита) попытка создать ключ большей длины не будет иметь практического смысла. Алгоритм не сможет обеспечить высокое качество ключей, поскольку в парах появится слишком много совпадающих блоков.

Для проверки мы экспортировали публичный и секретный PGP-ключ каждой пары в текстовый файл и сравнили их. У пары ключей с длиной 1024 бита повторяющихся фрагментов нет, как и должно быть в качественной реализации.


Сравнение публичного и секретного ключа длиной 1024 бита

С четырехкилобитными ключами ситуация выглядит иначе. Отличающихся фрагментов в паре слишком мало (они выделены красным), а совпадающих — чересчур много.


Повторяющиеся блоки в ключах

Строго говоря, отличий у них еще меньше, чем видно на скриншотах. Просто используемая программа сравнения не умеет игнорировать смещение блоков, а проверяет построчно. Первые тринадцать строк совпали почти полностью, да и концовка идентична процентов на семьдесят. Если ты сгенерировал пару ключей с большим числом совпадений, то просто удали ее и создай другую.



Дублирующиеся фрагменты в последних блоках ключей

]Утешительный вывод
Выявленные в ходе тестирования недостатки носят общий характер. Они типичны для многих программ, поскольку касаются кода не самого приложения, а используемых в нем популярных библиотек. Криптографическое сообщество рекомендует разработчикам избегать Bouncy Castle OpenPGP. Мы надеемся, что в следующих версиях авторы PGPTools возьмут за основу более продвинутые реализации.

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

Скачать PGPTools для Android
FAQ от разработчиков PGPTools на русском
Базовое описание методов атак на схему PGP

 
Вверх