From: Ohm on
I have been looking into online password managers lately because I think
they are
much more useful than locally stored password managers such as KeePass.

I have four candidates in mind:

Passpack.com

Lastpass.com

clipperz.com

Mitto.com

Besides interface usability, they all claim to use AES 256 bit for
encryption, and what
is best, is that the encryption is performed locally on your computer
before sending it
encrypted over SSL to their encrypted servers.

The fact that encryption is performed locally gives me some peace of mind
in regards to
the possibility that their servers may not be as secure as they say they
are.

But not being myself an expert in cryptology and not being any of those
programs open
source, adds to concerns.

Can a password manager such as one of the listed above be trusted?

I am open to alternatives, if you know of a better online password manager
let me know.

Thanks
From: Doc O'Leary on
In article <op.vbh3mqgp71z69w(a)aopenxpc>, Ohm <Ohm(a)no.no> wrote:

> >
> >> Can a password manager such as one of the listed above be trusted?
> >
> > No. You need to trust the owner of the online password manager.
> >
> I do not see where I should trust them, the encryption is performed on my
> browser
> before the data is sent, even if they read it, the password is still
> encrypted.

How do you figure? HTTPS only secures the communication channel. It
doesn't keep the server from reading the data; it wouldn't be very
useful if it did. It would take a plug-in or some JavaScript for the
data to be encrypted before it gets sent, and then it would just shift
your trust from their server to their local code.

--
My personal UDP list: 127.0.0.1, localhost, googlegroups.com, ono.com,
and probably your server, too.
From: bmearns on
On Apr 22, 10:09 am, Doc O'Leary <droleary.use...(a)2q2010.subsume.com>
wrote:
> In article <op.vbh3mqgp71z69w(a)aopenxpc>, Ohm <O...(a)no.no> wrote:
>
> > >> Can a password manager such as one of the listed above be trusted?
>
> > > No. You need to trust the owner of the online password manager.
>
> > I do not see where I should trust them, the encryption is performed on my  
> > browser
> > before the data is sent, even if they read it, the password is still  
> > encrypted.
>
> How do you figure?  HTTPS only secures the communication channel.  It
> doesn't keep the server from reading the data; it wouldn't be very
> useful if it did.  It would take a plug-in or some JavaScript for the
> data to be encrypted before it gets sent, and then it would just shift
> your trust from their server to their local code.
>
> --
> My personal UDP list: 127.0.0.1, localhost, googlegroups.com, ono.com,
>     and probably your server, too.

If I understand the system correctly, they use JavaScript to perform
symmetric encryption on your passwords locally. Only these encrypted
versions are stored on their servers and you need just one strong
password/key to unlock them all. In this model, it is secure against
the server.

The real issue is that the JavaScript can trivially capture the
decrypted value or even the master key and send that to the server
without the user knowing.

-Brian
From: unruh on
On 2010-04-22, bmearns <mearns.b(a)gmail.com> wrote:
> On Apr 22, 10:09?am, Doc O'Leary <droleary.use...(a)2q2010.subsume.com>
> wrote:
>> In article <op.vbh3mqgp71z69w(a)aopenxpc>, Ohm <O...(a)no.no> wrote:
>>
>> > >> Can a password manager such as one of the listed above be trusted?
>>
>> > > No. You need to trust the owner of the online password manager.
>>
>> > I do not see where I should trust them, the encryption is performed on my ?
>> > browser
>> > before the data is sent, even if they read it, the password is still ?
>> > encrypted.
>>
>> How do you figure? ?HTTPS only secures the communication channel. ?It
>> doesn't keep the server from reading the data; it wouldn't be very
>> useful if it did. ?It would take a plug-in or some JavaScript for the
>> data to be encrypted before it gets sent, and then it would just shift
>> your trust from their server to their local code.
>>
>> --
>> My personal UDP list: 127.0.0.1, localhost, googlegroups.com, ono.com,
>> ? ? and probably your server, too.
>
> If I understand the system correctly, they use JavaScript to perform
> symmetric encryption on your passwords locally. Only these encrypted

And you know that is what it does how? That javascript could also
encrypt your password with a key known to them, which they can then
decrypt. You would know it does not do this how?

> versions are stored on their servers and you need just one strong
> password/key to unlock them all. In this model, it is secure against
> the server.

No it is not. Only to the same extent as you knew your money was safe
with Bernie Madoff, because he told you so.


>
> The real issue is that the JavaScript can trivially capture the
> decrypted value or even the master key and send that to the server
> without the user knowing.

Yup.
>
> -Brian
From: bmearns on
On Apr 22, 1:01 pm, unruh <un...(a)wormhole.physics.ubc.ca> wrote:
> On 2010-04-22, bmearns <mearn...(a)gmail.com> wrote:
>
>
>
> > On Apr 22, 10:09?am, Doc O'Leary <droleary.use...(a)2q2010.subsume.com>
> > wrote:
> >> In article <op.vbh3mqgp71z69w(a)aopenxpc>, Ohm <O...(a)no.no> wrote:
>
> >> > >> Can a password manager such as one of the listed above be trusted?
>
> >> > > No. You need to trust the owner of the online password manager.
>
> >> > I do not see where I should trust them, the encryption is performed on my ?
> >> > browser
> >> > before the data is sent, even if they read it, the password is still ?
> >> > encrypted.
>
> >> How do you figure? ?HTTPS only secures the communication channel. ?It
> >> doesn't keep the server from reading the data; it wouldn't be very
> >> useful if it did. ?It would take a plug-in or some JavaScript for the
> >> data to be encrypted before it gets sent, and then it would just shift
> >> your trust from their server to their local code.
>
> >> --
> >> My personal UDP list: 127.0.0.1, localhost, googlegroups.com, ono.com,
> >> ? ? and probably your server, too.
>
> > If I understand the system correctly, they use JavaScript to perform
> > symmetric encryption on your passwords locally. Only these encrypted
>
> And you know that is what it does how? That javascript could also
> encrypt your password with a key known to them, which they can then
> decrypt. You would know it does not do this how?
>
> > versions are stored on their servers and you need just one strong
> > password/key to unlock them all. In this model, it is secure against
> > the server.
>
> No it is not. Only to the same extent as you knew your money was safe
> with Bernie Madoff, because he told you so.
>
>
>
> > The real issue is that the JavaScript can trivially capture the
> > decrypted value or even the master key and send that to the server
> > without the user knowing.
>
> Yup.
>
>
>
> > -Brian

See, I thought my post was short enough that people would read the
whole thing before starting a response =). My point was that the model
being portrayed is safe, but that there is no guarantee that this is
the model they're actually using.

*If* the JavaScript used your master key to encrypt the password and
only sent the ciphertext, then its safe against the service spying on
your passwords. But as we both pointed out, you won't know that this
is what its doing unless you carefully inspect the code every time you
use it, which is obviously ridiculous.

A better option, if you this is the sort of service you want, is to
set up a webserver for yourself, host the service on your own
webserver (after inspecting the code to make sure it only does the
right thing), and always make a secure connection to ensure no one can
swap out their own JavaScript for yours. If you already have a
webserver with a secure connection and know how to write JavaScript
and server-side script, then this is a pretty reasonable option.

However, this sort of service in general has significant flaws.
Obviously hardware/os-level key capture is an issue anytime you're
using an insecure system (like at work or in a public library, for
instance), but the fact that this all goes down on the web makes it
much worse. JavaScript in general was not designed and is not
implemented with this sort of security in mind, and there are a number
of ways a site could spy on you as you do whatever it is you need to
do to get your password. For instance, it would be pretty trivial for
a site to listen for all changes made to the DOM, notice when one of
these services adds an input field, and then add a key listener to it
to capture your master password.

Just my $0.02

-Brian