no, passwords shouldn't be encrypted, you should store hashes, just use the django default auth app
On Sun, Aug 16, 2015 at 9:09 AM, Uri Even-Chen <[email protected]> wrote: > Hi Dennis, > > > > On Sat, Aug 15, 2015 at 7:35 PM, Dennis Lee Bieber <[email protected]> > wrote: > >> On Sat, 15 Aug 2015 12:47:17 +0300, Uri Even-Chen <[email protected]> >> declaimed the following: >> >> >To Python, Django and Speedy Mail Software developers, >> > >> >Is it possible to make Speedy Mail encrypted? I want mail to be encrypted >> >on the server, and only the user will be able to read his/her mail. The >> >user's password will be encrypted on the server and nobody will be able >> to >> >> Most systems I know of don't store the password on the server in >> the >> first place. They store a one-way hash generated from the password >> (possibly using a randomly generated salt that is also saved with the hash >> -- that is, rather than just hash "password" into "hashstring", they hash >> "saltpassword" into "otherhash" and prepend the "salt" -> "saltotherhash". >> When user comes to connect later, they match the user name in the password >> database, extract the "salt" from "saltotherhash", attach it to the >> password given by the user, generate the hash, and see if it matches the >> rest of the saved hash). The hash value is only used for matching >> purposes, >> not for any subsequent processing -- it is not a cryptography key, nor is >> any cryptography key used to produce it. >> >> > Thanks for the feedback. Actually the passwords on my webmail in 2000 to > 2005 were not encrypted, but I agree with you that passwords should be > always encrypted. > > > > >> >read the user's mail except the user himself. Is it possible? When I had >> >> How do you intend to handle new inbound email? After all, the >> sender of >> the email sure won't know about any user encryption key -- that means you >> have to have the encryption key stored on your server associated with the >> recipient username, so that you can encrypt inbound email before putting >> it >> into the user's mailbox... Do you also intend to encrypt the header >> information or just the body of the message? >> >> A public key system MIGHT support that, in that the public key -- >> used >> to "send to" the recipient is only used to encrypt the data, and can be >> stored on your server (in the same username/password account file). The >> private (decryption) key would have to be stored on the user's computer >> and >> never provided to your server machine -- and you'd need some way to send >> individual encrypted messages to the user where they are decrypted on >> their >> computer, NOT ON the server. You'd also need to be able to identify which >> messages are new, read, deleted -- if the mailbox is encrypted, this >> likely >> means each message is a file within the mailbox, since you can't do things >> like mark and compress an MBOX (all mail is in one file with a special >> header marking the start of a message) file without corrupting the >> encryption stream. >> >> If, at anytime, the decryption key is on the server, you have >> lost the >> security you claim to be striving for -- as any court ordered system could >> just patch in a packet sniffer and wait for your user to connect, capture >> the password, and capture the decryption key if it is sent to the server >> to >> retrieve mail (though they don't even need it at that point -- they could >> just capture the decrypted contents being sent to the user... TLS/SSL >> sessions may alleviate that problem, but it does mean having certificates >> to initiate the TLS session keys). If the packets are TLS encrypted, they >> can require one to patch into the server at the point where the contents >> are converted back to plain text and capture the traffic. >> >> Of course, this now means the user has to carry around a >> "keyring" that >> can be accessed by any computer used to read the email (since the >> decryption key can not be on the server, if they read email from an >> android >> tablet they need to have the key installed on the tablet; they also need >> it >> on their desktop if they use it to access the server; on their phone if it >> has a browser, etc.). >> >> A Javascript client is probably going to be rather slow at >> decrypting >> the emails -- but you may not be able to install a compiled Java >> encryption >> package on all the clients out there (you'd have to have something for >> iOS, >> something for Android, for Linux, Macintosh, and Windows -- though the >> latter three might be able to use the same core Java code). >> >> We've taken care of inbound email. What were your plans for >> outgoing >> email? You can't encrypt that as it is going to other systems and other >> users who are not part of your server and don't expect to see encrypted >> stuff. You could perhaps store the already sent messages using the same >> public key, but you can't do that with in-work drafts stored on the server >> prior to being sent (at least, not without requiring them to pass from the >> server to the client for decryption and then back to the server in >> plain-text for delivery -- deleting the draft copy and saving an encrypted >> sent copy) >> >> I think ProtonMail <https://protonmail.ch/> is doing something similar > to what I want, so maybe I'll check what they are doing. I also want the > user's mail to be searchable, like Gmail. > > >> >I believe a user's mail is something personal, like his thoughts. I don't >> >want the police to read my mail and it's similar to reading my thoughts. >> > >> And the solution, in my mind, is to not use a central mail >> repository >> (no webmail client, nor even an IMAP client) and always do a >> delete-from-server when the POP3 client fetches the mail (and the server >> should do some sort of secure scrub of the deleted file area on disk). >> That >> way the only mail that will ever be found on the server is the mail the >> user hasn't logged in to retrieve yet, or outgoing messages that the SMTP >> daemon hasn't gotten around to forwarding to the destination (and deleting >> once the receiving server ACKs the message). (This also reduces the >> storage >> needed by the server, and likely speeds access to mail if using MBOX >> format >> as it doesn't have to scan humongous files). >> > > Yes, but then the mail is on your computer, and the police can enter your > house and take it (but you can encrypt it on your computer). There is no > way to have 100% security against the police. > > Uri. > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAMQ2MsF73cgTQ-dyZ2thF%2BGsLqSjjAQDTDjo4OLbNY%2Bdid%3DLgg%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAMQ2MsF73cgTQ-dyZ2thF%2BGsLqSjjAQDTDjo4OLbNY%2Bdid%3DLgg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFWa6tLEOXZnAybQ38c%3DgWNAWGPEY2QeNc2nzxoQsj3x7VEkxw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

