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

Encryption support #24

Open
fellowseb opened this issue Nov 18, 2020 · 9 comments
Open

Encryption support #24

fellowseb opened this issue Nov 18, 2020 · 9 comments
Labels
enhancement New feature or request

Comments

@fellowseb
Copy link

Hi !

Are there any plans to add native encryption support to the buckets; or has it being at least considered ?
Came here from this indexedDb PR remark.

Thanks for the great work !

@ayuishii ayuishii added the enhancement New feature or request label Dec 3, 2020
@ayuishii
Copy link
Collaborator

ayuishii commented Dec 3, 2020

Hi, thanks for expressing interest in this feature!
Encryption is being considered but as an addition in a separate explainer.
Do you mind sharing the use case you had in mind?

@fellowseb
Copy link
Author

fellowseb commented Dec 14, 2020

I'm currently working on a Password Manager application that runs either in a WebExtension (using the chrome.storage api for storage) or as a webapp (using indexedDb for storage). Of course, everything we persist locally needs to be ciphered.
With the arrival of Google's Manifest V3 spec for Web Extensions we are trying to find ways to make storing the users' data faster.
I don't have a particular issue/example at hands to be honest; I just wanted to get some information about this promising feature that are storage buckets :).

@christianliebel
Copy link

I would just like to briefly mention that we hear about this requirement very often. Some of our customers process personal data that should not remain in plain text on the device.

@MrAntix
Copy link

MrAntix commented Dec 21, 2020

My use case would be a PWA which needs to store sensitive information for use offline.

Making an encrypted store available would be a great boost for business facing PWA take up. Further, if it could be aligned with local authentication biometrics, that would be wonderful

@rjcorwin
Copy link

rjcorwin commented Feb 8, 2021

Hi @ayuishii - I work on the Tangerine project (https://github.com/tangerine-community/tangerine) which is an offline data collection tool used mainly in Africa. The organizations we work with cannot afford additional licensing fees from services such as Microsoft Intune to ensure that device encryption is turned on so we've resorted to handling encryption using SQLcipher. Not only does this tie us to additional infrastructure tools such as Cordova, this also comes with substantial performance impact over using indexDB and potential for App crashes if too large of a query is made. For Tangerine projects and all other software serving markets that cannot afford to manage device settings using subscription services, having encryption in IndexedDb would be a huge win for security and result in more/better software reaching these markets.

@janl
Copy link

janl commented Feb 12, 2021

HI @ayuishii — I’m working on a Covid vaccination project that uses similar technology to Tangerine, and which has strong data-security requirements for personal and medical data. So far, we’re encrypting data before storing it and that works fine, but it’s a hand-rolled encryption mechanism that we’d happily replace for a platform-provided one.

@fierysunset
Copy link

Hello @ayuishii! I'll also add a use case :)
We have a messaging web product that is persisting data in IndexedDB to allow for quicker boot up times of the app, draft messages being available across sessions, and better consistency of the state of the app overall. As expected, messaging can contain sensitive and private data, thus the need for encryption.

Would love if this is something that can be a default feature of IndexedDB! Are there any relevant updates?

@evanstade
Copy link
Collaborator

To all the requesters of this feature: where is the encryption key to be stored? Is it provided by the app? If it's part of the offline portion of an app, then I suspect this would only create security through obscurity, as the app data itself is not encrypted against other malicious code running on the user's machine. If it's stored on a server only, then the data ceases to be available offline.

@MrAntix
Copy link

MrAntix commented Apr 5, 2023

For me they key would be stored on the authenticator.

for example using the hmac extension in CTAP 2.1

https://fidoalliance.org/specs/fido-v2.1-rd-20210309/fido-client-to-authenticator-protocol-v2.1-rd-20210309.html#sctn-hmac-secret-extension

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

No branches or pull requests

8 participants