Skip to content
New issue

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

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

Already on GitHub? # to your account

Manage data safely within the client #9

Closed
ionut-arm opened this issue Mar 25, 2020 · 4 comments
Closed

Manage data safely within the client #9

ionut-arm opened this issue Mar 25, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@ionut-arm
Copy link
Member

Some of the data handles by the client could be seen as sensitive and in need of memory scrubbing once they are dropped (or just enhanced protection for reading/revealing).

One example would be the authentication values passed within requests.

Some other bits of data coming from a user might be equally sensitive, but it's debateable:

  • hashes given for signing
  • signatures returned
@ionut-arm ionut-arm added the enhancement New feature or request label Mar 25, 2020
@hug-dev
Copy link
Member

hug-dev commented Mar 25, 2020

I agree! We need to classify which inputs are confidential (all of them by default?), document it and clear memory after use, very similarly to parallaxsecond/parsec#122

Would be nice to find a solution that is applicable to all structures we think need scrubbing.

@ionut-arm
Copy link
Member Author

I've been looking at secrecy and zeroize and I think they're both very useful but for different use cases.

We can use secrecy for things that are strictly secret, like the app authentication values (this probably applies more to the interface crate, at the moment). The direct authentication string is probably not secret - but maybe we should mark it as such anyway?

I'm not sure if all inputs are confidential - e.g. key attributes or names? We could make them all clean up afterwards (probably not a high cost). For some of them we need to implement our own wrappers just to impose stricter type controls (e.g. a type for signatures).

@hug-dev
Copy link
Member

hug-dev commented Aug 7, 2020

Some types of the interface are already under Zeroize or Secret, this is to check the client's types.

@hug-dev
Copy link
Member

hug-dev commented Sep 2, 2020

This was dealt with #32

@hug-dev hug-dev closed this as completed Sep 2, 2020
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants