Are Usability & Security Opposites in Computing? 253
krozinov writes "Instinct tells us that computer security and computer usability are inversely proportional to each other. In other words, the tougher and stricter the security is, the less usability there is, and vice versa. However, there have been plenty of cases where both computer security and computer usability went hand in hand with each other and actually improved together. In the last few years security has been the biggest buzzword in computer systems and as such has become part of our computer systems. Before that, computer systems were all about getting it done faster and easier, but now they must also do it securely. Can the two continue growing together? This paper argues that it can, as evident by the most recent Indian Assembly Election."
Of course not. (Score:5, Funny)
No, I call that bad intuition. (Score:5, Insightful)
Its kind of like welding car doors shut and calling it more secure. It is until people start entering through the windows on a daily basis.
Just look at CD copy security measures that get cracked in minutes because they interfere with useability.
Re:No, I call that bad intuition. (Score:4, Funny)
Re:No, I call that bad intuition. (Score:2)
Re:No, I call that bad intuition. (Score:4, Insightful)
1. You touch a computer, it knows who you are by some mystical means and grants you access.
2. You don't need to remember anything. No passwords, no voice print, no finger print, no retinal scan, nothing. It just knows who you are.
3. Once it's determined who you are, then it knows what you are allowed to do.
What is needed is an authentication mechanism that works in the same way that we "authenticate" our friends and family to interact with us. If you see your wife, husband, girlfriend, boyfriend or child, you have a predfined "access list" that allows them access to your resources. The authentication is that you know your relationship to them. A girlfriend or boyfriend may allow sexual contact with their partner that they wouldn't allow to their child or parent. Pretty basic, but that's what most people (deep down) want from their machines. (No. Not the sex you idiot, the access to a resource) Until machines can actually recognize us (which probably won't happen until they know themselves), I think we're going to have this usability/security problem.
Re:Of course not. (Score:2)
It can be related to a Johari window [wikipedia.org].
There are applications that are
Re:Of course not. (Score:2, Interesting)
Re:Of course not. (Score:2)
I'm not a Cockney, but I play one on the Telly.
My Soapbox (Score:5, Insightful)
No matter what the password policy eventually users will need to have a password reset, each time is a cost on the tech support system. Proper security whould have a security officer phyically identify each user before reset but that would be costly, so they instead ask a couple of profile questions. Which open up social engineering issues. So generally, the harder your password policies are, then the easier your reset policies need to be, (unless cost really isn't an issue).
Re:My Soapbox (Score:2, Interesting)
Just a thought.
But you are totally correct in that conundrum!
Re:My Soapbox (Score:2)
Re:My Soapbox (Score:3, Insightful)
Re:My Soapbox (Score:2)
Re:My Soapbox (Score:2)
by saying: You can check the hash value of the new password to the hash value of any old passwords
Now, I've only taken a few CS classes, but my understanding is that a *good* password hash should yield very different results for similar passwords. It seems that if you can see the similarities between "Password" and "pASSWORD" in your password hashing algorythm that it's not a very good hashing algorythm.
Re:My Soapbox (Score:4, Funny)
Re:My Soapbox (Score:2, Insightful)
Its when we force them to remember several user/passes that they get into trouble. Especially if the systems all have different password policies and/or naming conventions.
If only there were a true, inexpensive, and easy to setup/maintain single sign-on solution.
Re:My Soapbox (Score:2)
Also,
Re:My Soapbox (Score:4, Interesting)
Those gadgets are a nice idea, but I'm not sure that they would fly (yet) with the administrators.
Re:My Soapbox (Score:2)
Re:My Soapbox (Score:5, Interesting)
Of course, the security buffs in the audience just stood their chairs back upright, brushed off the cheetos dust from their pants and are preparing to roast me over a slow fire for public stupidity. Let me explain.
I tried using a password generator called mkpasswd that comes with expect. I thought it generated great passwords because they looked impressively secure. Then I did the math... ulch.
This was my introduction to a concept that I later read about in many places, including Applied Cryptography: the human's ability to judge secure from insecure is based on pattern-recognition. If you generate passwords or other tokens that don't match a pattern that the brain is used to, it looks "obscure", and that maps in most people's minds to "secure"... wrong.
This program generated a 9-character password (sounds good) which had to contain at least one punctuation mark and 2 digits... Prolbem is there are only 10 digits, and just a handful more valid punctuation marks, so searching all 9-character passwords that contain 2 digits and a punctuation mark is orders of magnitude less work than searching all possible 9-character passwords. The result was then limited further to the requirement of 2 upper-case letters and 2 lower-case latters. Well, there goes the farm! It turns out that the result is easier to crack than a random sequence of alpha-numerics with no punctuation (and only slightly more secure than an 8-character sequence of random alpha-numerics)!
So, I began doing some research on techniques for generating things that would look insecure (i.e. are memorable), but would actually be more secure than mkpasswd's approach. I found several approaches, and eventually came up with several of my own over the course of about 8 years. I now use a set of about 20 patterns which are permuted into slightly over 100 patterns including pseudo-word generation, permutation and combination of english words and so on. Each pattern maps to at least 1x10^13 possible passwords, and usually much more.
I've also added various strictness settings where the top 1% or so of crackable passwords are eliminated from the result space (this is tricky, as removing too many possible results is just as bad as having a weak pattern).
I now generate all of my passwords this way, and in reviewing what I used to have for passwords before, I have to say that my passwords are certainly more difficult to crack now (of course, part of that is that I use longer passwords now that MD5 passwords are fairly universally supported).
Re:My Soapbox (Score:2, Insightful)
You, sir, are probably an idiot.
Your idea is interesting and overall it sounds sensible, but unless others poke and prod at the exact details, you'll never know if your passwords really are secure or not.
Re:My Soapbox (Score:2, Insightful)
I Am Not A Crytography expert, so I was just wondering if you could explain further why *excluding* punctuation and numbers was harder to crack?
If you didn't know *which* characters were letters, numbers, or punctuation, wouldn't that mean instead of just trying 26^10 combinations, you'd be doing (26+10+punctuation?)^10?
On the other hand, I do definately agree that having more memorable passwords (usually pronounceable), definately pays off, as while there's a higher probability of vow
Re:My Soapbox (Score:2)
Re:My Soapbox (Score:3, Funny)
I, myself, developed a secret technology that would generate passwords that are mathematically proven to be very difficult to "crack" yet are exceptionally easy for the user to remember.
I based the approach on the proven techniques of phrenology [wikipedia.org], which allows me to map out certain neural pathways for each user. Based on this, I use an obsure corrolary to the Prime Number Theory to generate a secure
Re:My Soapbox (Score:2)
Feel free to use it wherever and whenever you want. I've also ported it to Javascript [movetoiceland.com]
Re:My Soapbox (Score:2)
My response to something like that would be to forget my password every few days. You see, I have about 15 passwords for various things, and I already use a spreadsheet to track them. Oh well.
No. (Score:4, Informative)
Take pgp and email. There are TONS of plugins for various emali clients to support signing and encrypting email. Yes, encryption can be broken someday, it's true, but if someone made a plugin that bumped it to 16k keys, it's easy and fairly secure. If people are further educated and enforcfed to not share their password and private key, it's quite possible.
If you make a system that requires dozens of passwords to do things, duh, people will reuse their passwords or make they simple, or worse yet, put them on their monitors.
Re:No. (Score:2, Insightful)
Re:No. (Score:4, Insightful)
Re:No. (Score:2, Insightful)
Re:No. (Score:2)
I raised my hand and said "Under their keyboards."
Re:No. (Score:2)
Re:No. (Score:2)
A great example. Let's take PGP. It's been available for over a decade. It has been fully integrated (directly or via plugins or scripts) for years. Yet how much do you see it? And of those you do see using it, who are they? In my experience, it is a small subset of technicaly knowlegable individuals or small groups that require encryption and have been told to use PGP. PGP is not us
Re:No. (Score:2)
The reason most people don't use encryption is because they feel it is not needed for most of their mundane communications.
Whether in computing or in the physical world, added security is increased work which will only get done when there is a perceived need for it. I remember when I was a youth, we and most neighbors NEVER locked the door on their house where we lived in Palo Alto CA. It was not needed and nothing was ever stolen. Today that is not possible, because pe
Feature Creep (Score:5, Interesting)
Most people forget that computers should only have one button. It should be marked "do exactly what the user want me to do," and it should do exactly that. Unfortunately, many systems are not designed from the viewpoint of a new user, but rather the professional user who created the system. There are five or six areas where a command can be found in the windows Explorer interface, and a given command can be in one, two, or all of them. Very occasionally, a command will only be available in the help file. sKill is far more usable than Kill -3.14159265, yet is no less secure. If end-users couldn't see what they couldn't access, they would have a much less cluttered interface and less obvious routes of attack.
Re:Feature Creep (Score:2)
You could say the same thing the other way round. Most systems these days are designed for the new user without giving much thought to people using the system while knowing what they do. One extreme example is the whole windows configuration infrastructure with the options dialogs and the registry. It is a relatively easy way to change settings the first time but after you
Re:Feature Creep (Score:2)
You know... (Score:2)
As far as the main point, I'm not sure how newsworthy it is. But it's certainly news to the admins here, who are convinced that more, longer, more complex, more frequently rotat
Not sure this article has a good starting premise. (Score:4, Insightful)
I don't think this is particularly true. In all walks of life, if something is more usuable, then it tends to be more secure, if only because if it is easier to lock something then people are more likely to lock it.
If it is easy to use the security features on a computer, people will. A lot of home routers tend to be left in an insecure state simple because securing them is too complicated and it is the type of task that can only be done if you already know how to do it.
I would be willing to bet that if you did a survey of the broadband routers installed by 'normal' home users, the ones with the highest usability of the firmware, would also tend to be the ones that have been scured the most.
Re:Not sure this article has a good starting premi (Score:3, Insightful)
Re:Not sure this article has a good starting premi (Score:3, Insightful)
Re:Not sure this article has a good starting premi (Score:3, Interesting)
I realize this wasn't meant to be about politics, but the topics are connected. When you
Re:Not sure this article has a good starting premi (Score:3, Interesting)
This is obviously a simplification, however there's a lot of truth to it. For example, at some level, any form of authentication is going to degrade privacy at some level.
It certainly doesn't (Score:5, Interesting)
I couldn't agree more. In fact, I'd go as far as to say that usability is a necessary minimum requirement for security. After all, a very large proportion of attacks succeed because of a simple human failure, not an electronic one.
For example, if banks would stop constantly requiring me to remember seventeen different ID numbers, "memorable" words and phrases, I might notice the e-mail they send out reminding me not to give out my PIN number to anyone else.
On a more techie level, languages where it's easy to code properly make careless errors like allowing buffer over-runs or SQL injection less likely.
At the heart of good usability are principles like KISS and not giving the user unnecessary chances to go wrong. These don't exclude giving the user power, but what better partner for keeping a user safe than not giving them silly chances to do dangerous things?
Re:It certainly doesn't (Score:2)
Re:Not sure this article has a good starting premi (Score:2)
Re:Not sure this article has a good starting premi (Score:2)
Ever fumble with keys while trying to get groceries in through the front door? How about trying to get in your car during a rainstorm? Ever realize that you've forgotten or lost those keys? These are examples where increased security decreases usability.
That doesn't mean a secured syst
Re:Not sure this article has a good starting premi (Score:2)
The inverse relationship between security and convenience applies to all areas of life, including computers. The goal is to make the security sufficient for the need with minimal increase of work, but there will always be SOME extra work for more security. There is no such thing as a free lunch in security. Someone has to do extra work and it usually is the person needing access to the computing resources. The more valuable the thing being pro
people don't understand a little complexity (Score:5, Insightful)
The hassle of viruses, worms and other crap which appear on people's machine causes many usability problems in my book. The more maintenance you need to do on a machine the less usable it is. A windows machine needs plenty of work to keep up with updates, spyware, adwares and viruses. On the other hand the OS which doesn't execute things automatically when you visit a web site doesn't require as much maintenance.
I always use the analogy of cars. Cars have locks on their doors, then you have to use your key to turn the motor on. Now imagine cars without locks on their doors. One less hassle in the way of doing what you want right? How about no keys to turn on the car. It automatically turns on when you put your seat belt on. Wow! What an amazing car!! Guess what though? That type of car wouldn't stay in the driveway for very long. Well a Windows computer is that type of usable car that doesn't stay in your driveway for very long. Linux might ask you to put a key in the door and turn the engine on with that same key but at least it's still in the driveway when you need it.
Re:people don't understand a little complexity (Score:2)
car metaphore (Score:2)
Its like you are lying on the ground on front of my car comparing something in computing to cars and I drive over you.
Re:people don't understand a little complexity (Score:2)
Re:people don't understand a little complexity (Score:2)
Re:people don't understand a little complexity (Score:2)
Aehm, so what? When you remove the automatic loading people will click the link, press the "Open" button and then get the possibily evil
Hate to debunk your analogy... (Score:2)
Folks, this is security by obscurity at its finest. If cars came default with this behaviour (analogous to windows), I'd take more care in going through the hassle of securing my car. That is to say, if automotive hooligans could rely on a significant population of cars to be that easy to acce
Usability? How about accessibility? (Score:5, Insightful)
Architecturally, it is generally accepted that the security of a building is opposed to it's accessibility. Take for example a grocery store. The ease with which customers can get in and out is directly related to how easy it is for the place to be robbed. Movie theater design is similar.
However, usability overcomes some of these problems by making entrances obvious, door opening automatic, lighting bright, etc. I believe a comnputer interface should be the same. Just because I have to remember a password, doesn't mean that entering it need be. Perhaps many passwords presents a different problem, but one of the supposed ideals behind biometric data is that it can be greatly complex and yet still readily available. But does that mean it's less secure?
Re:Usability? How about accessibility? (Score:3, Informative)
Definitively: yes.
Don't base your security on something you cannot change easily.
If your password is compromised, it's a no-brainer to change it. Your biometric data may be harder to compromise, but if it is, how do you change it? Surgery?
Re:Usability? How about accessibility? (Score:2)
This comes back to the canonical "something you know, something you have, something you are" model. Good security should involve at least two and preferably three of the above:
Something you know: a PIN or password;
Something you have: a card, a key, an RFID tag, etc.; and
Something you are: a biometric--iris scan, facial recognition, fingerprint, a
Even accessibility is not always opposed (Score:2)
Even accessibility is not always opposed to security. If you want to rob a store, you have a few requirements that are different from those of the "shopper" user: ideally, you want to enter, take what you want, and leave quickly with as little resistance and recogniti
Article summary (Score:5, Informative)
A. Yes, for instances where security measures do decrease usability. No, for instances where they don't.
A2. Yes, for instances when software makers don't care about security, nor about integrating it properly. No, for instances where they show they care about security and want to do it properly.
Come on, seriously. Sometimes, various measures for security make things "harder" to use. But there are so many things which define "security". Authentication, authorization, encryption, access, and each at several different levels.
The ultimate answer is, yes, security and usability are opposites when the responsibility for the security measures rests entirely upon the end user. Simple example: Make a user have a password, and they'll make it their dog's name (not secure). Force it to be too complex, and they'll forget it (not usable). Mandate that it be changed every week AND be too complex, and they'll write it down (not secure or usable).
When the security measures are administered by a skilled external entity (such as a knowledgeable and sensible IT staff) or integrated seamlessly into applications and operating systems (by knowledgeable and sensible software makers), they can be "usable". In fact, "usable" is the wrong word: it should be "transparent".
There are ways to make good security - whether it's for an entire organization or a single workstation - usable, and non-intrusive. It just takes someone with the skill, knowledge, and foresight to do it.
Hmm (Score:4, Insightful)
What a silly question. (Score:2, Insightful)
Can the two continue growing together?
I've used OpenBSD on my desktop for ages. Pick a nice WM and you're set.
Security does not preclude usability.
No. (Score:2, Insightful)
Seriously though, there is an inconvenience, but that's all. I have to configure my router to let BitTorrent through, but the fact that I have to do this gives me an immense boost to my computer's security, by virtue of the fact that nothing is sent to my comp's ports unless I tell the router to let it through.
Re:No. (Score:2)
The viruses are users too. Meaning that a perfectly insecure system is very easy to use. Easy for the attacker to use. We didn't specify who was supposed to use the system did we?
The point of security is to make things hard to use. Hard to use for specific users. In this case we want a system that is easy for humans to use but hard for viruses to use. So we want to make things easy for "Good Users" and hard for "Bad Users"
In you
You're mis-quoting me. I called it... (Score:3, Insightful)
I've already discussed this humorously here [slashdot.org]. The point being that if you really want to you can see things like BSODs as security features. Difficulty in configuration can be seen as a usability feature because it prevents security.
If you squint hard enough all bugs are features and all features are bugs. This view point is utterly useless in the real world, however, strangely orthogonal it may be. It still bears thought for the system designer to consider that his perfectly secure system may render the system so close to useless as to make it practically so... and thus cost him his job either directly or indirectly.
Well, here's an experiment you can do at home... (Score:5, Insightful)
Are Usability & Security Opposites in Computing?
I propose the following experiment. Yes, yes I know there are service packs and patches available, that's why I'm calling this an experiment.
Take a Windows XP CD and load it onto a system you're not using for anything important at the moment. Do not connect it to a network in any way, shape, or form. Load the PC up with applications. Roughly judge load times, mouse and keyboard times...mess around with it a while and see how responsive it is. Not too bad, right? Fairly useable.
Now, plug your netcard directly into your net. No firewall. I suggest plugging the box directly into a cablemodem. Wait 24 hours.
Notice any difference? This is exactly why Usability and Security are NOT opposites. Any box that's running 99% cpu with malware and viruses is damn near unusable.
Re:Well, here's an experiment you can do at home.. (Score:2)
True enough, AC. NAT will offer some protection.
But you don't have to surf pr0n or respond to spam to get nailed. Only time I was ever bitten on a windows box was through a song lyrics site. Avoid those!
Also, that was the day I moved to FireFox. =)
Re:Well, here's an experiment you can do at home.. (Score:2)
The newer XP CD's have SP1 on them (and now even SP2) which has the Internet Connection Firewall (ICF) (or Windows Firewall of Security Center) enabled by default.
For those of you stuck with older XP CD's just turn ICF on by Right-clicking My Network Places > Properties > Right-click connection > Properties > Advanced > ICF. Do this BEFORE you connect to the Internet, if you're using cable or some forms of DSL this means BEFORE you even plug
Re:Well, here's an experiment you can do at home.. (Score:3, Informative)
Windows Update, that is windowsupdate.microsoft.com, will only work on MS operating systems using IE. However, patches and service packs are available as binary downloads through the Microsoft Support Center (or whatever they call it) from any browser, any OS. Last time I went to Windows Update, I seem to recall that there was a link to the Download Center where you could download these binaries outside of th
Security vs convenience (Score:4, Insightful)
You can have both... (Score:2)
security does not affect usability (Score:3, Interesting)
increased security only has the effect of reducing convience. i could make myself an administrator and never get a password dialog. this wouldn't have any effect on the original usability of the system. likewise, i could encrypt all my ram and swap space. this would increase security, but have no real effect on usability. security is implemented with policies, and as long as those polices are reasonable (i.e. require a methodology that isn't directly in conflict with a program trying to do it's job) then the only thing it will do is require the user to enter additional passwords when designed properly. a poorly designed system (windows) doesn't implement this policy well. doing operations like copying files to admin-writable-only folders in windows is an example of a poorly implemented policy. in mac os x, i'd get an authentication dialog. in windows, i simply would get an error, with no added dialog to request a username and password.
Compare to non-IT situations (Score:2)
The use of alarms has a definite impact on ease of use. In our building, the number of people coming and going at different times makes it impossible to secure the entire building. There are alarms but they don't get used.
So here, usability and security are in conflict, and usability wins.
However, we've created a secure zone which has our real offices (as compared to the large insecure garage space which is basically a place for parties and such), and here we have very
Security, Ease of Use, Ease of Design -- choose 2 (Score:3, Insightful)
brilliant designers out there. Coming up with these designs often involves novel functional decompositions, new UI metaphors, unusually structures interfaces or something else that is hard to get to by "normal" design processes.
No. (Score:3, Funny)
Synergy (Score:4, Funny)
That depends... (Score:2)
In the case of your grandma, the computer should be secure enough to not be infected or hacked, and that's about it. There's no national security information on her hard drive, and no one will be particularly interested in stealing her grandson's birthday pictures. Too much security at the user level will get in her way. Security below the user level is just what she needs.
On the other end of the spectrum you'
Symantec says "Yes!" (Score:3, Interesting)
On my XP box, I'm paranoid enough about trojans and activex lunacy that I like to monitor in realtime what is asking for net access and block it accordingly, but at the price of these anoyances, I almost uninstalled it.
Re:Symantec says "Yes!" (Score:4, Informative)
ssh anyone? (Score:2)
It also let X pierce firewalls.
direct relation... (Score:2, Interesting)
krozinov spam (Score:2)
Usability and security are opposing forces, iff (Score:4, Insightful)
Note they aren't strictly speaking opposing forces, since "remove features" can both enhance security and usability. It's just that if your program is already optimal and you need to push it harder, something else has to give.
You don't have to be a cynic to observe few programs are optimal, and therefore most software engineers don't have to think in this way. Thus, as a practical matter in the current environment, no, they are not opposed. But they should be.
(As a PS, I'd define security as "Ensuring the computer does what the owner wants, no more, and no less, with the computer owner having all relevant information about and control over what the computer does." But that definition has yet another idealogical focus, no?)
Depends what came first. (Score:2)
If you build the interface around the security it usualy end up with a far more usable program. For example say somone doesn't have access to a field on the program Knowing this I can make the interface to hide or not even load the button and make all the other objects fit without looking like the feature is there for people w/o access. Conversly if
The two opposies (Score:3, Insightful)
The fact seems to be that the more complex something becomes, the easier it is to break. So in reality, we should expect to see security improvements with decreased complexity in the U.I. As for other methods of hacking software (such as non-UI doors like APIs and network related exploits) the same rules might apply where keeping the complexity to a minimum might easily lead into less opportunity for exploits and thereby improving security.
Frankly, from where I sit (a non-developer with a basic understanding of programing concepts) I think security issues arrise from really bad programming habits and it's a damned shame that it's just not taught in school... for example, getting graded on your code by avoiding exploitable coding practices and such. As it is, security-minded coding is something that is gained through experience...usually a bad experience.
Simplicity (Score:4, Insightful)
"Simplicity is the key to security and usability"
Problems arise in both area's when you try cramming in features at the last minute. Scope/Feature creep are what makes systems (almost anything) indecure/unreliable and ultimatly unusable.
an interesting idea I had (Score:4, Interesting)
secure != pain in the ass (Score:3, Insightful)
'Some people are of the mistaken impression that being secure is synonymous with being a big pain in the ass'
Its so true...
Not very good examples. (Score:2)
* In the Indian Assembly Election example he uses, the usability of the voting interface has little to do with the security of the machines. The voting interface can be very user friendly, but that says nothing about whether or not it is possible to hack into the machine through a network and change the results.
* In his examples of firewalls and adware detectio
Good example: SSH vs. Telnet (Score:4, Insightful)
With Telnet I had less functionality, little security and had to either use my password each time or have even less security (rhosts).
I'd say not (Score:3, Informative)
Actually, security and usability often go hand in hand. I don't think email would be very usable if people constantly messed with your account. Another example is Windows vs. GNU or BSD: I think Windows has very low usability, due to the knowledge and action required to keep the system healthy. Part of this stems from the bad security of Windows. (puts on asbestos underwear)
Yes (Score:2)
That sounds stupid. (Score:2)
Try a Mac (Score:2)
I have a theory about this. (Score:2)
Which might initially sound like it is totally unconnected, but please bear with me.
I was actually talking with a friend about his new (to him) bmw k100 motorcycle compared to older britsh or japanese bikes... with the older stuff making them go very fast wasn't really a problem, thing is, when you were going fast you always knew it... my mate's beemer is different, he cruises along as smooth as anything and looks down at the speedo and is shocked to discover he is doing 12o mph, when it feels liek 70 mph.
no, you just need to pay a lot more (Score:2)
draw a triangle. at one point write "usable", at the next point write "secure" and at the next point write "cheap". now pick one side to that triangle -- thats your system.
cant have your cake and eat it too, apparently.
I opt for usable and secure for corporate and government environments; secure and cheap for home and small business.
inabusability (Score:2)
This is hardly worth the effort of considering. (Score:2)
What you have are the following:
Security is a feature. (Score:4, Insightful)
If a user places them self at risk they should have the option to have that risk mitigated. If mitigating the risk causes the user no pain (no extra user action) then automatically mitigating the risk is fine; otherwise, risk mitigation should be opt-in/out-able.
If a system exposes some other entity which has control of the system to risk, that entity may require that if the system is used, the risks to that entity be mitigated. Thus users will be forced to accept the security measures. While some users will try to work around the measures, the measures are required. The measures should be made as easy as possible to accept, though education, reduction of overhead to the user, etc.
This applies to all kinds of security, including law. Drug laws are a good example. "Society" feels at risk from drugs, imposes security measures against drugs, and some "users of society" work around those measures to do drugs anyway. Society tries to make the laws easier to obey through education (propaganda?), by limiting access to drugs, by making drug use riskier, etc. The people that have problems with these laws are those people which do not agree with the risk assessment by society (many) and those which do not care about society but do agree with the risk assessment (few).
Computer security is the same. People have problems with measures when the measures pain them without convincing them of the worth of the cost. You can convince the user by:
- Reducing the cost of the measure to the user (that's UI work).
- Increasing the "return on investment" of the measure perceived by the user (that's education).
So:
- DON'T force security measures on users when the measures only protect the user and when the user doesn't want them.
- DO make the purpose of measures clear.
- DO make the measures as unobtrusive as possible.
Now a lot of risks involving computers do impact more than just the user. Consider worms where local host security hurts your neighbors (as your machine attacks them). This complicates things.
As a human being, you must decide whether you want to force measures on someone that they don't want, to protect only them. I don't like other people forcing decisions on me, so I would implore developers to make such measures optional (on by default if the cost is low and benefit high). You must also decide, whether you will force measures on users that don't want them, for the good of someone other than the user. As an application developer, you must consider that any measure that you force on a user, when they don't want the measure, will be seen by that user as a pain in the ass and will help support competing applications. Also, implementation measures will be criticized for usability just as any part of your application is criticized. There's nothing special about security in terms of usability. UI components for features that users don't understand are distracting and confusing, and bad UI components for features that users do understand are just plain frustrating.
A secure design can be quite usable (Score:3, Insightful)
If you start with security in mind, and maintain both security and usability goals, you can end up with a much more secure design that, by the end of the day, is also more usable.
For example, if you build a rendering component that doesn't contain a mechanism for breaking out of its sandbox, and then let specific applications add capabilities that objects they directly provide to the rendering engine can use, you can implement almost every piece of functionality that Microsoft designed ActiveX for without having an ever-tightening ring of increasingly annoying restrictions wrapped about the user.
The only difference is that rather than having Internet Explorer at the core of the system, so that everything ends up looking like part of IE, you have a variety of applications with embedded HTML panes that provide the same functionality.
What do you lose? The ability to have remote web pages embed trusted control inside their web pages... instead you need to explicitly install plugins or, for in-house tools, run an "intranet update" that downloads and updates the apps.
This seems less convenient, until you realise the browser is more convenient in other ways because it's not trying to second-guess everything you do... and, once enough people are using it, the convenience of a more spam- and virus- free mailbox has to count for something.