. home . news . hacks . fnord . images . allies . santa .

OTR encryption for irssi

status of this document

This are some quick notes on using otr via irc, listing the commands I use. No checking for errors and readability done yet. — alice 2009/07/06 16:30

The bitlbee people(irc.bitlbee.org/bitlbee) created a nice plugin for irssi and xchat

update

Latest release: 0.3 released on 2009-02-11. changelog upgrade … must have

resources

git clone git://git.tuxfamily.org/gitroot/irssiotr/irssiotr.git

features

Offtherecord encryption has some nice features out of the box:

  • no one else can read your messages (encryption)
  • key trust system (authentication)
  • no digital signatures (deniability)
  • new keys for every conversation (Perfect forward secrecy)
  • available for many clients like pidgin, xchat, irssi, …

install

there are packages available for some distros. And here ist the INSTALL file

usage

load

after install you should be able to load the module in irssi and add the statusbar icon. then you can spam your buddies with “no otr module found” messages until they install an otr plugin.

/load otr
/statusbar window add otr
/save                         ## to make changes persistent

/msg buddy ?OTR?

now you can communicate otr encrypted by opening a query window. the otr plugin uses a hidden whitespace in the beginning to trigger encrytion on the other end. If this fails, the policy restricts that or the window was already open you can send a request with ”?OTR?”. Clients without support should display a message like “otr requested but you have no module” to the user. So if still nothing happens your parner doesnt have the module. Keep on spamming.

generate keys

on the first use for a nick@irc.server.net the keys are generated. This can be dramaticaly accelerated by using some disk intensive command INlike

irssi

/otr genkey nick@irc.server.com  ## this is done automagically on conversation start 
                                 ## so dont worry if you dont know nick or server :P

shell

$ du /

finish or reinit conversation

for a communication the parties have to exchange some generated keys. If one client decides to use a new key and the other side doesnt realize this. the conversation has to be resetted. The most effective way is to simply close the window and wait. Another way is to get back to unencrypted communication and start over.

/window close
/msg buddy erm, sry ... my otr fuxed up

## OR ( this switches policy to handlews( the default until window is resetted)
/otr finish
erm, sry ... my otr fuxed up
# wait for buddy to send plaintext
## with v0.3 this blacklists the buddy and encryption hast to be restarted manualy
?OTR?

otr policy

policy can be set with

/set otr_policy = manual
/set otr_policy_known = *@* always

following values can be set global or per user. otr_policy_known applies if the plugin has a fingerprint for the user conversation ist started with.

  • handlews(default)–the magic whitespace is not sent but still handled
  • never
  • manual
  • oportunistic – the magic whitespace is sent and handled, FAILS with some servers and nickserv
  • always – encryption from the first line

put trust

you can store the fingerprints of your buddy and put trust on them by checking the fingerprint or by agreeing on a shared secret. The fingerprints or the secret have to be aquired via a secure source. Offline, via phone or a page with trusted cert.

## init challenge for shared secret
/otr auth SecretWord

## or you know the fingerprint is correct
/otr trust

upgrade

commands to upgrade

/otr version

check version and urge admin to upgrade if not sufficient

/otr unload
/otr load

version 0.3

the default policy changed from oportunistic to a policy_setting.

/set otr_policy  

Problemloesungen

otr oeffnet ungefragt zuviele fenster:

/set otr_createqueries OFF

be aware: danach gehen fehlermeldungen fuer nicht begonnene konversationen ins status fenster …

ansonsten keys resetten.

  • in irssi mit /wc (otr_finish blacklistet die gegenstelle etwas und sollte daher nicht zum reset verwendet werden v2?)
  • in pidgin im menu per klick auf irgendein icon im konversations fenster

nickserv versteht mich nicht mehr

  • 1. irssi-otr updaten
  • 2. policy setzen (opportunistic sendet whitespace die nickserv nicht versteht → eg: /set otr_policy = *@notomorrow.de always, nickserv@* never, manual)

further reading

check the README for further documentation like setting up policy and behaviour

learn to use irssi, its a great software http://irssi.org/documentation

 
linux/irssi/irssi-otr.txt · Last modified: 2011/10/01 13:20 by alice