1

I'm involved in the design of a protocol that allows different manufacturers to share data amongst their products. The protocol uses multicast over Ethernet so any device can join. Note that it's very likely there won't be an internet connection on the network.

Unfortunately they're only now starting to talk about security - primarily making sure commands come from a known device. Since all the devices are made by different manufacturers I can't think of a way of making sure each device is who they say they are. The obvious solution would be certificates but because we can't guarantee internet access we can't add knowledge of new certificates once a device has shipped.

Are there any other standard ways of doing this?

parsley72
  • 195
  • 7

1 Answers1

2

The obvious solution would be certificates but because we can't guarantee internet access we can't add knowledge of new certificates once a device has shipped.

Sometimes, the truth is obvious: You need to cryptographically make sure the sending device is who it claims to be. That's a certificate's job!

So, you can't do an online check. Doesn't really matter -- an online check wouldn't be any more secure than the trust of a CA verified locally.

Thus:

  • build a certificate authority
  • issue certificates to manufacturers, signing their public keys.
  • manufacturers use their private keys to sign device certificates individually
  • devices send signed messages
  • devices must verify the signature of messages by
    • requesting the sender's certificate from the sender, comparing message to certificate ("was this message signed with the private key that corresponds to the public key that was signed within this certificate?")
    • verifying the sender's signature by checking whether the sender can actually offer a signature of a manufacturer ("was this public key actually signed by a manufacturer?")
    • verifying (including requesting the manufacturer's certificate from the sending device, if not available on the receiving side) that the manufacturer has a signature from your CA ("was this manufacturer's public key actually signed by someone with access to the CA's private key?")
Marcus Müller
  • 5,843
  • 2
  • 16
  • 27
  • My point about lacking an internet connection is that it's impossible to add a new manufacturer's certificate to a product once it's shipped. – parsley72 Feb 08 '15 at 21:07
  • 1
    Then you didn't understand my post -- a device will carry its manufacturer's certificate, which is signed by the CA, which stays the one and only. Any device will ship with the CA's certificate; using that, one can verify the manufacturer's certificates offline. –  Feb 08 '15 at 21:08
  • @parsley72 Nobody magically installs new certificates in your browser either for every new website you visit. It works the same way as described here. – user207421 Feb 08 '15 at 22:29