optixlab / keepnote

Automatically exported from code.google.com/p/keepnote
0 stars 0 forks source link

Encrypted file format. #52

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
One of the things that prevents me from switching from notecase is 
notecase's ability to encrypt the information it stores, so I can keep all 
sorts of thoughts and information in there I don't want people getting at.

There are some pretty easy to use encryption libraries out there. I'm not 
looking for hardcore stuff (like notecase's unloading from memory), just 
encrypted storage for files (and autosaves of encrypted files).

Thank you very much for your consideration in this matter.

Original issue reported on code.google.com by longuser...@gmail.com on 21 May 2009 at 3:36

GoogleCodeExporter commented 9 years ago
Silly google code. This is not a defect. Should be enhancement.

Original comment by longuser...@gmail.com on 21 May 2009 at 3:37

GoogleCodeExporter commented 9 years ago
I am hesitant to implement this right now.  Encryption is a difficult feature 
to get
right.  I recommend using third party software to provide truly strong 
encryption
features for your notebooks.  For example, look at encrypted file-systems.

Original comment by matt.rasmus@gmail.com on 27 May 2009 at 1:22

GoogleCodeExporter commented 9 years ago

Original comment by matt.rasmus@gmail.com on 27 May 2009 at 1:23

GoogleCodeExporter commented 9 years ago
I'd like this feature too. I currently use Gedit to store some passwords, with 
Text
encryption plugin. I don't want the whole of my notebook encrypted, also 
because that
would mean having all my passwords and other stuff available decrypted all the 
time
(as I keep keepnote always running!).
Is it not possible to do something like passing the html through an encrypting
function and save the resulting GPG encrypted text to disk, rather than the 
html?

Anyway, thanks again for KN!

Original comment by elfan...@gmail.com on 17 Jan 2010 at 9:43

GoogleCodeExporter commented 9 years ago

Original comment by matt.rasmus@gmail.com on 24 Mar 2011 at 6:12

GoogleCodeExporter commented 9 years ago
Issue 288 has been merged into this issue.

Original comment by matt.rasmus@gmail.com on 24 Mar 2011 at 6:12

GoogleCodeExporter commented 9 years ago
I recommend taking a look at how Notecase handles encryption. It is absolutely 
sufficient.

You are right that there are filesystem-level encryptions, but they are 
cumbersome and risky. What if I copy the file to a different filesystem, for 
example a thumb drive? All encryption would be lost. It would be great if I 
could take my Keepnote file anywhere and everywhere and not be worried if it 
falls into the wrong hands.

Original comment by tal.liron on 24 Mar 2011 at 6:23

GoogleCodeExporter commented 9 years ago
Matt, you are absolutely right. Encryption is a /hard/ problem, far better left 
to specialized filesystems.
Poorly implemented crypto gives a completely false sense of security and is 
plenty /worse/ than no crypto.
In the case of KeepNote, getting encryption just right will be a major project, 
believe me.

Original comment by chk.6080...@gmail.com on 24 Mar 2011 at 8:29

GoogleCodeExporter commented 9 years ago
I'm amazed by these comments. Cryptography is hard to implement from scratch, 
but there are plenty of 3rd party libraries to do it for you. The encryption 
algorithms are very well known and documented. (I am an engineer in the 
security field.)

Filesystem encryption is not a solution to this problem. The point is that your 
Keepnote file contents can easily be stolen due to a simple user error (copying 
the file to a wrong directory).

Original comment by tal.liron on 24 Mar 2011 at 8:41

GoogleCodeExporter commented 9 years ago
Plenty of 3rd party libraries, yes. I know them all, I've used several of them. 
That's not the problem. The problem is securing a notebook, a whole tree of 
files, in a credible manner. How do you handle your keys? How do you handle the 
file names? How do you handle the index files? Using a crypto libray is easy. 
Using it right is hard.
Not saying Matt couldn't do it. But it's not a trivial undertaking, as I'm sure 
the above poster full well knows, being "an engineer in the security field".

Original comment by chk.6080...@gmail.com on 25 Mar 2011 at 5:12

GoogleCodeExporter commented 9 years ago
Hello,

encryption is quite a problem, especially given the data structure of notebooks 
(= directory tree, which is otherwise very nice).

I think that a lot of people would be satisfied with much simpler and not 
perfect solution:

- encryption per notebook - that means one password per notebook. KeepNote 
would remember password until user would click on something like "close 
notebook".
- file names and data structure would not be encrypted, only file contents would
- no searching in notebooks (I don't know how is index made, if it is one index 
per notebook, it could be implemented reasonably easy as well)

Original comment by adam.ziv...@gmail.com on 28 Mar 2011 at 11:42

GoogleCodeExporter commented 9 years ago
Oh, I didn't realize that the structure was multifile. You know, it's very 
possibly to convert it to filesystem-within-a-file with little work. There are 
a lot of libraries that do that, and that can handle the encryption, too.

Barring that, locking specific notebooks would also be acceptable and a welcome 
feature for many users.

Original comment by tal.liron on 28 Mar 2011 at 6:11

GoogleCodeExporter commented 9 years ago
I like encryption also, since I use KeepNote to store passwords, personal info, 
deep, dark thoughts and such. I also use Dropbox to keep a notebook synced on 
all of my systems. But I can see the point that encryption is perhaps something 
that should not be implemented on a per application basis too often. You then 
have to question whether or not any particular app has a bug that can violate 
the security of the files, rather than being confident in a single general 
purpose encryption program that you use with all apps.

So this is what I did. Create a TrueCrypt volume 'keepnote.tc' of whatever size 
you need. Place it in your Dropbox and then open it from there. Even very large 
volumes sync very quickly since Dropbox does a differential upload rather than 
copying the whole file.

I then use a script to open Keepnote:

#!/bin/bash
#Open volume
truecrypt ~/dropbox/keepnote.tc ~/mnt/truecrypt1 -k ~/keyfile -p "" 
--protect-hidden=no
#Launch KeepNote
keepnote
#Close volume
truecrypt ~/mnt/truecrypt1 -d

Takes an extra half-second to launch, but that is hardly noticeable.

BTW, if you haven't signed up with Dropbox, it's 2 GB of free online storage 
that uses a little app to keep a folder on your system (or any number of 
systems) in sync.
Use this link to sign up and we both get an extra 256 MB: http://db.tt/1Erp0QV
(I keep the link handy in my notebook...)

Original comment by Dnison.P...@gmail.com on 22 Apr 2011 at 3:59

GoogleCodeExporter commented 9 years ago
TrueCrypt is not a good solution. Too complex if you use your file on many 
computer (multi OS), even impossible if you share the file with your 
collaborator !

How are you sure that your partner did your complex procedure ?

If you want to share confidential note, you need to crypt the note by KeepNote 
and make sure that the notebook will be always encrypted by default.

Original comment by syt...@gmail.com on 20 Oct 2012 at 6:45