OTR (Off-the-Record) - протокол шифрования сообщений для Psi+, Xabber и др.

moder

moder

Администратор
Команда форума
OTR - это протокол шифрования сообщений для сетей обмена мгновенных сообщений, созданный Никитой Борисовым и Ианом Голдбергом (англ. Ian Goldberg). В отличие от GPG, не идентифицирует зашифрованное сообщение подписью адресата, а только зашифровывает его. Считается, что GPG более надежен, зато OTR проще в настройке (на современных xmpp-клиентах настраивается в три клика).

Основные свойства:
  • шифрование сообщений;
  • аутентификация собеседников — уверенность в том, кто является собеседником;
  • если потеряны секретные ключи, прошлая переписка не будет скомпрометирована;

Как это работает?

OTR использует протокол Диффи-Хельмана для обмена ключами. Данная схема обмена ключами была изобретена еще в 1976 году и стала первым практическим методом для получения общего секретного ключа при общении через незащищенный канал связи.

Для шифрования в OTR применен блочный шифр AES. Этот алгоритм хорошо проанализирован и сейчас широко используется, являясь одним из самых распространённых алгоритмов симметричного шифрования. Созданный в 1998 году, и опубликованный в 2001, сейчас его можно встретить повсеместно. Например поддержка AES введена фирмой Intel в семейство процессоров x86 начиная с Intel Core i7-980X Extreme Edition, а теперь и на процессорах Sandy Bridge.

В качестве алгоритма хеширования в OTR используется SHA1 (Secure Hash Algorithm 1), разработанный еще в 1995 году. Для входного сообщения произвольной длины алгоритм генерирует 160-битное хеш-значение, называемое также дайджестом сообщения.

Теоретически SHA-1 считается взломанным (количество вычислительных операций сокращено в 280-63 = 131 000 раз), на практике подобный взлом малоосуществим, так как займёт много времени, но уже сейчас идут поиски альтернатив существующим SHA-1 и SHA-2.

SHA-1 в OTR используется для реализации функции HMAC (hash-based message authentication code, т.е. хеш-код идентификации сообщений). При использовании HMAC полученный код аутентичности позволяет убедиться в том, что данные не изменялись каким бы то ни было способом с тех пор как они были созданы, переданы или сохранены доверенным источником.

Для такого рода проверки необходимо, чтобы, например, две доверяющие друг другу стороны заранее договорились об использовании секретного ключа, который известен только им. Тем самым гарантируется аутентичность источника и сообщения. Недостаток такого подхода очевиден — необходимо наличие двух доверяющих друг другу сторон.

Подробнее: http://habrahabr.ru/post/149591/
 
Последнее редактирование:
Сверху