Tag Info

Hot answers tagged

138

From a raw security perspective, your password is simply "A B C", and the relative strength of the password is calculated accordingly. From a user perspective, this is arguably too difficult to be usable. The server isn't giving any indication as to the current state (is it looking for the second password yet?) and therefore the user can't tell which ...


119

The system outlined in the question is actually weaker than simply requiring a single password of length A+B+C, because it permits a class of attacks that can't be used against single passwords: Say your three-password combination is E F G. An attacker can send the passwords A B C D E F G, making five attacks (A B C, B C D, C D E, D E F, and E F G) for the ...


36

I'm going to address a few points here. First off, assuming that the attacker doesn't know the password scheme is a bad assumption, and you're correct that it's security through obscurity. If every user can learn this login scheme, then the attacker can too. Because of that, the knock is no better than if there was just a single password ABC. You might ...


28

Yes: you're re-writing security here. There are already several password derivation functions that are known to work, the most well-known one being PBKDF2. Use that instead of your custom scheme. What you're trying to do is, in essence, salt the password (with a short salt) and store the salt value in the user name. It's not really much of an improvement. ...


27

Seed: Encryption is powered by random numbers, but how do you generate a truly random number? The current millisecond? The number of processor threads in use? You need a starting point. This is called a seed: it kicks off a random number. Salt: When you hash a string, it will always end up with the same hash. foo = acbd18db4cc2f85cedef654fccc4a4d8 ...


20

Look at the authentication methods for unlocking phones. On my galaxy S4, there are: Swipe (no security) Face Unlock (low security) Face and Voice (low security) Pattern (medium security) PIN (medium to high) Password (high) From personal experience, the face unlock is kind of hard. You have to train it, and then you have to stick your face in the right ...


19

It's security through obscurity -- if widely adopted, attackers will just try three times. At which point you might as well just have a single password but set a longer minimum password length to ensure it's as long as three separate passwords concatenated.


14

You don't mention what sort of service it's for, but as a user the least irritating auth method on phones for me is SSO. I'm already signed into Google & Facebook anyway, so typically it's just a case of pressing "Yes" and we're all done.


10

This is indistinguishable from your password simply being A || B || C.


9

Salts are not meant to be private anyway. They are meant to avoid dictionary / rainbow tables attacks on your hashes (see Why are salted hashes more secure? for more details). hashed_pwd = hash_function(salt + password) So using two salts serves the same purpose as using one salt. hashed_pwd = hash_function(salt1 + salt2 + password) If salt1 + salt2 ...


8

You shouldn't mess with the algorithm like this. I can't think about what the impact of this method is but it does scream insecurity. At the very least, it would allow an attacker to move roughly 256 times as fast since CRC is a relatively simple math function and then of course faster on the database part. You're a few whiteboard coding exercises away from ...


8

Two-factor auth is more user-friendly yet more secure. Without, one password is still hardly less secure than password knocking. An attacker who can find your password is likely to find out about your knocking scheme as well. Choosing to knock is like choosing an algorithm. Consider it public. Though passwords are security by obscurity, they can be ...


7

Your idea is sort of a hack. But if you are constrained by existing software, which requires the credentials to consist of only two fields, then it could be a suitable hack. If you are writing the client code and not subject to arbitrary constraints, you may be better off using three separate fields in order to make a clear distinction between the purpose ...


7

I do not know about any studies on this but there is a site called "Plain Text Offenders". This site lists other sites which show signs of plain text password saving (for example, they are able to send your password back if you ask for a new one).


6

If you have the user's mobile phone number (and if the user affirms during registration that this phone number can receive text messages), you can use this ability to enable 2-step authentication with SMS. Following successful authentication with a username and password, take one more step. Send the user a text message, by using the API to an SMS gateway ...


6

Your approach is very similar to the concept of salt in cryptography. Before talking about what is a salt, I assume that you, at least, are storing the hash of the users' passwords, and not the passwords in plain text. Otherwise, your solution is completely useless. A salt is simply random data that is used when hashing a password, for example, for storage ...


5

Your friend is actually justified in his confusion, because there isn't a big difference. At a high level, each is used as input to modify the output of a scrambling function. Try emphasizing the difference between a hash function and a random number generator, and what they are typically used for. Also, be able to distinguish between a regular random ...


5

The concept of port knocking does not really apply directly to logging into websites. At least not in the sense that you have suggested. With port knocking, you connect to different ports in a certain order to open the desired port. In your example, you are putting all the passwords into one site. As others have pointed out, this isn't really any different ...


5

Just a note: this methodology is already used in password-recovery schemes in some parts of the industry. If you forget your password, you can use your e-mail address to initiate a sequence of personal questions to recover your password (though many times it is just one question). It is made more palatable to the user, by usually limiting the context to a ...


4

The simplest terms I can think of: A seed is a random value which generally has to be kept secret or the encryption is broken A salt is a random value that is generally not a secret, which is used to make some precomputed attacks harder I like to use those because the idea of keeping things secret or not is something meaningful to anyone.


4

I would say yes. @Philipp does make some good points, but how many passwords would actually fall out if you remove keyword based sequences? Probably not enough to make any real difference (depending on how you actually filter, of course). The probability that such a password is generated is (probably) incredibly low (so another question is if it's actually ...


4

A good security scheme assumes that the attacker knows how you generate your passwords. When the attacker knows that your algorithm will never generate certain passwords, it won't have to check these, which reduces the workload they need to invest to brute-force. So it would be counter-productive to have such a restriction in your generator.


4

Your best bet might be to use the standard methods as mentioned in Ohnana's answer along a strong second-factor authentication using U2F. Yubico's YubiKey NEO allows secure TLS-channel second-factor authentication, even over NFC, if I remember the spec correctly. You're using a hardware security module, so this, combined with a strong inconvenient password ...


4

Your developer is trying to mix three different process into one: password registration, email validation and robot detection. Unfortunately, that makes the whole setup less secure and less resilient than it should be. Email is clear text and, nowadays, it pretty much guarantee to live forever and be included into several indexes and often kept for a long ...


4

Positive It would fool standard brute force attacks. Automated attacks from botnets or simple tools would not work out of the box. It might be possible to fool a keylogger this way. In the logs it would look like the user remembered the password on the 3. try. If the attacker uses this password it would not work. But only if he does not know or guess ...


4

PROS: This system does share some benefits with two-factor authentication. 1) Most browsers and password saving systems do not support it, so will remember only one of the passwords at most. So it at least won't be stored in plaintext somewhere. 2) People who use the same password everywhere will have to use at least two passwords which are not shared with ...


3

The second version of the website escapes single quotes to two single quotes. Is there a way I can log in as the user hello_world? Yes, because this kind of protection is not secure at all (I also would not call it escaping). Attack Imagine an attack like this: Username: hello_world Password: \' OR 1=1 # Which would be transformed to: ...


3

I upvoted Jeff's answer. Architecturally, you are better off creating some independent gate keeping functions that are tied to client address and which run when the client side login input screen is called. Keep this separate from your authentication routines. You can limit try rates or max tries before flagging the account in some fashion, and that does ...


3

Yes, you are correct, and yes you are missing something. Sure, you could easily increase entropy manifold by using a larger word list; you could also achieve that by using 8-word passphrases, or just using raw entropy bytes directly without the words. The entire point of that xkcd is balance. Balance between "enough entropy" and "easy enough to ...


3

You could utilize some form of near field communication. For example, write some tags that unlock the phone when the tag is tapped to the back. Another good thing to check out is Yubikey: https://www.yubico.com/products/yubikey-hardware/yubikey-2/



Only top voted, non community-wiki answers of a minimum length are eligible