Difference between revisions of "Digital Signature"

From SEGGER Wiki
Jump to: navigation, search
m
m
Line 4: Line 4:
 
and verification.
 
and verification.
   
This is a very important difference. With a digital signature verification scheme, both the algorithm and public key can be open, well known.
+
This is a very important difference. With a digital signature verification scheme, both the algorithm and public key can be known and open but this still does not allow a potential attacker to create a signature for a modified document.
This still does not allow a potential attacker to create a signature for a modified document.
 
   
Applications
+
==Applications==
There are various applications for digital signatures in Embedded Systems and other places. One simple example is Signature of a document:
+
There are various applications for digital signatures in Embedded Systems and other places. One simple example is the Signature of a document.
Alice can make her public key known to the world, and anybody can now verify that a document that claims to be signed by Alice actually is.
+
Alice can make her public key known to the world, and anybody can now verify that a document claiming to be signed by Alice actually was.
The only thing they have to assure is that they have the proper public key (used for verification).
+
The only thing they have to ensure is that they have the proper public key (used for verification).
 
SEGGER supplies a free tool based on emSecure for exactly this purpose: [Sign&Verify,https://www.segger.com/products/security-iot/emsecure/tools/signverify/].
 
SEGGER supplies a free tool based on emSecure for exactly this purpose: [Sign&Verify,https://www.segger.com/products/security-iot/emsecure/tools/signverify/].
   
  +
==In Embedded Systems==
 
In Embedded Systems, Digital Signatures can be used for various purposes, such as
 
In Embedded Systems, Digital Signatures can be used for various purposes, such as
 
*Firmware updates - Authenticate the source of the firmware update
 
*Firmware updates - Authenticate the source of the firmware update
*Copy (clone) protection - Using the unique ID of a chip in the system, every device stores a signature which depends on this unique ID. When copied (cloned), the signature does not match, which the firmware can now use to refuse to function.
+
*Copy (clone) protection - Using the unique ID of a chip in the system, every device will store a signature based on this unique ID. When copied (cloned), if the signature does not match, the firmware will refuse to function.
   
   
Algorithms used
+
==Algorithms used==
 
*RSA
 
*RSA
 
*Elliptic curves
 
*Elliptic curves
   
Software libraries
+
==Software libraries==
 
One software library that allows generation of keys as well as signature and verification of signatures in any system including Embedded Systems is SEGGER's emSecure.
 
One software library that allows generation of keys as well as signature and verification of signatures in any system including Embedded Systems is SEGGER's emSecure.

Revision as of 21:02, 22 May 2019

A digital signature is the result of a mathematical computation. It is similar to a hash value such as MD5, but there is one important difference: a digital signature relies on a private/public key scheme. Thus one key (typically the private key) is used to generate the signature, and the other one is used to verify it, unlike a hash which is a simple mathematical function result, where the same function is used for both generation and verification.

This is a very important difference. With a digital signature verification scheme, both the algorithm and public key can be known and open but this still does not allow a potential attacker to create a signature for a modified document.

Applications

There are various applications for digital signatures in Embedded Systems and other places. One simple example is the Signature of a document. Alice can make her public key known to the world, and anybody can now verify that a document claiming to be signed by Alice actually was. The only thing they have to ensure is that they have the proper public key (used for verification). SEGGER supplies a free tool based on emSecure for exactly this purpose: [Sign&Verify,https://www.segger.com/products/security-iot/emsecure/tools/signverify/].

In Embedded Systems

In Embedded Systems, Digital Signatures can be used for various purposes, such as

  • Firmware updates - Authenticate the source of the firmware update
  • Copy (clone) protection - Using the unique ID of a chip in the system, every device will store a signature based on this unique ID. When copied (cloned), if the signature does not match, the firmware will refuse to function.


Algorithms used

  • RSA
  • Elliptic curves

Software libraries

One software library that allows generation of keys as well as signature and verification of signatures in any system including Embedded Systems is SEGGER's emSecure.