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

Don't store passwords as plain text #91

Closed
GoogleCodeExporter opened this issue Mar 25, 2015 · 12 comments
Closed

Don't store passwords as plain text #91

GoogleCodeExporter opened this issue Mar 25, 2015 · 12 comments

Comments

@GoogleCodeExporter
Copy link

Do some kind of secure string hashing, so that people can't directly read the 
passwords by 
inspecting WADispatcher default.

Original issue reported on code.google.com by renggli on 9 Jul 2008 at 8:22

@GoogleCodeExporter
Copy link
Author

Yes, I've been mulling that over for a while too... how do we deal with existing
passwords that are plaintext? Something a-la LDAP: '{MD5}blahblahblah',
'{SHA1}blahblahblah', and so on?

Original comment by jfitz...@gmail.com on 9 Jul 2008 at 8:57

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

Please pay attention to portability. Please don't use MD5, use at least SHA-1. 
Please
use some salting to prevent attacks using rainbow tables.

Original comment by philippe...@gmail.com on 9 Jul 2008 at 9:00

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

There seems to have some misunderstanding regarding my comment above. It is not
intended personal in any way. They're just technical issues I'd like the
implementation to address.

Original comment by philippe...@gmail.com on 9 Jul 2008 at 9:46

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

SHA-1 is fine... my question was about whether to indicate the hash method used 
so
that we can support existing plaintext values. It also, of course allows 
multiple
hash mechanisms to be supported on different platforms.

I have no strong opinions whatsoever on this... just thinking out loud as I had 
been
thinking about this the other day.

Original comment by jfitz...@gmail.com on 9 Jul 2008 at 1:14

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

I think it's fine if we leave it to the platform what hash implementation to 
use.
Smalltalk images are not portable and I don't think we'll ever have to compare 
a hash
value generated on an other platform *famous last words*.

Even if we can probably sell it as a security feature ;-)

Original comment by philippe...@gmail.com on 9 Jul 2008 at 1:38

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

I think it is fine if the protocol for setting the password stays the same. It 
is not necessary that existing instances 
of WAApplication are portable. Usually a new version of Seaside means that you 
re-register your apps (and reset 
the passwords) anyway.

Original comment by renggli on 9 Jul 2008 at 1:46

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

See Seaside-Squeak-Core-jf.49 and Seaside-Core-jf.163

Do we record the protocol of the platform classes somewhere so porters know 
what they
need to implement?

Also, how does everyone feel about empty passwords being allowed. The default
implementation allows them, which I think is ok, but if anyone feels strongly 
it can
easily be changed.

I also considered using #passwordHash as the configuration key to be more 
accurate
but thought I'd keep the first commit as simple as possible. I'll happily 
change it
if others agree.

Original comment by jfitz...@gmail.com on 10 Jul 2008 at 6:30

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

If we're that serious about it and go to such lengths I think doesn't make 
sense to
accept empty passwords.

Original comment by philippe...@gmail.com on 10 Jul 2008 at 11:24

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

Ok, I'll add a check for empty passwords during authentication.

I still wonder if I need to make a note of the addition to the platform class
somewhere...

And what about #password vs. #passwordHash ? I think I'll change it to 
#passwordHash
unless anyone objects. I can't see any real plus to keeping it as it was so I'd
rather be accurate.

Original comment by jfitz...@gmail.com on 12 Jul 2008 at 7:42

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

Original comment by jfitz...@gmail.com on 12 Jul 2008 at 7:44

  • Changed state: Started
  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

Regarding a note about the addition: yes.
The best is to add a test to WAPlatformTest.

Original comment by philippe...@gmail.com on 12 Jul 2008 at 9:49

  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

Test added.
Empty password check added.
Attribute renamed to #passwordHash.

Seaside-Core-jf.168
Seaside-Squeak-Core-jf.49
Seaside-Tests-jf.131

Original comment by jfitz...@gmail.com on 14 Jul 2008 at 3:49

  • Changed state: Fixed
  • Added labels: ****
  • Removed labels: ****

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant