Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1ZPxEK-0000oS-TO for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Aug 2015 18:27:57 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1ZPxEJ-0001Kq-7a for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Aug 2015 18:27:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1ZPxD0-0008Ks-SP for pgsql-hackers@postgresql.org; Thu, 13 Aug 2015 18:26:34 +0000 Received: from 01.zmailcloud.com ([192.198.85.104] helo=mx-out-1.zmailcloud.com) by magus.postgresql.org with esmtp (Exim 4.84) (envelope-from ) id 1ZPxCw-0003Lc-PW for pgsql-hackers@postgresql.org; Thu, 13 Aug 2015 18:26:34 +0000 Received: from smtp.01.com (smtp.01.com [10.10.0.43]) by mx-out-1.zmailcloud.com (Postfix) with ESMTP id 8EE0556FF3D; Thu, 13 Aug 2015 13:25:52 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by smtp-out-2.01.com (Postfix) with ESMTP id 8131360DDF; Thu, 13 Aug 2015 13:25:52 -0500 (CDT) X-Virus-Scanned: amavisd-new at smtp-out-2.01.com Received: from smtp.01.com ([127.0.0.1]) by localhost (smtp-out-2.01.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mt-Ft-jh3nNi; Thu, 13 Aug 2015 13:25:52 -0500 (CDT) Received: from smtp.01.com (localhost [127.0.0.1]) by smtp-out-2.01.com (Postfix) with ESMTP id 5A4C060DE3; Thu, 13 Aug 2015 13:25:52 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by smtp-out-2.01.com (Postfix) with ESMTP id 4375C60DDF; Thu, 13 Aug 2015 13:25:52 -0500 (CDT) X-Virus-Scanned: amavisd-new at smtp-out-2.01.com Received: from smtp.01.com ([127.0.0.1]) by localhost (smtp-out-2.01.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id IvW2rP8g-UHa; Thu, 13 Aug 2015 13:25:52 -0500 (CDT) Received: from [172.47.23.104] (50-0-190-244.dsl.dynamic.fusionbroadband.com [50.0.190.244]) by smtp-out-2.01.com (Postfix) with ESMTPSA id 67C0660DE0; Thu, 13 Aug 2015 13:25:51 -0500 (CDT) Message-ID: <55CCE12B.4030306@agliodbs.com> Date: Thu, 13 Aug 2015 11:25:47 -0700 From: Josh Berkus Organization: PostgreSQL Experts Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Stephen Frost , Robert Haas CC: Peter Eisentraut , Heikki Linnakangas , Michael Paquier , pgsql-hackers Subject: Re: WIP: SCRAM authentication References: <55CA4085.30101@gmx.net> <55CB5D38.5090503@gmx.net> <55CBA425.5070803@gmx.net> <20150812200938.GM3685@tamriel.snowman.net> <20150812203732.GN3685@tamriel.snowman.net> <20150813013607.GS3685@tamriel.snowman.net> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.6 (--) 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 08/12/2015 06:36 PM, Stephen Frost wrote: > I attempted to address that also by stating that, should an attacker > compromise a system with the goal of gaining the cleartext password, > they would attempt the following, in order: > > 1) attempt to compromise a superuser account, if not already done, and > then modify the system to get the 'password' auth mechanism to be used > whereby the password is sent in the clear > > 2) change the existing password, or encourge the user to do so and > somehow capture that activity > > 3) social engineering attacks > > 4) attempt to crack the md5 hash > > 5) attempt to crack the SCRAM password verifier > > 6) try to work out a way to use both the md5 hash and the SCRAM password > verifier to figure out the password > I don't feel like you've correctly assessed the risk inherent in the md5 auth method, which is that, having captured an md5auth string by whatever means, and attacker can reuse that md5 string on other databases in the network *without* cracking it. That's the biggest risk as long as md5 is present. Aside from code complexity, the user security concern with a "multiple verifier per role" approach is that the DBAs would never remember to completely disable md5auth and would capture md5 hashes either in flight or from backups. This approach can be used to capture an md5hash from a non-critical database which is poorly secured, and then re-use it against an important database. Now, the counter-argument to this is that a DBA is just as likely to rememeber to remove md5 verifiers as she is to remember to remove roles with md5auth. Regardless of the approach we take, encouraging users to migrate is going to be more of a matter of documentation, publicity, and administrative tools than one of multiple verifiers vs. multiple roles. That is, giving DBAs the ability to see and log who's using what kind of verifier, and what account has what verifier(s) available, will make more of a difference. -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers