The habits of practically unhackable people
digitalsecurity.intel.com
digitalsecurity.intel.com
Yeah, definitely the people I want to talk to about security.
In Chrome "https" is red and struck out: digitalsecurity.intel.com Identity not verified
$sslscan digitalsecurity.intel.com|grep -i acc
Accepted TLSv1 128 bits RC4-SHANo-one who runs a server which only accepts RC4 (!!) with no forward security, and SHA1 signatures, in 2015, should be giving security advice.
My daily driver browser has RC4 entirely disabled. This is one of the more amusing won't-connect sites I've found.
Firefox cannot guarantee the safety of your data on digitalsecurity.intel.com because it uses SSLv3, a broken security protocol. Advanced info: ssl_error_no_cypher_overlap
For some reason, many sites, including amazon recommendations, fail to support 256 bit ciphers. I don't understand why.
I assume you mean AES-256 vs AES-128. If a site is preferring AES-128 ciphers (particularly in combination with other modern cipher suite choices (ECHDE, SHA2, etc)) that's actually a pretty good indication they know what they are doing.
AES-256 offers no practical advantage over AES-128. There are no known practical attacks against AES-128, and stretching the key to 256 bits just wastes CPU cycles.
In fact, most of the attacks out there that weaken AES to any meaningful degree are those that attack the key schedule used in the 192 and 256 bit versions.
tl;dr; Save the planet. Use AES-128.
I'm running Firefox 36.0.4 on OS X 10.8.5. I see a "grey warning triangle" using Mozilla parlance. Clicking on that says "the connection to this website is not fully secure ...".
Firefox refuses to show me Intel's certificate at all. It does say "This website does not supply identity information".
How is an average user to know what to do if even a single application, e.g. Firefox, presents different messages to different users? IMO the message you received: "cannot guarantee the safety of your data" is much different than the one I got: "not fully secure". So which is it, and what is the difference?
Bah. Right now I switch to a separate OS X user for my banking and credit card sites. But it's probably better to devote an entire computer (not a VM) to access just those few sites. It's 2015 and things are worse and more confusing than ever.
http://i.imgur.com/tZ3IcwJ.png
The left side is what the app picks up as the text of the article. The right side is the page itself loaded in a browser, after it has finished loading all of the scripts and automatically scrolled itself past some contest thing.
I'm on a dual-core Atom with 2GB of RAM and the site lags the entire thing. I mean, it's not as impressive as if it were the latest MacBook like some sites lag on, but still. Pretty shitty.
Very odd. I'm using Chrome with chrome://flags/#ssl-version-min set to TLS 1.2, and I can connect just fine, although the certificate is signed with SHA-1.
Recall RC4. We now consider it broken. But it is still allowed on many servers, and even on 34.0.5 Firefox.
I agree, when one goes to disable legacy functionality, one should be prepared to suffer consequences. That's why my original question was "why".
Anyone who prefers AES-256 over AES-128 should take a basic cryptography course.
In fact, there are _more_ attacks against AES-256 thanks to the extended key schedule.
I disabled RC4 long time ago.
I had to replace my debit card this week because somebody halfway across the country tried to use it to buy $400 in gas. They probably bought it from one of the usual black markets, who acquired it from Lowe's, or Jimmy John's, or Sony, or god knows who else got hacked this week.
Very nice if so!
On the habits of practically unhackable people indeed.
> sufficient for most things on unsecured connections
WPA2 + good TLS encryption (i.e., good cyphers) should be.
Just curious about your reasoning for why TLS alone isn't sufficient.
But also, there are plenty of sites around with broken TLS that can be intercepted by a man in the middle.
http://torrentfreak.com/which-vpn-services-take-your-anonymi...
The comments are probably as useful as the main content.
Personally I use AirVPN. They're not expensive, the client is open source, and performance seems good enough for casual use.
I'm not sure I'd trust any of the usual VPNs if I needed Snowden-level security. But I don't, so casual use is fine.
More in this thread: https://news.ycombinator.com/item?id=6345520
Not affiliated in any way, just a happy customer.
https://www.digitalocean.com/community/tutorials/how-to-set-...
I usually use my google account to login to websites I care about (most sensitive websites I know provide this facility) and moderately strong but easy to remember passwords for non-critical websites that don't provide OpenID (e.g. a forum I never consult).
Of course I have 2FA on the google account and I feel rather safe.
Should I be worried?
The basic overview of how OpenID works is here: http://openid.net/pres/protocolflow-1.1.png
So if I understand this diagram correctly, you connect to the server that you want to log into. It determines whether or not you are authenticated (probably through cookies). If so, it redirects you to the OpenID server. The OpenID server checks your credentials and returns back to the original server. The diagram does not specify, but I'm guessing the OpenID server has a session cookie for your credentials so that you don't have to log in over and over again.
So what are the downsides?
1) The server you want to log in to knows about your OpenID. In other words they can potentially identify you and track you (possibly with the help of Google). 2) The OpenID server knows which sites you are going to and when you are logging into them. It can track all of your movements. I think it would be naive in the extreme to assume that Google does not do this ;-) 3) Without knowing more details I couldn't say, but I suppose it might open you up to Cross Site Request Forgery style attacks. My experience with Google code in this respect is that they are usually extremely thorough about this sort of thing, so I think this is unlikely on the OpenID side. In my sleepy state, I can't really think clearly enough to imagine whether or not there are ways to screw up the code in the server that uses OpenID, though.
My employer loves Google and we use a ton of Google services. I am lucky enough to have incredibly technically competent management and they understand the tradeoffs of having Google track everything we do. Because of that, I use OpenID for any other external service that my employer mandates/approves of. I'm pretty careful not to go to OpenID authenticated sites by clicking on links and open them directly, so I feel confident that I can avoid CSRF attacks even if they could be done.
I do not use OpenID for personal use. My employer may be happy to have me daily work activities tracked by Google, but as a private individual, I don't really want that. I use an offline password manager: http://www.passwordstore.org/
from passlib.utils.pbkdf2 import pbkdf2
def gen_password(master_password, domain, n = 0):
thehash = pbkdf2((master_password + "/" + domain).encode('utf-8'), b'', 100000 + n, keylen = 16)
return base64.b64encode(thehash)[0:12].decode('utf-8') + "$1Aa"
I welcome any comments on the security of this scheme.My take on password generation is even more straightforward:
% head -c 9 /dev/urandom | base64
Then whatever comes out, I store on an encrypted volume - so effectively I do have a master passphrase but none of the login credentials are derived from it. For sites that I think require even more entropy, I'll just bump up the number of bytes read. (98 = 72 bits of entropy, 128 = 96 bits)I haven't yet found a password manager I truly liked.
EDIT: you do realise you are capping the entropy of your per-site passwords at 72 bits? It's more than enough against all practical brute force attacks, but it also means that any entropy in your master key above 72 bits is effectively lost.
Yeah I realize it is being capped at 72 bits -- the main reason is that I've seen a bunch of websites that don't allow passwords longer than 18-20 characters or so. :-/
Source?
But to give some substance to the claim, the speed record for single-system password hashing in 2012 was ~350GH/s [0].
Let's assume that in 2015 a single system is capable of doing 1TH/s, or ~1000GH/s. So, 10^12 password attempts per second. An attacker, who is not a nation state, should be expected to have access to maybe 400 such systems. But to make this conservative, let's assume they have 1000 such systems. So, the attackers should be able to reach 1000 TH/s, or 10^15 attempts per second.
10^15 =~ 2^(15/0.301) =~ 2^50.
Hence, a determined attacker with finite resources has to do, on average, 2^31 seconds of work to brute force a password with 72 bits of entropy. 2^31 seconds is roughly 68 years.
That in turn means that there are lot of lower hanging fruit to pick before even thinking of expending resources to brute force passwords with 72 bits of entropy.
On the other hand, the resource requirements are getting awfully close to the realm of feasibility, so 72 bits might not be sufficient for long after all...
0: http://hackaday.com/2012/12/06/25-gpus-brute-force-348-billi...
Every new sensible implementation of password store is using either bcrypt, pbkdf2 or scrypt.
I picked the lowest common denominator because it caters for the worst case scenario. Systems where passwords are improperly hashed are quite likely to have other security problems too. And as such are more likely to get breached, whereby their password store is lifted too.
I was off by 2^10. For some reason I kept thinking the 72 bits as 82 bits. You can even see that from the numbers!
So yes, 72 bits is not enough anymore. I stand corrected. New ballpark figure for sensible security margin should be 96 bits.
Also, as far as closed vs open source: http://keepass.info/
Also, it seems safer to write down your passwords. I mean, someone might physically take it, but that seems less likely than someone digitally taking it.
- Have a dedicated email password that is different from every other password you use.
Let's be honest: You should have different passwords for every site, and you should use strong passwords and a manager, but you don't because you're a normal person. At the very least, be pragmatic and have an email password that's separate from every other service password. The idea being, if your random-service-you-signed-up-for-once.com password gets hacked, and your username was your email address, the first thing an attacker will try to do is use that password on your email. So have a strong email password and trust that your gmail account is less likely to be hacked than your random-service account password.
I still have my email passwords memorized, though.
This is honestly the best service I've ever paid for. It has never failed me, and it substantially improves my life.
I wish they would integrate with iOS8 Safari as an extension.
They don't seem to realise though that their usual approach of sharing passwords over email, using the same password for several logins so it's easy to remember and using easy to remember passwords in general is much more insecure.
Services like LastPass make it practical for you to use impossible to guess passwords, different passwords for every site and let you share passwords securely.
I'm surprised Google hasn't built it in to Chrome yet.
I'm not willing to load a proprietary blob that actively manipulates the dom and passwords every time I visit a page.
1 - use an iphone for all banking. It's the single hardest system for someone to install spyware on: they are more careful about which apps are in their store than android, and the apps are more isolated. Android apps often have spyware; android install prompts on websites are super sketchy (and cover 1/4 of the screen, perfect to trick older or unfamiliar users into installation), and the permissions are far less granular. Windows is a disaster for secure computing, from viruses to "install this to get 500 smiley faces" to flash with monthly zero-days to fake software installs advertised via google sem.
2 - use gmail, and use 2fa
3 - pay the $30 for the hardware login tokens for your brokerage (and ideally, banking) account
4 - don't use any wifi except home wifi; just use wireless
5 - NO, your friend/cousin/grandchild is not stranded in an airport in Europe
And, depending on how un-savvy you're talking about, I'd recommend just doing internet banking at your local bank. Just set all regular bills on auto, and configure your account to text you if something unusual happens (like your current account is running low). Then you should only really need internet banking a handful of times a year.
I realize that opinions on this differ, but I think that automatic bill payment is a horrible security practice.
Just last week I was paying with credit card in which the merchant punched in $5504 by accident instead of $504. Had I not noticed it right away, at least I'd get another chance to correct the error when my credit card bill arrived. With auto-pay, my bank account would have been emptied.
What would you do if some sort of auto pay error emptied your bank account? These things take time to resolve. What if it's a weekend, or a holiday, or you're traveling overseas, or the entity that caused the problem is on strike, or they want a written dispute from you?
Also, I started from the assumption of a non-technical person with "simple finances", so no credit card.
I also am not holding my breath for even the software 2FA since quite a few of my financial institutions won't even let me use punctuation in my password. Yes, the irony of implementing 2FA lowering the risk of a simple password isn't lost in me.
I'm amazed that people favor remembering passwords over using a password manager. With Firefox Sync, or the Chrome equivalent, you have your browser remember the password, every other browser you use syncs with that so it has the password, and you never need to have it memorized. The only thing that's missing for better usability is a built-in "generate and use a random secure password" mechanism.
If it doesn't sync, that means I can only get in from one computer, which is occasionally inconvenient.
So I keep my passwords in my brain, which is always with me, or at least with me at all the times when I might need to use a password.
For Firefox Sync, that entire list is encrypted using a client-side key in your browser, and the server has no access to the cleartext.
So for Facebook it can be "MYPASS" + "FACE"
And then it's easy to remember. Also you can substitute the first letter which allows it to a number or so
But if you were individually targeted i.e. a human attacker is looking at your password, your algorithm would provide access to many of your accounts with little effort.
I used to use this solution, btw, but have now gone to a unique, complex password per site with a password manager.