RE: Validation flaw addressed in version 2.14

"Rony Shapiro" <[email protected]>
Newsgroups gmane.comp.security.passwordsafe.devel
Message-ID <[email protected]>
Hi James!

I'm afraid the "small string are as secure as long strings" theory doesn't
hold. By encrypting the database as one monolithic object, we deny the
attacker much information that she can (theoretically, at least) use to
mount an attack. Basically, the more the attacker knows about the contents
being protected, the easier the attack is. Also, by providing cleartext
information per-record in the database, we potentially allow an attacker to
identify a record of particular interest, and concentrate effort on that.

Now, I'm not saying that it's impossible to design a system where each
record is individually encrypted yet the attacker cannot use this fact to
mount an attack more effective than the whole database encrypted, but I'm
afraid I do not have the resources to design such a system, and I'm not
aware of any off-the-shelf or textbook solution.

BTW - the data is indeed encrypted in blocks of eight bytes, but there is a
strong dependency between blocks - "chaining" - which greatly increases the
security of the system.

As to syncing - there are several ways this might be addressed, but Id' be
very happy to first see a PDA version, other than the 1.9.2c port, which is
over two years old...

	Cheers,

		Rony

> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On 
> Behalf Of James Curran/MVP
> Sent: Thursday, November 24, 2005 9:53 AM
> To: [email protected]
> Subject: RE: [Passwordsafe-devel] Validation flaw addressed 
> in version 2.14
> 
> >> It also raises the opportunity to think about putting in structure
> that encrypts each record individually. That, coupled with a
> timestamp, would allow records to be sync'ed to a PDA without
> prompting the user for the Safe combination. <<
> 
> 	I've been advocating exactly that for a while, for exactly that
> reason.  However, a unencrypted timestamp by itself is not 
> good enough -- We
> also need some way of knowing which entry is which.  I'd 
> recommend adding a
> unencrypted GUID to each record.  The GUID has the advantage 
> of (a) being
> unique and (b) been obscure -- even unencrypted, it provides 
> no information
> about the encrypted data.
> 
> So, to expand upon Greg diagram:
> 
> <unencrypted>[Record 1 length][GUID1][Timestamp
> 1]</unencrypted><encrypted>[Name 1]|[Password
> 1]|[Notes 1]</encrypted>
> <unencrypted>[Record 2 length][GUID2][Timestamp
> 2]</unencrypted><encrypted>[Name 2]|[Password
> 2]|[Notes 2]</encrypted>
> 
> 
> Now, this design brings up a big question (which I don't know 
> the answer to,
> but I'm sure some who actual know about encryption does..)  
> "Is a collection
> of short encrypted string any more or less secure than one 
> big encrypted
> string of approx the same total bytes?"   As I was going through the code
> some time ago, it appeared that encryption was done 8 bytes 
> at a time, in
> isolation (ie, the big string was actually, in effect, a collection of
> 8-byte string, each encrypted independently).  If that is 
> true, it renders
> my previous question moot.
> 
> For my last suggestion, let's go for something radical.... Why are we
> reinventing the database? Why not make the new PasswordSafe 
> file format a
> simple MSAccess file.  Here the structure would be:
> 
> ID		ReplicationID    (PrimaryKey)
> ModTime	DateTime
> Data		Memo		(Holds Name/Password/Notes in encrypted
> form)
> 
> In fact, if the "small string are as secure as long strings" 
> theory is true,
> we can make it:
> ID		ReplicationID    (PrimaryKey)
> ModTime	DateTime
> Name		Text			(Encrypted)
> Password	Text			(Encrypted)
> Notes		Text			(Encrypted)
> 
> That should trivialize all database functions of the 
> application, leaving
> just UI & Encryption.  
> 
> The down side of this is that it loses file-compatibility 
> with non-Windows
> systems, although I wonder how large the need for cross-platform file
> compatibility is.
> 
> The plus side is that it greatly simplifies tools like a sync-er (or a
> conversion tool for those other platforms).  It also prepares 
> the way for
> the next step -- utilizing the build-in database in Windows Vista.
> 
> 
> 
>     Truth, 
>      James Curran
> 




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.