Re: libpq compression

From: Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: libpq compression
Date: 2019-02-08 07:36:09
Message-ID: 088ce09d-87b3-75a5-70d9-5f66b96494ca@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 08.02.2019 10:14, Andres Freund wrote:
> Hi,
>
> On 2018-03-30 15:53:39 +0300, Konstantin Knizhnik wrote:
>> Taken in account that vulnerability was found in SSL compression and so
>> SSLComppression is considered to be deprecated and insecure
>> (http://www.postgresql-archive.org/disable-SSL-compression-td6010072.html),
>> it will be nice to have some alternative mechanism of reducing libpq
>> traffic.
>>
>> I have implemented some prototype implementation of it (patch is attached).
>> To use zstd compression, Postgres should be configured with --with-zstd.
>> Otherwise compression will use zlib unless it is disabled by --without-zlib
>> option.
>> I have added compression=on/off parameter to connection string and -Z option
>> to psql and pgbench utilities.
>> Below are some results:
> I think compression is pretty useful, and I'm not convinced that the
> threat model underlying the attacks on SSL really apply to postgres. But
> having said that, have you done any analysis of whether your
> implementation has the same issues?

Sorry, I am not an expert in security area, so I cannot perform analysis
whether using compression in SSL protocol
is vulnerable and is it really applicable to libpq communication between
Postgres client and server.
The main idea of compression implementation at libpq level was not to
solve this possible vulnerability
(I am also not convinced that such kind of attack is applicable to
postgres client-server communication)
but reduce traffic without requirement to use SSL (which may not be
possible or convenient because of many other reasons
not only related with potential vulnerability). Also I believe (although
I have not performed this test yet)
that zstd compression is much more efficient than one used in SSL both
in speed and compression ratio.

--
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tsunakawa, Takayuki 2019-02-08 07:43:02 RE: speeding up planning with partitions
Previous Message John Naylor 2019-02-08 07:27:12 Re: use Getopt::Long for catalog scripts