In today's world, computer networking has become an
integral part of life. There are many different networks available to share information between groups of devices through a shared communication medium. They are mainly differentiated by the physical medium and protocol standards. Ethernet is a prime wired networking standard which is an obvious choice for many network applications due to reliability, efficiency, and speed. The Ethernet standard is used in various application segments. Figure 1 shows the Client/Server model architecture that has been used in most network systems and in this study. The client side could be any type of smart devices (desktop, laptop, smart phone, etc.). The server part is one device that controls and passes messages and opens the connections among clients. and/or between clients and server. The Internet part could be one device to isolate the network overall into two main parts: client(s) and server, it could be a switch or hub or router or just a cable.
In the digital age, ensuring secure communication
between clients and servers is paramount to safeguarding sensitive information from unauthorized access and malicious attacks. Cryptography, the science of encrypting and decrypting data, plays a vital role in achieving this security objective.
In this laboratory, we delve into the realm of secure
client/server communication by harnessing the power of cryptography tools. Our aim is to equip participants with the knowledge and skills necessary to implement robust encryption and decryption mechanisms to protect data transmission over networks.
Through hands-on exercises and practical
demonstrations, participants will explore various cryptographic techniques, including symmetric and asymmetric encryption, digital signatures, and hash functions. They will learn how to integrate these techniques into client/server applications to establish secure channels for data exchange. By the end of this laboratory, participants will have gained a comprehensive understanding of:
1. Cryptographic fundamentals and principles.
2. Different encryption algorithms and their strengths and weaknesses. 3. Key management and distribution strategies. 4. Techniques for securing client/server communication protocols, such as TLS/SSL. 5. Best practices for implementing cryptographic solutions in real-world scenarios.
Overall, this laboratory provides a valuable opportunity
for participants to enhance their cybersecurity skills and contribute to building more resilient and secure digital infrastructures. Methods
Building a Client/Server architecture for an encrypted
chat system to communicate between clients via a server using encryption based on RSA. The goal for this study is to use client/server architecture to accomplish secure chat between clients without the server being able to decrypt the message by using one layer of encryption between the clients and the server, and then a second layer. of encryption between the clients in a chat room. All the used encryption processes are based on the RSA algorithm. The implementation of this study is held in the MATLAB environment.
The very teni "client-server" was initially applied to the
software architecture, which described the distribution of the execution process by the principle of interaction of two software processes, one of which in this model was called the client and the other the server. The client process requested some services, and the server process ensured their execution. It was assumed that one server process can serve a lot of client processes. One of the client/server applications is "chatting", Chatting alludes to one kind of correspondence over the Internet that offers a continuous transmission of instant messages from sender to beneficiary or over a server that controls and deals with the gatherings (customers) to convey. 1. Client/Server The used client/server model describes how a server provides resources and services to one or more clients. Examples of servers including web servers, chat servers, and file servers. Each of these servers provide resources to client devices. Most servers have a one- to-many relationship with clients, meaning a single server can provide resources to m Computers. In order to meet the main requirements of businesses, networks themselves are becoming quite complex with multiple clients at one time.
2. Chat Service A secure chat service provides the ability
to have real time secure discussions among users electronically, one-to-one or in group sessions. A public network accumulates information slightly, rather than on a user's individual computer that is used to keep in touch with people. A secure chatting between client and server to make a safe and reliable communication, the benefits are:
Allows for instant communications between users.
Uses real time chat over the network that can eliminate costly long distance charges.
Allows for rapid query and rapid responses.
While the negative points of chat service can be listed as
following:
Security problems of instant messaging programs.
Secure chats in most cases are routed through a server system, where the service is provided and that is a single point where all messages can be intercepted.
Chat programs can provide an open avenue of attack for
hackers, crackers, spies and thieves.
3. RSA Encryption
In this study, an encrypted chat program designed to
ensure a safe mode of communication between two users. It uses RSA encryption to encode and decode messages in a terminal window. Clients exchange public keys and encrypt outgoing text with the intended recipient's public key.
Each user connects to a central server which forwards
messages to the intended recipient. On the receiving end, the program utilizes a client's private key to decrypt received messages. In 1977, Ron Rivest. Adi Shamir and Leonard Adleman introduced a cryptographic algoritlhun, RSA, which is named for the first letter in each of its inventors last name. RSA's motivation is Diffiel Hellman Algorithm which describes the idea of such an algorithm that enables public- key cryptosystem. Here are the steps of RSA Algorithm:
The first step of the RSA Algorithm is to select two different
prime numbers p and q The second step is the calculation of n where N-p*q The calculation of (N)-(p- 1)*(q-1) is the third step.
As the fourth step, an integer e is selected as a public-
key which is co-prime with (N)
Finally, the inverse of e modulus oN) is taken to produce
d, the private-key. By using e and d modulus N, the encryption and decryption are done.
In the RSA Algorithm, the public-key involves two
numbers N and e while the private-key is N together with a different number d. To encrypt message M (plain text):
M Me (mod N) C
To dencrypt message C (cipher text):
C-Cd (mod N)=M
PROPOSED SYSTEM
Encryption algorithm is deployed to encrypt messages
exchanged with the proposed chat. gateway. This study is about developing a new model to create a private messaging network to transmit message contents over the network intranet between client terminals. The chat messaging environment showed a great potential to host a real time interactive interaction system which is supported by RSA encryption methodology to preserve the security of the message stream.
Choosing the key size in RSA encryption is of great
importance. As the size of the key increases, the security level of the system, the complexity and the resistance of encrypted text increases. These advantages make it difficult to decrypt ciphertexts and break passwords. However, in addition to these advantages, the encryption key creation time, rext encryption time, and mobile device RAM consumption increase. These disadvantages are factors that will influence the effective use of the application. For this reason, the advantages and disadvantages of key dimensions should be determined and the most suitable key size should be preferred.To accomplish the chatting and meet the goals of this study in client/server architecture, the need for authentication methods and encryption algorithms will be urgent. EXPERIMENTAL RESULTS Conclusion In conclusion, the implementation of client/server communication using cryptography tools in our laboratory has been a success. By employing encryption algorithms such as AES and RSA, along with secure key exchange protocols like Diffie-Hellman, we've ensured the confidentiality and integrity of data exchanged between clients and servers. Additionally, the use of digital signatures has provided authentication and non- repudiation, further bolstering the security of our communication channels. Through this project, we've gained valuable insights into cryptographic principles and their practical applications in securing network communications. Moving forward, we plan to explore more advanced cryptographic techniques and continue refining our implementations to stay ahead of emerging threats in cyberspace.