First draft of PasswordSafe format v3

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

First, thanks to all for interesting comments and discussion on this, both
on and off-list.

Following is my proposal for the new format. Comments and constructive
criticism welcome.

	Cheers,

		Rony

The format described below has two goals:
1. To fix a minor design flaw in previous versions of the PasswordSafe
database format.
2. To replace the underlying cryptographic functions with more advanced
versions.

Meeting these goals is impossible without breaking compatibility: The new
format will NOT be compatible with existing implementations. An
implementation supporting this format SHALL be capable of importing from
and exporting to the previous (2.x) format.

A V3 format PasswordSafe will be structured as follows:

SALT|H(P')|B1|B2|IV|HDR|R1|R2|...|Rn

Where:

SALT is a 256 bit random value, generated at file creation time.

P' is the "stretched key" of the user's passphrase and the SALT, as defined
by the hash-function-based key stretching algorithm in
http://www.schneier.com/paper-low-entropy.pdf (Section 4.1), with SHA-256
as the hash function, and 2048 iterations (i.e., t = 11).

H(P') is SHA-256(P'), and is used to verify that the user has the correct
passphrase.

B1 and B2 are two 128-bit blocks encrypted with Twofish using P' as the
key, in ECB mode. These blocks contain the 256 bit random key K that is used
to encrypt the actual records. (This has the property that there is no known
or guessable
information on the plaintext encrypted with the passphrase-derived key that
allows an attacker to mount an attack that bypasses the key stretching
algorithm.)

IV is the 128-bit random Initial Value for CBC mode.

All the following records are encrypted using Twofish in CBC mode, with K
as the encryption key.

HDR: The database header, containing the version number, non-default user
preferences, and perhaps other housekeeping information.

R1..Rn: The actual password entries, in the format described in the V2
document, with possible additional fields.

END OF DRAFT





-------------------------------------------------------
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.