Projects



Changes between Version 2 and Version 3 of SignatureCheck


Ignore:
Timestamp:
Feb 7, 2021, 10:51:27 PM (4 years ago)
Author:
4juergen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SignatureCheck

    v2 v3  
    22
    33[http://renew.de Renew] is a high-level Petri net simulator written in Java.
    4 This file tells you the most rudimentary information about Renew.
    5 It should suffice to get Renew running and to extract the full documentation from the archives.
     4
     5Signed Renew contains two plugins which are not included in the normal Renew release.
     6The two Plugins are the SignatureCheck Plugin and the NetSigner Plugin.
     7Both Plugins use signatures to build trust between the author of a work and the product.
     8The SignatureCheck Plugin does this for Plugins and the NetSigner Plugin for Nets.
    69
    710'''Here we provide a download for reviewers: TODO'''
     
    3033  java -p .:libs -m de.renew.loader gui
    3134
     35Windows needs a slightly different command:
     36
     37  java -p ".;libs" -m de.renew.loader gui
     38
    3239The documentation contains a few hints on alternative commands or settings to start the application.
     40
     41== SignatureCheck Plugin ==
     42The SignatureCheck Plugin ensures that only signed plugins get loaded.
     43This is useful, if the plugin gets distributed over an unsecure channel, for example a server which is not under the control of the author.
     44
     45The plugin uses OpenPGP signatures generated by [https://docs.gradle.org/current/userguide/signing_plugin.html Gradles Signing Plugin].
     46The signatures are compatible with the format required by the [http://central.sonatype.org/pages/requirements.html#sign-files-with-gpgpgp Maven Central Repository].
     47
     48Signed Plugins can not be modified by untrusted third parties.
     49This makes it possible that the plugin can be stored on a server, which isn't in the control of the plugin author.
     50
     51Which authors are trustworthy can be decided by the user.
     52Only plugins from these authors will be loaded.
     53
     54Using only plugins, which are linked via a signature to trusted authors provides security advantages.
     55Unknown third parties can't disguise themself as trusted authors.
     56
     57== NetSigner Plugin ==
     58Renews Net Drawings can contain Java code.
     59This code will be executed in simulations and can do changes to the computer on which the code runs.
     60There should be a straightforward way to know who wrote the Java code inside the Net, so a user can decide if they trust the author.
     61The NetSigner Plugin can provide this information.
     62
     63This plugin uses X.509 Certificates to check the identity of a user.
     64Every user who wants to sign a Net Drawing needs a X.509 a Code Signing Certificate or a personal E-Mail Certificate.
     65
     66Signed nets provide information about who signed it.
     67So a user can check that the file comes from the right author, even when the file was transmitted over an untrusted way (for example a file host website, an unencrypted E-Mail or any third person).
     68The verification of the identity comes from a trusted Certificate Authority (CA).
     69The author verified it's identity to the CA and the programm has a list of CAs that are trustworthy.
     70It is the same technology which is used by signed executables (executables or installers which show a Company name in the admin privilige Screen on Windows).
     71
     72It also protects the file from manipulation.
     73The signature contains a hash (checksum) over the Net.
     74So nobody can modify the Net without breaking the signature.
     75A storage or transmittion error can also be detected as manipulation, but cannot be fixed by this format.
    3376
    3477== Further reading ==