1Password 4 for iOS icon

1Password 5 for iOS is here with App Extensions, Touch ID, new freemium price

1Password 4 for iOS icon

I can’t tell you how fired up we are about this release! I literally can’t because there is no tool that can measure excitement on this scale. Years in the making, 1Password 5 is rolling out to the App Store with iOS 8’s best features at its heart, and now it’s free so everyone can save time and get secure online. All Pro features are free to existing v4 owners, and new customers can now get started for free.

By the way, if you sync with iCloud, please see this document about requirements and how best to upgrade.

The new 1Password 5 for iPhone and iPad now requires iOS 8 and is packed with some of our (and your!) best ideas ever:

  • App Extensions – Use 1Password to log into a growing list of your favorite apps and even update your passwords—all with just a tap!
  • Safari + 1Password – You read that right. Just like our in-app 1Browser, you can now fill 1Password Logins directly within Safari! Ooh, speaking of thumbs…
  • Unlock with Touch ID – After unlocking with your Master Password, get back into your vault in 1Password, Safari, and your favorite apps with just your thumb on devices with Touch ID. Check Settings > Security to learn how this works and pick your auto-lock time.
  • Sync now goes to 11 – We rebuilt iCloud sync using Apple’s new CloudKit and it is awesome. Wi-Fi Sync will be automatic and sync attachments with the forthcoming 1Password 5 for Mac, and it’s just plain also awesomer.
  • Adaptive UI – Whether you’re on an iPhone 4S, iPad Air, or a brand new iPhone 6 Plus, 1Password’s interface is dressed for the occasion.
  • So much more – Resume editing items after unlocking 1Password. A brand new Welcome Aboard process makes it even easier to set sail with 1Password. Backup restoration has you covered. And all that is just page one.

Oh, did we mention free?

I have good news and great news.

The good news

1Password 5 for iOS and all Pro features (yep, you read that right!) are a free upgrade to all existing 1Password 4 for iOS customers (reminder: 1Password 5 requires iOS 8).

The great news

1Password 5 for iOS and its core features are now free for everyone to use. We believe every man, woman, and child needs to save time and get secure online. This release is another big step towards making that dream reality.

The free edition can create Logins, Identities, Credit Cards, and Secure Notes, and use those items in Safari and other apps. It can also sync with 1Password for Mac, Windows, and Android.

Introducing Pro features

For a one-time in-app purchase in version 5, Pro features unlock the full power of 1Password 5 for iOS. You can:

  • Create the full range of items including Bank Accounts, Email Accounts, Memberships, Passports, Reward Programs, Wireless Routers, Software Licenses, and many more.
  • Organize your items with folders and tags.
  • Create and add Multiple Vaults.
  • Add custom fields to all items.
  • Support a great company with world-class human-powered customer service that loves you. Yes, including you.

Told you we were excited

We’ve been working towards this day for years and some of us are literally bouncing off our Toronto office walls with joy. We hope you love the new 1Password as much as we do, and now all our friends, family, and coworkers have even more great reasons to use it.

Please let us know what you think on Twitter @1Password, Facebook, and our forum, and join our newsletter so we can stay in touch with you!

 

 

ice bucket challenge

Getting chilly for charity

I’m not sure if you’ve been on the Internet lately, but there’s this “ice bucket challenge” thing going around. Sure enough, some members of the AgileBits crew were challenged, and in good form … we challenged all of our co-workers.

We’ve made a donation to ALS (as well as several other causes near and dear to our hearts) and thoroughly enjoyed helping our teammates take the plunge.

Now that we’ve done our good deed for the week, we challenge YOU. Make the world a better place. Donate to a worthy cause and dump a bucket of ice water on a friend.

App Extension

Our 1Password App Extension for iOS 8 is already supported by over 100 apps, here are nearly 20

App ExtensionThe response to 1Password’s App Extension for iOS 8 has been incredible: our customers are beyond excited to use 1Password across iOS with Touch ID and their favorite apps, and an amazing number of developers have already added our extension to their upcoming apps in preparation for iOS 8!

We can’t share the full list of developers yet (we just cracked 100!). But we can show you nearly 20 apps that are already working on integrating 1Password’s iOS 8 App Extension for fast, one-tap logging in and even updating your passwords!

Plus, our 1Password update for iOS 8 will be free to existing customers! Since you can get 1Password for iOS for just $9.99, you can start saving time and get secure online right now.

What the 1Password App Extension can do for you

Since the announcement, our mad-scientist developers have kept working in their secret laboratory to add even more super-hero powers to this powerful extension. Developers, check out our GitHub project to add 1Password integration to your own apps!

Here’s the rundown of the skills we’ve added to the extension so far:

  • Fill Logins, Credit Cards, and Identities into Safari
  • Fill Logins into other third party apps (including web browsers) that add support for it
  • Generate strong, unique passwords and create new Logins during a signup process
  • Update a Login’s password if you change it in an app

Apps that already Love 1Password

As promised, here is a sample of over 100 apps that are already preparing for iOS 8 and our new extension ship!

Read more

Windows v4 blog

Watch what you type: 1Password’s defenses against keystroke loggers

1Password for WindowsI have said it before, and I’ll say it again: 1Password and Knox cannot provide complete protection against a compromised operating system. There is a saying (for which I cannot find a source), “Once an attacker has broken into your computer [and obtained root privileges], it is no longer your computer.” So in principle, there is nothing that 1Password can do to protect you if your computer is compromised.

In practice, however, there are steps we can and do take which dramatically reduce the chances that some malware running on your computer, particularly keystroke loggers, could capture your Master Password.

Safe at rest

Let me clarify one thing before going on. 1Password does protect you from the attacker who breaks into your computer and steals your 1Password data. The 1Password data format is designed with just such attacks in mind. This is why your data is encrypted with keys derived from your Master Password. It is also why we’ve put in measures to make it much harder for an attacker to try to guess your Master Password in the event that they do capture your data.

Even if an attacker gains access to your computer and 1Password data, there is little she can do without your Master Password. In this article, I’m focusing on another kind of attack in which the attacker tries to “listen in” to you typing your Master Password. This attacker is running a program on your computer that attempts to record everything you type on the keyboard or enter through some sort of keyboard-like device.

Countering counter-counter measures

I will get to the details below, but this article aims to describe and explain a change in how 1Password for Windows secures its Secure Desktop, a counter measure against a common type of keystroke logger. This change was added recently to 1Password 1 for Windows and has been included in 1Password 4 for Windows since its launch.

Márcio Almeida de Macêdo and Bruno Gonçalves de Oliveira of Trustwave SpiderLabs have discovered a way that a keystroke logger could work around our use of Secure Desktop and reported this to us. They have now reported this publicly (link might be having trouble, but it’s listed among their Security Advisories). We have since added a mechanism which prevents that particular counter measure to Secure Desktop. We very much appreciate SpiderLabs for giving us the opportunity to put a fix in place before announcing their discovery to the public. Trustwave SpiderLabs might grab fewer headlines by having done the right thing, but they have done the right thing.

Secure Desktop itself is a counter measure to keystroke loggers. De Macêdo and de Oliveira’s discovery is a counter measure to our counter measure. We have now introduced a counter-counter-counter measure. All of this will be explained, but it requires a lot of background into how keystroke loggers work and various ways to defend against them.

Keystroke loggers

Keystroke loggers attempt to capture everything that is typed on a particular computer or keyboard and pass that information on to a third party.

There are one or two legitimate uses of these (such as in research on writing), but those all involve the consent of those whose key strokes are being logged. More typically, keystroke loggers run surreptitiously, and are an attack on user privacy. I know that people don’t come to this blog for relationship advice, but if you are seriously tempted to install a keystroke logger to spy on a spouse or lover – a popular use of these things – then I have my doubts about the future of your relationship. Since you didn’t come here for relationship advice (and if you did you came to the wrong place), let’s return to how keystroke loggers work.

Logger in the middle

There are many different ways that keystroke loggers can work, but one useful way to think about this is as something (either hardware or software) that sits between your keyboard and the program you are typing into, something which shouldn’t be there.Hardware PS/2 keylogger in action

For keyboards that are attached to a computer with a cable, the simplest keystroke loggers are little physical devices that the attacker plugs into the computer, and then plugs the keyboard cable into that.

The keystroke logger is, in this case, sitting between the keyboard and the computer. The computer thinks it is talking directly to the keyboard, and the keyboard thinks it is talking to the computer, but the keystroke logger is sitting between them.

Alternatively, software keystroke loggers sit between components deep within the operating system and silently grab data. Things that are embedded that deeply or are using hardware loggers are not things that user software can detect or defend against.

Most keystroke logging is shallow

Most keystroke loggers take a simpler approach, rather than inserting themselves deep within the system. It is much simpler to write a program that says “hey, I am a program that needs to know everything that is coming in from the keyboard.” Operating systems provide hooks for programs to do exactly that.

You might be asking why operating systems might make writing keystroke loggers so easy. What business does any program running in the background have in seeing the input to some other program? One reason is to help my poor dog Molly, who suffers from (among other things) diabetes. This has led to sufficient necrosis in her paws so that she cannot easily type using a standard keyboard. The specialized device that she uses involves some clever software that looks at the input and uses various predictive technologies to replace the actual input with the intended text. This system intercepts (and changes) input bound for any program running on her computer; however, as far as most programs know, they are just getting input from a “keyboard”. Assistive technologies similar to the one Molly uses are a big part of making computing and communication accessible to more people.

Not only is a basic keystorke logger easy to write, it doesn’t require a complete break into a system. Different processes on a computer run with different privileges. When Molly logs in to her account and runs a program on a computer, the program is run under her user ID and with her privileges. This means that she isn’t able to interfere with processes that are run by Patty (the other dog). She also isn’t able to interfere with the system as a whole. If Mr Talk (the neighbor’s cat) tricks Molly into running a malicious program, that malware will be limited in the damage it can do.

The really deep and hard-to-avoid keystroke loggers would require full power over the system to install. But one of these simpler keystroke loggers requires only the privileges of the user whose keystrokes are to be recorded. So if Molly gets tricked into running a keystroke logger, it won’t affect Patty even if they use the same computer (as long as they are using different accounts). As you can imagine, the bulk of malicious keystroke loggers that spread through computer infection are of this shallower sort.

Counter measures

Now that we have some idea of how the typical keystroke logger works, it’s time to look at some counter-measures. The two most important counter-measures are:

  • keep your system and software up to date
  • exercise caution in what software you install and run

But let me focus a couple of the counter-measures that 1Password takes.

Counter measures on Mac: Secure Input

On Mac OS X, there are two simple provisions that makes it easy to thwart those shallow key loggers. The first one of these is called “Secure Input” and was introduced with OS X 10.3 Panther in 2003. A program—1Password for example—can say, “when the user types something into this particular input field, it must be done in a way that other processes can’t interfere.” Secure Input needs to be used sparingly, as it blocks all of the sorts legitimate activity, including assistive technologies that many people (and a few dogs) rely on. And Secure Input blocks TextExpander, which I rely on.

1Password declares the field in which you type your Master Password as a “Secure Input field”, then ordinary key loggers won’t have access to it. Since last year’s OS X 10.9 Mavericks, there is another defense built into the operating system. A program can only capture all of a users’ keystrokes if the user has explicitly granted it that permission in System Preferences > Security & Privacy > Privacy under Accessibility. As I described earlier, most (but not all) such software are components of assistive technologies designed to make computers accessible to more people. That is why this system preference is ultimately under Accessibility.

Between these two mechanisms – Secure Input and that any application which has the capacity to log keystrokes must have explicit user approval to do so – OS X defends against these otherwise common sorts of keystroke loggers.

Counter measures on Windows: Secure Desktop

1P Win unlock secure desktop

Windows doesn’t offer the same sorts of defenses that OS X has, but it does allow for the creation of somewhat isolated environments called “Desktops”. On Windows, one can set up different Desktops in which only your program is running (along with system processes). A program running in one Desktop will not be able to listen in on keyboard input in a separate Desktop.

You will find a button that says “Unlock with Secure Desktop” in the upper right corner of the lock screen in 1Password 4. Clicking on that launches the Secure Desktop in which you will be prompted for your Master Password. You can take a look at Unlock with Secure Desktop in action.

Countering Secure Desktop

What de Macêdo and de Oliveira have discovered is that there is a way to set up a keystroke logger that does operate in all desktops, not just the one it was started in. Quite simply, their system launches a process that is able to listen for the creation of new desktops and add a process to each desktop created.

The ease at which they were able to do this (well, everything looks easy in retrospect) reflects the fact that the SwitchDesktop function in Windows was not designed for security purposes. We and others who use Secure Desktop as a mechanism for evading keystroke loggers have been taking advantage of the relatively isolated environment of a separate Desktop. Once the authors of keystroke loggers take our counter measures into account, they can launch counter-counter measures like the one Trustwave describes.

Knowing your environment

We want nothing but system processes and 1Password’s Master Password entry to be running in a Secure Desktop. We don’t want other, probably malicious, processes joining that Desktop. And so, our counter-counter-counter measure is to simply look around and see if there is anything running in the SecureDesktop that is unexpected.

If some unexpected process is found in the Secure Desktop environment, you’ll be prompted to close the Secure Desktop.

Secure Desktop: 1Password has detected an unknown process

Lessons

1. Keep your system and software up to date

The single biggest thing you can do for your computer security is to keep your system and
software up to date. The overwhelming majority of actual break-ins are through vulnerabilities that have already been fixed by the software vendors.

2. Pay attention to what software you install and where you get it from

Keystroke loggers and other malware are often installed unwittingly by the victims themselves. Try not to be one of those victims. Be particularly careful of anything that tries to frighten you into installing it. Fake security software and alerts are a common way to get people to install malicious software.

The move toward curated app stores offers additional protections, but it isn’t a complete solution. Still, using those where available will reduce your risks.

3. Use Windows Defender on Windows

I have long been skeptical of most anti-virus software, but Microsoft Security Essentials is something I can unequivocally recommend for those using Windows 7. In Windows 8, Windows Defender is automatically built in and enabled.

4. Understand what software can and can’t do for you

The core security design of 1Password is extremely strong. Quite simply: if you have a good Master Password, nobody who gets a copy of  your 1Password data will be able to decrypt it. 1Password can and does offer outstanding security.

At the same time, 1Password is limited in what it can do to protect you when you are using a compromised computer. It can (and does) offer some protection against shallow (the most common) attacks. But this is a bit of an arms race. As you see, we have had to put into place a counter measure to a counter measure to our counter measure against common keystroke loggers.

This is why the first two items on this list are so important.

In conclusion

1Password takes extraordinary and effective steps to protect your data. This is built into every aspect of its design. But you have to help protect 1Password from malware running on your machine. We do what we can to make things harder for the malware writers, but we can’t do it alone. You must try to provide a safe environment for 1Password and all of your software to run in.

This shared responsibility is similar to that which we have with your Master Password. We provide excellent encryption and protections and defenses against automated password guessing. But you have to pick a good Master Password and treat it well. For those who might be wondering, displaying your password on a giant screen is not treating a password well.

wold-cup-wifi

1P4 Android bot

1Password 4.1 for Android brings new features and new freemium pricing!

1P4 Android bot 230Since the release of the all-new 1Password 4 for Android, we’ve been thrilled with your feedback and our developers immediately got to work on our first free update. Now we’re back with version 4.1 (rolling out through Google’s servers as you read this!), which packs some powerful new features and our brand new freemium pricing so everyone can get secure, convenient security!

Features and Fun

1Password 4.1 for Android includes some big improvements:

  • Create your 1Password datafile right within the app – You no longer need an existing agilekeychain file to enable sync
  • Stay secure, whether you pronounce it asegurar, sichern, garantir or обеспечить. Version 4.1 has localizations for 17 languages – including Spanish, German, Portugese and Russian
  • Freemium pricing – 1Password 4 for Android is now free for anyone to try with premium features unlockable via a one-time, in-app purchase. Read on for details!
  • Full release notes with all the features, improvements and fixes are available via the Settings pane within the app

Experience the freedom of choice with Freemium

Do you just need quick access to a password on the go? Or are you a mobile security ninja adding passwords and organizing your data in exotic locations on your Android phone or tablet?

Either way, our new freemium pricing in 1Password 4.1 for Android has you covered. You can now get 1Password 4 for free in the Google Play Store, and everyone can try all premium features for 30 days.

1Password 4 for Android, the Reader version

As a free app, 1Password 4 for Android can:

  • View all items in the vault
  • Delete items from the vault
  • Browse your favourite sites with 1Password’s built-in web view
  • Access all options in Settings (including PIN code and Rich Icons)
  • Configure sync with Dropbox or Folder Sync – both to an existing vault created with one of our other editions or by creating a brand-new vault
  • A whole lot more!

1Password 4 for Android, the premium version

The paid edition unlocks the full power of 1Password for Android, right in your pocket:

  • Create and add an unlimited number of new items
  • Modify existing items
  • Organize items into Folders
  • Mark (and unmark) items as Favourites for quick access… or ‘Favorites’ for our friends south of the border

All 1Password 4 premium features are available for a single in-app purchase of $9.99 and will apply to all devices using the same Google Play Store account.

Did someone say “Sale!”? [Update: The sale is now over, thanks!]

You may have noticed that 1Password 4 for Mac, 1Password 4 for Windows and 1Password 4 for iOS are currently on sale, so we certainly couldn’t leave 1Password 4 for Android out of the fun!

For a limited time, you can unlock the premium features of 1Password for only $7.99 – a 20% discount! We do mean limited time, though, so snag those premium features, keep your 1Password data organized, and get simple, convenient security at an incredible price!

iOS 8 App Extensions icon

Introducing the 1Password App Extension for iOS 8 apps

Throughout history, the greats have always sought a “holy grail.” The Dude really wanted that new rug. Indiana Jones searched for… well, the Holy Grail. Today, we’re happy to say we built our holy grail: automatic 1Password Logins right in iOS 8 apps.

The video embedded here, produced by our fearless co-founder Dave Teare, speaks for itself. Thanks to Apple’s incredible new developer features in iOS 8, third-party apps can let 1Password fill Logins without the user ever leaving the app. Yep, complete with Touch ID for unlocking the vault. Yep, it’s this awesome.

How easy is it for third-party apps to get in on this one-tap Login goodness? Extremely! Developers: check out our 1Password App Extension on GitHub with documentation and sample code.

App users: reach out to the developers of your favorite apps and help us spread the word! Show them the video and link this blog post and our GitHub project.

We want to share our holy grail with all apps: the convenience of one-tap Logins and the security of strong, unique passwords with 1Password.

1P4 Android bot

1Password 4.1 for Android is coming, we extended the freemium date and have a price!

1Pa premium featuresOver the past six weeks, we’ve seen a tremendous response to the all-new 1Password 4 for Android and our free trial experiment. Our team has been hard at work on a number of updates and great new features, and today we’re happy to say that v4.1 is coming soon, we extended the trial date, and we can now announce a price!

v4.1 for Android

Coming soon, 1Password 4.1 for Android will allow new users to create their first vault right on the device, no existing sync or vault required.

We added localizations for German, Spanish, Portuguese (European and Brazilian), Romanian, Russian, and Swedish. We are also finishing up translations into Chinese, Japanese, French, and Italian. Finally, we added some fixes and improvements that lay the groundwork for goodies that are on their way.

Free trial deadline extended, and a price!

Since our experiment is going so well, we extended the final day through Monday, August 18. Now everyone can have a few more weeks to check out 1Password 4 for Android and all its security awesomesauce.

On Tuesday, August 19, our Android version will switch to a freemium model. You can download it for free and use it as a 1Password reader, a great sync companion with 1Password for Mac or Windows, so you can take all your items on the go. To unlock all editing, organizing, and creating features, make a one-time, in-app purchase of just $9.99 USD to get the full power of 1Password right in your hands.

But wait there’s more

Since we’re just that excited about 1Password 4 for Android, we’ll start this off on August 19 with a $7.99 USD Awesome Android Launch Sale! This 20-percent-off sale will run for just two weeks, so when the sale starts mid-August, move fast.

To make sure you don’t miss it and stay in touch with us, be sure to follow 1Password on Twitter and Facebook!

Security

1Password is a very safe basket

—–
The right way to build reliable systems is to put all your eggs in one basket, after making sure that you’ve built a really good basket.
—–

When you use a password manager, you are putting a great deal of valuable and sensitive information in one place. The expression, putting all your eggs in one basket is apt. When you put all your very valuable eggs in one basket, it is absolutely fit and proper to ask how secure that basket is.

The question becomes more salient when there are press reports of past security problems in a number of password managers (1Password was not among them). Those reports are based on some excellent research on web-based password managers by Zhiwei Li and his colleagues at the University of California, Berkeley, (“Go Cal!”).

What does that report mean for 1Password?

The Berkeley team looked at threats that affect web-based password managers. 1Password is not a web-based password manager and so, by and large, is not subject to the threats discussed in that paper. Different security architectures face different threats.

We made our choice of security architecture with this in mind. As a consequence of our design decisions, the particular threats and vulnerabilities discussed in the Berkeley paper are simply not applicable to 1Password.

(Most) Vendors acted swiftly and responsibly

Before I elaborate on some of the distinctions between web-based password managers, I would like to emphasize a point that I feel has not been sufficiently stressed in the public discussion of the Berkeley team’s analysis. The problems were fixed almost a year ago and apparently before any damage was done.

Although some of the problems were severe, four out of the five products studied fixed the problems quickly:

We reported all the attacks discussed below to the software vendors affected in the last week of August 2013. Four out of the five vendors responded within a week of our report, […] Aside from linkability vulnerabilities and those found in [the one that didn’t respond], all other bugs that we describe in the paper have been fixed by vendors within days after disclosure.

There is no denying that some of the disclosed bugs were severe, but they were reported responsibly and acted on promptly. Both the vendors and the researchers should be commended for how they handled this.

Because of its distinct security architecture, 1Password doesn’t face the specific threats in that particularly study, though it does face other threats which we try to defend against. Anyone who claims that they are completely invulnerable and bug free shouldn’t be in the security business. We strive to be bug free, and we strive for a fully secure design, but part of the process of security is making improvements in response to external discoveries of problems.

If I may quote something we wrote three years ago:

If you build a tough lock on a door, it is easy to imagine that you have now secured that door and don’t need to think about it anymore. But in the security business life is rarely that simple. Both the “threat landscape” and our understanding of the locks we’ve built earlier changes. The renowned security expert, Bruce Schneier is famous for (among other things) saying more than a decade ago that security is a process, not a product.

I am not trying to diminish the severity of the bugs discovered and fixed. They were anything but “routine”, but this case is an example where responsible disclosure and appropriate action kept user data safe.

Not Applicable

As I said above, 1Password is not a web-based password manager. You do not log into some web service that is managing your passwords. As a consequence, we don’t face the same kinds of security concerns that web-based services may face. A partial exception to that involves our 1PasswordAnywhere features, which I will return to below.

Nothing is impenetrable, but we have chosen a different security design deliberately. Our security design reduces the number of fronts on which we need to fight to defend your data. In slightly more technical jargon, we designed 1Password to minimize the “attack surface.” Let me run through a couple of examples of what I mean by certain sorts of threats not being applicable to 1Password.

With no authentication, no authentication errors are possible

One type of error discussed in the paper has to do with how the user authenticates (logs into) the particular web service. There are opportunities for bugs or design flaws to be introduced in that process. 1Password does not involve any authentication or web-based service, and therefore this isn’t a part of 1Password (at all) and so isn’t a part that can go wrong.

We can’t hand out data we don’t have

Another issue that came up in the Berkeley analysis of several of those web-based password managers is with how the service could be tricked into handing out data to the wrong person. Again, we don’t have your data in any form whatsoever, so even if we could be tricked into handing it out, we’ve got nothing to hand out.

Fewer phishing opportunities

Phishing is the trick where an attacker lure you into entering a password (or secret) that you would wish to give one service into a service under the attacker’s control. For example, most of us have received spam claiming to be from PayPal asking us to log in to reset our PayPal passwords. The actual website this spam directs you to is not the real PayPal site, but instead is something under the attacker’s control. This, for some reason, is called “phishing.”

You never type your 1Password Master Password into the web browser (with the exception of 1PasswordAnywhere). With 1Password 4, you never type your Master Password into a browser extension, either. You only type it into the 1Password program itself or into 1Password Mini (on Mac) or 1Password Helper (on Windows). Because of this, it is very unlikely that a malicious website could trick you into giving it your Master Password.

This is a consequence of the fact that 1Password doesn’t do authentication, but it is distinct enough that I listed it separately.

Goodbye to bookmarklets

Browser extensions and browser bookmarklets live in a hostile environment. They live in an environment that is partially created by the web pages you happen to be visiting (and things that those web pages may load from elsewhere). Browser extensions are sandboxed in a way that gives them more protection than bookmarklets. Bookmarklets are highly exposed, and so they need very very strong defenses.

Years ago, 1Password did offer a bookmarklet to provide some ability to use your 1Password data within browsers that didn’t support the 1Password extension at the time. But in 2011 we phased it out, saying:

It’s time to say good-bye to a couple of features that won’t stand up to the anticipated threat environment. One feature, loved by many, is the Login Bookmarklet. This was originally designed as a way to get some 1Password functionality into browsers we didn’t support at the time. Before we had 1Password for iOS, this could be used to kinda-sorta get 1Password data into browsers that didn’t support 1Password directly.

The data in the 1Password Bookmarklet is very well encrypted, but the password for it is not secured using PBKDF2. This means that if the Bookmarklet were to be captured it would need a very strong password on it to resist attack. Because the Login Bookmarklet lives in the browser’s bookmarks, there are more opportunities for it to be captured. Given these two issues, it is time to phase the bookmarklet out.

We weren’t saying back then in 2011 or saying now that it would be impossible to find a way to keep the bookmarklet both usable and sufficiently secure. But we were in a position, given our security architecture, to withdraw from having to defend your data on that particular front.

Linkability

Li’s team raised concerns about “linkability”. Linkability isn’t about revealing the content of your data, but it is a threat to your ability to remain anonymous. If you have a Login with username “Alice” on one site, and “Bob” on another, you may not wish those sites to be able to figure out that those two accounts belong to the same person. That is, you may not wish anyone to be able to “link” those two accounts.

1Password leaks no such information. We don’t have the ability to link those, and even someone who captured your encrypted 1Password data (new format) wouldn’t be able to perform such linking. Again, this is largely a consequence of the fact that we don’t store your data in any form.

Does anything in that paper apply to us?

From the above, you could be left with the feeling that there is nothing for us to learn from Li et al.’s paper. But there are lessons for us. We do have a browser extension, and while it is very different from the kinds of extensions used by web-based password managers, it still needs to remain secure in a hostile environment.

The paper offers two general recommendations that would help provide layers of defense for bookmarklets and extensions. One of them is to specify a restrictive Content Security Policy (CSP) within the extension. The other is to restrict what sorts of JavaScript language features are used within the extension or bookmarklet.

Good advice on Content Security Policies

Content Security Policies is a relatively new and not fully standardized technology. It is most useful for websites to state a CSP which browsers should then enforce. But it is also possible for browser extensions to state a policy. One important policy statement could say that no scripts from outside of the extension should be loaded. When CSP was first introduced, We had jumped on this but found that each browser did things differently, and at the time, even the most advanced didn’t behave as documented.

Here is an excerpt of something I wrote to some of the authors of the paper last Friday (July 11).

Our earlier attempts to specify a [strong] CSP within our [1Password version 3] extension left us with a bad taste in our mouth, but that was a few years ago and browser implementation was erratic, particularly of CSPs within extensions. Your paper is a nice reminder to attempt this again

We do currently use the default CSP that comes with Google Chrome’s  manifest version 2 specification, but it is time to test again how well CSPs work in other browsers.

Defensive JavaScript

Zhiwei and co-authors also point developers to Defensive JavaScript. Roughly speaking this involves avoiding certain features of the JavaScript language, while at the same time encapsulating your own JavaScript functions to protect them from outside tampering.

We had already been aware of the specific recommendations. Although we may not be following the letter of those recommendations, our practices have long been in line with the spirit of them. We avoid “eval”-like operations, and anything we inject into the web page is wrapped up in closures.

Again, their paper is a nice reminder for us to take a look at this again, to ensure that we are doing everything we can to protect our browser extension from compromise.

The exceptional 1PasswordAnywhere

1PasswordAnywhere is an optional, but useful, feature for many users of 1Password. It is useful when you don’t have 1Password itself with you. If you synchronize your data with Dropbox using the Agile Keychain Format, you will have a file within your Agile Keychain folder called 1Password.html. That file contains the JavaScript necessary to give you read access to your 1Password data stored on Dropbox in your Agile Keychain.

1PasswordAnywhere is as secure today as the day we introduced it. Its security has not diminished in any way. But it does remain an exception to much of what I have said above. It does involve a great deal of cryptography in JavaScript; it is an instance where you do enter your 1Password Master Password into the browser, its security relies on TLS/SSL in a way that the rest of 1Password does not, and it is subject to active attacks (data tampering) in ways that the latest version of 1Password is not.

Again, let me stress that 1PasswordAnywhere remains as secure as ever. But because it is cryptography in JavaScript delivered over SSL/TLS and stored on a third party system, it faces threats that other uses of 1Password do not face.

Continuing the discussion

Zhiwei Li will be presenting his results at the 23rd USENIX Security Symposium August 20–25, which I will be attending. I am very much looking forward to continuing my discussion with him and his co-authors in person. I will have a busy August. I will be presenting a paper at PasswordsCon14 August 5–6. In between these two conferences is my 25th wedding anniversary. (If Lívia can put up with me talking about security concepts for 25 years, you, Dear Reader, can manage to wade through some of my long-winded explanations on occasion.)

Baskets are inevitable

I would like to return to the concerns about “putting all of your eggs in one basket”. With a password manager, you are, indeed, putting all of your eggs in one basket. And so it is important that you read articles like this so that you can get a better sense of how well that basket is protected. But I would like to point out that the likely alternative to using a password manager is to resue passwords. Reusing passwords involves putting multiple eggs into multiple, very fragile baskets.

Password reuse

Regular readers of the Agile Blog know that I can’t avoid speaking of the dangers of password reuse. When you use the same password on more than one site or service you are putting yourself at risk. A breach of security with one of those sites leads to your password being discovered, allowing attackers to compromise all the other services for which you use the same password.

Reuse baskets

Suppose that you use the password “2b|kn0t2b” on five different sites. Say, PayPal, Amazon, Dropbox, MyKittyPictures, and TheNewBarkTimes. By doing so, you are putting the security of those five eggs into a single basket. Sure, that isn’t all your eggs in one basket, but it is still five. The more you reuse a password the larger the basket grows.

Furthermore, the bigger your reuse basket grows, the weaker it becomes. This is because the more sites and services that you use the same password for, the more likely it is that that password will be exposed. Suppose that one of the sites doesn’t use SSL/TLS to security your connection. Your password for that site (and for the whole basket) will travel over the network unencrypted. Suppose another site suffers a breach in which its (hopefully hashed) password database is stolen. Your password for your whole basket will depend on the strength of the password and how well that particular site hashes the password. Perhaps one of the sites that you use that same password for is in the habit of sending passwords through email (it happens). The larger your reuse basket becomes, the greater the opportunity for it to be compromised.

So far, I have met one person with many logins who does not need to put multiple eggs into a single basket. She credibly claims to have memorized about 80 unique and reasonably secure passwords. Her superpower is a photographic memory and specific security training in password choice. The rest of us, however, do not share her superpower, and inevitably must put multiple eggs into single baskets. It’s better to pick a basket like 1Password that has been carefully designed for the purpose and subject to scrutiny.

No, you do not need to change passwords in response to the OpenSSL CCS bugs

For the third time this year, there is yet another flaw in an underlying security technology used across the net: the recently fixed OpenSSL bugs announced on June 5. For our customers, we are happy to report that 1Password is not affected by bugs in SSL implementations, nor do these bugs require that most people change passwords.

1Password is not affected and your data remains secure, and you do not need to make password changes. The bug that everyone is talking about, lovingly referred to as “ChangeCipherSpec (CCS)” (also known as “CVE-2014-0224″ or “SSL/TLS MITM vulnerability”), is not in the same category as the recent, catastrophic Heartbleed. It does not require a response from most people in the way that Heartbleed did.

Why no password changes?

As bad as the CCS bug is, here is what makes it different from Heartbleed from a user’s perspective.

1. The attacker must be in a “privileged network position”

Not anyone can launch a CCS-based attack. The attacker must be the operator of some of the network between you and the site you are using. In this respect, the attack is similar to the GotoFail bug in February on Apple’s Secure Transport. In contrast, Heartbleed could be easily launched by anyone anywhere on the net.

2. Both the client and the server must be vulnerable for the attack to work

This means that if you are not using a vulnerable SSL client (web browser, email program, etc), then you remain safe from this attack even if the server is vulnerable. Few desktop browsers use the OpenSSL libraries to manage their SSL connections. Chrome on Android and Konqueror on KDE (linux) are the two most popular ones I can think of that do. Chrome on desktops does not use OpenSSL. In contract, Heartbleed only required the server to be vulnerable.

3. Many systems were fixed before the news of the bugs were made fully public

It is very tricky to fix a bug in open source software without making knowledge of the bug public at the same time. The OpenSSL team and the discoverers of Heartbleed attempted, but failed, to get most systems fixed before going public. With these bugs, they did a better job, so the window of vulnerability was much shorter.

Each of the first two reasons, on their own, are sufficient for me to conclude that the large majority of people do not need to worry about changing passwords. The combination of them and the other two make me extremely comfortable in this advice.

If you are concerned about governments or network operators having exploited this bug, and if you used clients that relied on OpenSSL for their SSL operations (such as Chrome on Android or Konqueror and other KDE tools on Linux), you may wish to change those passwords. But most people don’t need to take any action. It remains important that you do change passwords for systems that had been vulnerable to the Heartbleed bug reported in April. With Heartbleed, there really is a wolf we are crying about.

These new OpenSSL bugs do mean that system administrators need to update their systems quickly, but it does not require them to rekey their server certificates. These bugs are substantial, but the response is the usual “upgrade affected systems promptly”.

Everything that follows goes into technical details explaining what the recent bugs are and what they may mean in general. They have no specific impact on 1Password, but I know that some of you are curious, and I do indeed suffer from a pathological compulsion to explain things.

Read more

iOS 8 icon

On iOS 8, App Extensions, OS X Yosemite, and 1Password

iOS 8 App Extensions iconHonestly, we’d like to exclaim from atop Yosemite’s cliffs about our excitement for the other Yosemite, iOS 8, and all the incredible things Apple announced during WWDC 2014’s opening keynote.

But the great news is we’re actually here, in San Francisco, to learn first-hand about all this amazing new stuff straight from Apple (though the not-so-great news is we’ll have to hold off on the road trip)! If you’re in the area and see us around, we love to meet fellow developers and our amazing customers—be sure to say hi!

iOS 8 App Extensions, Touch ID opening up, and what this all could mean for 1Password

By now you may have heard about App Extensions, one of the many, many new features Apple announced is coming to iOS 8 in the fall. In short, App Extensions allow third-party apps to plug into other apps, including Apple’s own.

iOS extensions

Combine that with Apple’s announcement that Touch ID is also opening up to third-party developers, and you can see why we were doing Snoopy dances in our keynote seats. Then pile on other great new stuff like user-installable keyboards, OS-wide support for third-party cloud storage, Spotlight improvements, and… well, you can see we have a lot of dancing to do. Then, we have a lot of research and testing to do.

This all is incredibly exciting, and we are looking into the delectable possibilities these features might be able to unlock for 1Password. Might.

Right now, we have nothing to announce since we learned of all this awesomeness at the same time as you. We still need to explore the actual capabilities of these features and whether we can even use them.

As soon as we can say more about whether iOS 8’s HomeKit features will let 1Password turn off your lights and lock your front door along with your vault, we’ll exclaim it from atop our blog here, Twitter, Facebook, and our newsletter!