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

Persistent storage against webkit's ITP #245

Closed
nerocrux opened this issue Oct 30, 2020 · 3 comments
Closed

Persistent storage against webkit's ITP #245

nerocrux opened this issue Oct 30, 2020 · 3 comments

Comments

@nerocrux
Copy link

Hi everyone.

In this standard, it is expected that the developers are using the Indexed DB for storing the crypto object.
https://www.w3.org/TR/WebCryptoAPI/#concepts-key-storage

However, the webkit published a "7-Day Cap on All Script-Writeable Storage" several months before, which the Indexed DB is also included.
https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/

According to this policy, if user doesn't interact on the certain site for 7 days, the storage will be cleared.
This makes the storage unavailable for persistent store crypto object.

I understand defining which storage to use is out of the scope of this specification, however in most cases using this API (especially using for SPA), persistent storage is a must.

Do you have any suggestion against ITP? Thank you in advance.

@erhardbrand
Copy link

I just want to add support to this ticket as well. Losing access to a keypair after 7-days negates a lot of use-cases for us.
Would hardware key generation & storage not be an option on supported devices, making use of the device's ability to store the keypair in hardware?

@sideshowbarker
Copy link
Member

For anything to happen on this, we would need somebody to take responsibility for actively driving further discussion about it. We’re looking for an editor to possibly do that — #249 — but in the mean time, unless someone else picks up the work on this, it’s unlikely anything will happen with it.

@twiss
Copy link
Member

twiss commented May 3, 2021

I agree that this is an issue, but IMHO, this issue can't be solved in the Web Crypto spec. The reason is that from the point of view of tracking prevention, stored key material can be used as a unique tracking identifier just as much as any other stored data. Therefore, the implementer needs to take tracking into account just as much as for any other storage. Thus, a general solution is needed.

That general solution might look something like StorageManager.persist() (MDN), which Chrome and Firefox already implement. So I would suggest opening an issue for that in webkit, perhaps pointing to storing Web Crypto keys as one of the use-cases.

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

4 participants