- Posts: 68
- Thank you received: 7
Ask the community, share ideas, and connect with other LimeSurvey users!
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
Good point here ! Your idea is better !Yes, this last point is likely to be difficult to explain to _all_ users - your private key (decryption key) is not going to be stored, save it, or else the data you collect will be irretrievably lost. I am tempted to say - we can give users a tutorial how to create keys suitable to sodium, we could provide a method how to verify them, but let the user create both keys and only give to LS the public key. Otherwise there might be users who will just say yes-yes-yes to everything without understanding and will end up with losing limeSurvey generated private key AND will still collect the data, but then will end up being unable to decrypt (because they did not read everything and lost/didn't save their private key). If they are capable to go through the trouble of generating the key pair (which is fairly trivial, actually), they should be in good position to have the keys and not bother limesurvey developers with un-answerable questions, like - how do I decrypt my data if I don't have...my private key.
Yes : global/default is the current one.Okay, the global probably means the one that LS generates for the current encryption method. I would say - let the user clearly choose between the two encryption methods. The current method protects mainly against rogue database administrators, the method we are talking about - against webserver attacks and state actors.
For token : i mean token data : firstname, email and attribute. But if we crypt without the key to decrypt : we can not use it .I think token is just something that belongs to service data (like submitdate and response id, seed etc). I would say - encrypt _just_ the submitted reponse fields, not service data. Nothing generated by limesurvey should be encrypted. Tokens are only needed to ensure one user - one response. We need to protect only what is inside the response, not the token. The token does not identify the data uniquely - unless we can decrypt the user responses (like "my name, my address" etc).
We need to «just» replace the function for crypt / decryt for SurveyDynamic and Response : is survey settings use a really private key, return crypted data in all other function (export, statistics, reload etc …(maybe empty data when reload only but it's a issue to fix after))Yes, statistics are disabled for encrypted questions, that is for sure. The other points - yes, they make sense.
If user create own keys pair : it less needed. We can add it after feature is done.- About the way to decrypt : we need to offer some tools ?
Maybe create a Plugin near limesurvey-encrypt but with sodium is more easy.
All here is for another way to crypt, not the proposed solution where you can keep some uncryoted data for analysis, export etc … for user without the private key and have some more if need validation by the user with porivate key.I think the responses are an array of responses and each element of the array gets encrypted individually and stored into the respective mysql table cell. Maybe there are better ways to do it, but I just don't know.
Please Log in to join the conversation.
Please Log in to join the conversation.
I have already worked for staff delegations where the anonymity of the answers had to be strong.In distributing survey links to my respondents I will embed the one-way hash as the answer to an invisible question in my survey, therefore I will be able to attribute the responses to my population locally and I will not store any identifiable information on the LS server outside my perimeter. One could ask - why encrypt responses then?
Please Log in to join the conversation.
Please Log in to join the conversation.
I think there are no automatic way to do this.Hmm, here I think I have a different paradigm. The responses must NOT be anonymous. I.e. WE need to be able to identify which patient the responses belong to. What we cannot allow is to for anyone else (which includes server administrators and potential attackers) to identify the patient and his/her response.
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.