Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Why any decent website doesn't know your password. (video)
dump.com ^ | 8-6-2014 | Tom Scott

Posted on 08/06/2014 7:24:21 AM PDT by servo1969

A brief introduction to password hashing for the uninitiated -- and why you should never trust a site that emails your password back to you!


TOPICS: Computers/Internet; Education; Reference; Science
KEYWORDS: computer; math; password; security

1 posted on 08/06/2014 7:24:21 AM PDT by servo1969
[ Post Reply | Private Reply | View Replies]

To: servo1969

You make a hash of the password and store the hash. Security 101.


2 posted on 08/06/2014 7:28:10 AM PDT by E. Pluribus Unum ("The man who damns money obtained it dishonorably; the man who respects it earned it." --Ayn Rand)
[ Post Reply | Private Reply | To 1 | View Replies]

To: E. Pluribus Unum
You make a hash of the password and store the hash. Security 101....... i don't know what you mean, could you explain?
3 posted on 08/06/2014 7:40:28 AM PDT by virgil283 (Life is hard .....its harder if you re stupid....John Wayne)
[ Post Reply | Private Reply | To 2 | View Replies]

To: servo1969

Nice explanation. Thanks.


4 posted on 08/06/2014 7:41:33 AM PDT by Dalberg-Acton
[ Post Reply | Private Reply | To 1 | View Replies]

To: servo1969

Thanks for posting. I had wondered about this issue. Had the notion that they somehow did not have your actual password. Now I understand.


5 posted on 08/06/2014 7:42:11 AM PDT by all the best
[ Post Reply | Private Reply | To 1 | View Replies]

To: virgil283
i don't know what you mean, could you explain?

A "hashing function" is a mathematical algorithm that converts an input string into some other form, often for ease of lookup. The most important element of password security for hashing functions is that they are one way, that is, you can't get the original string back out of the hashed value.

When you input your password, it is hashed and checked against a table that stores the hashed value of your password, and are allowed access if they match. But the hashed value can't be used to reconstruct your password.

6 posted on 08/06/2014 7:48:37 AM PDT by kevkrom (I'm not an unreasonable man... well, actually, I am. But hear me out anyway.)
[ Post Reply | Private Reply | To 3 | View Replies]

To: kevkrom

That is not really the whole story. If the hashing algorithm is known, and hackers steal the table of hashed passwords, they will often try hashing commonly used passwords and searching the table for matches.

In order for hashing to work, the hash for ‘test123’, ‘password’, and such commonly used passwords will always be the same. Hackers can take thousands of commonly used passwords, hash them, and get large numbers of hits on table.

The best way to avoid this is to salt the hash with something known only at the website. For example, I could take the first 3 characters of your first name, append the password to that, and then apply the hashing algorithm.


7 posted on 08/06/2014 8:01:41 AM PDT by proxy_user
[ Post Reply | Private Reply | To 6 | View Replies]

To: kevkrom

(I didn’t watch the video so excuse me if I’m making the same point)

A password should not only be hashed, it should be salted, if not salted it can be found out easily.

There are rainbow dictionaries published on the web that can “decrypt” a password.

Rainbow dictionaries work by hashing every possible combination of a set of characters.

Salting is a website adding a bit of data to the password to be encrypted.

For example:
ThisIsMyPassword

to salt it the website would add: %$&F to the password and encrypt it.

ThisIsMyPassword%$&F

I have even worked in a company where the hash was salted as well.

$password = ‘ThisIsMyPassword’;
$salt1 = ‘%$&F’; // Unique per user
$salt2 = ‘#$j@^’; // Unique per company.

$result = md5(md5($password.$salt1).$salt2);

The result would take a very very long time to try to decrypt with the rainbow method even if someone were to discover both salts.


8 posted on 08/06/2014 8:08:24 AM PDT by the_boy_who_got_lost (Real men scare liberals)
[ Post Reply | Private Reply | To 6 | View Replies]

To: proxy_user
Oh, there are definitely good hashin algorithms and bad ones. For password security, you want a cryptographically sound one. But in layman's terms, the idea works that my password might be (not actually, of course) "Freeper1998", which the hashing function transforms into some form of gibberish like "a#G32!n1". That hashed value is what's stored on the server, never my actual password.

Anyone who gets hold of the hashed value ("a#G32!n1") can't actually reconstruct my password from it, even if they know the hashing algorithm.

Now, a poor implementation that uses the exact same hash for all users, as you describe, basically becomes solvable like a cryptogram puzzle in a newspaper through the use of brute force and statistical patterns. That is, common hashes would indicate common passwords, and throwing the insecure passwords that unknowledgeable users often go with with will be enough to compromise multiple accounts. So a good hashing algorithm mixes in something else (part of the user id, whether it's the name or the internal ID number, for example) to make my "Freeper1998" hash differently from your "Freeper1998" even though they're the same password.

9 posted on 08/06/2014 8:10:17 AM PDT by kevkrom (I'm not an unreasonable man... well, actually, I am. But hear me out anyway.)
[ Post Reply | Private Reply | To 7 | View Replies]

To: virgil283

http://en.wikipedia.org/wiki/Hash_function


10 posted on 08/06/2014 8:32:37 AM PDT by E. Pluribus Unum ("The man who damns money obtained it dishonorably; the man who respects it earned it." --Ayn Rand)
[ Post Reply | Private Reply | To 3 | View Replies]

To: servo1969

Gibson has a 64 digit ultra high security free password generator. Hit refresh to see new strings.

https://www.grc.com/passwords.htm

Importantly, some of the security companies have been moving *away* from such high security codes, for no clear reason, limiting their users to as few as 16 digits, which relatively speaking, is easy to crack. Many websites allow no more than 8 digits, which is just laughable.

If you have any question about Gibson’s passwords, just changing a few characters in them should resolve any problem.


11 posted on 08/06/2014 8:39:45 AM PDT by yefragetuwrabrumuy ("Don't compare me to the almighty, compare me to the alternative." -Obama, 09-24-11)
[ Post Reply | Private Reply | To 1 | View Replies]

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson