This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Project Information:template OpenSign Server Project

From OWASP
Revision as of 12:55, 22 July 2008 by Philipp Potisk (talk | contribs)

Jump to: navigation, search
PROJECT IDENTIFICATION
Project Name OWASP OpenSign Server Project (Online code signing and integrity verification service for open source community)
Short Project Description The purpose of this project would be to build and host a feature-rich server and suite of client utilities with adequate secure hardware to ensure the integrity of code modules. - The service will allow all .NET and Java code modules to be uploaded to the service to be signed by a community code signing key. Each community (such as OWASP) will have a key and corresponding Software Publishing Certificate (SPC) which can optionally be embedded in the code module itself. Generally, however, the service is intended for developers and the wider community of concerned users that want to ensure that their downloaded portable executable is exactly what it purports to be. The root key will be stored in an HSM and will sign an SPC from a locally generated key-pair of which the public key will be sent to the service. Key pair generation can be made and submitted using standard .NET delay signing and jar signing tools distributed with the SDKs, however, the project remit will ensure that a client-side graphical tool for each environment is available to generate the keys pairs needed to sign code with and allow submission to the code signing service for signing and generation of SPC by the server's proprietary CA. Anonymity will not be allowed so the project will include a database of users which will be the basis of directory for SPCs. There will be a web and web services interface using an online login and WS-Security respectively which will allow the code to be uploaded on demand and signed by a code signing key with the option to embed the certificate or not.
Email Contacts Project Leader
Phil Potisk
Richard Conway
Project Contributors
(if applicable)
Name&Email
Mailing List/Subscribe
Mailing List/Use
First Reviewer
Pierre Parrend
Curriculum
Second Reviewer
Mark Roxberry
Profile
OWASP Board Member
(if applicable)
Name&Email
PROJECT MAIN LINKS
SPONSORS & GUIDELINES
Sponsor - OWASP Summer of Code 2008 Sponsored Project/Guidelines/Roadmap
ASSESSMENT AND REVIEW PROCESS
Review/Reviewer Author's Self Evaluation
(applicable for Alpha Quality & further)
First Reviewer
(applicable for Alpha Quality & further)
Second Reviewer
(applicable for Beta Quality & further)
OWASP Board Member
(applicable just for Release Quality)
50% Review Objectives & Deliveries reached?
Yes/No (To update)
---------
See&Edit:50% Review/Self-Evaluation (A)
Objectives & Deliveries reached?
Yes/No (To update)
---------
See&Edit: 50% Review/1st Reviewer (C)
Objectives & Deliveries reached?
Yes/No (To update)
---------
See&Edit: 50%Review/2nd Reviewer (E)
X
Final Review Objectives & Deliveries reached?
Yes/No (To update)
---------
Which status has been reached?
Season of Code - (To update)
---------
See&Edit: Final Review/SelfEvaluation (B)
Objectives & Deliveries reached?
Yes/No (To update)
---------
Which status has been reached?
Season of Code - (To update)
---------
See&Edit: Final Review/1st Reviewer (D)
Objectives & Deliveries reached?
Yes/No (To update)
---------
Which status has been reached?
Season of Code - (To update)
---------
See&Edit: Final Review/2nd Reviewer (F)
X

Releases

OpenSign Server

Version 0.2 (21th of July 08)

  • Easy extendable persistence layer, which is set up using Hibernate – Annotations.
  • Possibility to run server in memory, whereas data is lost when the server process is terminated, or to run the server on top of a MYSQL database.
  • Logging mechanism got enhanced which involves means to pipe the log information from OpenSign server as well as from Jetty and Hibernate to a log file.
  • Same functionality as version 0.2 from a user point of view.

Version 0.2 (14th of July 08)

  • Demo-wise set up of an X.509 hierarchy intending to provide code siging certificates. This involves one root issuer, an unlimited number of sub-issuers and end-users.
  • End-users may issue a certificate sign request and obtain the certificate in return.
  • Demo accounts of to end-users ("user1", "user2") and two issuers ("root", "user3") each with password "123".
  • Possibility for registering new end-users and issuers.
  • Session handling - login, logout of users
  • Storage of issuer key-pair's and all certificates in server side key store.
  • Public access of all certificates in the system, with support of binary and PEM format. Eg.: Certificate from root issuer may be retrieved
    - in binary format (default): http://localhost:8080/root?property=cert
    - or PEM formatted: http://localhost:8080/root?property=cert&responseFormat=PEM
  • User/resource profile, which is accessible at the resource path without further parameters, eg.: http://localhost:8080/root/user1

Version 0.1 (1st of July 08)

OpenSign Client


Roadmap

OpenSign Server

Goal

The goal of the Opensign Server (OSS) is to serve as trusted third party in order to prove the integrity and authenticity of binaries. To meet this goal following roadmap will be implemented:

Version 0.1

This version is a proof of concept implementation, which shows that processing a Certificate Signing Request (CSR) and issuing a X.509 certificate is working in an efficient way. Furthermore the generation and distributing of the root certificate is also supported.

Version 0.2

The server is enhanced by the possibility to support certificate issuing for multiple users. In this case users must be authenticated before generating a certificate.

Version 0.3

User management is done through the persistence layer, where Hibernate is the technology of choice. It is now possible to dynamically add users through the web-interface.

Version 0.4

The role of the Review is introduced. Users must be associated with a Reviewer before being able to generate a certificate.

Version 0.5

The web-interface is enriched with dynamically generated sites which allows the maintenance of the system depending of the user role.

Version 1.0

Well tested and documented PKI for code signing which is running online at: www.???.com. This is the goal for Summer of Code 2008!

Version 2.0

The second version of the OSS allows the server side code signing. Code modules are uploaded, virus scanned and signed by a corresponding key. No client side key management is required. Furthermore, this service has a downloading area where anybody can download the signed modules.

OpenSign Client

Java Client

Version 1.0

Command line application, extending Java keytools functionality to make use of the OpenSign infrastructure to sign and verify Jar archives.

.NET Client

TBC