Чуток можно усилить эту схему, сделав её трехкомпонентной (разделив сервер и ключ): [ Носители ключа ] -> [ Одноразовый XMPP сервер ] <-> Клиенты.
1. Клиент выбирает key-агента
2. Выбирает XMPP-сервер
3. Говорит, хmpp-серверу ID выбранного key-агента.
4. Говорит о выбранном key-агенте и сервере собеседнику. <-- тут кстати тоже слабое звено.
5. Собеседник повторяет п. 1 и 3.
И еще усилить: На каждое новое сообщение, повторять процедуры 1-5 :)
Ну а чо, IM-клиенты всё равно простаивают 99% времени, даже во время активной переписки.
Траффик конечно будет адский, но у нас же задача, не безопасность, а зае..ать Большого Брата. :)