Hiya People!

I have, for some time, had a specific problem in mind. I cannot, for the life of me, think of a better group to tell me my idea is crap.

In any case, I have a personal knowledge base I host facing the internet on a VPS. It is perfect for me, accessible, based on dokuwiki so its really easy to backup entire installation, the works. It is setup as a private wiki, so login is mandatory for viewing, editing, etc.

What I am looking for is mechanism for encrypting the data on the webserver when the user is not logged in. Under this scheme, the content of the server would be encrypted, only to be decrypted by the authorised password and encrypted again upon logout (or timeout).

Does this make sense? are there solutions like this out there?

I will attempt writing a plugin for dokuwiki, just wanted to make sure there is something out there that solves this problem in general.

Thank you!

    • py2gb@alien.topOPB
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Cheers! I actually use this for some encryption here and there. My thought was more along the lines of the entire content. Server side.

      • timothyclaypole@alien.topB
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Just to add some clarification. Client side encryption basically means that all of the content on the server is always encrypted (or at least it is once it’s been saved on a client using client side encryption).

        The whole point is that the server is entirely unable to decrypt the data - there’s no possibility of some cached credentials being used to decrypt the data when you aren’t logged in, there’s no risk of accidental decryption keys being saved in log files. All the decryption takes place on the client and any bad actors would need to compromise your local PC to get access to your data.

        Done right this is the best solution for what you are looking for.

        • py2gb@alien.topOPB
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          In case anyone was wondering. I implemented a small php function. It uses aes 256 with a sha256 key “derivation” to encrypt things.

          I choose the key when encrypting, and force encryption upon logout.

          Cheers!