Does plainText password over https remains secure when stored in the client.?

When setting Cookiee on the server with properties(httpOnly and secure=true), does that mean it will only be secured during the communication beween server and client, but not after that? In other words, if the value was originally in plainText -will it also be stored on the client side with plainText (after traveling with https ) -making it unsafe/vulnerable?

1) Do passwords needs to be always encrypt befors sending (even when using https)?

2) Where is httpCookiee (with secure=true) stored? and is this storage access is protected?

Answers


You probably don't want store the password.

What you need is store some "user is already authenticated" flag.

After all, you should learn about "digest access authentification". Storing hashed data is always plus.

This answer is too short, mainly bacause here is too much possibilities - and too much open questions.

Handling returning users:

You can manage (server side) an session database. in the cookie you storing only session ID. when the user authenticate itself, you're store into your server side database his status: "logged in". when he log out, you change in the DB status: "logged off".

Handling returning users has nothing with "storing passwords" in any way. You for example can authenticate users by external auth-services, like open-id, twitter, facebook etc., you're only storing his status by some session-ID or similar.

Browsers usually can store user-names/passwords, but this all time should be the user responsibility. When the user want only remeber his passwords, you should not store it in any way.

Why you want complicating your app and security mechanisms with storing encrypted passwords in cookies - what is not a correct solution - from any point of view?

Simple flow:

  • When an new user comes to your site - you assign him an new session-ID and store the SID into a cookie
  • when he login (via https) - you're store in your DB = "sessionID" -> "logged in"
  • when he return after a week, you can (server side) either accept his session-ID from the cookie - and from DB you can get his "logged-in" status, or, you can force login him once again (for example because of expiration)
  • all of the above is without any risk storing passwords in any way

1) I think so. Because even with secure flag, cookie will be stored in browser cache in plain text

2) It depends on browsers and OS. For Safari in Mac, you can find it in your ~/Library/Cookies/Cookies.plist You can see cookies with Secure flag but in plain text. It may be protected so only owner can see, but it never be good idea to have plain password anywhere in your computer


Once the secure flag is set to true, the cookie will be stored encrypted in the client even after the browser is closed. As you say it is unsafe/vulnerable.

Resp. 1) Passwords can be encrypted before sending using Javascript, but it doesn't make much sense because https is doing the encryption for you.

Resp. 2) The cookies are stored in the browser folder. Anybody can open the folder and see the cookies with a text editor.

The browser will handle the passwords for you. Just using a <input type="password"> and using SSL is secure enough. And, avoid at all costs storing passwords in cookies.


Need Your Help

Aligning checkbox text with checkbox with CSS

html css class checkbox fieldset

I have a fieldset in which I have some input fields and a checkbox. I have the problem that I would like to have a legend directly beside the checkbox. I made it visible on this link:

How do I get a button to align to the right in MigLayout

java swing miglayout

I am adding a button to a panel using Miglayout, and try what I might, I cannot get it to go to the right end of the panel. It insists on going flush left. Oddly, the demo is kind of short on such ...