OCFL / Use-Cases

A repository to help capture, track, and discuss use cases for OCFL. Issues-only, please.
7 stars 0 forks source link

Need to use a digest that is new since the last OCFL specification update #34

Closed zimeon closed 1 year ago

zimeon commented 5 years ago

The OCFL specification vN has been stable for some time and is widely adopted. However, there is concern over old digest algorithms and a need to use a new algorithm. How is this handled in a conforming way without requiring a specification update?

ahankinson commented 5 years ago

sha512 and blake2b, barring any discovered exploits, are widely accepted as being as close to cryptographically secure as we can get with our current understanding. The addition of a new algorithm, should either be broken, would be a backwards-compatible change (the old one would still be valid, if not cryptographically secure). So we would still be able to have a vN.X release if we update the specs to add a new algorithm, and update guidance on recommended fixity algorithms.

zimeon commented 5 years ago

My feeling is that we may at some stage want to separate the list of allowed algorithms from the spec in order to avoid having to update the spec to change algorithms. This is a placeholder for discussion of that vs the vN.X proposal.

ahankinson commented 5 years ago

Related to ocfl/spec#292

rosy1280 commented 5 years ago

One of the issues with pushing the table into an addendum document is it becomes difficult for users to determine when an algorithm choice has changed which impacts automated tooling. As discussed in the meeting on 2019-04-03 we decided to keep the table in the spec.

zimeon commented 5 years ago

I wasn't proposing to remove from the spec now, it was intended as a placeholder for future discussion

zimeon commented 1 year ago

Editors discussion 2023-09-22:

The addition of a new digest would require writing a new version of every object to have the update and the update of code to support the new algorithm. However, the use of digests for content addressing (within an object) does not rely upon the cryptographic security of the digest. If cryptographic security is the issue then a new algorithm can be added within a fixity block without a change to the specification.

Closing this issue.