Security Skins: Single Sign-On with Images
Appol writes "Berkeley researchers propose a Mozilla extension to stop phishing. They claim that users only need to remember one password and one image for their lifetime to securely log in to any number of sites. They also use uniquely generated visual hashes to "skin" trusted windows and webpages, which is harder to spoof than the SSL lock icon. To verify that the skin is legit, the user has to compare two images, which is easier for novices than verifying a certificate."
I knew a non-evil use for the goatse image would be found eventually. I might as well use that image, since it is burned into my brain forever anyway. Plus it has the added advantage of punishing shoulder surfers.
I Am My Own Worst Enemy
So we just have to visually confirm that Natalie Portman is hot? That's easy!
Because when a webpage is spoofed, the skin will make it look like the gates of hell, and when it's legit, you see a kitten frolicking in a meadow.
Quid festinatio swallonis est aetherfuga inonusti?
Africus aut Europaeus?
Graduate School at UC Berkeley : 100,00$ .8 MB file downloaded 100,000 times in the course of twenty minutes, taxing your web server extensively because you set it up there as a PDF, making you look like mildly silly because you're DOING INTERNET RESEARCH : Priceless, except for the bandwidth.
Summer spent researching anti-spyware : 1,000$ after grants
Doing the world a favor : 0$ in debt
Getting publicity for doing the world a favor among those who care : See Below
Having your
That said, it's quite an interesting approach. The notification style for a hash is quite an interesting idea.
My little site.
I guess if you're reading this, it's likley too late, but TFA is a pdf...
SEO Firefox Extension
I don't mean to shoot down their idea, but what about people that don't have the best eyesight, or what if they're colour blind?
http://www.overwhelmedblue.blogspot.com/
...whether Passport or some open-source solution. The task of typing some stuff into a form field is not so onerous we need a complicated solution for a non-problem. Most browsers support various ways to locally remember form fields that take care of these problems simply. And this wont stop phishing.
Isn't this a lot like Netcraft's new Anti-Phishing plugin? I'm glad that all these people are finally taking initiative against phishers, even though it's almost definitely due to the heightened media attention that phishing is currently getting.
In practice though, I think the only way this would really work is if it's shipped by default in Firefox. The peoplen that would install this anti-phishing plugin aren't usually the people that would get tricked by phishing scams anyway.
- dshaw
Note: This is all IMO; and yes, I understand that some scams are so realistic that anyone could get caught in their webs.
when Netcraft just released their anti-phishing plugin for firefox ;)
(yes this can be compared with sex)
There are people who are blind what do they do ? Stare at the screen hoping there eye sight comes back?
Not a good over all solution, you need a seperate medium/channel to display such pictures.
Finally...something even I can remember. The question is, will my wife mind if I have some hot mama as the picture I want to us. Perhaps Asia Carrera.
I'm not a troll, but I play one on Slashdot.
... which is why it will never catch on (although I hope it does).
Jolyon
Please read my Canon EOS tech blog at http://www.everyothershot.com
Anyone computer-savvy enough to be using firefox, downloading addons, making pet names, and then remembering to check won't be caught by a pisher anyway... Having said that, it would help anyone who has an FNG (friendly neighbourhood geek) to install. Which is pretty likely, this is slashdot.
I've always used the same password, "pa55w0rd", so this part is easy.
Whoops, did I say that out loud? Good thing I didn't mention that my image is a kitten.
Oh shoot...
(the "corned beef" version, not the "hippy crack" version)
"I'm just here to regulate funkiness."
SSL certificates are pretty expensive for someone setting up a secure hobby website. You can go the route of FreeSSL, or generate your own, but this gives browser warnings/errors. I'm wondering how much this method would cost if you got it from GeoTrust/Thawte/etc. and what the lifetime of that would be (good for a year, two years, etc.)?
As a side note, after 8 years of tech support, I find users trust what their browsers trust, and as long as people use browsers like IE and just click on email links, nothing will be secure at the users end.
Give a man a fish and he'll eat for a day. Teach him to fish and he'll wipe out the species.
I'd like to see an alternative next to the PDF download, a basic HTML version, or plain text. PDF is not as bad as flash, but I hate it when a website only has information in one format, and the format is not universal for all.
I know what the critics are going to say, throw the PII233 away, its time has come and gone. But I just can't get myself to throw something away that cost over $2,000. And that I paid an extra $250 for more memory, a better video card (HAHA, a whole 8 megs, and for over $100), a nic card (back when they cost $50).
There is nothing wrong with plain text, or HTML. Most websites should have two versions of their website. One with all the bells and whistles, the flash and pdf for those who want it, and a second version for low bandwith and older systems.
Rosco: "If brains were gunpowder, Enos couldn't blow his nose."
do people have to link to a pfd file directly without any notice?
except to indicate that they're a windows hound.
PRON
...some images you can use.
That sounds like a good idea. However, it may be like asking the average citizen to spot counterfiet money. And after a few times of being asked to compere images, the user may get annoyed and every time afterward, they will just confirm everything to get done quickly.
Tired of Apathy? http://apathyonline.net
I skimmed the article, and I noticed the adware section, but it didnt really answer my question: If the secure aspect is the local picture and the local picture needs to be pulled from the local machine by the page then what is to stop an adware program from grabbing that api and using the secure picture on a insecure site?
... won't it be 10 times as easy for a computer program? IOW, won't it only be a matter of time before cracking proggies emerge that do comparative image analysis AND password cracking?
MOD PARENT SIDEWAYS!
is that banks and credit issues have lost over 1.2 billion dollars in 2003, according to TFA, yet they are not the ones actively pursuing something that would help protect their users from this sort of fraud. I think it's great that someone is doing something about this issue for the general public.
Now if someone could just find a way to keep firefox from locking up when I click as Slashdotted PDF file. I'd be happy if someone could just warn me the link is to a PDF. Stupid buggy adobe software.
Worse than goatse... http://slashdot.org/article.pl?sid=00/08/24/182322 5&tid=99&tid=16 -- seriously - what the hell????
Have you ever played one of those games in a bar where you have to touch the area of the screen where the picture (usually of a scantily--if at all--clad woman) is different from the picture beside it? Even with practice it can be hard to do quickly and accurately if the diferences are minor.
Didn't rtfa, can't rtfa becasue tfa a fpdf.
Pulp Audio Weekly - Geek News and Reviews
I've often thought that a similar thing should exist for md5 hashes and a whole slew of authentication schemes. The actual hash number can be transformed into an "abstract art" image via a combinatorial algorithm. The image could be some overlapping strange-looking lines and shapes, with the exact shapes, colors, and so on all based on the hash. Even a small change in the hash or authentication code would lead to a very big difference in the final image.
So when you download a file, they show you a picture of the expected visual-hash. When the file finishes, you take a quick look at the visual-hash your computer just generated, and see if they match.
Similarly for all secure websites and key exchanges. When you SSH into a server, why not show an image (or ASCII art if you prefer) based on its unique key? I think anti-phishing is just one of many usese for this kind of technology.
booooya dawg!
This is vaguely related to how Lotus Notes used to use changing hieroglyphics to prevent spoofing of dialog boxes. http://www.encode-sec.com/pdf/esa0101.pdf
Is to stop treating the web browser as a versatile all-in-one internet program. The web browser should not be able to run code period. It should not run Javascript, Java, Flash, or any other plugins. Period. It should only be able to display hypertext documents.
There should be another program that should be used exclusively for accessing trusted (i.e. secure) sites. This program will have a level of security to prevent it from displaying anything other than secure sites that the user explicitely allows. This program also will have a unique look distinct from a hypertext browser.
What will this new secure "browser" look like? I don't know. But one thing I do know: it will not be integrated into the same web browser one would use every day.
How... how did you even find that?
--grendel drago
Laws do not persuade just because they threaten. --Seneca
http://www.bolinfest.com/targetalert/
Targetalert, a Firefox extension that shows a little icon next to links giving an indication of what the target is (pdf, word, excel, ppt, zip, email, xml).
This is my post. See sig above ^
I think it would make sense for a browser like Safari to default to a "Aqua" skin and then switch to a "Metal" skin on a secure site.
I don't hate brushed metal but I am frustrated by the seemingly arbitrary application of it.
I think what I would like to see is Firefox having the ability to save its password file on a USB keyring (encrypted of course). As well, if it could randomly generate passwords for websites, that would also be cool. I am beginning to notice many users use the same password across multiple sites. Combine that with some sites having weak security and you've got the potential for catastrophe. Bring me my random password generator/tracker! and grape peeler.
Perhaps I'm alone here, but the only way I've ever been targed by phishing is through my email. I'm going to assume that this is the preferred route of most phishing attempts, since I've never seen a spoof used inside a reputable website.
Thoughts?
For he today that sheds his blood with me shall be my brother.
http://www.collegehumor.com/?image_id=154352
(site may not be work safe, but picture is)
"This is a picture of your brain."
"This is a picture of your brain using Windows."
"Any questions?"
One side effect of the scheme they are proposing is much lower portability of authentication data.
A username / password to connect to a website can be used from any browser that can connect to the website.
But using a salted hash like the SRP scheme they are talking about would require you either creating a new account from each browser you wanted to use, or moving the existing salt to each browser. Otherwise it wouldn't generate a matching hash, and would fail to verify.
And creating multiple sets of authentication for one account probably wouldn't be popular with, for example, banks.
Now you could view this as a good thing, since it would discourage people from logging into secure web pages from untrustworthy computers (public terminals, etc.).
But it would also be a pain if you ever reinstalled your computer (oops, there went the salt values). Or wanted to log in to a page from more than one computer in your home, or from home and from work.
Admittedly the SRP scheme is only a small bit of this paper, and could be replaced, but it does seem like an unaddressed potential issue.
Tub. Girl.
ok, so why don't I setup the web site phishers.bank.com . I use my own funky XUL extension that pops up a username/password. My app figures out the personal image the same way as the other extension the user trusts. My app, doesn't do any authentication, it just displays two images back to the user that look the same. Then it asks for their money.
You're putting all your eggs in the basket of the user trusing the browser to have secure settings per-extension that can't be ready by an alternate extension. How do you do that? If you do secure the browser's saved settings, how do you roll out updates to this extension? What keeps me from spoofing the update and reading the secured settings?
It's more secure, too. Software isn't fooled by Unicode character set spoofing -- two Unicode characters may render to the same glyph in a particular font and thus be indistinguishable to a human, but they'll generate different inputs to a password generator's hash function. That means you'll give the phishing site a password that's only valid for the phishing site's domain, not for the domain they're imitating.
Obviously you have to choose a really good master password, and preferably you're using software that needs additional settings (e.g. PasswordMaker's "l33t level") to generate the correct output. It's easier to remember one excellent master password than 500 mediocre individual passwords.
Dear valued ebay customer,
You may be aware of a new technology to synch a picture with a web page to ensure it is legitimate, please click this link to download an executable to synch the picture you selected with our server to better provide you with secure transactions.
Anyone that sees this as a phishing scam, doesn't need this technology, Anyone that does need this technology is just as likely to fall for this.
This a copy of the posted pdf. I have only added line breaks to attempt to make it readable as a non-pdf doc. I also deleted a few footnotes on page 1 or 2. [slashdotfiltercruf] The error messages I have encountered while trying to post the document include but are not limited to " Your comment has too few characters per line (currently 39.4)", "No discussion or comments found for this request. To create your own discussion, please use journals." (happened when I tried to post the whole article), and simply blank pagees when I tried posting most but not all of the article.[endofslashdotfiltercruf]
The Battle Against Phishing: Dynamic Security Skins
Rachna Dhamija, University of California, Berkeley, rachna@sims.berkeley.edu
J.D. Tygar, University of California, Berkeley, tygar@cs.berkeley.edu
ABSTRACT
Phishing is a model problem for illustrating usability concerns
of privacy and security because both system designers and
attackers battle using user interfaces to guide (or misguide)
users.
We propose a new scheme, Dynamic Security Skins, that allows
a remote web server to prove its identity in a way that is easy
for a human user to verify and hard for an attacker to spoof. We
describe the design of an extension to the Mozilla Firefox
browser that implements this scheme.
We present two novel interaction techniques to prevent
spoofing. First, our browser extension provides a trusted
window in the browser dedicated to username and password
entry. We use a photographic image to create a trusted path
between the user and this window to prevent spoofing of the
window and of the text entry fields.
Second, our scheme allows the remote server to generate a
unique abstract image for each user and each transaction. This
image creates a "skin" that automatically customizes the
browser window or the user interface elements in the content of
a remote web page. Our extension allows the user's browser to
independently compute the image that it expects to receive
from the server. To authenticate content from the server, the
user can visually verify that the images match.
We contrast our work with existing anti-phishing proposals. In
contrast to other proposals, our scheme places a very low
burden on the user in terms of effort, memory and time. To
authenticate himself, the user has to recognize only one image
and remember one low entropy password, no matter how many
servers he wishes to interact with. To authenticate content from
an authenticated server, the user only needs to perform one
visual matching operation to compare two images. Furthermore,
it places a high burden of effort on an attacker to spoof
customized security indicators.
1. INTRODUCTION
Phishing is a model problem for usability concerns in privacy
and security because both system designers and attackers battle
in the user interface space. Careful analysis of the phishing
problem promises to shed light on a wide range of security
usability problems.
In this paper, we examine the case of users authenticating web
sites in the context of phishing attacks. In a phishing attack,
the attacker spoofs a website (e.g., a financial services website).
The attacker draws a victim to the rogue website, sometimes by
embedding a link in email and encouraging the user to click on
the link. The rogue website usually looks exactly like a known
website, sharing logos and images, but the rogue website serves
only to capture the user's personal information. Many
phishing attacks seek to gain credit card information, account
numbers, usernames and passwords that enable the attacker to
perpetrate fraud and identity theft.
Data suggest that some phishing attacks have convinced up to
5% of their recipients to provide sensitive information to
spoofed websites [1]. About two million users gave
information to spoofed websites resulting in direct losses of
$1.2 billion for U.S. ba
they used images to password files in the movie Johnny Mnemonic a decade ago.
I just thought I would share how I would implement a very simple unified password system on the web without any risk of your password being stolen, either by dodgy webmasters or by man in the middle attack. I have no idea if it is original but seems near flawless to me and I'm going to implement it on my site shortly.
Registration process
--------------------
* Your client side script or extension takes your master password and appends 'thewebsiteyouresigningupto.tld' or 'generic.webhostorisp.tld/website/path/' to the end, perhaps with a nice seperator
* MD5 (or some other) hash this string using javascript or client side code. This becomes the website 'registration hash'.
* The server stores this directly into it's user database without any further manipulation.
Login process
-------------
* Server generates a random string (the current time since the linux epoc would do) and sends it in a hidden form field. Call this the session string.
* The client takes master password appends the website dependant domain or uri etc and reproduces the registration hash for that specific website.
* Take the registration hash and append the session string sent by the server and hash it again. This becomes the 'login hash' that is used only once, for this login only.
* The server retreives the registration hash from it's database, appends the same session string that it sent to, and kept associated with, the visitor and hashes it to produce the same 'login hash'.
* The server compares this expected login hash to the login hash from the user and authenticates the user if they match.
Pros
----
* No information that can result in successful authentication for different session is sent across the wire.
* The user gets to hash their password client side so doesn't have to worry about whether the server side to storing it securely.
* The webmaster has no control over the client side hashing and can't modify anything their end to get your password to another website.
* The password for the website is unique to the websites domain/URI but the master password entered by the user can be used on any number of websites, this makes it easy to remember and conveinient.
Cons
----
* The registration transaction is open to a man in the middle attack - but at worst someone will only be able to comprimise that specific website because the registration hash is made unique to each website.
* The server side needs to be able to keep track of what session string it sent to the client - can be done by means of ip address, user-agent and cookie association etc. The server side also needs to ensure noone can authenticate for the current session by similar means.
* The worst one - if a website changes URL's then all the user passwords become invalid. But what the hell - send them all new ones by e-mail.
If somebody was willing to produce a standard and implement this process across the web, with browser plugins etc we'd never have to remember lots of passwords again or have them stored anywhere but in our heads.
Maybe I didn't read the paper closely enough (I do have work to do) but it seems that this does a few things:
1. Instead of showing a little lock icon when you connected securely and the certificate was OK, it displays an abstract pattern across your entire browser window.
How does this prevent phishing attacks? If a user goes to URL www.criminals.com and the certificate is for www.criminals.com, then you'll get the OK image. All that crminials.com has to do is figure out a way to get that certificate signed by a valid registration company, which I don't think is too difficult depending on where you try to register the address and how you want to send the money.
2. To make sure any authentication windows that pop-up (think HTTPAuth) are real windows and not pop-ups, an image is displayed in that window as well. Instead of having to notice that there is no window bar around it, and it is instead a modal dialog, you can notice the image. Additionally, the input fields are semi-transparent to avoid fake input fields from being placed over it.
Again, I don't see how this prevent phishing attacks, since you could ask for the user to login using HTTPAuth and get their information that way. And newer OSes support transparency (Mac OS X, I think Longhorn promises this) so overlaid input fields could easily bypass the semi-transparent security belief.
3. One good idea is having movable windows because that makes it harder to overlay fake things.
But how many people move their window before making use of it?
I should take more time to read the paper, but can't right now.
Bologna. What do you think email address "spamblock" is? What about a noisy/distorted audio clip instead of an image? Non-visual captcha variants can work.
...when you're writing a game...tweak the difficulty of "Easy" to something [your mother] can cope with. -- onion2k
Acutrust http://www.isblanket.com/services/online/acutrust/ is a much better approach to the problem. It uses an encrypted image to prove the site is authentic. The unique thing about this product is that is does not require the user-base to install any special software.
/ faq/
Acutrust FAQ http://www.isblanket.com/services/online/acutrust
I'm with you until this bit:
But what the hell - send them all new ones by e-mail.
If the site changed domain the user would have to re-register, or at least visit the site and provide a new hash, I don't see any way around that.
The other thing, of course, is that this relies on user co-operation to install new software, and also implies complete trust in that software. If you're going to force people to install new software, why not just use personal certificates? You also missed a vulnerability - the hashes given to the webserver include a reasonable amount of known (and specified) plain text. This makes an attack of the hash algorithm much easier. Given the value of discovering the master password (it will unlock the users entire online life, including banks etc) it's not hard to imagine people committing serious resources to breaking the hashes.
All of this reminds me of Schneier's Law:
"any person can invent a security system so clever that she or he can't think of how to break it."
I'm not saying I can think of a way of breaking it, but personally I'd go with something well tested in the real world.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
http://passwordmaker.mozdev.org/index.html is an implementation very similar to what you describe, although it is all client-side. "The URL which, when concatenated with the Master Password textbox, becomes the message from which an unique password is generated."
Yes you have hit all the major faults right on the head. However let's see if i can point out why they aren't so bad
:P) and this could be taken into account by keeping both domains/uri's live long enough for users to transfer their account across somehow. Maybe indicating a move and asking the user to accept it, in which case it simply uses the old and new domain string sequentially to accomplish the changeover. Obviously this could be exploited and leads to a new form of phishing - but would be rare - Probably the biggest problem :(
Change of uri/domain -
A fairly uncommon event for most well established websites (obviously not torrent sites
Installation of new software -
* Using extensions or bookmarklet like buttons (that keep javascript out of the scope of other scripts in the webpage) which are now pretty commonplace and native to browsers.
* You can even use javascript within the website html itself, although much more risky, it can viewed by the user in the page source and cheating webmasters risk exposure. This is no different from dodgy webmasters not chosing to store passwords as hashes automatically now.
* Some kind of signed javascript (.jar file) which can't be tampered with (don't know how feasible that is) which verifies that the script in use is from a source that everyone knows about, is open source, and has been checked for bugs by a large number of people.
Hash weakness -
I have no idea how much weaker a hash with a known constant, for example in MD5, is. Is xxxxxxxCCCCC where CCCCC is a known string as difficult to break as xxxxxxx alone (which would be ideal)? It is an issue given that webmasters could have access to thousands of hashes with the same string constant. But then again now they have your password in plaintext while being processed.
Do the benefits outway the risks of this idea though?
* The webmasters task of stealing plaintext passwords directly is made much much more difficult.
* Having to crack hashes with a constant string in them might not provide much advantage over hashes without..i would guess it depends on the hashing algorithm - i'm obviously no expert.
* Websites without HTTPS still benefit because passwords aren't sent across the wire (talking authentication here not content privacy remember) in the clear.
I love that Schneier quote, anything devised is always going to be exploitable somewhere by somebody much smarter than yourself. I have no delusions that it will be perfect but I think it moves some of the risks about and might be interesting to try out.
You just had to mention the frolicking kitten, although you know what can happen to it.e _by_M2Ys4U.jpg
You insensitive clod.
Please, think of the kittens.
http://fs5.deviantart.com/i/2004/328/d/9/Everytim
Ignore this signature. By order.
Finally, all those years of looking to find six differences between the pictures will pay off!
It's like a dream finally come true!
- Zarq
The webmaster doesn't need to reverse the hash, he can just do a dictionary attack on the hashed password. Worse, he can use the same pre-hashed dictionary against all users because the hash isn't salted.
that your post was not modded funny
That risk is no different to hashed passwords being stored by most website databases now.
wtf is the linux epoc?
you stupid l33n0x morons are worse than m$.