2

So without giving too much away, the basics are that I have a board that needs an operating system, so I go to an IPL server to supply that operating system.

I have a verifier in the middle and my idea is to encrypt the download from the IPL and send it to the verifier, then the verifier encrypts it again with a different encryption method so that when it gets to the original board, the board decrypts it twice.

Short question is it possible to encrypt a download twice, once with two different encryption methods so that it would be even more difficult to break/easier to verify if there was tampering involved?

3
  • 2
    Encryption does not prevent tampering. To reliably detect tampering, you need a MAC.
    – Tom Leek
    Commented Jun 17, 2015 at 19:23
  • Do you control the IPL? How/when will you perform the first encryption? Have you considered digitally signing the file?
    – schroeder
    Commented Jun 17, 2015 at 19:23
  • Yes I control all three systems, the board, the verifier, and the IPL, and yes sorry we are signing the file. Commented Jun 17, 2015 at 20:17

2 Answers 2

0

Yes, absolutely. You can re-encrypt an encrypted file however you'd like. For example, if you'd like to encrypt it once with asymmetric (public-key) encryption, and then again with symmetric (password), you'd need both a password and a private key to decrypt it. The same would be true if you encrypted it multiple times with symmetric encryption (multiple passwords, a new one each time a layer of the onion so to speak is peeled back), or keys (multiple public keys, again, onion-esque).

That said, I think any benefit to the multiple methods of encryption is only going to be marginally beneficial. A strong cryptosystem in the first place sounds like the best solution, e.g. 4096 bit rsa, or 256-bit elliptic curve. I'm not sure this approach solves your problem though.

Remember, each board needs to have a different key and you can't share the same private key or symmetric key with each piece of hardware without creating a huge security hole. In such a way, updates should be signed with a private key only you (the master code distributor) possess and the boards should validate the signature in traditional code-signing fashion.

0

Yes 100%. You can do this with any encryption algorithm you'd like. My personal favorite is to PGP encrypt a file then on top of that encrypt it with 4096-bit RSA. Something to hide that it's PGP encrypted and also little extra security if my key get's into the wrong hands.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .