Proj-2015-2016-Extensions IPOPO/SRS

=1.  Introduction=

1.1 Purpose of the requirements document
This Software Requirements Specification (SRS) identifies the requirements for project StartAir Safe. In case of a open source project, we must present the requirement to others potential contributors. This document is a guideline about the functionalities offered and the problems that the system solves.

1.4 References
The main page of the project: IPOPO Projects

1.5 Overview of the remainder of the document
=2.  General description=

2.5 Assumptions and dependencies
=3.Specific requirements, covering functional, non-functional and interface requirements=
 * document external interfaces,
 * describe system functionality and performance
 * specify logical database requirements,
 * design constraints,
 * emergent system properties and quality characteristics.

3.1 Requirement 1 : Creation of client certificates
Description: Clients certificates are generated by an administrator of an IPOPO application. This certificate is signed using the private certificate of the same application and will be used to remotely access to the IPOPO shell.

Inputs: User informations. It includes name and email.

Source: The information is given by the user to the IPOPO application administrator.

Outputs: A new certificate signed with the application private certificate.

Destination: The created certificate is given to the user designated in the meta-information of the certificate.

Action:
 * A user must ask for the creation of a certificate to the administrator of an IPOPO application. He will provide his name and his mail address with his request
 * The administrator shall generate a new certificate using the given information.
 * The administrator will send the generated certificate to the user who asked for it

Non functional requirements:
 * Easy to use
 * The generation can be done on any Linux system (and windows ?)

Pre-condition: The administrator must have a server (private) certificate

Post-condition: Users are identifiable from the certificate they are using

Side-effects: None

3.2 Requirement 2 : Revocation of client certificates
Description: Client certificates can be revoked. Preventing any access to the IPOPO shell using the revoked certificate.

Inputs: Information identifying a single certificate ( email address ?).

Source:

Outputs: An entry is added in the application's revocation list.

Destination:

Action:
 * The IPOPO administrator decides to revoke a certificate and retrieve its id.
 * The IPOPO administrator revokes a certificate and an entry is added to the revocation list of the application

Non functional requirements:

Pre-condition: The soon to be revoked certificate must be valid and identified

Post-condition: The revoked certificate cannot be used to access the remote shell anymore

Side-effects: Modify the revoked certificate list on the remote-shell accessible IPOPO instances

3.3 Requirement 3 : The remote-shell connexion is encrypted
Description: Messages transmitted between the IPOPO instance and the client are encrypted

Inputs:

Source:

Outputs:

Destination:

Action:

Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

=4. Product evolution=

=5. Appendices=

5.1. SRS structure
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.

References:
 * http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 * http://en.wikipedia.org/wiki/Software_requirements_specification
 * IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998

=6. Index=