21-08-2014, 04:00 PM
S-T-B ENCRYPTION ALGORITHM SEMINAR REPORT
S-T-B ENCRYPTION ALGORITHM.pdf (Size: 910.42 KB / Downloads: 21)
INTRODUCTION
Over the years, computer systems have evolved from centralized environments
that allow complex forms of distributed computing. Throughout this evolution,
limited forms of code mobility have existed: the earliest being remote job entry
terminals used to submit programs to browsers. A new phase of evolution is now
under way that goes one step further, allowing complete mobility of cooperating
applications among supporting platforms to form a large-scale, loosely-coupled
distributed system. Mobile agents have been the focus of much speculation and hype
in recent years. The appeal of mobile agents is quite alluring - mobile agents
roaming the Internet could search for information, find us great deals on goods and
services, and interact with other agents that also roam networks (and meet in a
gathering place) or remain bound to a particular machineAn agent is defined as “a person whose job is to act for, or manage the affairs
of, other people”. In the context of computers, software agents refer to programs
that perform certain tasks on behalf of the user. Imagine that you want to go on a
trip to a new holiday destination. You contact your travel agent program and
describe your preferences and your constraints (such as how much money you are
willing to spend, when you want to travel, etc.).The travel agent program suggests
where you can spend your holidays after consulting several information sources
such as tourist guides and flight schedules and verifying the availability of airline
tickets and hotel rooms. When you confirm your destination, the program books the
flight tickets and reserves the hotel rooms for you. Thus the software agent acts as
your personal assistant [1].
ABOUT MOBILE AGENTS
Mobile agent technology is a new paradigm of distributed computing that can
replace the conventional client server model. However, it has not become popular
due to some problems such as security. The fact that computers have complete
control over all the programs makes it very hard to protect mobile agents from un
trusted hosts.
In this paper, I propose a security approach for mobile agents, which protects
mobile agents from malicious hosts. The new approach prevents privacy attacks and
integrity attacks on mobile agents from malicious hosts. This approach is an
extension of mobile cryptography, and it removes many problems found in the
original idea of mobile cryptography while preserving most of the benefits.
Although the original idea of mobile cryptography allowed direct computations
without decryption on encrypted mobile agent, it did not provide any practical way
of implementation due to the fact that no homomorphism encryption schemes are
found for their approach. This approach provides a practical idea for implementing
mobile cryptography by suggesting a hybrid method that mixes a function
composition technique and a homomorphism encryption scheme. Like the original
mobile cryptography, this approach will encrypt both code and data including state
information in a way that enables direct computation on encrypted data without
decryption.6
Mobile agents are processes (i.e., exe
WORKING OF MOBILE AGENTS
A mobile agent consists of the program code and the program execution state
(the current values of variables, next instruction to be executed, etc.). Initially a
mobile agent resides on a computer called the home machine. The agent is then
dispatched to execute on a remote computer called a mobile agent host (a mobile
agent host is also called mobile agent platform or mobile agent server). When a
mobile agent in dispatched the entire code of the mobile agent and the execution
state of the mobile agent are transferred to the host. The host provides a suitable
execution environment for the mobile agent to execute.
The mobile agent uses resources (CPU, memory, etc.) of the host to perform its
task. After completing its task on the host, the mobile agent migrates to another
computer. Since the state information is also transferred to the host, mobile agents
can resume the execution of the code from where they left off in the previous host
instead of having to restart execution from the beginning. This continues until the
mobile agent returns to its home machine after completing execution on the last
machine in its itinerary [7].
SECURITY IN MOBILE AGENTS
Mobile Agents offer an important and new method of performing transactions
and information retrieval in networks, mobile agents also raise several security
issues related to the protection of host resources as well as the data carried by an
agent itself. Here introduce a security solution, which protects both the mobile agent
itself and the host resources.
An efficient way is to encrypt the mobile agent program on the creator side
before it is transferred to other hosts, and decrypt it on the visited host sides. The
methods of Encryption/ Decryption used are a Public-key Cipher System and a
Symmetric Cipher System. It is the combination of symmetric and asymmetric
techniques that has been designed to decrease the overhead of the
encryption/decryption process.
With reference to the life cycle of mobile agents Security issue can be
categorized in four ways. Agents-to-platform, Agents –to-Agents, Platform-to
Agents, Other-to-Agent-Platform
AGENT-TO-PLATFORM
he agent-to-platform category represents the set of threats in which agents
exploit security weaknesses of an agent platform or launch attacks against an agent
platform. This set of threats includes masquerading, denial of service and
unauthorized access
MASQUERADING
When an unauthorized agent claims the identity of another agent, it is said to be
masquerading. The masquerading agent may pose as an authorized agent in an effort
to gain access to services and resources to which it is not entitled. A masquerading
agent may damage the trust the legitimate agent has established in an agent
community and its associated reputation
DENIAL OF SERVICE
Mobile agents can launch denial of service attacks by consuming an excessive
amount of the agent platform's computing resources. These denials of service attacks
can be launched intentionally by running attack scripts to exploit system
vulnerabilities, or unintentionally through programming errors [6].
DENIAL OF SERVICE
In addition to launching denial of service attacks on an agent platform, agents
can also launch denial of service attacks against other agents. For example,
repeatedly sending messages to another agent, or spamming agents with messages,
may place undue burden on the message handling routines of the recipient. Agents
that are being spammed may choose to block messages from unauthorized agents,
but even this task requires some processing by the agent or its communication proxy.
DENIAL OF SERVICE
When an agent arrives at an agent platform, it expects the platform to execute
the agent's requests faithfully, provide fair allocation of resources, and abide by
quality of service agreements. A malicious agent platform, however, may ignore
agent service requests, introduce unacceptable delays for critical tasks such as
placing market orders in a stock market, simply not execute the agent’s code, or
even terminate the agent without notification. Agents on other platforms waiting for
the results of a non-responsive agent on a malicious platform must be careful to
avoid becoming deadlocked. An agent can also become live locked if a malicious
platform, or programming error, creates a situation in which some critical stage of
the agent's task is unable to finish because more work is continuously created for it
to do. Agent live lock differs from agent deadlock in that the live locked agent is not
blocked or waiting for anything, but is continuously given tasks to perform and can
never catch up or achieve its goal.
UNAUTHORIZED ACCESS
Remote users, processes, and agents may request resources for which they are
not authorized. Remote access to the platform and the host machine itself must be
carefully protected, since conventional attack scripts freely available on the Internet
can be used to subvert the operating system and directly gain control of all resources.
Remote administration of the platform's attributes or security policy may be
desirable for an administrator that is responsible for several distributed platforms,
but allowing remote administration may make the system administrator’s account
or session the target of an attack
SECURITY MEASURES FOR MOBILE AGENTS
Many commercial and research MAS architectures have been implemented and
many are still under development. Several of these recognize security as an issue to
be taken care of in the future, whilst others imply that security is provided for. It is
common for MAS implementations to assume a VPN-like (Virtual Private Network)
underlying network to provide security services. This approach usually does not
provide for much flexibility, since secure communication between parties without
pre-established relationships becomes cumbersome.
Nevertheless, this solution can use well established security protocols and be
adequate for applications where all communication is protected to the same degree.
Such an approach usually leaves the agents completely unaware of security services
as this is handled between agent platforms
TRUSTED NODES
By introducing trusted nodes into the infrastructure to which mobile agents can
migrate when required, sensitive information can be prevented from being sent to
un trusted hosts, and certain misbehaviors of malicious hosts can be traced. The
owner’s host, i.e. the platform from where the mobile agent first is launched, is
usually assumed to be a trusted node. In addition to this, service providers can
operate trusted nodes in the infrastructure. In our example with the shopping agent,
the mobile agent can be constructed so that the commitment function (e.g. the
agent’s signature key) is encrypted such that it can only be decrypted at a trusted
host. Once the agent arrives at the trusted host, it can compare the collected offers
and commit to the best offer.
CO-OPERATING AGENTS
By using cooperating agents, a similar result to that of trusted nodes can be
achieved. Information and functionality can be split between two or more agents in
such a way that it is not enough to compromise only one (or even several) agents in
order to compromise the task. An identical scenario to that described using trusted
nodes can, for example, be achieved by letting the agent residing on the trusted host
be executed on any host that is assumed not to be conspiring with any of the airlines.
By applying fault tolerant techniques, the malicious behavior of a few hosts can be
countered.
One such scheme for ensuring that a mobile agent arrives safely at its
destination has been proposed in mobile agent security. Although a malicious
platform may cause an agent to operate incorrectly, the existence of enough
replicates ensures the correct end result.
EXECUTION TRACING
Execution tracing has been proposed for detecting unauthorized modifications
of an agent through the faithful recording of the agent’s execution on each agent
platform. Each platform is required to create and retain a non-reputable log of the
operations performed by the agent while executing on the platform. The major
drawbacks of this approach are not only the size of the logs created, but also the
necessary management of created logs. Partial Result Authentication Codes
(PRACs) were introduced by Yee. The idea is to protect the authenticity of an
intermediate agent state or partial result that results from running on a server.
PRACs can be generated using symmetric cryptographic algorithms
DATA SECURITY
Data is the raw form of information stored as columns and rows in our
databases, network servers and personal computers. This may be a wide range of
information from personal files and intellectual property to market analytics and
details intended to top secret. Data could be anything of interest that can be read or
otherwise interpreted in human form. However, some of this information isn't
intended to leave the system. The unauthorized access of this data could lead to
numerous problems for the larger corporation or even the personal home user.
Having your bank account details stolen is just as damaging as the system
administrator who was just robbed for the client information in their database
SECURITY THREATS
Threats to security generally fall into three main classes: disclosure of
information, denial of service, and corruption of information. There are a variety of
ways to examine these classes of threats in greater detail as they apply to agent
systems. Here, we use the components of an agent system to categorize the threats
as a way to identify the possible source and target of an attack. It is important to
note that many of the threats that are discussed have counterparts in conventional
client-server systems and have always existed in some form in the past (e.g.,
executing any code from an unknown source either downloaded from a network or
supplied on floppy disk). Mobile agents simply offer a greater opportunity for abuse
and misuse, broadening the scale of threats significantly
SECURE SOLUTION
In this section, we concentrate on introducing the secure solution for mobile
agents. As it is an encryption/decryption solution, we should introduce the method
of Encryption/ Decryption first. There are two kinds of Encryption/Decryption
methods, Asymmetric Cipher (or Public-key Cipher) System and Symmetric Cipher
System. From the Security point of view, the Asymmetric Cipher System is more
efficient. However, the process of Encryption/Decryption of an Asymmetric Cipher
System is very sophisticated and slow for large size mobile agent codes
Forwarding Encrypted Mobile Agents
Sometimes during the executing of a mobile agent, there is a need to transfer
the agent to other hosts to access the remote resources. In this case, the executing
agent server cannot forward the cryptograph, which has been encrypted by the
launcher, directly to the remote hosts. Instead, it should first decrypt the cryptograph
into plain text and then make the request to get the public key of the remote host,
just as the launcher has done in the first step, and then forward the re-encrypted
mobile agent code to the new destination host. If it needs the information from the
next host to sent back to the launcher (the original sender), it should send the
launcher’s public key to the remote host. Alternatively, if the response is to be sent
back to itself, it should send its own public key to the remote host. Suppose A is the
executing host which requests the response from the remote host to be sent back to
the launcher, and B is the one which needs the result to be sent to it.
MOBILE AGENTS AND INTERNET
The trends outlined in the previous section lead to the conclusion that mobile
code, and mobile agents, will be critical near-term part of the Internet, mobile code
makes new applications possible, not because it leads to dramatically better
performance than (combinations of) traditional techniques, but rather because it
provides a single, general framework in which distributed, information-oriented
applications can be implemented efficiently and easily, with the programming
burden spread evenly across information, middleware, and client providers. In other
words, mobile code gives providers the time and flexibility to provide their users
with more useful applications, each with more useful features.
As in the figure 7 shown below, both the amount of information available on
the Internet (a), and the number of its users (b), are growing rapidly. This diverse
population of users will not settle for a uniform interface to the information, but will
demand personalized presentations and access methods ©. This personalization
will range from different presentation formats to complex techniques for searching,
filtering and organizing the vast quantities of information (d). Today, such
personalization facilities are provided at the information source in a site-specific
manner (e), at a proxy Web site (f), or (occasionally) as client software
CONCORDIA
Concordia is a full-featured framework developed at Mitsubishi Electric
Information Technology Center America’s (MEITCA) Horizon Systems laboratory.
It provides for the development and management of network-efficient mobile agent
applications for accessing information anytime, anywhere, and on both wire-based
and wireless device supporting Java. The applications move around network
machines running Concordia to access services such as databases and those provided
by other agents. At the highest level, a Concordia system consists of a Java Virtual
Machine (JVM), a Concordia Server running on a machine in a network, and a
mobile agent running in the system. Both the Concordia server and mobile agents
are Java programs. The JVM is used for Concordia’s runtime environment.
Mole
Mole is the first Mobile Agent System that has been developed in the Java
language. The first version has been finished in 1995, and since then Mole has been
constantly improved. Mole provides a stable environment for the development and
usage of mobile agents in the area of distributed applications. In Mole system, agent
model places, each Agent’s identifier which is created at the creating of each agent,
which uniquely identifies that agent globally. The philosophy of the system is that
there are different kinds of mobility for mobile agents. There is Strong Migration
and Weak Migration. In Strong Migration, the underlying system captures the
underlying agent’s entire state (execution state and data) and transfers it together
with the code to a new location where the state of the agent is restored. This scheme
is very attractive to programmers that it is transparent to the programmer, but it does
have a high cost for system.
TACOMA
An agent in TACOMA is a piece of code that can be installed and executed on
a remote computer. Such an agent may explicitly migrate to other hosts in the
network during execution. The TACOMA project focuses on operating system
support for agents and how agents can be used to solve problems traditionally
addressed by other distributed computing paradigms, e.g. the client/server model.
An agent needs to store code and data for future computations. It must be able to
carry this information around when it migrates, and later retrieves it. Also, agents
should be allowed to leave data behind at hosts or share data with other agents. A
folder represents this type of information in the TACOMA system. TACOMA
agents store data in folders.
VOYAGER
Voyager is 100% java agent-enhanced Object Request Broker (ORB) created
by Object Space Company. Goals of this product to provide programmer to create
state of the art distributed programs quickly and easily while providing a lot of
flexibility and extensibility for the products that are being created with the voyager
system. Voyager supports RMI, DCOM, and CORBA architecture to provide
stationary client server applications, which makes this system very flexible. This is
a 100% pure java based system. Voyager uses regular java syntax to create remote
objects and move them between applications. It transparently locates the agents and
sends them message as they work, even if the agents are moving, and all this is done
for programmer
DIGITAL SIGNATURE
We all know what a hand-written signature is and we certainly understand its
purpose. It is a way to prove that a paper document is signed by us and not by
someone else. To prove this, the current hand-written signature is compared with
one or more of our previous hand-written signatures. If there is a match then the
recipient of the document can safely accept that the document could not have been
signed by someone else. In case it is the first time, we have to prove our identity by
means of some identification card, and necessarily by being physically present to
sign the document.
Some properties of the hand-written signatures are:
The signature should be unique to each person.
The signature should be verifiable as belonging a particular person
EXISTING SYSTEM
Asymmetric key cryptography, also called “public-key”, is a new
cryptographic technique. Each user has a pair of keys, a published “public-key”
and a secret “private-key”. Either one key can be used to encrypt. The encrypted
file can only be decrypted by the other key. This pair of keys is created
simultaneously using the same algorithm. The public key is made publicly
available in a directory of PKI that all parties can access. The private key is never
shared with anyone or sent across the Internet. The private key is known only to
the key holder and acts as the identity of the key holder, which makes it possible
to grant authentication and non-repudiation. RSA is one of the most widely used
asymmetric encryption algorithm
METHODOLOGY
An Algorithm is considered computationally secure if it cannot be broken
with standard resources, either current or future. Modern high quality data
encryption methods have several flaws and are subjected to extensive attacks by
expert cryptanalyst. Some algorithms may belong to symmetric encryption
systems and some others are of asymmetric encryption mechanisms. Some of the
efficient algorithms used for secure data transmission involve DES, AES, and
Triple DES etc. A comparable and more secure encryption standard is needed for
today’s systems. Various studies and methods have been proposed to improve the
security of information involved in communication.