4,075 reputation
1421
bio website
location
age
visits member for 2 years, 8 months
seen Oct 30 at 15:57

Sep
2
comment How secure is this method to remember security questions?
In Microsoft's "Membership Provider" framework, used for ASP.NET sites, it is hashed using the same salt as the password, but that's an implementation detail; the framework does not allow you to retrieve the answer and perform any custom comparison. The answer is submitted to the underlying provider, and you get back a result saying whether it matched. How a match is determined is left to the actual provider; a system could be implemented that can perform an approximate match (case-insensitive, spell-checked, heuristic), but there would have to be an alternate way to secure the answers.
Jul
23
comment Are password complexity rules counterproductive?
@grauwulf - the term is "Correct Horse Battery Staple" :)
Jul
23
comment How is Google Chrome managing authentication to sites?
Often, the server autologin is unique to a browser instance as well; the server sends a session token (completely unrelated to credentials) which it associates with the header information and source IP provided by the browser the user is logging in from. So, if that same token is provided from a FF browser when the user logged in with Chrome, or if the token's provided by a computer with a different source IP than the one used to process the login, the server refuses the request and invalidates the token. There are workarounds, but it's usually not so simple as copying a cookie.
Jul
23
comment Making a bitcoin-like secure mail protocol, how to tackle public keys?
The key data is the least of your worries. The number of files this system will maintain (apparently indefinitely) will grow in N*M fashion. Every node will be given every e-mail ever sent by anyone, and be expected to keep that file for some relatively long time. 10 users, whose computers are nodes in the web of trust, who each send an e-mail to all users (including themselves; what, you've never e-mailed yourself?), will result in 100 files stored on each user's computer, only 1/10 of which the user can actually do anything with. A web of hundreds or thousands would be unworkable.
Jul
23
comment What is a good analogy to explain to a layman why passwords should be hashed?
And I do understand the difference between sniffing encrypted traffic and listening on a compromised host. That's why the news stories flying round of the NSA cracking encryption algorithms is overblown; that's not what they're doing. However, if the attacker has a physical or electronic presence at your computer, you lose. That's day 1. Most attackers don't have this kind of access, and so failing to protect stored passwords just because one government entity has the possibility to see them transmitted is like not locking your front door because locksmiths exist.
Jul
23
comment What is a good analogy to explain to a layman why passwords should be hashed?
You assert it yourself, that if the attacker gets a copy of the database, they have your personal data whether they have your credentials or not. The implication you seem to ignore about your own statement is that they'll make a copy of it on their own system to analyze offline. Without having someone's credentials already, or at least a really good idea, the initial data breach is always read-only; you either sniff the data stream or lift the data store, given sufficient time they're identical, then analyze the data for credentials to get in and cause real damage.
Jul
23
comment What is a good analogy to explain to a layman why passwords should be hashed?
Wrong, wrong, wrong. The reason you have a password is to protect the ability to control your data. A database dump gives an attacker access to the information you have now. Plaintext login credentials give an attacker the ability to act on your behalf to change the data at will. Simply hashing a password isn't enough, however double-hashing is not unheard of (and the NSA's ability to sniff encrypted traffic is highly exaggerated). And you can tell people not to reuse passwords all you want; they still will, and it's still IT's fault if it was compromised.
Dec
16
comment Is my developer's home-brew password security right or wrong, and why?
@Muhd - The problem with your supposition is that both algorithms are designed to add a nontrivial but acceptable amount of time complexity to the calculation (and the amount of complexity can be varied to achieve this balance). Running them in series means that you either double the time a user must wait for a legitimate password verification, or the strength of each algorithm must be reduced by half. Complexity is the enemy of security; the more it interferes with the status quo, the more likely your system will be "attacked" by your own users.
Aug
20
comment How do WPS (Wi-Fi Positioning System) databases have the MAC Addresses of the networks?
In other words, if you don't potentially want the world to know your home WAP's MAC address, don't broadcast its SSID.
Aug
5
comment How can I identify my phone call is being tracked or tapped?
Unfortunately it may be that the first time you learn that the information is known to someone other than the other person on the call is when you hear it in court. Also, even without a wiretap, the other party to your call may be a mole.
Aug
5
comment How could I totally secure a connection between two nodes?
As @AJHenderson says, verification requires trust which requires verification which requires trust. At some point, the scope of this cycle must extend beyond the digital realm; the two parties to the communication must be given or specify some piece of information that only they can know, but which the other party in the system can easily verify.
Aug
5
comment How could I totally secure a connection between two nodes?
To create a channel over a public network, you must have already exchanged some data offline that can be used to validate trust in an online identity. You cannot build a secure tunnel from whole cloth; both sides have to be able to prove they are who they say they are. As for "external services", a web of trust doesn't require paying money for a third-party certificate, but it does require at least two people to meet offline and digitally sign each others' keys before taking them back to install in their cert stores.
Aug
5
comment How could I totally secure a connection between two nodes?
Perhaps some clarification is needed. It sounds like you want two nodes to be able to communicate securely from the first byte, without a third party being able to decipher anything sent between them, nor being able to impersonate either of them. Is this true?
Jul
24
comment Store private key on server, then use k1 to log in, k2 to verify HMAC and k3 to decrypt private key
The only key you have to store long-term is your own. While availability (being able to use that key from other computers) might be nice, it has its own security concerns such as having your key installed into the certificate store of a shared computer.
Jul
24
comment Store private key on server, then use k1 to log in, k2 to verify HMAC and k3 to decrypt private key
If you don't know whether your intended recipient uses PGP, then you can't use PGP. In order to encrypt the message properly, you have to know (and trust to be correct) the recipient's public key. The message is encrypted symmetrically with a random key, then that key is encrypted asymmetrically with the recipient's public key, and then the entire thing is digitally signed with your private key. The recipient can then verify you sent it by checking the signature with your public key, and is the only one that can decrypt the message key using their private key.
Jul
24
comment Is it acceptable to generate salts with a hash of the username?
Yes. Each new hash should have a new salt, otherwise by cracking one hash and saving all previous attempts, you now have a rainbow table to start with for all future password changes by that user.
Jul
24
comment Store private key on server, then use k1 to log in, k2 to verify HMAC and k3 to decrypt private key
This is why PGP implementations typically stand alone; if you could trust your e-mail server to secure your messages properly, you wouldn't need PGP. Giving your PGP private key to the e-mail server for safe-keeping, even encrypted, takes the responsibility out of your hands.
Jul
24
comment Store private key on server, then use k1 to log in, k2 to verify HMAC and k3 to decrypt private key
Well, the server could still hash k1 again and store that, meaning that an attacker could obtain a list of usernames and k1 hashes and still wouldn't have what they needed to obtain the rest of the data via the service endpoint. If you can't trust the server, you lose; if the server's owner goes over to the dark side then social engineering is trivial, because the guy calling you really is the person who should be resolving any user login issues.
Jul
16
comment How to protect against “padding oracle attacks.”
Oracles get their name from exactly what I describe. I tailored the cryptographic definition towards a malicious attack, but white hats and other good guys can use oracles just as effectively for benevolent purposes, including the intended purpose for a particular security scheme.
Jul
16
comment How to protect against “padding oracle attacks.”
Well, oracles don't just give pass/fail results. The "random oracle" is another useful conceptual oracle, which takes in messages and produces random numbers that are always the same for a given message but never the same for any two different messages. This is the conceptual idea that we simulate with hash functions. We don't know how it's done (in fact we cannot achieve such behavior computationally) and don't need to know; all we have to know is how to use it.