3,686 reputation
1419
bio website
location
age
visits member for 2 years, 1 month
seen Apr 14 at 21:45

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
revised How could i totally secure a connection between two nodes?
added 78 characters in body
Aug
5
revised How could i totally secure a connection between two nodes?
added 78 characters in body
Aug
5
answered How could i totally secure a connection between two nodes?
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?
Aug
2
answered Modes of Attack on Time-Bombed Password
Aug
2
revised Is a self-signed SSL certificate much better than nothing?
added 190 characters in body
Jul
24
revised How to implement a Web of Trust?
added 113 characters in body
Jul
24
answered Pros/cons of using a private DNS vs. a public DNS
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
24
answered Store private key on server, then use k1 to log in, k2 to verify HMAC and k3 to decrypt private key
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.
Jul
16
revised Can unencrypted keys & logins be kept out of program memory?
added 843 characters in body