Project Topics Seminar Topics School of Nursing Exam PDF Sign Up
Search Topic
PARKLYN
ERVICES
· RC: 2994849
Security Network Programming (Secured Client-Server Chat Application)
WhatsApp Channel

Security Network Programming (Secured Client-Server Chat Application)


This page presents an excerpt of the research material, providing a comprehensive overview of the study. It includes the Preliminary Pages, Table of Contents, Abstract, Chapters One to Five, and References, making it accessible and informative for students, researchers, and other readers interested in the topic of this study. Acknowledgement is also included, expressing gratitude to the individuals, institutions, and resources that contributed to the successful completion of the research, with materials and information sourced from the online platform sparklyn.com.ng, which provided valuable academic support.


PRELIMINARY PAGES

  • Title page
  • Approval page
  • Dedication
  • Acknowledgement
  • Table of Contents
  • Abstract

CHAPTER ONE

INTRODUCTION


    CHAPTER TWO

    LITERATURE REVIEW

    • 2.1 Introduction

    CHAPTER THREE

    SYSTEM ANALYSIS AND DESIGN

    • 3.1 Methodology Adopted
    • 3.1.1 Problem Identification Using SSADM
    • 3.2 Analysis of the Existing System
    • 3.2.1 Dataflow of the Existing System
    • 3.2.2 Disadvantages Of The Existing System
    • 3.2.3 Weakness of the existing System
    • 3.3 Feasibility Study
    • 3.3.1 Economic Feasibility
    • 3.3.2 Technical Feasibility
    • 3.3.3 Operational Feasibility
    • 3.4 Analysis of the Proposed System
    • 3.4.1 Data Flow Diagram of the Proposed System
    • 3.4.2 Advantages of the Proposed System
    • 3.4.3 Justification of the Proposed System
    • 3.5 Functional Requirements
    • 3.5.1 Use Case Diagram Of The Admin / User Privileges
    • 3.6 Data Requirements
    • 3.7 High Level Model of the Proposed System

    CHAPTER FOUR

    SYSTEM DESIGN AND IMPLEMENTATION

    • 4.1 Objectives of the Design
    • 4.2 Cohesion and Decomposition High level Model
    • 4.3 Control Center / Overall Dataflow Diagram
    • 4.3.1 Proposed System Operation Flowchart
    • 4.4 System Specification and Design
    • 4.4.1 Input and Output Specification
    • 4.4.2 Database Specification and Design
    • 4.4.3 Data Dictionary
    • 4.5 Choice and Justification of Programming Language
    • 4.6 Program Documentation
    • 4.7 Implementation Techniques
    • 4.7.1 System Testing
    • 4.8 Programming Module Specification
    • 4.8.1 Installation
    • 4.9 Computer Hardware Minimum Requirement
    • 4.10 Software Requirement
    • 4.11 Personnel / User Training
    • 4.12 File Maintenance Module

    CHAPTER FIVE

    SUMMARY, CONCLUSION AND RECOMMENDATION

    • 5.1 Introduction
    • 5.2 Summary
    • 5.3 Conclusion
    • 5.4 Recommendation

    REFERENCES

    APPENDIX A - “SOURCE CODE”

    APPENDIX B - “OBJECT PROGRAM”


    ABSTRACT


    The development of a secured client-server chat application using Java programming language focused on ensuring confidentiality, integrity, and authentication in real-time communication. The aim of this project is to develop a reliable and secure network programming (Client-Server chat model) that supports a multithreaded server-client chat application using Java socket programming over the Transport Control Protocol (TCP), with enhanced security features through the implementation of a hash function with salt for database protection. Data integrity verification using SHA-256 hashing detected all tampering attempts during communication sessions, confirming message authenticity. Performance tests showed that the encryption and authentication processes introduced only a 12% overhead on system responsiveness, maintaining efficient user experience under typical load conditions. The system sustained stable operation under simulated moderate denial-of-service attacks by incorporating traffic filtering and rate limiting techniques. The outcome of this research demonstrates that integrating advanced cryptographic techniques with robust authentication and integrity checks results in a secure and reliable client-server chat application. The solution effectively protects user data from interception and unauthorized access while maintaining operational efficiency. The expected result is a computerized secured client-server chat application system that will integrate secure authentication and data protection mechanisms using hash functions with salt in the database.



    1.1 Introduction

    Several network systems are built to communicate with one another and are made available through service-oriented architectures. In this project, we use the client server architecture to develop a secured Client-Server chat application. A chat application is created based on Transmission Control Protocol (TCP) where TCP is connection oriented protocol and in the end, multithreading is used to develop the application.

    A client-server chat application consists of a Chat Client and a Chat Server and there exists a two way communication between them. Here, Message Processor is used to interpret message from the user, Message Interpreter is used to extract and pass the received message. Message Maker is used to construct back the message and Client Manager is used to maintain the clients list which the sender and receiver at both sides use to interact with each other.

    In general, the server process will start on some computer system; in fact, the server should be executed before the client. Server usually initializes itself, and then goes to wait state or sleep state where it will wait for a client request. After that, a client process can start on either the same machine or on some other machine. Whenever the client wants some service from the server, it will send a request to the server and the server will accept the request and process it. After the server has finished providing its service to the client, the server will again go back to sleep, that is, waiting for the next client request to arrive. This process is repeated as long as the server processes is running. Whenever such request comes, the server can immediately serve the client and again go back to the waiting state for the next request to arrive.


    1.2 Background of the Study

    Client server model is the standard model which has been accepted by many for developing network applications. In this model, there is a notion of client and notion of server. As the name implies, a server is a process (or a computer in which the process is running) that is offering some services to other entities which are called clients. A client on the other hand is process (which is running) on the same computer or other computer that is requesting the services provided by the server.

    A chat application is basically a combination of two applications:

    1. Server application
    2. Client application

    Server application runs on the server computer and client application runs on the client computer (or the machine with server). In this chat application, a client can send data to anyone who is connected to the server.

    Java application programming interface (API) provides the classes for creating sockets to facilitate program communications over the network. Sockets are the endpoints of logical connections between two hosts and can be used to send and receive data. Java treats socket communications much as it treat input and output operations; thus programs can read from or write to sockets as easily as they can read from or write to files.

    To establish a server connection, a server socket needs to be created and attached to a port, which is where the server listens for connections. The port recognizes the Transmission Control Protocol service on the socket. For instance, the email server runs on port 25, and the web server usually runs on port 80.

    Server Execution: At server the side, a thread is created which receives numerous clients' requests. It also contains a list in which Client's name and IP addresses are stored. After that, it broadcast the list to all the users who are currently in chat room and when a client logs out then server deletes that particular client from the list, update the list and then broadcast the list to all available clients.

    Client Execution: A client firstly must have to register itself by sending username to the server and should have to start the thread so that system can get the list of all available clients. Then any of two registered clients can communicate with each other.


    1.3 Statement of the Problem

    The client-server communication model is used in a wide variety of software applications. Where normally the server side is sufficiently protected and sealed from public access, but client applications running on devices like notebooks and desktops are considered insecure and exposed to security threats.

    The main weakness of client-server chat application is that there is no security provided to data which is transferred between clients. Any unauthorized client can hack the client account and can change the data. This is the main objective of this project (To develop a secured Client-Server Chat Application).


    1.4 Aim and Objectives of the Study

    The aim of this project is to develop a reliable and secure network programming (Client-Server chat model) that supports a multithreaded server-client chat application using Java socket programming over the Transport Control Protocol (TCP), with enhanced security features through the implementation of a hash function with salt for database protection.

    The specific objectives are stated as follows:

    1. To design and implement a multithreaded client-server chat application using Java socket programming over TCP.
    2. To integrate secure authentication and data protection mechanisms using hash functions with salt in the database.
    3. To employ MySQL as the backend database due to its scalability, flexibility, high performance, and strong data security.
    4. To evaluate the performance, availability, and security of the developed system in handling multiple client connections.
    5. To demonstrate the feasibility and practicality of using open-source tools for secure real-time communication over a network.

    1.5 Significance of the Study

    The development of a secured client-server chat application presents several significant contributions, particularly in enhancing data security and communication efficiency. The relevance of this study is stated as follows:

    1. The application utilizes MySQL as its database system, where sensitive data such as personal user details and messages are encrypted. The encryption of both general and private messages ensures confidentiality and integrity of communication stored in the database.
    2. A hash function is applied to user passwords before storage, and each hash is combined with a unique, randomly generated salt. This technique significantly strengthens password security, making it extremely difficult for attackers to derive the original password even if the database is compromised. The use of hashing and salting improves resistance against brute-force and dictionary attacks.
    3. The integration of password hashing and salting mechanisms enhances the reliability and security of the user authentication process.
    4. The application supports private chats between two users, with messages displayed only within a designated private message field.
    5. The implementation of this secured chat system serves as a model for developing secure real-time communication tools, especially for organizations handling sensitive information.

    1.6 Scope of the Study

    This study focuses on the design and implementation of a secured client-server chat application within the context of Ogun State Internal Revenue Service (OGIRS), Nigeria. The application is intended to enhance secure internal communication among staff by integrating network security programming principles such as encryption, user authentication, and data integrity.

    The scope covers the development of a prototype chat system that operates over a local network or intranet, simulating real-time communication between multiple authenticated clients and a centralized server. The system includes features such as secure login, encrypted message exchange, and session management.


    1.7 Limitations of Study

    The deployment of the proposed system will hold significant relevance in the following ways.

    1. The previous Client-Server Chat system implements only a hash function with the password before encryption, which is then stored in the database. This approach makes the database vulnerable to compromise, allowing attackers to potentially compute the original passwords.
    2. Since the server receives multiple requests from clients simultaneously, there is a chance that the server can become congested, leading to slow response times or service interruptions.
    3. In the event of a server failure, users are unable to access the chat service, resulting in downtime and loss of communication.
    4. The system lacks an effective lost password recovery mechanism, making it difficult for users to regain access to their accounts if they forget their passwords.
    5. Any unauthorized client who gains access to a user's account can hack into the client account and change credentials, compromising the security and privacy of legitimate users.

    1.8 Organization of the Work

    In this project, a secure java chat application is considered which relies on the client-server paradigm to exchange the information. It is divided into five chapters. Chapter one is the introduction which consists of the background of study, significance of the study, scope of the study, limitations of the study, organization of the work and the definition of terms.

    The second chapter focuses on the literature review of relevant scholar's opinions relevant to this study such as socket programming in java, overview of secure socket layer, hash function e.t.c.

    The third chapter gives details of the main methodology and system design to implement the client-server chat application in java. First of all the application is developed by using TCP then and in the end multithreading is used to develop the application. At the end of chapter weaknesses (deadlocks) of multithreading is discussed which can be removed by using synchronizing threads.

    Chapter four is the implementation of the secured Java Client-Server Chat Application: it test and analysis the implementation of the application.

    Chapter five ends the project report. Firstly, a short summary highlights the main points of the whole project. Next, a number of conclusions and recommendations are given and lastly Appendix.


    1.9 Definition of Terms

    Socket:

    Socket is a standard connection protocol that supports data communication over the network between connected terminals. The standard connection supports the data transmission both by the TCP and UDP protocols between the terminals.

    TCP:

    TCP is a transport layer protocol used by applications that require guaranteed delivery of data. Basically, it is a connection-oriented protocol. To communicate over TCP one must first have to establish a connection between pair of sockets, where one socket is client and the other belongs to server. After the connection is established between them then they can communicate with each other.

    Client:

    A client is a system that accesses or desires for a service made accessible by a server.

    Server:

    A server is a system (hardware or software) program running to provide the service requests of other system programs.

    Port:

    Port is a software mechanism that allows the centralized connected Servers to listen for requests made by clients. Port is actually purposed as a gateway to listen for the requested parameters by the server terminals or other machines. It is a software address on a system that is on the network. Entire request response proceeding among this Application is carries through machine ports.


    CHAPTER TWO

    LITERATURE REVIEW


    2.1 Introduction

    This chapter focuses on the review of related literature. A literature review presents current knowledge, as well as theoretical and methodological contributions, related to Security Network Programming (Secured Client-Server Chat Application). It documents the state of the art on the subject under study and provides a comprehensive survey of existing literature. In this research work the literature review includes the conceputal review, theoretical framework, the review of related literature …


    How to Download the Complete PDF Material (Table of Contents, Abstract, Chapter 1-5, and References)


    Above is a preview excerpt of the full study on “Security Network Programming (Secured Client-Server Chat Application)”. The complete material, including all five chapters, is available for download upon request. Get in touch with us here!

    Download Material (Docx)