Encrypted PGP Messaging

I basically outlined what I was getting at in my previous post attempting to articulate threat models and messaging models. My last post may have distracted from that.

###TLDR:

  1. The social and technical landscape has changed since this thread stopped in 2014.
  2. I really like the implementations of PGP notifications by Facebook and the aforementioned WP plugin. Discourse adding that capability would be helpful.
  3. I’d also love to be able to use Discourse messaging secured by something like Signal Protocol so I could avoid Facebook Messenger altogether for private conversations with forum users (currently, we end up shifting back and forth).
  4. My aesthetic preference for encrypting everything likely does not represent most users.

Email notifications with no content leakage would certainly be less useful, but it would alleviate some of the concerns. Thank you for pointing that out.

I don’t think I have anything further to add.

1 个赞

The way I see it this completely solves “Thread Model 3”

Big Data: User email providers (Gmail, Yahoo!, Microsoft, etc.). Transactional email providers (Mandrill, etc.). Attacks on email in transmission or at rest.

I would only be comfortable solving

Directly in the Discourse mobile app (or whatever packaged desktop app).

1 个赞

Hi there,

I work for a consortium of journalists (ICIJ) that investigates on highly sensitive projects. Most known being the Panama Papers and the Paradise Papers.

I’m about to use Discourse to help our network to coordinate and I wonder if anyone ever come out with solution for encrypted private messaging? Our main concern being: if ever the database get leaked, how can we prevent the attackers to read private messages which could reveal sensitive info about our sources.

With our current forum portal, we already setup a “proxy” service in front of our SMTP that uses GPG to automatically encrypt messages for the known keys. If the key for an email has not been provisioned, the email is not sent.

Thanks a ton!

4 个赞

My suggestion would be to have the actual source info referenced as a general codename – all direct source communication should be through a highly secure medium like Signal.

Derived from

1 个赞

Yeah. Where that document says:

Assume that anything you say on Slack or in Twitter direct messages will one day be public.

Apply that to Discourse as well.

Discourse is trying to be a facilitator for public discussion and doesn’t put a lot of focus on protecting users from the admins.
As a case in point, the re-naming of “private messages” to “personal messages” – the forum admins need to be able to audit PMs for harassment etc without the abusive participant noticing.

Make sure that your journalists know how to go from a codename & document number to the actual document, and that this actually WORKS, so you don’t have people uploading documents to the forum in order to get their work done.

2 个赞

Yes, we already advise them to use Signal, and of course we have many security instructions like the one @riking mentioned. But each investigation involve hundreds of journalists, not all of them are tech savvy and since there is no ways to ensure they follow our recommendations, we must encrypt as many things as possible to lower risks.

The main things to check with regards to “database being leaked”:

  • anyone who has admin access to your Discourse can download the DB so limit the number of admins, and perhaps only log in as admin when absolutely required, use a “regular” moderator account typically

  • anyone who can log into your hosting server can directly grab the database, so strictly limit and control who has login credentials to your hosting server.

5 个赞

Gotcha, I’ll limit the number of admin, thanks!

So I suppose no one ever implemented OTR in PM then?

这是一个非常复杂的领域。我还强烈建议(甚至强制要求)为托管服务器的登录启用双因素认证。

(我们在 Discourse 中也支持双因素认证,但管理员可以将其作为技术支持工具进行覆盖。)

2 个赞

We have 3-factors of authentication in fact, using our own SSO.

1 个赞

I’d like to add one point:

  • Keep Discourse and the host up to date. As is the case for any complicated software, sometimes, security vulnerabilities surface that could lead to the database being compromised. Assuming you won’t be the target of sophisticated attacks that specifically target you, quickly installing patches can eliminate most of that risk.
3 个赞

The underlying issue is that you can not trust the server if you want truly secure messaging between members.

This means that the software used to encrypt and decrypt stuff should not be sent from the discourse server.

I second what was said here, you want something like keybase or signal for secure comms, you have to invest in training here. Treat the info you have on Discourse as potentially leaked, there are just too many vectors. People hosting the service, web browser caches on local computers running old exploitable operating systems and so on.

If I was pushed hard to come up with something for journalists discussing highly sensitive info that is Discourse I would

  1. Host the physical server in my house or somewhere I can see it all the time

  2. Use SSL clearly

  3. Only have myself as admin

  4. Enforce limited user agent support, demand everyone use a very specific browser and only allow that user agent on the site, this browser would not store any cached files on local disk

But… even with all of that … signal/keybase is much better on so many levels

10 个赞

如果 Discourse(或类似的异步发布平台)能有一个 AutoCrypt 覆盖层那就太好了。

它以安全的方式为用户透明地管理 PGP 的“复杂性”。不过,它的“尽力而为”模式仍未让用户充分意识到:在没有明确房间配置的情况下,这会导致回退到明文。

是的,我意识到密钥交换与公开环外传输的区别。这不会涉及盲目信任。

不对。2FA 与身份管理(如 Shibboleth)完全不同。您是否隐晦地提到了“我所拥有的”和“我所知道的”?在这种情况下,提供“我所拥有的”证明是否就被延伸视为一种身份?

您还需要 DANE 确认。

您是在暗示“免费”账户吗?

Movim 也是如此,这就是为什么他们为他们的 XMPP 社交网络平台放弃了 OMEMO。

值得反思的一个 GitHub 项目是 OverSec。虽然它是为 Android 设计的,但有人可以接手为 Android 开发。


我会进一步思考这些威胁模型。

AutoCrypt 万岁?

对侵犯隐私的恶行的容忍,为当前的威胁奠定了基础。我不知道如何解决这种冷漠。

用这种逻辑,我会邀请他们停止使用更加过时的互联网。

电子邮件、XMPP 和 Matrix 一样,都是联邦化的。

阿门。谢谢。

出于这个原因,我禁用了摘要模式。

他们需要像对待广告拦截一样,在这方面接受再教育。

这是否仍然需要手机号码,从而带来问题?

因是搜索的最佳匹配而进行了 Necro(挖坟)。

1 个赞

也许,人们在公共论坛上发帖前多使用搜索功能(或者在写作前多阅读一些内容)也会更好。

我不太明白:你是在主张更多地使用广告拦截,还是更少?

1 个赞

是的,这里的主要建议如下:

  • 安装并使用 Discourse Encrypt 插件(非常成熟,我们在内部也使用它)
  • 启用“安全媒体”(警告:此功能配置极其困难)
  • 启用“私密邮件”,以防止内容通过邮件泄露
2 个赞