Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5.2.5. ContentKey IV size #106

Open
RufaelDev opened this issue Apr 20, 2023 · 5 comments
Open

5.2.5. ContentKey IV size #106

RufaelDev opened this issue Apr 20, 2023 · 5 comments

Comments

@RufaelDev
Copy link

A question I got was if it is possible to specify the IV size, it is currently 128 bits, but in cenc it is also possible to use a 64 bit IV, has there been any discussion on explicitly supporting signaling this in CPIX. For example an attribute in ContentKey to specify this. Thanks for your help with this.

@lpiron
Copy link
Collaborator

lpiron commented Apr 20, 2023

The need for the IV on this interface is only for FairPlay license creation, providing the IV on this interface is no necessary in any other case (I agree that it is not at all explicit).
We didn't use the term constant_IV in CPIX, but this is the one to be considered in the CENC specification. While it can indeed be of different size in CENC, there is the additional constraint that it shall be 128 bits in section 4.3.2 of CTA WAVE doc.
I hope this clarifies. Do you believe that the IV shall be provided in other cases?

@RufaelDev
Copy link
Author

@lpiron thanks for the quick reponse, for cenc CTR mode cenc usually does 8 bytes IV, but we also seen cases of CTR mode with 16 bytes IV, this is what raised the question. So it is mostly about CENC CTR mode, we agree with your point on using 128 bits for cbcs. In such cases it may be useful to specify this in the
ContentKey element.

@RufaelDev
Copy link
Author

To come back on this, we found that Samsung TV's with Tizen < 5.0 that can only playout CTR with 16 byte IV's, this is what the case arose from, it is not clear in the spec that ExplicitIV field is only for fairplay cases, so it is quite likely that it is used that way, it makes sense to allow CPIX usage beyond specific profiles like CTA WAVE to allow implementation of different relevant commercial use cases.
Proposal would be to add an attribute with the ExplicitIV size in contentKey element.

@lpiron
Copy link
Collaborator

lpiron commented Jun 16, 2023

Adding the length of the IV would be a change for CPIX 2.4.
But As explained having the IV on this interface only make sense in one specific case. I tried to update the text accordingly (still to be reviewed):
This is the value of Constant IV defined in MPEGCENC or of the IV attribute under #EXT-X-KEY defined in HLS. Use of this attribute is not recommended except for compatibility with some DRM systems that explicitly need it.

In addition, while for cbcs the IV is constant, for cenc the IV should change for every sample. It is then not easy to provide all IVs with CPIX.

@RufaelDev
Copy link
Author

thank you @lpiron yes we can prepare a proposal for the CPIX 2.4 , even if IV may change the IV size may not so signaling it in CPIX can still make sense using another attribute,

adding this restriction to text may affect some current usage, i need to check this with my colleagues and i will follow up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants