Ilovepdf Merged
Ilovepdf Merged
Internship Report
On
“SOFTWARE DEVELOPER-INTERN”
Submitted in partial fulfillment of the requirement for the 8 th semester
BACHELOR OF ENGINEERING
in
ELECTRONICS AND COMMUNICATION ENGINEERING
by
DIVYA J 1RL20EC007
Under the guidance of
LAVANYA VAISHNAVI D.A.
Assistant Professor,
Dept. of E&CE
academic year 2023-24. It is certified that all corrections and suggestions indicated for
Internal Assessment have been incorporated in the Report deposited in the departmental
library.
The internship report has been approved as it satisfies the academic requirements in respect
The satisfaction and euphoria that accompany the successful completion of any task would
be incomplete without the mention of people who made it possible. So with gratitude, we
acknowledge all those whose guidance and encouragement crowned out efforts with
success.
We would like to extend regards to Dr. P Vijayakarthik Principal, R L J I T, forall his
prolific support in all endeavours.
Our Special Thanks to Dr. Shivaprasad K M, Vice Principal, RLJIT for his guidance
in this complete endeavours.
We express our sincere thanks to Dr. Anil Kumar C. HOD, Department of Electronics
and Communication Engineering, RLJIT for his support and encouragement.
At this outset, we extend our gratitude to Lavanya Vaishnavi D.A, Assistant Professor,
Department of Electronics and Communication, RLJIT for her guidance at allstages of this
complete exercise.
We are thankful to all our faculties and the entire department ELECTRONICS AND
COMMUNICATION ENGINEERING for their cooperation and suggestion, without
their cooperation and suggestions our course would not have been a successful one.
Finally, we also thank our beloved parents for their blessing and love in our entire
endeavour.
Divya J 1RL20EC007
(i)
ABSTRACT
In today’s competitive business world, organizations are struggling to stand First and
get more benefits. In India , Information technology is the one which has held the first position
for long years with many innovative trends. It has multiple streams and platforms to develop
an application or product. Programming languages play a vital role in developing applications.
Java is one of the programming language which enables developers to make programs work
just about anywhere. Basically, java is not just a programming language but it is a programming
atmosphere to develop and deploy enterprise applications.
Java is a set of computer software and specifications which help programmers in
simplifying the code and develop applications and install them on cross-platform systems.java
is fast, reliable and secure from desktop to web applications, scientific supercom puters to
gaming consoles, cell phones to the Internet, It is used in every nook and corner. Java is not
only easy to learn but is also designed in such a way that it is easy to use, easy to write. It is
widely used in various fields like Financial services, Banking, stock market, Retail, Android,
Scientific and Research. It is most widely used in IT Industry and by learning java there are
wide range of opportunities for a Job seeker to secure the job.
CONTENTS
ACKNOWLEDGEMENT……………………………………………………………………i
ABSTRACT…………………………………………………………………………………..ii
CONTENTS………………………………………………………………………………….iii
List Of Figures……………………………………………………………………………….vi
CHAPTER 1
Company Profile………………………………………………………………………………1
CHAPTER 2
Introduction
2.8 Variables…………………………………………………………………………………..13
CHAPTER 3
Programming Concepts
(iii)
3.7 Java Classes, Blocks And Constructors………………………………………………….18
3.8 Constructors……………………………………………………………………………...18
CHAPTER 4
4.1 Inheritance………………………………………………………………………………20
4.4 Interface…………………………………………………………………………………22
4.5 Abstraction……………………………………………………………………………...22
4.6 Encapsulation…………………………………………………………………………...23
4.7 Polymorphism…………………………………………………………………………..25
CHAPTER 5
Java Advanced
5.0 Package………………………………………………………………………………….27
5.2 Multithreading…………………………………………………………………………..30
5.3 Threading………………………………………………………………………………..30
5.4 String…………………………………………………………………………………….31
5.5 Collection………………………………………………………………………………..31
CHAPTER 6
6.1 Multi Factor authentication file protecting system using cloud computing……………...36
6.4 Execution…………………………………………………………………………………43
(iv)
6.5 Results and Discussion…………………………………………………………………...46
CHAPTER 7
CONCLUSION……………………………………………………………………………...49
References……………………………………………………………………………………50
(v)
LIST OF FIGURES
(vi)
Software developer-Intern
CHAPTER 1
COMPANY PROFILE
CIN: U72200KA2013PTC068461
Industry: Computer Related Services
Type: Unlisted Private Company
Founded: 05 April, 2013
Revenue: Undisclosed
Authorized Capital: Less than $10,000
Paid-up Capital: Less than $10,000
Category: Company limited by Shares
The last reported AGM (Annual General Meeting) of Techciti Technologies Private Limited,
per our records, was held on 20 September, 2022.
CHAPTER 2
INTRODUCTION
Java is one of the programming language or technology used for developing web applications.
Java language was developed by SUN Micro Systems in the year 1995 under the guidance of
James Gosling and there team. Originally SUN Micro Systems is one of the Academic
university (Standford University Network) Whatever the software developed in the year 1990,
SUN Micro Systems has released on the name of oak, which is original name of java
(scientifically oak is one of the tree name). The OAK has taken 18 months to develop. The oak
is unable to fulfill all requirements of the industry. So James Gosling again reviews this oak
and released with the name of java in the year 1995. Scientifically java is one of the coffee seed
name. Java is divided into three categories, they are
• J2SE (Java 2 Standard Edition)
• J2EE (Java 2 Enterprise Edition)
• J2ME (Java 2 Micro or Mobile Edition)
J2SE is used for developing client side applications.
J2EE is used for developing server side applications.
J2ME is used for developing mobile or wireless application by making use of a predefined
protocol called WAP (wireless Access / Application protocol)[1]
system. Java language is one of the compiled and interpreted programming language.
Garbage Collector
Garbage Collector is the system Java program which runs in the background along with
regular Java program to collect un-Referenced (unused) memory space for improving the
performance of our applications.[2]
API
Features of a language are nothing but the set of services or facilities provided by the
language vendors to the industry programmers. Some important features are:
Figure-2.1:Features of JAVA
The following sequence of steps represented in the diagram use compiling the java program
and executing the java programs.
JVM : JVM (Java Virtual Machine) is a software. It is a specification that provides runtime
environment in which java byte code can be executed. It not physically exists. JVMs are not
same for all hardware and software, for example for window OS JVM is different and for Linux
VJM is different. JVM, JRE and JDK are platform dependent because configuration of each
OS differs. But, Java is platform independent.
JRE : The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It
contains set of libraries and tools for developing java application. The Java Runtime
Environment provides the minimum requirements for executing a Java application. It
physically[4]
JDK : The Java Development Kit (JDK) is primary components. It physically exists. It is collection of
programming tools and JRE, JVM. exists. It contains set of libraries + other files that JVM uses
at runtime.
JAVA Virtual Machine (JVM) is an abstract machine responsible for compiling and executing
Java code. It is a part of the Java Runtime Environment (JRE), which calls the main function
of a program.JVM facilitates a platform-independent way of executing Java source code. Its
basis on WORA (Write Once Run Anywhere)
• It has a class loader, runtime data area, execution engine, and libraries.
• JVM comes with JIT(Just-in-Time) compiler that converts Java source code into
machine code.
Features of JVM
• It converts byte code to the machine language.
• JVM provides basic Java functions like memory management, security, garbage
collection, etc.
• Runs the program by utilizing JRE’s libraries and files.
• JVM is an integral part of JRE.
• It can execute the Java program line by line. Therefore, it is also known as an
interpreter.
• The main functions of JVM include loading, linking, initializing, and compiling
the program.
What is JRE?
JRE software includes JVM and class libraries to run Java programs independently. Although
it can execute the code. Yet, JRE comes bundled with Java Development Kit (JDK) to provide
a complete application development experience.
The JRE includes class libraries along with JVM and its supporting files. Note: It does not
include separate tools, such as a debugger for Java development.
JRE comprises significant package classes such as util, math, AWT, lang, and various runtime
libraries.
JRE = JVM + Class Libraries (For Running the Java Applications).
Features of JRE
• JRE consists of a set of tools to help the JVM run. In addition, it includes a few
deployment tools such as Java Plug-in and Java Web Start.
• A User can efficiently run a Java code with JRE only. However, JRE doesn’t allow
writing the program.
• JRE appends various integration libraries like the JDBC (Java Database Connectivity),
JNDI (Java Naming and Directory Interface), RMI (Remote Method Invocation), etc.
• Along with JVM, it consists of a virtual machine client for Java HotSpot.[5]
What is JDK?
Java Development Kit (JDK) is a complete software environment for building applications and
applets using the Java programming language. It is platform-dependent. Therefore, it has
different OS platform versions for Windows, Linux, Mac, etc. It allows reading, writing, and
executing the Java program.
Includes various tools required for writing Java programs.
• It includes an applet viewer, Java application launcher, debugger, compiler, etc.
• JDK also consists of JRE for executing Java programs.[6]
• The Java application launcher helps in opening a JRE. Then, it loads the necessary
details and executes the program’s main method.
• JDK = Development Tools + JRE (Java Runtime Environment)
Object: is the physical as well as logical entity where as class is the only logical entity.
Class: Class is a blue print which is containing only list of variables and method and no
memory is allocated for them. A class is a group of objects that has common properties.
A class in java contains:
• Data Member
• Method
• Constructor
• Block
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def drive(self):
print("The car is driving.")
my_car = Car("Toyota", "Camry", 2020)
my_car.drive()
Object: Object is a instance of class, object has state and behaviors. An Object in java has
three characteristics:
• State
• Behaviour
• Identity
State: Represents data (value) of an object.
Behavior: Represents the behavior (functionality) of an object such as deposit, withdraw etc.
Identity: Object identity is typically implemented via a unique ID. The value of the ID is not
visible to the external user. But it is used internally by the JVM to identify each object
uniquely. [8-10]
Class is also can be used to achieve user defined data types. In Java without Class and object
it is not possible to create or write any program. Class and Objects are interlinked to one
another
without class we cannot create any object. Class includes methods, variables and values
stored
in the variables.
There are different Java Applications
• Standalone Applications
• Client-Server Applications
• Web Applications
Standalone Applications can be used without internet Connection. Example for this would be
Laptop (Notepad) and Mobile (Camera, Music).
Client- Server Applications can be used by installing application both in receiver device and
Sender device .Applications must be installed both in Client as well as Server. Client -Server
Applications uses internet.
Web Applications can be uses Web browser, These applications are large applications and
Assembly level languages has more readability, But cannot develop such large Applications.
Whereas, In low level languages readability is less , In High level languages readability is more
C, C++, Java are some of the High level programming languages. Processor understand Low
level language Therefore, compiler is used to convert High level language to Assembly
language and Assembler converts Assembly language ( microprocessor and microcontroller)
to Low level language and finally this low level language is given to processor.[11]
Datatype is a special keyword used to allocate sufficient memory space for the data, in other
words Data type is used for representing the data in main memory (RAM) of the computer. In
general every programming language is containing three categories of data types. They are
• Fundamental or primitive data types
• Derived data types
• User defined data types.
2.8 Variables
Variable is an identifier which holds data or another one variable is an identifier whose value
can be changed at the execution time of program. Variable is an identifier which can be used
to identify input data in a program. It can also be defined as a named memory location which
is used to store values for the program.[12]
Operator is a special symbol that tells the compiler to perform specific mathematical or logical
Operation. Java supports following lists of operators.
• Arithmetic Operators
• Relational Operators
• Logical Operators
• Bitwise Operators
• Assignment Operators
• Ternary or Conditional Operators
Arithmetic Operation
+,-,*,/,%
Comparision Operator
< >,= =, !=,< =, > =
Logical Operator
&&, ||,!,^
Increment and Decrement Operation
++,--
CHAPTER 3
PROGRAMMING CONCEPTS
3.1 Structure Of Java Program
Structure of a java program is the standard format released by Language developer to the
Industry programmer. Sun Micro System has prescribed the following structure for the java
programmers for developing java application.
Decision making statement statements is also called selection statement. That is depending on
the condition block need to be executed or not which is decided by condition. If the condition
is "true" statement block will be executed, if condition is "false" then statement block will not
be executed. In java there are three types of decision making statement.[14]
• if
• if-else
• switch case
Looping statements are used to perform Repeated task. The statements written in the loop will
be executed multiple times continuously.
• For loop
• While loop
• Do-while loop
The statements within the For loop will be executed multiple time continuously. The statements
of the While loop will be executed repeatedly until the Boolean condition is “FALSE”. The
statements of Do-while loop are executed first and later the Boolean condition will be
evaluated.
3.5 Access modifiers
Access modifiers are those which are applied before data members or methods of a class.
These are used to where to access and where not to access the data members or methods. In
java programming we have four access modifiers they are:
3.8.1Types of constructors
Based on creating objects in Java constructor are classified in two types. They are:
• Default or no argument Constructor.
• Parameterized constructor.
CHAPTER 4
OBJECT ORIENTED CONCEPTS
4.0 Relationship in Java
Type of relationship always makes to understand how to reuse the feature from one class to
another class. In java programming we have two types of relationship they are.
• Is-A Relationship
• Has-A Relationship
4.1 Inheritance
The process of obtaining the data members and methods from one class to another class is
known as inheritance. It is one of the fundamental features of object-oriented programming.
A class that is declared with abstract keyword, is known as abstract class. An abstract class is
one which is containing some defined method and some undefined method. In java
programming undefined methods are known as un-Implemented or abstract method. The
process of obtaining the data members and methods from one class to another class is known
as inheritance. It is one of the fundamental features of object-oriented programming.[19]
Types of Inheritance
• Single inheritance
• Multiple inheritance
• Hierarchical inheritance
• Multilevel inheritance
• Hybrid inheritance
Uses of Inheritance
• For Method Overriding (used for Runtime Polymorphism).
• It's main uses are to enable polymorphism and to be able to reuse code for different classes by putting
it in a common super class
• For code Re-usability
1. interface <interface_name>{
2.
3. // declare constant fields
4. // declare methods that abstract
5. // by default.
6. }
Uses of Interface
• It is used to achieve fully abstraction.
• By using Interface, you can achieve multiple inheritance in java.
4.5 Abstraction
Abstraction is the concept of exposing only the required essential characteristics and behavior
with respect to a context. Hiding of data is known as data abstraction. In object oriented
programming language this is implemented automatically while writing the code in the form
of class and object.
// Abstract class Vehicle
abstract class Vehicle {
// Abstract method
abstract void run();
// Class Main
public class Main {
public static void main(String[] args) {
// Create an object of Car class
Car myCar = new Car();
4.6 Encapsulation
Encapsulation is a process of wrapping of data and methods in a single unit is called
encapsulation. Encapsulation is achieved in java language by class concept. Combining of state
and behaviour in a single container is known as encapsulation. In java language encapsulation
can be achieve using class keyword, state represents declaration of variables on attributes and
behaviour represents operations in terms of method.[22]
class BankAccount {
private int balance; // private variable
private String accountNumber; // private variable
Output:
Account Number: 123456789
Owner Name: John Doe
Balance: 1000
Benefits of encapsulation
• Provides abstraction between an object and its clients.
• Protects an object from unwanted access by clients.
4.7 Polymorphism
The process of representing one form in multiple forms is known as Polymorphism. Here
original form or original method always resides in base class and multiple forms represents
overridden method which resides in derived classes. Polymorphism is not a programming
concept but it is one of the principal of OOPs. For many objects oriented programming
language polymorphism principle is common but whose implementations are varying from
oneobjects oriented programming language to another object oriented programming language.
Polymorphism principal is divided into two sub principal they are:
• Static or Compile time polymorphism
• Dynamic or Runtime polymorphism[23]
System.out.println("Animal sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Woof!");
}
}
Output:
Woof!
CHAPTER 5
ADVANCED JAVA
5.0 Package
A package is a collection of similar types of classes, interfaces and sub-packages.
handle runtime errors such as Class Not Found Exception, IO Exception, SQL Exception,
Remote Exception, etc.
Exception Hierarchy
All exception and error types are subclasses of the class Throwable, which is the base class of
the hierarchy. One branch is headed by Exception. This class is used for exceptional conditions
that user programs should catch. Null Pointer Exception is an example of such an exception.
Another branch, Error is used by the Java run-time system(JVM) to indicate errors having to
do with the run-time environment itself(JRE). Stack Over flow Error is an example of such an
error.[26-30]
Hierarchy of Exception classes
import java.io.*;
class GFG {
public static void main (String[] args) {
int a=5;
int b=0;
try{
System.out.println(a/b);
}
catch(ArithmeticException e){
e.printStackTrace();
}
}
}
Output:
java.lang.ArithmeticException: / by zero
at GFG.main(GFG.java:7)
5.2 Multithreading
Multithreading in java is a process of executing multiple threads simultaneously. The aim of
multithreading is to achieve the concurrent execution.
5.3 Thread
Thread is a lightweight components and it is a flow of control. In other words a flow of control
is known as thread.
public class MultithreadingDemo {
public static void main(String[] args) {
// Create two threads
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 1 is running...");
}
});
5.5 COLLECTION
Collections in java is a framework that provides an architecture to store and manipulate the
group of objects. All the operations that you perform on a data such as searching, sorting,
insertion, manipulation, deletion etc. can be performed by Java Collections. Java Collection
simply means a single unit of objects. Java Collection framework provides many interfaces
(Set, List, Queue, Deque etc.) and classes
ArrayList
import java.util.*;
class TestJavaCollection1{
public static void main(String args[]){
ArrayList<String> list=new ArrayList<String>();//Creating arraylist
list.add("Ravi");//Adding object in arraylist
list.add("Vijay");
list.add("Ravi");
list.add("Ajay");
//Traversing list through Iterator
Iterator itr=list.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ravi
Ajay
Vector
import java.util.*;
public class TestJavaCollection3{
public static void main(String args[]){
Vector<String> v=new Vector<String>();
v.add("Ayush");
v.add("Amit");
v.add("Ashish");
v.add("Garima");
Iterator<String> itr=v.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ayush
Amit
Ashish
Garima
LinkedList
import java.util.*;
public class TestJavaCollection2{
public static void main(String args[]){
LinkedList<String> al=new LinkedList<String>();
al.add("Ravi");
al.add("Vijay");
al.add("Ravi");
al.add("Ajay");
Iterator<String> itr=al.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ravi
Ajay
HashSet
import java.util.*;
public class TestJavaCollection7{
public static void main(String args[]){
//Creating HashSet and adding elements
HashSet<String> set=new HashSet<String>();
set.add("Ravi");
set.add("Vijay");
set.add("Ravi");
set.add("Ajay");
//Traversing elements
Iterator<String> itr=set.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ajay
LinkedHashSet
import java.util.*;
public class TestJavaCollection8{
public static void main(String args[]){
LinkedHashSet<String> set=new LinkedHashSet<String>();
set.add("Ravi");
set.add("Vijay");
set.add("Ravi");
set.add("Ajay");
Iterator<String> itr=set.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ajay
TreeSet
import java.util.*;
public class TestJavaCollection9{
public static void main(String args[]){
//Creating and adding elements
TreeSet<String> set=new TreeSet<String>();
set.add("Ravi");
set.add("Vijay");
set.add("Ravi");
set.add("Ajay");
//traversing elements
Iterator<String> itr=set.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ajay
Ravi
Vijay
CHAPTER 6
PROJECT UNDERTAKEN
6.1 Multi factor authentication file protecting system using cloud computing
Multi-factor authentication (MFA) is a security measure that uses two or more authentication
factors to verify a user's identity, in addition to a username and password. MFA is a critical
tool for protecting cloud services and applications, and can help prevent identity breaches. The
number of authentication factors varies depending on the security framework's architecture and
the required security level .
MFA solutions can include:
• Knowledge: A password or PIN
• Possession: A badge or smartphone
• Inherence: Biometric like fingerprints or voice recognition
Other MFA factors include:
• A token-based authenticator, such as a smart card or key fob
• A one-time password, push notification, or SMS code delivered to a mobile app
• A code sent to an email
• A secret question
MFA can help protect digital assets and eliminate issues around identity thefts. It also verifies
that only authorized cloud users are able to access cloud apps, data, services, and resources .
Multi-factor authentication (MFA) is a powerful identity and access management (IAM) tool
for protecting cloud services and other applications from data breaches. An MFA solution
requires users to authenticate using two or more verification methods.
Implementing a multi-factor authentication (MFA) file protection system using cloud
computing in Java involves several components, including user authentication, file encryption,
cloud storage, and MFA verification. Below is a basic outline of how you might structure such
a system:
1. User Registration and Authentication: Implement a user registration and
authentication system. You can use a relational database or any other storage
mechanism to store user credentials securely.
2. File Encryption and Decryption: Implement methods to encrypt and decrypt files.
You can use symmetric encryption algorithms like AES for this purpose. Each user
should have a unique encryption key.
3. Cloud Storage Integration: Integrate with a cloud storage service like Amazon S3 or
Google Cloud Storage to store encrypted files. You'll need to implement methods to
upload, download, and delete files from the cloud storage.
4. Multi-Factor Authentication: Implement MFA mechanisms such as OTP (One-Time
Password), biometric verification, or any other method you prefer. This adds an
additional layer of security to the system.
5. Java Application Structure: Organize your Java application into classes and
packages. Here's a basic structure you might use:
A multi-factor authentication (MFA) block diagram shows that a user needs more than a
password to log in to an account, such as a phone or fingerprint. MFA is a multi-step process
that requires users to provide two or more pieces of information to authenticate. This can
include:
Knowledge: Something you can remember, type, say, or do
Possession: A physical object you have, such as a hardware token
Inherence: A unique body part, such as a fingerprint, that can be used for authentication
Multi-factor authentication (MFA) is a multi-step account login process that requires users to
enter more information than just a password. For example, along with the password, users
might be asked to enter a code sent to their email, answer a secret question, or scan a fingerprint.
A second form of authentication can help prevent unauthorized account access if a system
password has been compromised.
Digital security is critical in today's world because both businesses and users store sensitive
information online. Everyone interacts with applications, services, and data that are stored on
the internet using online accounts. A breach, or misuse, of this online information could have
serious real-world consequences, such as financial theft, business disruption, and loss of
privacy.
While passwords protect digital assets, they are simply not enough. Expert cybercriminals try
to actively find passwords. By discovering one password, access can potentially be gained to
multiple accounts for which you might have reused the password. Multi-factor authentication
acts as an additional layer of security to prevent unauthorized users from accessing these
accounts, even when the password has been stolen. Businesses use multi-factor authentication
to validate user identities and provide quick and convenient access to authorized users.
Reduces security risk
Multi-factor authentication minimizes risks due to human error, misplaced passwords, and
lost devices.
Organizations can undertake digital initiatives with confidence. Businesses use multi -factor
authentication to help protect organizational and user data so that they can carry out online
interactions and transactions securely.
Multi-factor authentication works by requesting multiple forms of ID from the user at the time
of account registration. The system stores this ID and user information to verify the user for
next login. The login is a multi-step process that verifies the other ID information along with
the password.
Registration
A user creates the account with username and password. They then link other items, such as a
cell phone device or physical hardware fob, to their account. The item might also be virtual,
such as an email address, mobile number, or authenticator app code. All these items help to
uniquely identify the user and should not be shared with others.
Authentication
When a user with MFA-enabled logs into a website, they are prompted for their username and
password (the first factor–what they know), and an authentication response from their MFA
device (the second factor–what they have).
If the system verifies the password, it connects to the other items. For example, it may issue a
number code to the hardware device or send a code by SMS to the user's mobile device.
Reaction
The user completes the authentication process by verifying the other items. For example, they
might enter the code they have received or press a button on the hardware device. The user gets
access to the system only when all the other information is verified.
Multi-factor authentication might be implemented in different ways. These are some examples:
The system asks for just the password and one more ID, called two-factor authentication or
two-step authentication.
Instead of the system, a third-party application called an authenticator verifies the user's
identity. The user enters the passcode into the authenticator, and the authenticator confirms the
user to the system.
During verification, the user enters biometric information by scanning a fingerprint, retina, or
other body part.
The system may request multiple authentications only when you access it for the first time on
a new device. After that, it will remember the machine and ask only for your password.
We give some examples of how businesses can use multi-factor authentication below:
A company wants to give remote resource access to its employees. It can set up multi -factor
authentication requiring login, a hardware fob, and a fingerprint scan on company-issued
laptops that the employees take home. Based on the employee's IP address, the company can
set rules that the employee needs to use two-factor authentication when working from home.
However, the company may require three-factor authentication when the employee is working
on any other wifi network.
A hospital wants to give access to its health applications and patient data to all its employees.
The hospital gives the employees a proximity badge to access these applications while they are
at work. At the start of each shift, the employee has to log in and tap the badge to a central
system. During the shift, they can access all resources with a single tap of the badge, without
more login requirements. At the end of the shift, the single tap access rights end. This
minimizes the risk of unauthorized access due to lost badges.
MFA authentication methods are based on something you know, something you have and/or
something you are. We describe some common authentication factors below:
Knowledge factor
In the knowledge factor method, users have to prove their identity by revealing information no
one else knows. A typical example of this authentication factor is secret questions with answers
only the user would know, such as the name of their first pet or their mother's maiden name.
Applications may also request access to a four-digit pin code.
These methods are secure only as long as no one else discovers the secret information.
Criminals might investigate the user's personal history or trick them into revealing this
information. Pin codes can also be cracked using a brute-force method that guesses every four-
digit number combination possible.
Possession factor
In the possession factor method, users identify themselves by something they uniquely own.
Here are some examples:
Physical devices like mobile phones, security tokens,display cards, hardware fobs, and security
keys.
The system sends a secret code as a digital message to these devices or assets, which the user
then re-enters into the system. The account can be compromised if the device is lost or stolen.
Some security tokens circumvent this problem by connecting directly to the system so that they
cannot be digitally accessed.
Inherence factor
Inherence methods use information that is inherent to the user. These are a few examples of
such authentication factors:
• Fingerprint scans
• Retina scans
• Voice recognition
• Facial recognition
• Behavioural biometrics like keystroke dynamics
The application has to collect and store this information along with the password during
registration. The business managing the application has to protect biometrics along with
passwords.
Device name:LAPTOP-IMO1U7PM
Device :IDBE5448F7-E8F5-47F8-972B-F51FDC58664F
Product ID:00356-24613-75293-AAOEM
Version:22H2
Installed on:13-10-2022
OS build:22621.3374
Software used:Eclipse
6.4 Execution
Code
package com.yourcompany.mfafileprotect;
Multi-factor authentication (MFA) can reduce the risk of security breaches by up to 99.9%
compared to passwords alone. It can also reduce the risk of compromise by 99.22% overall and
by 98.56% when credentials are leaked. MFA uses a combination of something you have,
something you know, or something you are to confirm your identity online.
Here are some benefits of MFA:
• Increased protection
MFA can help protect valuable assets like data, time, and money from security breaches.
• Defense in depth
MFA uses multiple layers of security so that if one layer is compromised, the others can provide
a backup.
• Data protection
MFA can help ensure that personal data stored or processed by an organization is secure from
cyber threats.
• Enables digital initiatives
MFA can help organizations undertake digital initiatives with confidence.
• Increased productivity
MFA can allow employees to easily and securely access resources using mobile devices, which
can increase productivity.
However, MFA can also have some disadvantages, such as:
• Users might forget the answers to security questions
• Hardware tokens can get lost or stolen
• The biometric data calculated by MFA algorithms for personal IDs, such as
thumbprints, aren't always accurate and can create false positives or negatives.
Highlight the medium or mediums used in your work (e.g., painting, sculpture, performance
art, digital media).
2. Presentation of Artifacts
Provide a detailed presentation of the artworks or artifacts created during your MFA
project.
Describe the techniques, materials, and processes used in creating each piece.
Explain the inspiration behind your creative process and how it evolved throughout the
project.
4. Reflection on Process
Reflect on your artistic process, including challenges faced and breakthroughs achieved.
Consider how your creative process was influenced by external factors such as research,
feedback, or personal experiences.
Situate your artwork within the broader cultural, social, or historical context.
Discuss any relevant influences from art movements, contemporary issues, or cultural
identities.
Reflect on how your work contributes to ongoing dialogues or debates within the art world.
6. Evaluation of Outcomes
Assess the success of your MFA project in relation to its original goals and objectives.
Reflect on what you have learned from the process and how it has contributed to your
artistic growth.
7. Future Directions
Explore potential avenues for further exploration or development of your artistic practice.
Discuss how your MFA project has influenced your future ambitions or projects.
Consider how you might continue to engage with the themes or concepts explored in your
work.
8. Conclusion
Summarize the key findings, insights, and contributions of your MFA project.
Reiterate the significance of your work within the context of your artistic practice and the
broader art world.
Remember to support your discussion with evidence from your artwork, research, and
critical analysis. Additionally, consider the specific requirements or expectations of your
MFA program when structuring your results and discussion section.
CHAPTER 7
CONCLUSION
Information Technology in India is one of the fastest growing industries in the country and it has
built very valuable brand equality for itself in global markets. It mainly consists of Two major
Components IT services and Business process outsourcing, This sector has increased its
contribution to India’s GDP from 1.2% in 1998 to 77% in 2017. The United States accounts for
Two-Thirds of India’s IT services exports. IT Industry plays a vital Role improving the economy
and standards of the country. IT Sector also provides wide opportunities to graduated student by
providing them employment and we also know that programming Languages play a vital role in IT
Sector.
Java is an object-oriented programming language. It is a general-purpose programming
language, mainly designed to run developed java code on all platforms that support Java
without recompilation.
As we all know, Java is one of the most popular and in-demand programming languages to
learn and it was one of the first languages to standardise high-level threading utilities.
Java project is a must for aspiring developers. This project helps developers develop real -world
projects to hone their skills and materialise their theoretical knowledge into practical
experience. Java has significant advantages both as a commercial language and also as a
teaching language. Java project provides rigorous compile-time error checking typically
associated with Pascal, allowing instructors to introduce students to GUI programming,
networking, threads, and other important concepts used in modern-day software. Overall, the
java project gives a complete design for the extended language.
This internship has been an excellent and rewarding experience. I can conclude that there have
been a lot I’ve learnt from my work at Cemosis. Needless to say, the technical aspects of the
work I’ve done are not flawless and could be improved provided enough time. As someone
with no prior experience with Node.js whatsoever I believe my time spent in research and
discovering it was well worth it and contributed to finding an acceptable solution to build a
fully fonctional web service. Two main things that I’ve learned the importance of are time-
management skills and self-motivation.
References
[1] Khan, M.K., Kumari, S.: An Authentication Scheme for Secure Access to Healthcare
Services. Journal of Medical Systems. 37(4), 9954-9954
(2013). https://doi.org/10.1007/s10916-013-9954-3.
[2] Mishra, D., Srinivas, J., Mukhopadhyay, S.: A Secure and Efficient Chaotic Map-Based
Authenticated Key Agreement Scheme for Telecare Medicine Information Systems. Journal
of Medical Systems. 38 (10), 120-120 (2014). https://doi.org/10.1007/s10916-014-0120-3.
[3] Seifert, D., Reza, H.: A Security Analysis of Cyber-Physical Systems Architecture for
Healthcare. Computers. 5(4), 27-27 (2016). https://doi.org/10.3390/computers5040027
[4] Cheddad, A, Condell, J, Curran, K., McKevitt, P.: A hash-based image encryption
algorithm. Optics Communications. 283(6), 879-893 (2010).
[5] Ogini, N., Ogwara, N.: Securing Database passwords using a combination of hashing and
salting techniques. IPASJ International Journal of Computer Science (IIJCS). 2(8), 52-58
(2014).
[6] Sriramya, P., Karthika, R.A.: Providing password security by salted password hashing
using bcrypt algorithm. ARPN journal of engineering and applied sciences. 10(13). 5551-
5556 (2015).
[8] Lakshmanan, T., Muthusamy, M.: A Novel Secure Hash Algorithm for Public Key Digital
Signature Schemes. 9 (2012).
[9] Amin, R., Biswas, G.P.: Remote Access Control Mechanism Using Rabin Public Key
Cryptosystem. 525-533(2015).
[10] Bao, L.: Location Authentication Methods for Wireless Network Access Control. IEEE
International Performance, Computing and Communications Conference. 160-167 (2008).
[11] Manoharan, S.: On GPS Tracking of Mobile Devices. In 2009 Fifth International
Conference on Networking and Services. 415-418 (2009).
[12] Michael, K, McNamee, A., Michael, M.G.: The Emerging Ethics of Humancentric GPS
Tracking and Monitoring. In 2006 International Conference on Mobile Business. 34-34
(2006).
[13] Mohamad, O.A., Hameed, R.T., Tapus, N.: Design and implementation of real time
tracking system based on Arduino Intel Galileo', in 2016 8th International Conference on
Electronics, Computers and Artificial Intelligence (ECAI). 1-6 (2016).
[14] Roxin, A., Gaber, J., Wack, M., Nait-Sidi-Moh, A.: Survey of Wireless Geolocation
Techniques. In 2007 IEEE Globecom Workshops. pp. 1-9 (2007).
[15] Roxin, A., Gaber, J., Wack, M., Nait-Sidi-Moh, A.: Survey of Wireless Geolocation
Techniques. In 2007 IEEE Globecom Workshops. 1-9 (2007).
[16] Mulla, A., Baviskar, J., Baviskar, A., Bhovad, A.: GPS assisted Standard Positioning
Service for navigation and tracking: Review & implementation. In 2015 International
Conference on Pervasive Computing (ICPC). 1-6 (2015).
[17] Michael, K., McNamee, A., Michael, M.G.: The Emerging Ethics of Humancentric GPS
Tracking and Monitoring. In 2006 International Conference on Mobile Business. 34-34
(2006)
[18] Siddiqui, Z., Abdullah, A.H., Khan, M.K., Alghamdi, A.S.: Smart Environment as a
Service: Three Factor Cloud Based User Authentication for Telecare Medical Information
System. Journal of Medical Systems. 38(1). 9997-9997 (2014). https://doi.org/10.1007/s10916-
013-9997-5
[20] Jiang, Q., Khan, M.K., Lu, X., Ma, J., He, D.: A privacy preserving three -factor
authentication protocol for e-Health clouds. The Journal of Supercomputing. 72(10), 3826-
3849 (2016). https://doi.org/10.1007/s11227-015-1610-x
[21] Limbasiya, T., Soni, M., Mishra, S.K.: Advanced formal authentication protocol using
smart cards for network applicants. Computers & Electrical Engineering. 66, 50-63
(2018). https://doi.org/10.1016/j.compeleceng.2017.12.045
[22] Singh, A., Chatterjee, K.: A secure multi-tier authentication scheme in cloud computing
environment. In 2015 International Conference on Circuits, Power and Computing
Technologies [ICCPCT-2015]. 1-7 (2015).
[23] Sridhar, S., Smys, S.: A hybrid multilevel authentication scheme for private cloud
environment. In 2016 10th International Conference on Intelligent Systems and Control
(ISCO). 1-5 (2016).
[24] Wang, M., Abbass, H.A., Hu, J.: Continuous authentication using EEG and face images
for trusted autonomous systems. In 2016 14th Annual Conference on Privacy, Security and
Trust (PST). 368-375 (2016).
[25] Vegh, L.: Cyber-physical systems security through multi-factor authentication and data
analytics. In 2018 IEEE International Conference on Industrial Technology (ICIT). 1369-1374
(2018).
[26] Maninder, S., Sarbjeet, S.: Design and Implementation of Multi-tier Authentication
Scheme in Cloud. International Journal of Computer Science. 9(5), 1694-0814 (2012).
[27] Maninder, S., Sarbjeet, S.: Design and Implementation of Multi-tier Authentication
Scheme in Cloud. International Journal of Computer Science. 9(5), 1694-0814 (2012).
[28] Konstantinou, C., Maniatakos, M., Saqib, F., Hu, S., Plusquellic, J., Jin, Y.: Cyber-physical
systems: A security perspective. In 2015 20th IEEE European Test Symposium (ETS), pp. 1-8
(2015).
[29] Lallie, HS, Shepherd, L.A.: Nurse, J.R.C., Erola, A., Epiphaniou, G., Maple, C., Bellekens,
X.: Cyber security in the age of COVID-19: A timeline and analysis of cyber-crime and cyber-
attacks during the pandemic. Computers & Security. 105, 102248-102248
(2021). https://doi.org/10.1016/j.cose.2021.102248
[30] Lim, S.Y., Kiah, M.M., Ang, T.F.: Security Issues and Future Challenges of Cloud Service
Authentication. ActaPolytechnicaHungarica. 14(2)
(2017 https://doi.org/10.12700/aph.14.2.2017.2.4
[31] Moller, D.P.F., Vakilzadian, H.: Cyber-physical systems in smart transportation.In 2016
IEEE International Conference on Electro Information Technology (EIT). 0776-0781 (2016).
[32] Rathore, H., Mohamed, A., Guizani, M.: A Survey of Blockchain Enabled Cyber-Physical
Systems. Sensors. 20(1), 282-282 (2020). https://doi.org/10.3390/s20010282
[33] Sengan, S.V. S., Nair, S.K., V.I. J. M., Ravi, L.: Enhancing cyber–physical systems with
hybrid smart city cyber security architecture for secure public data-smart network. Future
Generation Computer Systems. 112, 724-737
(2020). https://doi.org/10.1016/j.future.2020.06.028
[34] Vegh, L.: Cyber-physical systems security through multi-factor authentication and data
analytics. In 2018 IEEE International Conference on Industrial Technology (ICIT). 1369-1374
(2018).
[35] Moller, D.P.F., Vakilzadian, H.: Cyber-physical systems in smart transportation. In 2016
IEEE International Conference on Electro Information Technology (EIT). 0776-0781 (2016).
[37] Mishra, A., Pandi, V.: Intrusion Detection Using Feed-Forward Neural Network. In: So-
In, C., Londhe, N.D., Bhatt, N., Kitsing, M. (eds) Information Systems for Intelligent Systems
.Smart Innovation, Systems and Technologies. 324 (2023). Springer,
Singapore. https://doi.org/10.1007/978-981-19-7447-2_9.