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

[Features Request] Preserve file timestamps when encrypting/decrypting #286

Open
H-Sorkatti opened this issue May 11, 2024 · 9 comments
Open
Labels
enhancement New feature or request

Comments

@H-Sorkatti
Copy link

H-Sorkatti commented May 11, 2024

Hello there.

Thank you for the nice app.
I'd like to suggest 2 important modifications:

1- Maintain the original modification date of the files before they are encrypted in the specified container.
Currently once you add (encrypt) the file into the container folder, its metadata is overwritten by the new creation date.

2- Execute long running operations like mounting/encryption/decryption as foreground services.
Some android phones manufacturers have very aggressive battery optimization techniques running in the background. In my samsung phone, I cannot for example, leave DroidFS in the background while encrypting or decrypting a moderately large number of files, as it will most certainly be stopped. Setting the app battery usage as unrestricted did not help. Same can be said for mounting containers. If I send the app to the background, it would most certainly be dismounted after a while.

Thanks.

@H-Sorkatti H-Sorkatti changed the title [Feature Requests] Main file modification date & run encryption/decryption as a background service [Feature Requests] Maintain file modification date & run mounting/encryption/decryption as a background service May 11, 2024
@H-Sorkatti H-Sorkatti changed the title [Feature Requests] Maintain file modification date & run mounting/encryption/decryption as a background service [Features Requests] Maintain file modification date & run mounting/encryption/decryption as a background service May 11, 2024
@hardcore-sushi
Copy link
Owner

Maintain the original modification date of the files before they are encrypted in the specified container.

Yes, this would be nice to have. I think it would still be better to let the user decide with a switch in the settings.

Execute long running operations like mounting/encryption/decryption as background services.

DroidFS already runs file encryption and decryption tasks in the background as a foreground service. I don't understand what you ask here.

Holding volumes open in a foreground service has already been proposed here: #250. It would also help implementing #73.

@H-Sorkatti
Copy link
Author

Yes. #250 is exactly what I suffer from.

I also see that my wording was inaccurate, indeed I meant keeping a container open as a 'foreground' service with a persistent notification. Not a background service.

@hardcore-sushi hardcore-sushi changed the title [Features Requests] Maintain file modification date & run mounting/encryption/decryption as a background service [Features Request] Preserve file timestamps when encrypting/decrypting May 11, 2024
@hardcore-sushi hardcore-sushi added the enhancement New feature or request label May 11, 2024
@hardcore-sushi
Copy link
Owner

v2.2.0 brings a new feature which, when enabled, should prevent any automatic interruption of file operations. Can you please check if it actually solves this issue?

@amirs444
Copy link

-> Here's another reminder to give a setting in Droidfs to preserve timestamps of the documents.

Thank you for the amazing app. You can market a paid & special version of droidfs for journalists and other people with special jobs, where the data cannot be forcefully taken by torturing the person into giving passwords.

@H-Sorkatti
Copy link
Author

v2.2.0 brings a new feature which, when enabled, should prevent any automatic interruption of file operations. Can you please check if it actually solves this issue?

Can confirm interruptions of encryption/decryption operations stopped. Thanks.

Still waiting for preserving file timestamps feature.

@hardcore-sushi
Copy link
Owner

Here's another reminder to give a setting in Droidfs to preserve timestamps of the documents.

It's already marked as a feature request. Please be patient, open a PR, or fund the development.

You can market a paid & special version of droidfs for journalists and other people with special jobs, where the data cannot be forcefully taken by torturing the person into giving passwords.

How could the app help people being tortured not to disclose their password?

@amirs444
Copy link

amirs444 commented Sep 3, 2024

open a PR

I type with two fingers and don't know anything about software programming. :-)

How could the app help people being tortured not to disclose their password?

I was reading a Reddit comment months ago that there is a special type of encryption which has two passwords, and two containers. And it is EXTREMELY difficult to find the two containers even in lab analysis. (I cannot believe how this is possible, but people on that Reddit post were very excited about it)

If the arrested person tells the second password, the kidnappers will only get access to the second container, which should only have "decoy" files and folders. And the remaining data is sent and corrupted into the free space of the disk.

The journalist can only be threatened with further torture if the second container or clues of a dual file system is detected. That encryption system somehow bypasses that.

Pardon me if I'm just wasting your time due to an old Reddit comment.

@H-Sorkatti
Copy link
Author

H-Sorkatti commented Sep 3, 2024

How could the app help people being tortured not to disclose their password?

I was reading a Reddit comment months ago that there is a special type of encryption which has two passwords, and two containers. And it is EXTREMELY difficult to find the two containers even in lab analysis. (I cannot believe how this is possible, but people on that Reddit post were very excited about it)

It's a feature called hidden containers. It's available in veracrypt (desktop only).
Basically, you create a big file (container) that is encrypted and works as a virtual hard disk. Inside the encrypted container you can add another hidden container. And since the outer one is encrypted, nobody can prove there's a hidden container inside. It affords you "plausible deniability".

@hardcore-sushi
Copy link
Owner

OK I see. However, implementing this mechanism at the application level would be useless, as the attacker could bypass it by directly scanning the filesystem (with root access) to discover both containers.

Instead, it must be done at the data level. Shufflecake is an amazing project effectively bringing plausible deniability with up to 15 volumes hidden in a single large container. However, it doesn't expose filesystems but block devices. DroidFS support for shufflecake is already on the TODO list, but it would be extremely hard to implement rootless because of this.

If you like to discuss more about this topic, we should migrate to another thread in order to avoid polluting this issue.

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

3 participants