0
$\begingroup$

I'm new to programming and I'm getting ready to design a proof of concept for an app that I'm thinking of building. Problem is I'm a complete noob to cryptography and need a little nudge to point me in the right direction.

I would like to design a method by which data sent to my application on a cloud server is processed securely.

Here is a scenario:
1. Company A publishes XML file on their server and makes it available via SFTP.
2. A process on Cloud Server uses SFTP to fetch the data from Company A's server.
3. Cloud Server parses the XML based on a defined format, but it must do so securely so that even the server admin cannot see the processed data.
4. Cloud Server rebundles the parsed XML data into emails that are transmitted via SSL to Company B.

Step 3 is what I need some help with. SFTP and SSL are good enough for the pull and transmit side of things. I'm just wondering how to secure the XML such that my app can do what it needs to do given the right keys - but I don't want to know the keys. The keys would need to be known only by Company A (publisher) and the recipient (Company B). And if there was a problem, Company B could login to Cloud Server via a web page and view their data unencrypted given they have their key.

I've seen businesses in the email archiving and file storing space that can blindly encrypt data so that they cannot ever view your data. (Proofpoint, SecureSend are examples) If you lose your key, they cannot decrypt your data. I'm thinking my process would use something similar.

Would anyone know the method or process that can do this? Thank you.

$\endgroup$
3
  • $\begingroup$ I believe this needs homomorphic encryption. $\;$ $\endgroup$
    – user991
    Jun 2, 2014 at 20:21
  • $\begingroup$ What does the processing step entail? In general it is not possible to do arbitrary processing on encrypted data, but some special cases may be possible through either homomorphic encryption or simply leaving some of the XML structure unencrypted. $\endgroup$
    – otus
    Jun 4, 2014 at 7:07
  • $\begingroup$ The processing could be many things based on the root XML data. An example would be to convert communication transcripts into emails. $\endgroup$ Jun 6, 2014 at 18:11

1 Answer 1

4
$\begingroup$

In general this seems not possible. To process the data, you need to have it in plaintext, and if you have it in plaintext an admin might read it.

However, if your processing needs to read only some parts of the XML (e.g. tag names), you could encrypt all other parts (e.g. field values, attributes). Information might still leak through the unencrypted parts.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.