This is indeed a very important issue.

In the case of a T10 compliant application pushing a key down to an arbitrary drive which the application knows nothing about the vendor (that is using a proprietary nonce). We need to make sure that vendor A and B have a 0 chance of a collision.

I would suggest there are two solutions.

1) we do nothing and tell T10 that they must make sure this never happens and emails like this need to occur in that working group. this abdicates the nonce collision to them.

2) since we allow the nonce to be vendor independent, we describe and endorse something like the following.

I want to discuss this issue openly in the group and then decide. Based on that decision, we can then discuss methods. (especially since SHA-1 is under a significant amount of scrutiny and we can do better).

Jim


On Jan 4, 2006, at 9:01 PM, Matt Ball wrote:

Thanks Shai and Glen for getting this updated!

I think the only big outstanding issue is that we need to find a way to solve the problem of unique IVs across different vendors. Jim, have you had a chance to looks at some of the options? I'd like to get some discussion started before our next meeting in February, so here are some comments (most coming from Fabio's meetings of the December meeting):


Does anyone have a link to the NIST key derivation algorithm draft? This could be a good candidate if it's somewhat useable. If nothing else, it would provide a good starting point.


Just brainstorming here -- How about if we did something like this:

NewKey = SHA-256(UserKey || 3-byte IEEE OUI || Vendor unique information)

That is, we concatenate the provided user key with the unique 3- byte IEEE vendor ID, along with anything else that would be useful for a vendor to include (product name, serial number, media ID, etc). Of course, using a hashing function like this would reduce the entropy of the 256-bit key by roughly 2/3 of a bit, but it seems to me that 255.3 bits would still be enough security (anyone think we need to keep the whole 256-bits of entropy?). By using a hashing function we shouldn't need to worry about possible weak keys (not that AES has any...).


Other ideas? The minutes mentioned that we could try using NIST key wrap. Does anyone have a link to this as well?


Also, I've discovered that it may not be easy to guarantee a unique nonce in all cases. For example, with some technologies it is difficult to create a unique media ID because the tapes may have no preformatting whatsoever (thus no way to store a unique media ID). It is then up to the first drive that writes a tape to create a media ID for that tape. The most promising approach so far is to create a 64-bit random number and use that within the nonce. Realistically speaking, a 64-bit random number would not reach its birthday limit until somewhere around 4 billion tapes. This seems to me like adequate protection for someone who has already lowered their security standards by using the same key on multiple tapes.

Would it be okay if we relaxed the 1619.1 specification to say that the IV must only be unique for a given tape, and otherwise have a high probability of being unique across different tapes? This would make for a much more practical solution for the different technologies. We could additionally add an advisory that the user should generally not use the same key on multiple tapes. Thoughts?


Thanks,
-Matt

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Shai Halevi
Sent: Friday, December 23, 2005 6:55 PM
To: SISWG
Subject: p1619.1 document (tape), draft version 0.4


Attached is another version the p1619.1 draft, modified by Glen and myself.

Following the discussion in the last meeting, we modified it to be very permissive in terms of what is written to tape and in what format. Also we added a section about authentication-only mode to reflect a request to put it there. We need to discuss, however, whether or not we really want it there (I personally do not).

Some editorial changes: the draft now talks about variable-length block storage rather than tape. Also, we tried to be consistent about using bytes vs. bits to
specify length (we chose bytes).

-- Shai

Reply via email to