Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCRAM-SHA-1(-PLUS) + SCRAM-SHA-256(-PLUS) supports #354

Open
Neustradamus opened this issue Sep 7, 2019 · 25 comments
Open

SCRAM-SHA-1(-PLUS) + SCRAM-SHA-256(-PLUS) supports #354

Neustradamus opened this issue Sep 7, 2019 · 25 comments
Assignees
Labels
research learn more about a topic Security security related

Comments

@Neustradamus
Copy link

Neustradamus commented Sep 7, 2019

Dear @cypht-org team,

For more security, can you add supports of :

  • SCRAM-SHA-1
  • SCRAM-SHA-1-PLUS
  • SCRAM-SHA-256
  • SCRAM-SHA-256-PLUS
  • SCRAM-SHA-512
  • SCRAM-SHA-512-PLUS
  • SCRAM-SHA3-512
  • SCRAM-SHA3-512-PLUS

You can add too:

  • SCRAM-SHA-224
  • SCRAM-SHA-224-PLUS
  • SCRAM-SHA-384
  • SCRAM-SHA-384-PLUS

A "big" list has been done in last link of this ticket.


SCRAM-SHA-1(-PLUS):

SCRAM-SHA-256(-PLUS):

SCRAM-SHA-512(-PLUS):

SCRAM-SHA3-512(-PLUS):

-PLUS variants:

IMAP:

LDAP:

  • RFC5803: Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted: Challenge Response Authentication Mechanism (SCRAM) Secrets: https://tools.ietf.org/html/rfc5803

HTTP:

2FA:

IANA:

Linked to:

@jasonmunro jasonmunro self-assigned this Nov 12, 2019
@jasonmunro jasonmunro added the research learn more about a topic label Nov 12, 2019
@jasonmunro
Copy link
Member

I will look into this, thanks for the report.

@Neustradamus
Copy link
Author

Dear @cypht-org team,

Have you progressed since 2019?

Thanks in advance.

@marclaporte
Copy link
Member

marclaporte commented Aug 13, 2023

Hi @Neustradamus

Thank you for the follow up. AFAIK, no progress has been made on this specific issue.

But we've just released a major version with tons of new features and fixes. And we've moved the project to an organization to facilitate work by various developers. Ref.: https://unencumberedbyfacts.com/2023/06/14/cypht-rebooted/

@josaphatim What do you think?

@Neustradamus
Copy link
Author

@marclaporte: Excellent news!

Hope it will be possible to have more security in your other projects too :)

@marclaporte
Copy link
Member

Hehe, yeah :-)

@marclaporte marclaporte assigned Danelif and unassigned jasonmunro May 7, 2024
@marclaporte marclaporte added the Security security related label May 7, 2024
@marclaporte
Copy link
Member

@Danelif please advise.

@Danelif
Copy link
Member

Danelif commented May 14, 2024

I will look into this and give report

@Danelif
Copy link
Member

Danelif commented May 16, 2024

@marclaporte I have read all the documentation provided above and in my opinion for cypht, SCRAM-SHA-256-PLUS is suitable. Unfortunately, there is no much documentation apart from the Internet Engineering Task Force (IETF).
but I found this video interesting https://www.youtube.com/watch?v=20p4zP_pvQU&pp=ugMICgJmchABGAHKBSxwcm90ZWdlciB2b3MgbW90cyBkZSBwYXNzZSBzY3JhbSBwb3N0Z3Jlc3FsIA%3D%3D an scenario with PostgreSQL database.

@Neustradamus
Copy link
Author

@Danelif: Yes, PostgreSQL supports SCRAM-SHA-256 and SCRAM-SHA-256-PLUS and a lot of others projects/softs/libs/...
There is a list here: scram-sasl/info#1.

@marclaporte: I have tried to contact you in private by e-mail, by Twitter (public message because DM is not opened for you), can you reply me? Thanks in advance.

@marclaporte
Copy link
Member

can you reply me

Done

@marclaporte
Copy link
Member

@Danelif Do you feel comfortable to prepare a pull request?

@Danelif
Copy link
Member

Danelif commented May 17, 2024

@marclaporte yes I do

@marclaporte
Copy link
Member

ok, please proceed

@Neustradamus
Copy link
Author

@marclaporte, @Danelif: Can you look SCRAM with Auth_SASL/Auth_SASL2?

It will be nice to have before a new release...

@Danelif
Copy link
Member

Danelif commented Jun 4, 2024

@Neustradamus okay let me take a look

@Danelif
Copy link
Member

Danelif commented Jun 7, 2024

@Neustradamus
Copy link
Author

@Danelif: Nice, good job!

Can you add other SCRAM too?

@Danelif
Copy link
Member

Danelif commented Jun 7, 2024

@Neustradamus alright

@Neustradamus
Copy link
Author

@Danelif: Note that there are two connection possibilities by SCRAM, example for 256:

  • SCRAM-SHA-256
  • SCRAM-SHA-256-PLUS

It will be perfect to have support of: SHA-1/SHA-256/SHA-512/SHA3-512.

Note: If you can add the -PLUS variant support into Auth_SASL/Auth_SASL2, it will be a big enhancement to have a full compatibility and will profit to several projects in the World.

@Danelif
Copy link
Member

Danelif commented Jun 7, 2024

i just finished to include all SCRAM SHA in the code base

PR

@Danelif
Copy link
Member

Danelif commented Jun 13, 2024

This PR has been merged so can i remove CRAM-MD5 (#1063) in cypht now ? @marclaporte @Neustradamus

@marclaporte
Copy link
Member

Wait. Is there a use case that the more advanced mechanisms would not be used?

If system always uses more secure mechanisms, it should never fall back to CRAM-MD5

@kroky @Neustradamus

@marclaporte
Copy link
Member

Say the mail server only supports plain and CRAM-MD5, it's surely better to use CRAM-MD5 instead of plain?

@Neustradamus
Copy link
Author

At the same time of CRAM-MD5 removal, it is possible to remove LOGIN too.

The latest possibility for "old servers" is PLAIN with TLS.

@kroky
Copy link
Member

kroky commented Jun 14, 2024

I'd deprecate and use as a last resort for now. If big clients/servers haven't removed it yet, there might be a strong reason to. I understand the protocol is outdated and moved to a historic state but completely removing the authentication protocols might actually drop support for certain servers/users/use-cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
research learn more about a topic Security security related
Projects
None yet
Development

No branches or pull requests

5 participants