> The only weakness I can see in this is that I am using the Encrypted
> Local Store to save the RSA keys. I intend to use this same technique
> in communicating sensitive with back end web services. Which brings up
> the next question: How secure is the Encrypted Local Store? If someone
> can get the private key from there, it's all for nothing.

The Encrypted Local Store is just a wrapper around the operating
system's, well, encrypted local store. On Windows, it's the DPAPI, and
on the Mac, it's the keychain. No idea what it is on Linux.

As for whether those APIs are vulnerable, well, if they were, it would
be a pretty high priority bug for OS manufacturers given all kinds of
even more secret things are stored in there. It is worth noting that
those APIs depend on the security of the system and the user's
password.

On top of that, the AIR ELS implementation uses your app's cert as
part of the key (as well as your app and publisher IDs), so only your
app with your cert can access data you have encrypted. Any other app
cannot access it (not quite sure what happens when your cert expires
and you need to renew it).

The most vulnerable part of using the ELS is after the data has been
decrypted. It is then stored in memory in plain text until it is
garbage collected. (Curious question - I wonder if strings are
interned in AIR, if so, that could pose another security problem.)

But like others have said, if memory scanning is a problem, the
problem is bigger than AIR.

Here's a bit of discussion on it -
http://weblogs.macromedia.com/cantrell/archives/2007/12/encrypting_data.html

Reply via email to