SSL security concern
Ralf Skyper Kaiser
skyper at thc.org
Tue Oct 15 05:34:11 EDT 2013
I apologize if my emails came across like a demand. It was not my intention.
I notice that some of the security concerns have already been addressed by
and some are out of scope (like the OTR plugin).
1. OTR: encrypt messages by default (private messaging).
- Out of scope. Can only be fixed within the OTR plugin (developers
2. Do not allow clear-text (non-SSL_ connections:
- Already available as per-account runtime option.
3. Accept (self-signed) certificates and pin those to the server.
- Patch wanted.
4. Runtime feature to select exclusive CA store location.
- Pidgin uses (by default) the system wide CA store location. This location
contains 600+ ROOT certificates (OS depended). PigGin's SSL connection is
against _any_ one of these ROOT CA's. The attack is the typical
incident: I do not trust Etisalat's ROOT CA to verify Pidgin's SSL
it is not feasible to remove the Etisalat ROOT CA from the system wide
storage (or any
or all of the 600+ ROOT CA's certificates that I do not trust to verify
- Exclusive CA store location is currently only supported as compile-time
This is not available or feasible to some users.
- Pros for exclusive CA store location: Allows user/server to use one (and
ROOT CA that the user & server trust to verify the SSL connection.
Etisalat-Blackbery, DigiNotar-Iran and similar attacks.
5. Runtime feature to force client to disable logging.
- Currently possible via global runtime option (Preferences -> Logging).
- Idea: Per account and either forced by the server or logging
when account's Lockdown option is set.
- Pros: Prevents accidental misconfiguration. Server has control to only
connect that do not log (or are in lockdown).
- I hear the arguement that the user can not be trusted: A malicious user
user can always
turn on logging again by changing the source code. This is correct and
Most users are not malicious and would not change the source to enable
most users can not be trusted to disable logging manually. Disabling
would rely on a established security policy and process. We know that
these are prone
6. Inform server that user is using lockdown option.
- As a jabber server admin I have no information or control how the user
SSL connection, if the user is (accidentally) logging the messages or if
is (accidentally) sending plaintext messages.
- Pros for feature: I can control on the server that all users who connect
to my jabber
server do not log, have verified the SSL connection securely (against the
pinned key and are not verified by Etisalat or Iran) and the user is not
sending plaintext messages (Protecting against malicious users is out of
7. Like your ideas regarding lockdown option. Hits the nail on the head and
better than my suggestion.
- Patch wanted.
These are suggestions and just suggestions. I can not implement them. If
there is anyone out there who
has the time, motivation and skills please let me know.
Ethan, if you know of somebody please let me know.
On Mon, Oct 14, 2013 at 5:41 PM, Ethan Blanton <elb at pidgin.im> wrote:
> Ralf Skyper Kaiser spake unto us the following wisdom:
> > I made a list of features under section 6.4 that would make pidgin
> > In summary:
> So ... we already implement a large portion of this list, either
> explicitly or implicitly. To wit:
> > For Jitsi/Pidgin/Jabber this would mean:
> > 1. Do not allow non-private chats
> I don't know what this means.
> > 2. Do not allow clear-text (non-SSL) connections
> This is already available, as a per-account option. A global option
> could be added, but that is not substantially more user-friendly or
> secure in any practical sense.
> > 3. Accept self-signed certificates but once accepted/stored do not
> > certificate to change (even if new certificate is a Verisign signed
> > certificate).
> This is not something we currently support, but I generally think it's
> a good idea across the board. I doubt we will implement it any time
> soon, but I am pretty sure we would accept a well-written patch that
> notified of certificate changes.
> > 4. Feature to select CAfile storage location
> This is already provided, as a compile-time option.
> > 5. Force client to disable logging
> This is not an "option", but can easily be achieved by marking
> ~/.purple/logs unwriteable by the user.
> > 6. Inform server that user is using lockdown (so that server can
> > all clients which do not).
> This is not useful, as a client can readily lie.
> > 7. Once lockdown option is enabled the user should not be able to
> > any of the above options until lockdown is disabled again (e.g. gray
> > the option). Disconnect when lockdown option changes and reconnect to
> > servers.
> I don't see what this buys. We're unlikely to implement it.
> > The BIGGEST BANG FOR THE BUCK would be 4.: Allow the user to specific a
> > different (and exclusive) CA location.
> Again, we already support this, so I guess our buck is already bangin'.
> > It is not a big change and would open up Pigdin to a much larger user
> This is a disingenuous and misplaced statement. I assume you're
> trying to bribe egos. However, a) Pidgin is already used by many
> millions of users, b) the "much larger user base" is a small fraction
> of those millions consisting of (for example) certain financial
> companies, a small number of privacy-concerned tech-savvy individuals,
> etc., and c) we don't care how many people use Pidgin, anyway. If you
> can convince us something is a good idea, we'll either do it or accept
> a patch for it. If you can't, we don't care if the Pope, the Dalai
> Lama, and Captain Reynolds got together and asked for it.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> -----END PGP SIGNATURE-----
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Support