Hi Salih,
Exactly - so now, which is the added value with asymettric key if you
share the same private key ? You fallback in the same case as with
symmetric keys, and you must maintain private and public secret.
> With the asymmetric method, we will share
> public key offline also,
But then, this is not how a "public" key is thought. The goal of
asymettric encryption is that you are allowed to distribute the public
key to everybody. If you need to maintain the "public" key secret, you
have the same case as with symmetry keys, but you pays an additional
cost because the decryption on the target is more time and resource
consuming.
> we will keep the way of sharing secrets like
> the symmetric method.
ok, then again: where are the advantages ?
> Do you use the different symmetric keys for each
> device?
No - not that is not possible, but this requires to encrypt the SWU for
each device and becomes a nightmare for building and deployment.
> If not, why can not we use the same private key for all devices?
Because if yes, why do not use symmetric keys instead ? You have no
advantages if the public key must remain secret.
>
> Please note that deploy in a secure way, that is verifying the
> software,
> is different from encryption. Goal of the encryption is to protect IP,
> but the device does not verify that software is coming from an
> authenticated source. If someone can get the private key from a single
> device, he is allowed to generate a different application as the one
> that should run for all devices. Devices will accept them because they
> can decrypt them.
>
> Agreed, the main motivation is protecting the IP not verifying the
> source.
Ok, got it.
> But if someone gets the symmetric key from one device, it will
> be the same scenario. Protecting the secret inside the device must be
> handled accordingly. As we agreed, this should be discussed in a
> different thread.
>
Right.
> The use case with OEMs is supported by SWUpdate using certificates and
> PKI. You can deploy certificates to your customers and they are allowed
> to sign their application and their SWUs. On the device, just the
> public
> CA certificate is needed.
>
> Agreed, but signing is different topic. Our goal is to protect IP.
>
>
> > So, this way seems more secure than symmetric key encryption.
> What do
> > you think?
>
> It is not as you are putting the same private key on all devices. This
> contradicts the basement for its usage. Why is it more safe if you have
> the same key on all devices, exactly as you do for symmetric
> encryption ?
>
>
> Agreed, keeping the secret inside devices is the same as the symmetric
> method.
Then ?
> But I can distribute the public key as I wish via offline way
> but this is not the case for the symmetric key.
Why not ? I do not see the difference. You distribute a key via offline
way in both cases. You do not use the advantages of the asymmetric
encryption. Just if you have a private key for each device you will get
a real advantage compared to symmetric keys.
> I need to take care of
> the security of symmetric key while distributing and using it.
And you need to take care of the "public" key while distributing and
using it. There is yes a slight difference (who owns the public key can
generate any software but it cannot decrypt it), but the main advantage
of asymmetric encryption (to publish the public key) is lost.
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone:
+49-8142-66989-53 Fax:
+49-8142-66989-80 Email:
sba...@denx.de
=====================================================================