use of the term "verifier" with SCRAM

Поиск
Список
Период
Сортировка
Искать
От
Peter Eisentraut
Тема
use of the term "verifier" with SCRAM
Дата
Msg-id
be397b06-6e4b-ba71-c7fb-54cae84a7e18@2ndquadrant.com
Список
Дерево обсуждения
use of the term "verifier" with SCRAM Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: use of the term "verifier" with SCRAM Heikki Linnakangas <hlinnaka@iki.fi>
Re: use of the term "verifier" with SCRAM Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: use of the term "verifier" with SCRAM Michael Paquier <michael@paquier.xyz>
Re: use of the term "verifier" with SCRAM Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
I'm confused by how the code uses the term "verifier" in relation to SCRAM.

ISTM that the code uses the term as meaning whatever is or would be
stored in pg_auth.rolpassword.

I don't see this usage supported in the RFCs.  In RFC 5802,

    verifier        = "v=" base64
                    ;; base-64 encoded ServerSignature.

where

    ServerSignature := HMAC(ServerKey, AuthMessage)
    ServerKey       := HMAC(SaltedPassword, "Server Key")
    AuthMessage     := client-first-message-bare + "," +
                       server-first-message + "," +
                       client-final-message-without-proof

whereas what is stored in rolpassword is

    SCRAM-SHA-256$:$:

where

    StoredKey       := H(ClientKey)
    ClientKey       := HMAC(SaltedPassword, "Client Key")

So while these are all related, I don't think it's accurate to call what
is in rolpassword a SCRAM "verifier".

RFC 5803 is titled "Lightweight Directory Access Protocol (LDAP) Schema
for Storing Salted Challenge Response Authentication Mechanism (SCRAM)
Secrets".  Following that, I think calling the contents of rolpassword a
"secret" or a "stored secret" would be better.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


В списке pgsql-hackers по дате отправления
От: Thomas Munro
Дата:
От: David Rowley
Дата:
FAQ