Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

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.

share|improve this question
    
I believe this needs homomorphic encryption. $\;$ –  Ricky Demer Jun 2 at 20:21
    
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. –  otus Jun 4 at 7:07
    
The processing could be many things based on the root XML data. An example would be to convert communication transcripts into emails. –  user3507825 Jun 6 at 18:11
add comment

1 Answer 1

up vote 3 down vote accepted

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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