Jump to content

Off-the-record messaging: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Revert spamlinks (WP:EL) & unnecessary "Enhanced OTR client"
Rescuing 1 sources, flagging 0 as dead, and archiving 23 sources. #IABot
Line 65: Line 65:
* [[Jitsi]] (cross-platform)
* [[Jitsi]] (cross-platform)
* [[Kadu (software)]] ([[cross-platform]]), since 1.0 <ref>{{cite web|url=http://www.kadu.im/w/English:ReleaseNotes1|title=Kadu 1.0 Release Notes}}</ref>
* [[Kadu (software)]] ([[cross-platform]]), since 1.0 <ref>{{cite web|url=http://www.kadu.im/w/English:ReleaseNotes1|title=Kadu 1.0 Release Notes}}</ref>
* [[Kopete]] ([[Unix-like]])<ref>{{cite web|url=http://kopete-otr.follefuder.org/news.html|title=kopete-otr in KDE for 4.1}}{{dead link|date=February 2015}}</ref><ref>{{cite web|url=http://lists.kde.org/?t=120397998900007&r=1&w=2|title=kopete-otr review request}}</ref>
* [[Kopete]] ([[Unix-like]])<ref>{{cite web|url=http://kopete-otr.follefuder.org/news.html |title=kopete-otr in KDE for 4.1 |deadurl=yes |archiveurl=https://web.archive.org/20080328080733/http://kopete-otr.follefuder.org:80/news.html |archivedate=March 28, 2008 }}</ref><ref>{{cite web|url=http://lists.kde.org/?t=120397998900007&r=1&w=2|title=kopete-otr review request}}</ref>
* LeechCraft (cross-platform)<ref>{{cite web|author=0xd34df00d |url=https://github.com/0xd34df00d/leechcraft/tree/master/src/plugins/azoth/plugins/otroid |title=OTR Plugin |publisher=Github.com |date= |accessdate=2014-05-15}}</ref><ref>{{cite web|url=http://leechcraft.org/plugins-azoth |title=Short description |publisher=Leechcraft.org |date= |accessdate=2014-05-15}}</ref>
* LeechCraft (cross-platform)<ref>{{cite web|author=0xd34df00d |url=https://github.com/0xd34df00d/leechcraft/tree/master/src/plugins/azoth/plugins/otroid |title=OTR Plugin |publisher=Github.com |date= |accessdate=2014-05-15}}</ref><ref>{{cite web|url=http://leechcraft.org/plugins-azoth |title=Short description |publisher=Leechcraft.org |date= |accessdate=2014-05-15}}</ref>
* [[MCabber]] ([[Unix-like]]), since 0.9.4<ref>{{cite web|url=http://mcabber.com/hg/index.cgi/file/a18e1b488f1c/mcabber/mcabber/otr.c |title=source code |publisher=Mcabber.com |date=2013-10-25 |accessdate=2014-05-15}}</ref>
* [[MCabber]] ([[Unix-like]]), since 0.9.4<ref>{{cite web|url=http://mcabber.com/hg/index.cgi/file/a18e1b488f1c/mcabber/mcabber/otr.c |title=source code |publisher=Mcabber.com |date=2013-10-25 |accessdate=2014-05-15}}</ref>

Revision as of 09:27, 11 January 2016

Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.

The primary motivation behind the protocol was providing deniable authentication for the conversation participants while keeping conversations confidential, like a private conversation in real life, or off the record in journalism sourcing. This is in contrast with cryptography tools that produce output which can be later used as a verifiable record of the communication event and the identities of the participants. The initial introductory paper was named "Off-the-Record Communication, or, Why Not To Use PGP".[1]

The OTR protocol was designed by cryptographers Ian Goldberg and Nikita Borisov and released on 26 October 2004.[2] They provide a client library to facilitate support for instant messaging client developers who want to implement the protocol. A Pidgin and Kopete plugin exists that allows OTR to be used over any IM protocol supported by Pidgin or Kopete, offering an auto-detection feature that starts the OTR session with the buddies that have it enabled, without interfering with regular, unencrypted conversations.

Implementation

In addition to providing encryption and authentication — features also provided by typical public-key cryptography suites, such as PGP, GnuPG, and X.509 (S/MIME) — OTR also offers some less common features:

  • Forward secrecy: Messages are only encrypted with temporary per-message AES keys, negotiated using the Diffie-Hellman key exchange protocol. The compromise of any long-lived cryptographic keys does not compromise any previous conversations, even if an attacker is in possession of ciphertexts.
  • Deniable authentication: Messages in a conversation do not have digital signatures, and after a conversation is complete, anyone is able to forge a message to appear to have come from one of the participants in the conversation, assuring that it is impossible to prove that a specific message came from a specific person. Within the conversation the recipient can be sure that a message is coming from the person they have identified.

Authentication

As of OTR 3.1, the protocol supports mutual authentication of users using a shared secret through the socialist millionaire protocol. This feature makes it possible for users to verify the identity of the remote party and avoid a man-in-the-middle attack without the inconvenience of manually comparing public key fingerprints through an outside channel.

Limitations

Due to limitations of the protocol, OTR does not support multi-user group chat as of 2009[3] but it may be implemented in the future. As of version 3[4] of the protocol specification, an extra symmetric key is derived during authenticated key exchanges that can be used for secure communication (e.g., encrypted file transfers) over a different channel. Support for encrypted audio or video is not planned. (SRTP with ZRTP exists for that purpose.) A project to produce a protocol for multi-party off-the-record messaging (mpOTR) has been organized by Cryptocat, eQualitie, and other contributors including Ian Goldberg.[5][6]

Since OTR protocol v3 (libotr 4.0.0) the plugin supports multiple OTR conversations with the same buddy who is logged in at multiple locations.[7]

Client support

libotr
Developer(s)OTR Development Team
Stable release
4.0.1 / 21 October 2014; 10 years ago (2014-10-21)
Written inC
Operating systemCross-platform
TypeSoftware Library
LicenseLGPL v2.1+[8]
Websitehttps://otr.cypherpunks.ca/index.php#downloads

Native

These clients support Off-the-Record Messaging out of the box.

2

Via plug-in

Off-The-Record authentication in Pidgin using Socialist millionaires protocol

The following clients require a plug-in to use Off-the-Record Messaging.

Not in Google Talk

Although Gmail's Google Talk uses the term "off the record", the feature has no connection to the Off-the-Record Messaging protocol described in this article, its chats are not encrypted in the way described above - and could be logged internally by Google even if not accessible by end-users.[27][28]

References

  1. ^ Nikita Borisov, Ian Goldberg, Eric Brewer (2004-10-28). "Off-the-Record Communication, or, Why Not To Use PGP" (PDF). Workshop on Privacy in the Electronic Society. Retrieved 2014-03-06. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link)
  2. ^ Ian Goldberg (2014-10-26). [OTR-users] Happy 10th anniversary!. Retrieved 2015-04-27.
  3. ^ Ian Goldberg (May 27, 2009). "multi-party OTR communications? (and other OTR details)". OTR-users mailing list.
  4. ^ "Off-the-Record Messaging Protocol version 3".
  5. ^ Nadim Kobeissi (2014-02-01). "mpOTR Project Plan". Cryptocat wiki on GitHub.
  6. ^ Ian Goldberg, Matthew D. Van Gundy, Berkant Ustaoğlu, and Hao Chen (2009). "Multi-party Off-the-Record Messaging" (PDF). ACM.{{cite web}}: CS1 maint: multiple names: authors list (link)
  7. ^ Ian Goldberg (September 4, 2012). "pidgin-otr and libotr 4.0.0 released!". OTR-announce mailing list.
  8. ^ "Off-the-Record Messaging".
  9. ^ "BitlBee Wiki". Wiki.bitlbee.org. 2014-01-25. Retrieved 2014-05-15.
  10. ^ "Kadu 1.0 Release Notes".
  11. ^ "kopete-otr in KDE for 4.1". Archived from the original on March 28, 2008. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  12. ^ "kopete-otr review request".
  13. ^ 0xd34df00d. "OTR Plugin". Github.com. Retrieved 2014-05-15.{{cite web}}: CS1 maint: numeric names: authors list (link)
  14. ^ "Short description". Leechcraft.org. Retrieved 2014-05-15.
  15. ^ "source code". Mcabber.com. 2013-10-25. Retrieved 2014-05-15.
  16. ^ "OTR Plugin". Github.com. Retrieved 2014-05-15.
  17. ^ "Psi+ snapshots". Github.com. Retrieved 2014-05-15.
  18. ^ "OTR plugin for Gajim".
  19. ^ "Gajim Wiki".
  20. ^ gajim-otr project: This software is experimental and potentially insecure. Do not rely on it
  21. ^ "irssi-otr / xchat-otr plugin".
  22. ^ "Miranda OTR Plugin".
  23. ^ "OTR plugin for pidgin".
  24. ^ "Psi-Patches and OTR-Plugin on". Tfh-berlin.de. Retrieved 2014-05-15.
  25. ^ "Tkabber OTR Plugin".
  26. ^ "OTR plugin for WeeChat".
  27. ^ "Chatting off the record - Talk Help".
  28. ^ "Google Talk - Privacy Policy".

Further reading