E-Learning Portal For Java Network Security: Project Title
E-Learning Portal For Java Network Security: Project Title
Various groups have different needs and different skills, which this portal meets in its different parts. The scope behind Java Network Security Portal is: The first part is aimed at Java Network Security concepts and models. It clears all the theoretical concepts of Network Security. The second part goes into more detail on how Java security works, and is aimed more at system and network administrators and programmers, who need to know more of what is going on i.e. it deals with the demonstration of all the algorithms that are related to Java network security. The third part, consist of all the Case Studies related to algorithms that are demonstrated in part two. And the last part consist of question and answer session, where the users can ask for doubts, and submit the queries and get it solved.
Acronyms and Abbreviations: Abstract Windows Toolkit, the Java package for creating GUIs Advanced Encryption standard Computer Emergency Response Team, an organization that acts as a clearing house of information about security problems Java Cryptography Extension Data Encryption Standard, a bulk (symmetric key) encryption algorithm Hypertext markup language A message digest (secure hash) algorithm from RSA Corp A bulk (symmetric key) encryption algorithm that allows variable key sizes Rivest, Shamir and Adleman formed the RSA corporation to market cryptographic software and algorithms, in particular the public key encryption mechanism that also bears their initials Secure Hash Algorithm Secure Sockets Layer World Wide Web, usually refers to systems using HTTP
1.4
References:
1) Java 2 Network Security Marco Pistoia, Duane F. Reller Deepak Gupta, Milind Nagnur, Ashok K. Ramani
2. OVERALL DESCRIPTION
2.1 Product Perspective:
This portal overall contains the information related to Java Network Security. It is only a part of the whole Network Security. It is mainly based on 4 pillars of Network Security: Confidentiality Authentication Integrity Non-Repudiation Algorithms based on these pillars will be demonstrated in this portal. 2.2 User Characteristics: The user is expected to be internet literate. The user is supposed to be windows literate and to be able to use the buttons, pull down menus, and similar tools. It is also assumed that the user converses in English language. 2.3 Product Functions: The major features that this portal will provide to the users are as follows: Explanation of various algorithms that are used to understand the techniques of Encryption and Decryption. Demonstrating the working of the algorithms. Explanation and the exploration of the source codes. Various case studies related to each algorithm. MCQs (tests) and facilities to submit their queries and get it solved. 2.4 Operating environment: Here the only thing with which user can operate this portal is by having internet connection. The algorithms that that are provided in this portal (in back end) are completely and purely based on java language. The front end that the users see will be done using html language. The user has to visit the portal and login and then he can use the information provided.
3. SPECIFIC REQUIREMENTS
3.1 External Interface 3.1.1 User Interface: The user interface will consist of the following features: Login for the users. Displaying the algorithms user want to select for carrying out encryption. Facility for users to write their own encryption algorithms and test it with the help of NSS. User friendly messages to avoid user from making mistakes. Final display of the outcome. 3.2 Software Quality Attributes: Portability: The system has been programmed in Java which makes it platform independent and portable. Consistent: Consistency of the contents should be protected. Affordability: It is free of cost.
Maintainability: Maintenance of the system shall be done according to the maintenance contract.
Functionality: Logon Capabilities: The system shall provide the users with logon capabilities. Alerts: The system can alert the user in case of any problems. Usability: The system shall allow the users to access the system from the Internet using HTML. The system uses a web browser as an interface. Since all users are familiar with the general usage of browsers, no specific training is required. The system is user friendly and self-explanatory. Availability:
The system is available 100% for the user and is used 24 hrs a day and 365 days a year. The system shall be operational 24 hours a day and 7 days a week. Accuracy: The accuracy of the system is limited by the accuracy of the speed at which the user uses the system. Response Time: The Information page should be able to be downloaded within a minute. The system shall respond to the user in not less than two seconds from the time of the request submittal. The system shall be allowed to take more time when doing large processing jobs.
4.0 REQUIREMENTS
4.1 Functional Requirements: The user should be able to use the given information on-line through the designed portal. The user is supposed to first login to the portal. As the front page is partitioned into 4 parts i.e. i) Theory, ii) Demonstration, iii) Case studies, and iv) MCQs, the user can choose as per his requirement. When the user selects his area of interest, page related to that topic will get displayed. 4.1.1 Login by user The portal should allow the user to login under a secure system. 4.1.2 Users area of interest The portal should allow the user to select the area of his choice, whether it is understanding the theory concepts or doing the practical demonstration or studying the case studies related to a particular topic. As soon as the user selects a particular topic, the page related to that topic should be displayed. 4.1.2.1 Inputs List of menus. Selection of a topic according to users choice 4.1.2.2 Processing User will be validated. If the user selects theory from the menu, then whole theory concepts related to that topic will get displayed in front of the user. If the user selects demonstration from the menu, then first the list of all the algorithms will be displayed. Now suppose the user selects 1 particular algorithm which he wants to learn, an applet page will get displayed which will ask the user to give some input for the code. When this text is typed, this becomes an input for the code to run. Now there will be a button on screen called Encrypt, whenever user clicks on this button the encrypted data will occur and also the steps of encryption will be shown. There will be 1 more button called Decrypt, this will decrypt the encrypted data and will show the final output along with the decryption steps. 4.1.2.3 Outputs The user is provided with the page that shows encrypted and the decrypted data along with the steps that are taken to achieve it.
Speed of Use The portal shall be designed to give maximum speed of use. The user will never face the problem with respect to overloads on server and website running slow Required User Ability The Portal shall be designed in such a way that the user should know how to use a website and how to implement java codes. The user is required to have a detailed knowledge of basic operations in java. Learnability The portal shall be designed to assist the user in understanding the functionality of the website. 1.3.2 Reliability The portal shall be required to have high reliability and recover from a crash without any loss of data. 1.3.3 Performance: Throughput The portal shall have high throughput Response Time The portal shall be designed such that the response time will be as low as possible Resource Usage The portal shall be designed such that the resource usage should be minimum and accuracy will be high. Degraded under Overload Conditions The portal shall be designed such that it doesnt degrade under overload conditions. 1.3.4 Security The Portal should provide a protection of data held in the database. A simple user cannot access the administrator area. The Portal should not be getting hacked by a user. 1.3.5 Supportability: Ease of Installation The portal shall provide a SDK security toolkit which will be easy to install and with the help of this toolkit the user will be able to run all java security programs..
Planned Maintenance The portal shall be designed such that maintenance can be done easily. Upgraded The website will be kept upgraded with all the books and with latest knowledge of all attacks and viruses that are available. Ease of Testing The portal shall be designed such that errors if any can be detected and effectively eliminated. 1.3.6 Infrastructure Clients The portal requires Internet Connection and a standard web browser hosted on server. A high speed Internet is required Servers The portal shall require server to host the project; the server should be equipped with Apache Tomcat 5.5.X and a java domain server. Networks The portal shall require Internet Connection . Web Services The portal shall require Hypertext Transfer Protocol (HTTP) 1.3.7 Implementation Constraints Languages The portal shall be JSP and Java Operating Portals The portal shall be Platform independent Databases The portal shall have database so as to keep a track of a particular user 1.4 Technology and Tools: Java: Java is strongly associated with the internet because of the fact that the first application program was written in java. All the algorithms will be developed using the java codes.
JSP:
JSP is the scripting language which is going to be used for producing dynamic web pages. The website will be designed using html and JSP. JSP will also be used for the server side scripting. JSP offers many advantages for us; as it is fast, stable, secure, easy to use and open source MySQL: MySQL will be used for the databases to store all the e-mail, passwords and users details. This is because MySQL is a good relational database management portal (RDBMS) that runs as the server providing multi-user access to a number of databases. In addition to this, MySQL is an open source portal and is thus easily accessible. It also takes a very less storage space in the disk and hence the database gives remarkable performance.
1.5. Technical Specifications: The website will cater to users with broadband internet connections and higherend personal computers. Table 1. list the site's target specifications. Recommended system configurations for optimal viewing will be listed on the Home page and in the Help page. Screen Resolution: 1024 X 768 (currently 42% of all users) Browser: Internet Explorer 5 + (currently 89% of all users) Page Size: 50-150 K (1 to 3 seconds download for broadband)
Organisation Name Ms. Shailaja Gogate Monish Madhani,Nayan Gawande, Priya Patole.
3.3.2 Project Internal Functions Sr No. Functions 1. Requirement Gathering 2. 3. Design Coding
Organisation:Name Monish Madhani,Nayan Gawande, Priya Patole. Monish Madhani,Nayan Gawande, Priya Patole. Monish Madhani,Nayan Gawande, Priya Patole.
4. 5. 6. 7. 8. 9.
Quality Assurance System Test Lead Validation Lead Configuration Management Change Management Deployment
Monish Madhani Priya Patole Nayan Gawande Nayan Gawande Nayan Gawande Monish Madhani,Priya Patole
3.3.3 Project Team Organisation:Name Monish Madhani Nayan Gawande Priya Patole
3.4 Schedule 3.4.1 Schedule and Milestone Milestones Description M0 M1 Problem Definition Approval Approval of Scope, Functional and NonFunctional Requirements, Tools & Technology Prepare Software Project Management Plan Prepare Software Requirement Specification
M2 M3
M4
M5
M6 M7 M8
Prepare Software Design 14/09/2011 Document Data and Architecture Prepare Software Design 21/09/2011 Document User Interface, Procedural/Component Prepare System Test 28/09/2011 Document Prepare Implementation 05/10/2011 Demonstration Prepare Report Not known Submission 3.4.2 Development Process The Spiral Model will be used owing to the modular nature of the project
Submit Software Project Management Plan Submit Software Requirement Specification Submit Software Design Document Data and Architecture Submit Software Design Document User Interface, Procedural/Component Submit System Test Document Implementation Demonstration Submit Report
31/08/2011 07/09/2011
It will contain the following phases: Customer Communication Planning Risk Analysis Engineering Construction and Release Customer Evaluation and Feedback 3.4.3 Development Environment Item Methods Use Case Gantt Chart Tools Rational Rose Microsoft Project Eclipse Languages UML Java Applied For Requirement capturing Project Scheduling Design Project Scheduling Coding Design Core Logic, GUI
3.5 Risk Management Project Risk Management Plan Purpose A Project Risk Management Plan is a controlling document that incorporates goals, strategies and methods for performing risk management on the project. The Project Risk Management Plan describes all aspects of the risk identification, estimation, evaluation and control processes. The purpose of developing such a plan is to determine the approach for cost-effectively performing risk management on the project. Stakeholders Roles and Responsibilities: Role Risk Management Assignment Responsibility Project team members The project team Monish Madhani members are responsible Nayan Gawande for the Project Risk Priya Patole Management Plan being implemented and for reporting to the Project Sponsor and Management Group
Risk Management Process and Activities Risk Management Risk Management Task Activity Description Inadequate Requirement Brain Storming session data with client Defects in Modules Test every modules after completion Error in syntax of code Verify code Incomplete Testing Late submission of modules Rigorous Testing Frequent Meetings and progress report
Ownership (Participants) Monish Madhani Nayan Gawande, Priya Patole. Nayan Gawande, Priya Patole. Nayan Gawande, Priya Patole. Nayan Gawande
Risk Assesment and Management Table Risk Type Risk and Risk Description Chance Requirement The data Medium Risk collected from the client could be incomplete or ambiguous Technological Defects in High Risk modules: The module could malfunction Technological Defects in Medium Risk code: The syntax could not be syntactically correct or the structure could not be well defined Technological Inadequate Medium Risk Testing: The testing performed could be inadequate
Risk Owner
High
High
Medium
Medium
Medium
Medium
leading to defect. Estimation Late Medium Risk submissions of modules: The modules could be submitted later than the scheduled time Technological Addeition of High Risk new modules: Addition of new modules could lead to system failure Tool Risk Defect in Low Server: Defects in server could cause the system to fail 3.6 Communication and Reporting Type of Method/ Frequency/Sc Communic Tool hedule ation Internal Communication: Project Brain Weekly and Meetings Stormin on event g Sharing of project data Milestone Meetings Email When available
Medium
Medium
High
High
High
Medium
Information
Participants/Res ponsible
Project status,problems,risks ,changed requirements All project documentation and reports Project status (progress)
Project manager Project Team Members Project Manager(s) Project Team Members Project manager Sub-project manager
Brain Stormin g
Before Milestones
External Communication and Reporting: Project Email On event Project Report -Status -Progress -Forecast -Risks 3.7 Delivery Plan 3.7.1 Deliverables and Receivers Ident. Deliverable Planned Date D1 Project Report D2 D3 D4 User Manual Source Code Technical Reference
INTRODUCTION PURPOSE OF THIS DOCUMENT The purpose of this document is to present project design, to give detail on project architecture and data flow diagrams. INTENDED AUDIENCE This document is intended for : Team members usage to guide team members on the implementation. Project guide to see how the project will be structured. SCOPE This document will abstract implementation details on the level of modules, so we will not deal with the details of how every module will be implemented, but rather specify each of the modules purpose, interface and function. The database will be presented in its final form.
Software
Verify member
Update database
Register member
User
Select a topic
Display Information
User
Encryption button
User
Software
User
Software
Software
Send a query
CLASS DIAGRAM :-
SEQUENCE DIAGRAM:
Sequence diagram for login:-
: User
: login
: software
: Home page
: Registered User
: Unregistered user
: Database
: Register page
goes to( )
display( )
not_present( )
display( ) accept( )
register( ) update( )
: User
topic : Subject
: software
accept( ) display( )
select( ) accept( )
display( )
: User
demo algorithm...
: software
accept( )
display( )
select( )
accept( )
display( )
: User select( )
examples : Subject
: software
accept( )
display( )
select( )
accept( )
display( )
: User
: software
display( )
accept( )
display( )
characteristics of a system are measured, and weaknesses are identified for correction. Ease of learning Navigation Subjective user satisfaction General appearance Server Side Interface: In web testing the server side interface should be tested. This is done by verify that communication is done properly. Compatibility of server with software, hardware, network and database should be tested. Client Side Compatibility: The client side compatibility is also tested in various platforms, using various browsers etc. Security: The primary reason for testing the security of a web is to identify potential vulnerabilities and subsequently repair them. Network Scanning Vulnerability Scanning Password Cracking Log Review Integrity Checkers Virus Detection
2) Test case ID 1 2 3 4
Purpose
Input
Expectedoutput
Actual output
Y/N
To view the Portal Registering on Portal Login on the Portal Connectivity to database
Type the URL Click on register Click on Login user input login and password
Website login page opens Registration page opens Login page opens Verify passwords from database and provides access
Testing of various algorithms Connectivity between various webpages Users Providing values
Website login page opens Registration page opens Login page opens Verify passwords from database and provides access Output given by Output given by the algorithm with the algorithm values with values Previous page Previous page opens opens
Y Y Y Y
Give error with no Give error with proper values no proper values