1,487 reputation
1613
bio website martinstoeckli.ch
location Switzerland
age 41
visits member for 2 years, 6 months
seen 12 hours ago

I belong to the lucky people, who can combine job and hobby, in my case writing software. Coming from the Delphi world, i'm working more and more with CSharp and use PHP for my spare time project, an internet lost-and-found office.

// Don't tell people not do something, explain the reasons and let them think for themselves.


1d
comment What are the differences between dictionary attack and brute force attack?
Most password cracker tools offer hybrid modes, where they prefer words from a dictionary, test variations, and finally test with brute-forcing. So you cannot always distinguish between the attacks, have a look at the attack-modes of hashcat for example.
Sep
13
comment Is my custom password hashing algorithm insecure?
Another thing you gain is convenience, the password_hash() function will pack all necessary parameters into the resulting hash-value (salt / cost factor / algo). This string you can store in a single database field.
Sep
10
comment Is there a brute-force attack similar to what they demonstrate in movies
Ahh yes, i just ignored that part, you are right then.
Sep
10
comment Is there a brute-force attack similar to what they demonstrate in movies
@sq33G - Timing attacks are very unlikely, because you would measure time differences comparing the hash and not the password itself. Have a look at this question.
Sep
10
comment Is there a brute-force attack similar to what they demonstrate in movies
Assuming that the password is hashed with an appropriate algorithm, you could only measure time differences comparing the hash, not the password, so you get no useful information.
Sep
3
comment How to avoid session fixation (Login CSRF) by MitM attack without HSTS?
What you are describing is SSL-strip. The problem is, that the server cannot detect whether the page was requested by the user or by a MITM. Even if there would be something like safe cookies, the MITM could transform them to normal cookies easily.
Jun
24
comment Aren't password managers still incredibly risky?
Passphrases are very strong passwords and are not difficult to memorize.
Jun
18
comment Can HSTS be defeated?
It depends entirely on the implementation of each browser, how the header is handled and stored. But i would be surprised when clearing the headers would be accessible by a script.
Jun
12
comment is it illegal to share customer credit card data
As far as i know storing credit card information requires to comply with the PCI standard. I'm pretty sure that after reading the requirements, your customer will reconsider implementing this feature.
May
27
comment Who can carry out Man-in-the-Middle (MITM) attacks?
If you have the time, then have a look at Moxie Marlinspikes video about SSL-strip. He talks about setting up a public WLAN hotspot for demonstration.
May
1
comment Password Hashing Without a Unique Salt
Whether your hashing scheme is sufficient you will find out as soon as your hashes where stolen, then you will have to contact your customers, and tell them that unfortunately their passwords are not well protected. I cannot imagine a modification so huge, that it is worth the risk. Every hashing scheme must be able to change to more secure standards from time to time, this is not only a one time job.
Apr
26
comment How to apply a pepper correctly to bcrypt?
@Powerman - It is surely a good idea to ask the users for strong passwords, but unfortunately it's not under your control. The password "Password-2014" will pass most checks, but is not very strong. As for SQLi, SQL-injection can be prevented easily with parametrized queries, only third party libraries are a problem. Reading files from the server with SQL is even much more difficult and works only with certain database configurations, so in my opinion encrypting with a server-side key should be done in any case.
Apr
25
comment How to apply a pepper correctly to bcrypt?
@Powerman - The purpose of the key is, that the attacker needs to gain additional privileges on the server (he needs the key, the database alone won't do), not to make the hash more safe (this is the job of BCrypt). Of course if the encryption is done wrong you may get the hashes, that's what Thomas mentioned, but this is a question of using a good library. The advantage is, that you can exchange the key whenever you have need to, even periodically. Another discussed point is, that you do not interfere in any way with the hash algorithm.
Apr
25
comment How to apply a pepper correctly to bcrypt?
@Powerman - The pseudo code is based on the PHP implementation of the hash_hmac() function.
Apr
25
comment How to apply a pepper correctly to bcrypt?
@Powerman - There is a better way to add a server side key to the hash, i updated my answer to point it out. Doing it this way you cannot decrease security, because in the worst case an attacker just gets the original hashes. I wrote a tutorial about safely storing passwords, where i tried to describe it more indepth.
Mar
26
comment When and where do I hash a password?
The answer of this question Why is it not standard practice to run password-based KDF's client-side also explains pros and cons of client side hashing.
Mar
22
comment Why use PBKDF2 over multiple iterations of a another cryptographic hash function?
Could you explain why you think that PBKDF2 is superior to BCrypt?
Mar
21
comment Why is it not standard practice to run password-based KDF's client-side?
@xkcd - What Levi tried to explain is, that it is absolutely safe to store an unsalted non interated hash, if the "password" is strong enough. Salting and key-stretching is necessary, because people choose relatively weak passwords, which they can remenber. The output of a PBKDF2 on the other side is a very strong "password", and can be hashed with a hash algorithm like SHA512 even without a salt.
Mar
21
comment Why is it not standard practice to run password-based KDF's client-side?
@xkcd - If you had calculated a server side hash, then even with the hash-values (from SQL-injection for example) you could not login. If you store the client side hash directly, you can login as soon as you know the stored hash-values.
Mar
12
comment Relationship of password strength and key strength
@user1066616 - Actually a key derrived from a password, cannot become more secure than the original password (same number of tries). As far as i know, the only advantage to generate a key is, that a slow key-derivation function will slow down brute-forcing a lot.