SCRAM IMAP authentication support
Categories
(MailNews Core :: Networking: IMAP, enhancement)
Tracking
(Not tracked)
People
(Reporter: ntninja, Unassigned)
References
Details
Updated•7 years ago
|
Updated•7 years ago
|
![]() |
Reporter | |
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
![]() |
Reporter | |
Comment 3•7 years ago
|
||
Comment 4•7 years ago
|
||
Comment 6•6 years ago
|
||
Any news for it?
There is a ticket for XMPP too: https://bugzilla.mozilla.org/show_bug.cgi?id=1577688.
Comment 7•6 years ago
|
||
Please note that SCRAM-SHA-1(-PLUS), SCRAM-SHA-224(-PLUS), SCRAM-SHA-256(-PLUS), SCRAM-SHA-384(-PLUS), and SCRAM-SHA-512(-PLUS) are in Cyrus SASL: https://github.com/cyrusimap/cyrus-sasl/commits/master
Comment 8•6 years ago
|
||
About -PLUS variants, Channel-Binding Support is needed in NSS: https://bugzilla.mozilla.org/show_bug.cgi?id=563276
Comment 9•6 years ago
|
||
It is already done for XMPP:
- SCRAM-SHA-1: https://bugzilla.mozilla.org/show_bug.cgi?id=1267649
- SCRAM-SHA-256: https://bugzilla.mozilla.org/show_bug.cgi?id=1577688
SCRAM-SHA-1-PLUS and SCRAM-SHA-256-PLUS are missing because https://bugzilla.mozilla.org/show_bug.cgi?id=563276
Tickets:
- For IMAP: https://bugzilla.mozilla.org/show_bug.cgi?id=1503382
- For POP: https://bugzilla.mozilla.org/show_bug.cgi?id=1597102
- For SMTP: https://bugzilla.mozilla.org/show_bug.cgi?id=1597103
- For LDAP: https://bugzilla.mozilla.org/show_bug.cgi?id=1597106
RFCs:
- RFC5802: Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms: https://tools.ietf.org/html/rfc5802
- RFC7677: SCRAM-SHA-256 and SCRAM-SHA-256-PLUS Simple Authentication and Security Layer (SASL) Mechanisms: https://tools.ietf.org/html/rfc7677 - since 2015-11-02
- RFC5056: On the Use of Channel Bindings to Secure Channels: https://tools.ietf.org/html/rfc5056
- RFC5929: Channel Bindings for TLS: https://tools.ietf.org/html/rfc5929
- RFC5803: Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted: Challenge Response Authentication Mechanism (SCRAM) Secrets: https://tools.ietf.org/html/rfc5803
- RFC7804: Salted Challenge Response HTTP Authentication Mechanism: https://tools.ietf.org/html/rfc7804
IANA:
- Simple Authentication and Security Layer (SASL) Mechanisms: https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml
- Channel-Binding Types: https://www.iana.org/assignments/channel-binding-types/channel-binding-types.xhtml
Comment 10•6 years ago
|
||
Cyrus SASL supports:
- SCRAM-SHA-1
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-224
- SCRAM-SHA-224-PLUS
- SCRAM-SHA-256
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512
- SCRAM-SHA-512-PLUS
-> https://cyrusimap.org/sasl/sasl/authentication_mechanisms.html
-> https://github.com/cyrusimap/cyrus-sasl/commits/master
Dovecot SASL supports:
GNU SASL supports:
- SCRAM-SHA-1
- SCRAM-SHA-1-PLUS
-> http://www.gnu.org/software/gsasl/
CRAM-MD5 to Historic:
- https://tools.ietf.org/html/draft-ietf-sasl-crammd5-to-historic-00 // 20 November 2008
RFC6331: Moving DIGEST-MD5 to Historic
- https://tools.ietf.org/html/rfc6331 since July 2011
More informations:
Comment 11•5 years ago
|
||
After old TLS version, for TLS 1.3, there is: https://tools.ietf.org/html/draft-ietf-kitten-tls-channel-bindings-for-tls13
And there are other SCRAM too:
- SCRAM-SHA-512(-PLUS): https://tools.ietf.org/html/draft-melnikov-scram-sha-512
- SCRAM-SHA3-512(-PLUS): https://tools.ietf.org/html/draft-melnikov-scram-sha3-512
- Extensions to Salted Challenge Response (SCRAM) for 2 factor authentication: https://tools.ietf.org/html/draft-melnikov-scram-2fa
Comment 12•5 years ago
|
||
Dovecot supports SCRAM-SHA-256 as of version 2.3.10.
Comment 13•4 years ago
|
||
Hello all,
Happy New Year 2022!
I see a good news here: https://www.linkedin.com/posts/ryanleesipes_in-2017-i-joined-the-thunderbird-team-as-ugcPost-6880457591319867392-SImO/
I think it is time to look about SCRAM hash passwords for POP/IMAP/SMTP/LDAP and Mozilla Thunderbird?
- For IMAP: https://bugzilla.mozilla.org/show_bug.cgi?id=1503382
- For POP: https://bugzilla.mozilla.org/show_bug.cgi?id=1597102
- For SMTP: https://bugzilla.mozilla.org/show_bug.cgi?id=1597103
- For LDAP: https://bugzilla.mozilla.org/show_bug.cgi?id=1597106
It is already done for XMPP with SCRAM-SHA-1 and SCRAM-SHA-256:
- https://github.com/mozilla/releases-comm-central/search?q=scram-sha-1
- https://github.com/mozilla/releases-comm-central/search?q=scram-sha-256
For example, already in:
- Cyrus: https://www.cyrusimap.org/sasl/sasl/authentication_mechanisms.html
- Dovecot: https://doc.dovecot.org/configuration_manual/authentication/authentication_mechanisms/
- Exim: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_gsasl_authenticator.html
- GNU SASL (gsasl): https://www.gnu.org/software/gsasl/
- mpop: https://marlam.de/mpop/news/
- msmtp: https://marlam.de/msmtp/news/
- NeoMutt: https://github.com/neomutt/neomutt/blob/075c5c4d77f3a8451d77098ef12f9a3d2eda6998/conn/sasl.c#L107
- DataEnter CryptoFilter - The S/MIME Gateway: https://www.dataenter.com/beta/cryptofilter.htm
- DataEnter POPBeamer - The Mail Collector: https://www.dataenter.com/beta/popbeamer.htm
- DataEnter SMTPBeamer - The Mail Server: https://www.dataenter.com/beta/smtpbeamer.htm
- DataEnter XWall - The Mail Filter: https://www.dataenter.com/beta/xwall.htm
- MailKit/MiniKit: http://www.mimekit.net/docs/html/Introduction.htm
It is specified in ESET help: https://help.eset.com/era_admin/64/en-US/index.html?smtp_server.htm
It is specified in IONOS help: https://www.ionos.fr/digitalguide/email/aspects-techniques/authentification-smtp/
You can look a big list here:
Google search:
- https://www.google.com/search?q=scram-sha-1
- https://www.google.com/search?q=scram-sha-256
- https://www.google.com/search?q=scram-sha-512
- https://www.google.com/search?q=scram-sha3-512
Thanks in advance.
Updated•3 years ago
|
Comment 14•11 months ago
|
||
I would like to know the update about support of SCRAM-SHA-256 because I consider implementing of authentication of SMTP or IMAP server.
Could you please let me know if the latest Thunderbird is able to use SCRAM-SHA-256?
Comment 15•11 months ago
|
||
(In reply to Harry from comment #14)
I would like to know the update about support of SCRAM-SHA-256 because I consider implementing of authentication of SMTP or IMAP server.
Could you please let me know if the latest Thunderbird is able to use SCRAM-SHA-256?
Don't bother ... This request is 6 years old and as much as I want to use that auth too (cyrus-sasl that dovecot and postfix uses, supports it out of the box) there's not much chance of getting it done it seems.
Same applies to DANE records enforcement, which Fairemail (imo the best android email client) started supporting, after I've convinced its creator to implement it.
Sad state of affairs, but it is what it is.
Comment 16•11 months ago
|
||
(In reply to Harry from comment #14)
Could you please let me know if the latest Thunderbird is able to use SCRAM-SHA-256?
No indeed, as far as I know. Thunderbird shows an "encrypted password" authentication mechanism in its UI, but it is CRAM-MD5, which is very old.
See the code, https://github.com/search?q=repo%3Amozilla%2Freleases-comm-central+cram-md5&type=code&p=1 and https://github.com/search?q=repo%3Amozilla%2Freleases-comm-central+scram-sha-1&type=code.
If you're looking for more mail clients to test a server-side scram implementation: mutt supports it (I think also PLUS, but I did run into issues), claws mail too, and emclient supported scram-sha1 last time I checked.
FWIW, I implemented scram-sha-{1,256}{,-plus} in mox (mail server) for SMTP (submission) and IMAP. Feel free to contact me if you want to discuss.
For clients, it can be tricky to find the right authentication mechanism: Autoconfig mechanisms can't currently pinpoint which auth mechanism to use for an account. A server can implement a mechanism (in code), but not support it for an account. E.g. for scram-sha* it needs to derive secrets from a password to use during authentication. If you have existing accounts, and you update your server software, the server cannot typically derive those secrets. SMTP/IMAP don't have a way to indicate that a mechanism won't work for a given account. The authentication attempt for a mechanism will just fail. Clients may have to try multiple during account setup. That can cause several authentication failures, which can cause a server to slowdown or block a client for a while. Not great user experience. Could be part of the reason that it's not implemented. Of course, getting cram-md5 is also a very bad user experience, but only for the users that know it's happening... (:
Comment 17•11 months ago
|
||
(In reply to László Károlyi from comment #15)
Don't bother ... This request is 6 years old and as much as I want to use that auth too (cyrus-sasl that dovecot and postfix uses, supports it out of the box) there's not much chance of getting it done it seems.
Since the CRAM-MD5 has a vulnerability, I was thinking about the use of SCRAM-SHA-256.
I will consider use of PLAIN authentication between TLS connections because of the use in limited environments.
Thanks a lot.
Comment 18•11 months ago
|
||
@harry, @laszlo, @mjl: Thanks for your recent comments :)
I always hope that SCRAM-SHA-* will be added in Mozilla Thunderbird and K-9.
I really hope that unsecure and obsolete CRAM-MD5 will be removed, and DIGEST-MD5 too.
Cyrus SASL/IMAPd, Dovecot, mox, etc.
A list of SCRAM supported softwares is here:
Security is very important!
Note: SCRAM is supported for XMPP in Mozilla Thunderbird but not for POP/IMAP/SMTP/LDAP.
Comment 19•7 months ago
|
||
Dear Mozilla Team,
Good news, the recent Dovecot 2.4.0 has SCRAM-SHA-1-PLUS/SCRAM-SHA-256-PLUS supports in more SCRAM-SHA-1/SCRAM-SHA-256. It arrives after Exim, indimail-mta, msmtp, mpop, ...
It is possible to add in Mozilla Thunderbird / Thunderbird Mobile / K-9 Mail included of course.
Several years ago, SCRAM-SHA-1 and SCRAM-SHA-256 have been added for XMPP but not for POP3/IMAP/SMTP/LDAP.
All list is here:
Thanks in advance.
Comment 20•7 months ago
|
||
FWIW, as a user of Thunderbird I really do miss SCRAM (with PLUS) support. I am the developer of mox, a mail server (https://github.com/mjl-/mox) which includes SASL SCRAM support. Sending passwords to an SMTP/IMAP server is not great and CRAM-MD5 is not good enough either. Also, TLS channel binding is important, see https://notes.valdikss.org.ru/jabber.ru-mitm/ and the section "Could you prevent or monitor this kind of attack?", which includes this line: "Channel binding" is a feature in XMPP which can detect a MiTM even if the interceptor present a valid certificate. Both the client and the server must support SCRAM PLUS authentication mechanisms for this to work. Unfortunately this was not active on jabber.ru at the time of the attack.
Description
•