doc (encryption): update pubsub encryption specifications.

This commit is contained in:
Goffi 2024-07-13 17:45:47 +02:00
commit f8d383258c

View file

@ -43,7 +43,7 @@ Pubsub is not encrypted the same way as messages, because you generally need to
items of a pubsub node, even if you get access to the node once items have already been
published.
E2ee is currently done using `OpenPGP`_ (or OX for PubSub: OXPS). Each item is encrypted
E2ee is currently done using `OpenPGP`_ (`XEP-0473: OpenPGP for XMPP Pubsub`_). Each item is encrypted
using a **symmetric** encryption, which mean that the same key (called "shared secret") is
used both to encrypt and decrypt an item, and is shared between all people who must access
or publish to the pubsub node (i.e. blog, event calendar, etc). This is done this way to
@ -52,15 +52,6 @@ also means that if the shared secret is compromised (i.e. somebody who should no
obtained a copy), all items made with this secret are accessible to the persons in
possession of the secret.
.. note::
OXPS specification is not currently an official XEP (XMPP Extension Protocol), it is
about to be examinated by "XMPP council". This documentation will be updated with the
evolution of the situation. You can read current specification proposal at
https://xmpp.org/extensions/inbox/pubsub-encryption.html (which is inaccessible due to
a 404 error at the time of writting, this should be fixed hopefully when you read this
documentation).
To make an encrypted pubsub node accessible to somebody, you need to share the secret with
them.
@ -92,6 +83,9 @@ To handle encrypted pubsub node shared secrets from command line, you may use
.. _OpenPGP: https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP
.. _XEP-0473: OpenPGP for XMPP Pubsub: https://xmpp.org/extensions/xep-0473.html
Pubsub Targeted Encryption
==========================
@ -120,13 +114,7 @@ may be specified by the pubsub service (using the `"publisher" attribute`_), but
attribute is not set by all pubsub services, and it can be spoofed by the service or the
XMPP server.
To strongly authenticate the publisher of a pubsub item, it is possible to cryptographically sign an item. This can work with any pubsub item, encrypted or not, and it can be done after the item has been published. The process use `Pubsub Signing protoXEP`_
.. note::
Pubsub Signing specification is not currently an official XEP (XMPP Extension
Protocol), it is about to be examinated by "XMPP council". This documentation will be
updated with the evolution of the situation.
To strongly authenticate the publisher of a pubsub item, it is possible to cryptographically sign an item. This can work with any pubsub item, encrypted or not, and it can be done after the item has been published. The process use `XEP-0476: Pubsub Signing: OpenPGP Profile`_.
.. attention::
@ -143,4 +131,5 @@ To handle pubsub signatures from command line, you may use
.. _"publisher" attribute: https://xmpp.org/extensions/xep-0060.html#publisher-publish-success-publisher
.. _Pubsub Signing protoXEP: https://github.com/xsf/xeps/pull/1228
.. _XEP-0476: Pubsub Signing: OpenPGP Profile: https://xmpp.org/extensions/xep-0476.html