Trevor,

 

Thanks for your ideas. I think feeding encrypted content into Lucene may
cause problems with querying. I am not sure but I would think queries like
"a*b" may not work.

 

I have been thinking about having the index in memory but there is a good
chance that the index may become quite large and then having everything in
memory will cause a hard limit that will be hard to overcome without buying
additional memory. 

 

I'll look into Dokan. I am not 100% clear what it does.

 

Hans

 



Trevor Watson <[email protected]>

         

Subject

Re: How to secure/encrypt a Lucene index?


Date

Thu, 25 Feb 2010 21:41:11 GMT


Just throwing ideas your way in general,  If you use the 

System.Cryptography functions on a word, it _should_ remain the same 

when you run it a second time.  This means you could encrypt each word, 

then do a search on the encrypted phrase.   This way, you'd have a 

Lucene index of encrypted words.

 

Then if you are using the Lucene index as the data store as well, you 

could potentially decrypt each field word by word as well.

 

 

We have a program that temporarily stores data on a users computer using 

System.IO.IsolatedStorage.  If you could decrypt the entire Lucene index 

each time the program starts, you could store it in there and access it 

(so long as the index isn't overly large so the start-up decrypt doesn't 

take too long).

 

     If the IsolatedStorage isn't working for a Lucene index you could 

create a RAM Disk or temporary disk on the drive to store the lucene 

index while accessing it, you could look at Dokan (dokan-dev.net) 

(there's a .NET wrapper for this) to create a temporary drive on your 

computer and decrypt the index into it.

 

 

 

 

 

 

Reply via email to