Canada Day, Independence Day, and AgileBits 30 Percent Off Day! Erm… week!

AgileBits calls both Canada and the U.S. home (and other countries too!), so we have a couple of national celebrations coming up next week. But besides fireworks and traditional cuisine, we figured we could add something to the Canada Day and Independence Day festivities, so we’re having a sale!

Through July 8 (for you last-minute-ers, that’s 11:59pm two Sundays from now), all our products are 30 percent off! This goes for 1Password in the Mac App Store, 1Password Pro for iPhone and iPad, 1Password for WindowsKnox for Mac, and everything from our own web store.

Enjoy the festivities next week. But whether you’re celebrating a national holiday or not, enjoy 30 percent off of 1Password and Knox!

Do you know where your software comes from? Gatekeeper will help

Mountain LionYou trust us to provide you tools that keeps some of your very valuable secrets safe. Part of that trust means that, when you install or update 1Password or Knox, you know the app you are getting comes from us. After all, if a bad guy produces a modified version of 1Password, it could do bad things. So far there have been no such modified versions “out there” and we want to keep it that way. In addition to all of the things that we do to ensure that you get the genuine article, Apple is working to make it even easier to keep your Mac free of malicious software.

Apple has just announced that Mountain Lion (to be released in the summer of 2012) will include something called Gatekeeper. This is a core OS X feature that I and others have been anticipating for a while. (surprisingly, almost all of its components are actually built into the latest version of Lion). Roughly speaking, Gatekeeper will allow you to control which apps to run depending on where the software comes from.

The question then is: how does your Mac know where your software comes from?

The Magic of Digital Signatures

I would love nothing more than to explain the mathematics behind digital signatures. But for today’s purposes, let’s just say it is magic (even when you know the math, it feels like magic). When you connect over HTTPS to a secure website, that website proves who it is because it knows a particular secret (called a “private key” or “secret key”). The corresponding “public key” is not kept secret.

The magic is that the website doesn’t have to reveal the secret to prove that it knows it.

Evilgrade

Evilgrade Interface

Instead your computer system can use the non-secret public key to construct a mathematical puzzle that only someone who knows the secret key can solve; anyone with the public key can check that the solution to the puzzle is correct, but they can’t figure out what the secret key is. This can prevent someone hijacking the download process with a tool like evilgrade.

In the same way that a secure website can prove who it is without revealing any secrets, a digital signature on a file (or a group of files) can prove who made it. If someone makes even the smallest change to the signed file, the signature won’t verify.

Three Kinds of Apps

Applications that you install through the Mac App Store (MAS) are all digitally signed this way. But for years, Apple has been encouraging developers to digitally sign applications even if they aren’t sold through the MAS. So on your Mac today there are probably three kinds of applications:

  1. Those that came from the MAS
  2. Signed applications that did not come through the MAS
  3. Applications that aren’t signed

Gatekeeper will allow you to decide which of these categories of applications may run on your machine.

If you are running 1Password 3.9, then that came signed through the MAS. But if you are running 1Password 3.8 or Knox 2 from our website, they are still signed by us and will fall into the second category.

Verifying a signature today

When you install an application from the Mac App Store, the installation process checks the signature. It won’t install the app if it isn’t signed or if the signature doesn’t verify (which is more likely to happen through a damaged download than through a malicious attack, but both can happen). When you update the non-MAS version of 1Password, our updater runs a code signing signature verification as one of the three checks we use to ensure that you are getting the genuine 1Password from us. For those who are curious, our other two verification mechanisms are (1) fetching from a secure web server and verifying the server signature, and (2) checking a cryptographic checksum for the download which we fetch from a separate secure server.

But suppose you wanted to check the version of 1Password that you currently are running. All of those behind-the-scenes checks on the download and installation processes won’t help you do that. Well, the way to check now is hard, which involves running a complicated command in a Terminal window. Here it is for the non-MAS version of 1Password

codesign -vvv -R="identifier ws.agile and anchor trusted" \
/Applications/1Password.app

The output should be something like

/Applications/1Password.app: valid on disk
/Applications/1Password.app: satisfies its Designated Requirement
/Applications/1Password.app: explicit requirement satisfied

Clearly we don’t expect users to run these sorts of commands.

codesign in Terminal

We have been using Apple’s code signing mechanism for years because we wanted to be able to direct concerned users to this kind of command if they specifically ask. We’ve also been using it for additional security in our own updater. But another reason that we’ve been doing this for a while is because we’ve been anticipating either Gatekeeper or something similar.

Verifying a signature tomorrow

Gatekeeper will perform the codesign verification when an application is launched. This adds a great level of additional security beyond verifying the download source when the application is downloaded and installed.

A mathematically valid signature is the easy part

Apple Developer IDThe mathematics (the magic) makes all of the above simple. The hard part of Gatekeeper is the trustworthiness of the signatures. I can sit at a my computer and create a public/private key pair that says that it belongs to Alan Turing. Since Turing has been dead for more than half a century, few people would think that it actually belongs to that great mathematician and codebreaker. But what if I picked the name of a trusted person or institution that is around today?

The answer is that some trusted third party digitally signs my public key after verifying it belongs to who it says it belongs to. I’ve discussed how this system works (and how it can break down) when it comes to web server certificates, so I won’t repeat that here; the concepts are all the same. In the case of codesigning certificates for Mac developers, Apple does that checking and signing.

We changed our name a while back, so at some point before Gatekeeper is in common use, we will have to update our codesigning certificate identifier from “ws.agile” to “com.agilebits”. But for the time being, when you see “ws.agile” as the entity behind the digital signature on 1Password and Knox, you should know that that is us.

Other than getting a new certificate with our new name, we have been ready and waiting for years to get on board with the new security provided by Gatekeeper.

[Update: As of 1Password 3.8.19 Beta 1, 1Password is now signed with our new Apple Developer ID, AgileBits Inc.]

Thanks, and have a very Agile Christmas!

Twas the day before Christmas, when all through the ‘net
Every creature was stirring, on that you can bet.
All the votes were cast at MacStories with care
In hopes that 1Password would soon win there!

1Password won App of 2011 at MacStories!

Everyone at AgileBits would like to say a huge thanks to all of you who voted for 1Password in the Apps of 2011 awards at MacStories! 1Password took the Mac category and the #2 spot in the iPad category! This is a great way to top off a huge year and the perfect motivation to work even harder on all the great stuff we have coming soon. Thank you!

’twas the Zot before Christmas

To say thanks to you for such a great year and to celebrate the holiday season, we’re having a huge MacZot sale—all AgileBits apps are 40% off through Christmas!

That goes for Knox for Mac and 1Password for all platforms, including OS X, Windows, and iOS! All our licenses can be gifted at these great prices, too. It’s a great time start securing your online identity or give the gift of security and productivity, so don’t miss this fantastic sale!

AgileBits Thanks-To-You Sale

This week is Thanksgiving in the US. But even if you don’t live in the US (like some of us at AgileBits), we can all probably be thankful for something. For example: we’re thankful for things like iOS 5, PBKDF2 calibration, and getting mentioned in the Wall Street Journal’s 2011 Holiday Gift Guide. But as with every year, we’re most thankful for you, our amazing customers, so we’re celebrating with a Thanks-To-You Sale!

Starting today and running through Wednesday, November 30, all AgileBits products are 50% off! That goes for 1Password for Mac, Windows, iPhone, and iPad, as well as Knox for Mac, across our Agile Store, the Mac App Store, and iTunes App Store! These prices also work for gift purchases and licenses from all stores. Heck, even our free 1Password reader apps for Android and Windows Phone 7 are 50% freer during this sale!

I’ll break out some numbers for you:

1Password on sale

1Password for iPhone and iPad on sale

Knox for Mac on sale

Again, we really mean it when we say we are most thankful for you, our customers. Without you, we couldn’t do what we love for a living, so this sale is our way to offer some appreciation. You’ll have to act quickly, though—these prices end Wednesday, November 30!

AES Encryption isn't Cracked


An otherwise excellent article over at The Inquirer has a very unfortunate title: AES encryption is cracked. AES is the Advanced Encryption Standard and is at the heart of so much encryption used today by governments, militaries, banks, and all of us. It is used by 1Password and less directly by Knox for Mac. It is the work horse of modern cryptography, and modern computer chips even have components built is to allow AES to be used efficiently. If AES were to be found weakened in any meaningful way, it would be very bad news for a lot of people.

Before I get into what has happened, I’d like to quote from the research paper itself: “As our attacks are of high computational complexity, they do not threaten the practical use of AES in any way.

And quoting the Inquirer’s interview with Andrey Bogdanov, one of the researchers, we learn

“To put this into perspective: on a trillion machines, that each could test a billion keys per second, it would take more than two billion years to recover an AES-128 key,” the Leuven University researcher added. “Because of these huge complexities, the attack has no practical implications on the security of user data.” Andrey Bogdanov told The INQUIRER that a “practical” AES crack is still far off but added that the work uncovered more about the standard than was known before.

“Indeed, we are even not close to a practical break of AES at the moment.”

What’s the news

I’ve been trying to work through the actual paper and presentation slides by Andrey Bogdanov, Dmitry Khovratovich, and Christian Rechberger who were visiting Microsoft Research when they developed this. And although this research is far from having any practical influence on the use of AES it is actually fairly big news.

Cryptographers use the word “broken” in a very special way. If an attack on an algorithm can be computed with fewer computations than is required to check every single possible key, then the system is “broken”. Even if the improvement in the number of computations is negligible (as in this case) and even if other resources needed to get that small advantage are outrageously huge (again as in this case) it still gets called “broken”. But in this very specialized sense of the word “broken” the new research represents the first break of the full AES. It also displays the power of a technique developed earlier by the authors.

Impracticality #1: Impossible amounts of data

The authors calculate the best attack using their technique on AES with a 128 bit key requires storing 288 bits of data. That works out to about 38 trillion terabytes of data. Although estimates are hard to pin down, this is more than all the data stored on all the computers on the planet.

Impracticality #2: All for a two-bit gain

The number of encryptions that have to be performed to recover a 128 bit AES key is 2126.1 instead of the 2128 encryptions it would take to try all of the possible keys. This is a very small gain, as a 126-bit key (instead of 128-bits) would still take billions of years.

Impracticality #3: Lots of known plaintext needed

I may be misreading the research, but I believe that to discover an AES key, an attacker needs an enormous amount of known plaintext. That is, the attacker needs to already have a huge amount of information in both decrypted and encrypted form. I don’t know exactly how “huge” this will be, but I expect it to be far larger than any data anyone would or could encrypt using 1Password. I’m speculating here until I get a better grasp of things. Indeed, the amount is almost certainly related to the amount of data needed in “Impracticality #1″.

So this all doesn’t represent any threat to the practical use of AES for any purpose it is used for. An unfeasible amount of data needs to be stored in order to gain an insignificant improvement over just trying every key. But what it does do is highlight features of AES that make it subject to this kind of attack. Whether attacks based on this ever become any kind of real threat, we can bet that successors of AES will incorporate mechanisms to thwart them.

Where’s the meat? It’s in the middle

From here on out, I will try to explain some of what I understand from the new attack. There is much that I don’t understand of this, but I will give a broad outline and then wave my hands a bit. This part gets very technical, and I won’t be the slightest bit hurt if you stop reading here.

You may have heard of 3DES (Triple DES) which was used in many places before AES was settled upon as a replacement. The old Data Encryption Standard (DES) uses 56 bit keys. By the time we got into the 1980s it was absolutely clear that 56 bits was no longer enough for a key size. One could imagine (as many people did) taking two DES keys and just encrypting your data twice, first with one DES key and then taking that output and encrypting that with the second DES key. This, you might think, would get you the strength of a 112 bit key. It doesn’t.

It turns out that if you have an sample plaintext and ciphertext pair what you can do is try everyone one of the 256 possible keys on the plaintext and also try everyone of the possible keys on the ciphertext as well. You will then find that there is an overlap of results. Some things that the plaintext encrypts into with one key will be the same as what the ciphertext decrypts into. This will give you (pretty much) the two 56 bit keys. This looking for where the output of one can meet up with the input of the other leads to this being called a “meet-in-the-middle” attack (not to be confused with a “man-in-the-middle” attack which is something else entirely). Note that in doing this, we “only” had to work through 256 keys twice. That is the same as working through 257 once. So double encrypting with DES only improved the security by one bit. This is why to get 112 bit strength out of DES we need to go through it three times, and so even though it allows for double the number of key bits, it is actually Triple DES.

Meet-in-the-middle diagram

Now back to AES. Ciphers like AES go through multiple rounds of scrambling and manipulating the data. They also have various internal states as they process a block of data with a key. If we find an internal variable that allows us to break the encipherment into two halves then it is possible to do a meet-in-the-middle attack on that. AES, along with every modern cipher, is designed with this in mind. It is designed with enough rounds and interactions among them so that a standard meet-in-the-middle attack will not be quicker than simply trying every key.

Instead of doing the traditional meet-in-the-middle attack, the new attack constructs entities that group internal states, potential keys which complement each other in specific ways, and ciphertext into what they call “bicliques”. By using these more abstract entities instead of an intermediate variable, the attack can avoid some of the limitations on meet-in-the-middle attacks and be effective over a greater number of rounds. By carefully selecting which potential keys go into which biclique, some computation can be reduced by avoiding any duplication of effort. I still haven’t managed to understand, even in overview, how and why these bicliques do what they do, so I can’t say much more.

Thanks for joining me

If you’ve read this far (including the last section) then I thank you for joining me through my process of trying to understand this new attack on AES. Even though it has no practical implications, I find this stuff oddly fascinating. If you’ve just skipped right to the bottom (not an unreasonable thing to do at all) then let me say again everyone who has studied this, including the authors of the attack, state that this has no implications whatsoever for the practical use of AES.

Knox is ready to secure your files on Lion

We are delighted to announce that you can resume protecting your files in secured vaults on Lion! We’ve updated Knox, our utility for creating and managing encrypted file vaults, to support Apple’s latest OS. We also fixed a Time Machine-related memory leak and made a few other tweaks for good measure.

Now, you may have to sit down for this, but Knox 2.1.5 is a free update for existing owners! Just open Knox and go to Knox > Check for Updates to get back to securing your files. If you’re new to Knox, a free trial is available for Macs running at least OS X 10.5 Leopard.

Updates for 1Password and Knox!

We wanted to end June on a high note, so we’ve released updates to both Knox and 1Password! We’re constantly making both programs more powerful, and at the same time continuing to improve their ease-of-use. Here’s what’s new:

Knox

In Knox, our secure encryption and backup solution, we’ve made a few big changes for version 2.0.3 (release notes). First, we’ve implemented support for Beta builds, which will improve our testing periods and, in turn, the quality of major releases. To get in on the beta versions, simply go to Knox > Preferences > Version and check the “Include Betas” checkbox on the window that pops up. If you like being on the cutting edge, we’d love to have you join our beta team!

Next, we reduced the size of the application by 50%, making it just 4.5MB (and an easy 2.4MB download). We’ve also changed the way Knox handles its menubar mode; you won’t see a temporary icon on the dock before it launches in the menubar, and no more “Knox bubble” (we replaced it with a throbber). This is more intuitive, plus it means launching twice as fast.

We fit in a couple more fixes, too, allowing you to disable auto-updates and making the correct version number appear under Preferences. Check for updates inside of Knox to get the latest version (Knox > Check for Updates).

1Password

For 1Password, we’ve released version 3.2.5 with multiple fixes and improvements. For starters, it adds a window with upgrade instructions when an unsupported browser version is encountered, making browser updates—such as the recent release of Safari 5—a little smoother. We’ve also made interface improvements such as disabling preferences in 1Password > Preferences > Browsers when you’ve disabled browser extensions, and stripping newline characters from title fields. You’ll even find support for additional HTML5 form field types (url and number).

If you’ve been using 1Password to fill comment fields on sites like The Unofficial Apple Weblog, you’ll be excited about one enhancement in particular: from now on, 1Password will fill your username and password, but not auto-submit if the form contains a text field. This means you can use 1Password to fill in your info when leaving comments on blogs without accidentally submitting duplicate comments, even when auto-submit is turned on!

In addition to some performance improvements, 1Password also received a few bug fixes. Some conflicts were being incorrectly reported when syncing, which has been fixed, and bookmarklet creation reliability has been improved. If you noticed the strong password generator resetting to 50-character passwords every time, yes, we got that one, too. We also squashed a bug in 1PasswordAnywhere which would add “Hide” to copied passwords in some circumstances, and fixed the one that would cause display problems in the unlock field when typing over an incorrect password. Even the help system has been improved!

These updates are free to current users (Knox 2 users and 1Password 3 users, respectively). Grab ‘em while they’re hot by using the “Check for Updates” menu!

Welcome to the family, Knox!

Knox Application IconWe’re excited to announce that Knox, the leading solution for file encryption and backup, has become part of Agile Web Solutions! If you already use Knox, you know what a fitting addition it is to the 1Password family. If you’re not already a Knox user, let us show you around!

What is Knox?

Knox creates “vaults” which use the U.S. Government’s new Advanced Encryption Standard (AES), protecting your data with an encryption that the NSA has rated sufficient even for national security information. Each vault functions like an external disk, and adding files to an open vault automatically encrypts them. Knox is used in over 60 countries worldwide, and trusted with everything from medical records to trade secrets, both on company servers and business travelers’ laptops.

Knox menuitem menu

In addition to providing military-grade encryption, you can schedule backups for your vaults from within Knox, ensuring your data’s safety and integrity, too. Using Knox is practically transparent: the vaults function just like the disks you work with every day. As long as a vault is open, you can open, edit and delete the files in it as if they were right on an external disk. You can switch quickly between vaults from either the Dock or the menubar, open multiple vaults at once, and integrate any vault with Spotlight, if you choose. Because the format used by Knox is supported natively in OS X, you can even open Knox vaults without having Knox installed, if you have the password. How’s that for peace of mind?

Knox backup preferences

What about current Knox users?

We can assure current Knox users that it’s in good hands, and we’ll carry on its quality development and support with the same passion we put into 1Password. After all, it’s part of the family now! Knox 2 will be a free upgrade for all existing license holders: watch your email for a Knox 2 license key. It’s suggested that you wait to receive your new license before you upgrade.

So, welcome Knox! We’re proud to be continuing development and support for an amazing product. Feel free to drop by the new Knox support forum and ask questions or offer suggestions! If you haven’t tried Knox yet, you can grab a free trial, and if you love it (and we’re sure you will), you can pick up a license for $34.95US.