Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cxvIc-0008RS-Cq for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2017 12:53:34 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cxvIb-0000UH-Ux for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2017 12:53:33 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cxvIb-0000U6-4c for pgsql-hackers@postgresql.org; Tue, 11 Apr 2017 12:53:33 +0000 Received: from mail-wm0-x22a.google.com ([2a00:1450:400c:c09::22a]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1cxvIX-00028S-J2 for pgsql-hackers@postgresql.org; Tue, 11 Apr 2017 12:53:31 +0000 Received: by mail-wm0-x22a.google.com with SMTP id t189so122746wmt.1 for ; Tue, 11 Apr 2017 05:53:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=8kdata-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=rKT0PxCVEXWOILqQvdXVhRKRZ64CX1+kg8GgYMLKS/8=; b=dbJzj82EXVTuFFLKmDa77CDEw6VUkbHcKUD+810JACynrJ/0vlfkpnbM6vuQi1FNq8 SZmkAED3BLGYQBeh0/yTu1QZurzPFxNUVxXJ3EqfeNyYBy0eL4X+nJRqKVugWKvjQT5B qjqW9SeCfAv3wOcgi3qKdH/Y1oO4syZ6R2TYLaTc9K0uE8g5fktmiGUpyq57cA0a78tG 3ikO9abiVq8cYlRol3KuQQX6zmzE+1blR5O9lG4DXbn+EW+3xqxJzftv+Sf1d+bLqXwg 3kzDv1kcpSLf4N4toDyD79/ISYNZkbdB+JY7KM6WF4eBi5yn4AdUqYQhbluPo0qBObUh a+Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=rKT0PxCVEXWOILqQvdXVhRKRZ64CX1+kg8GgYMLKS/8=; b=h5ghTwLypIt7B9DKjHT89nkYG23JkwXs08KbUpbB+fe8IWoI051+ultlFs9tXWAZwp AGnaROG6OmdxMkIgELpyFIwAdz1bnHg60U4yBaV//O2BE1cMCzZsOdmm2beAK/M5hNxi 2tejv4xxQuSqG1wBcsUD2HOV8sdDK9MWdoUFbbpsxn/SAbQhT6m9KKriH448hlahXsbG kOXQinhF2fiB3KIu2sz0xtt4XNHtI884yeItL4jQLfXfUpAFBSuXoJroMCLtxoQfFKkH nAux6Ane/8lphI/jB/RBDVhpTzBpvgFLSbPhg7mxaFWY7ww+6zFDphP8tdxMw2x9apbD 1AfA== X-Gm-Message-State: AN3rC/6kj0OaO1CiN4DLkpQ4C3PtcuRlutrsQEgB4veH947N4MZmFWfb ho4eroZDsFlpyw== X-Received: by 10.28.109.81 with SMTP id i78mr1550030wmc.127.1491915207255; Tue, 11 Apr 2017 05:53:27 -0700 (PDT) Received: from [192.168.1.130] (148.126.218.87.dynamic.jazztel.es. [87.218.126.148]) by smtp.gmail.com with ESMTPSA id b31sm16183474wrb.7.2017.04.11.05.53.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Apr 2017 05:53:26 -0700 (PDT) Subject: Re: Some thoughts about SCRAM implementation To: Andres Freund References: <729b548a-f434-f31c-15e7-59f44aaecc8d@8kdata.com> <20170410183230.oxagjpfgj6xxmcwx@alap3.anarazel.de> Cc: Heikki Linnakangas , pgsql-hackers From: =?UTF-8?Q?=c3=81lvaro_Hern=c3=a1ndez_Tortosa?= Message-ID: Date: Tue, 11 Apr 2017 14:53:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170410183230.oxagjpfgj6xxmcwx@alap3.anarazel.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Pg-Spam-Score: -1.8 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 10/04/17 20:32, Andres Freund wrote: > On 2017-04-10 20:28:27 +0200, Álvaro Hernández Tortosa wrote: >> >> On 10/04/17 13:02, Heikki Linnakangas wrote: >>> On 04/10/2017 12:39 PM, Álvaro Hernández Tortosa wrote: >>>> - I think channel binding support should be added. SCRAM brings security >>>> improvements over md5 and other simpler digest algorithms. But where it >>>> really shines is together with channel binding. This is the only method >>>> to prevent MITM attacks. Implementing it should not very difficult. >>>> There are several possible channel binding mechanisms, but the mandatory >>>> and probably more typical one is 'tls-unique' which basically means >>>> getting the byte array from the TLSfinish() message and comparing it >>>> with the same data sent by the client. That's more or less all it takes >>>> to implement it. So I would go for it. >>> We missed the boat for PostgreSQL 10. You're right that it probably >>> wouldn't be difficult to implement, but until there's a concrete patch >>> to discuss, that's a moot point. >> Really? That's a real shame.... I know we're very late in the CF cycle >> but, again, this would be a real shame. > That can equally be said about about a lot of features. If we don't > stop at some point... Also, we're not late in the CF cycle, the CF cycle > for v10 is over. It's not like the non-existance of channel binding > removes previously existing features, or makes SCRAM useless. > > > Greetings, > > Andres Freund I know this is a lost battle. But please bear with me for a minute. Let's put ourselves on the foot of potential users. Why would anyone want to use SCRAM? What for? The hashing mechanism is better, no question. And bring some added benefits, true. So its "better". But the real gain comes from using channel binding, which avoids impersonation, MITM attacks. This is the deal breaker. SCRAM without channel binding is like Coke Zero without caffeine and mixed with water. Don't get me wrong, the work behind is great. But just a bit more is needed to make it really a big announcement and provide real value to (I guess, mostly but very interesting) enterprise customers, for which MITM and impersonating are big things. The good news is that adding channel binding is like inverse Paretto: a 20% of extra effort (I bet significantly less) leads to 80% improvement. So CF v10 is over. So we're on testing phase. Can't we consider this a "missing feature bug"? ^_^ Álvaro -- Álvaro Hernández Tortosa ----------- <8K>data -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers