Practical Multi Keyword-1
Practical Multi Keyword-1
With the explosive growth of data volume in the cloud computing environment, data owners are
increasingly inclined to store their data on the cloud. Although data outsourcing reduces
computation and storage costs for them, it inevitably brings new security and privacy concerns,
as the data owners lose direct control of sensitive data. Meanwhile, most of the existing ranked
keyword search schemes mainly focus on enriching search efficiency or functionality, but lack of
providing efficient access control and formal security analysis simultaneously. To address these
limitations, propose an efficient and privacy-preserving Multi-keyword Ranked Search scheme
with Fine-grained access control (MRSF). MRSF can realize highly accurate ciphertext retrieval
by combining coordinate matching with Term Frequency-Inverse Document Frequency (TF-
IDF) and improving the secure kNN method. Besides, it can effectively refine users’ search
privileges by utilizing the polynomial-based access strategy. Formal security analysis shows that
MRSF is secure in terms of confidentiality of outsourced data and the privacy of index and
tokens. Extensive experiments further show that, compared with existing schemes, MRSF
achieves higher search accuracy and more functionalities efficiently.
CONTENTS
1.1 INTRODUCTION
2.1 INTRODUCTION
2.4 MODULES
1.1 INTRODUCTION
To prevent potential data leakage, data owners usually encrypt their data before outsourcing
them to the commercial public cloud. However, conventional data encryption schemes disable
the cloud from running authorized calculations on its storage (e.g., retrieving the interested file
for a certain customer), which disables the implementation of plaintext-based information
retrieval technologies over outsourced data. A trivial solution is to download all the data and
decrypt them locally, but this may lead to a huge waste of bandwidth and computation resources.
Thus, how to achieve efficient data retrieval while ensuring data security becomes a challenging
issue..
1.2ORGANIZATION PROFILE
Navtech offers a full range of software development services to make things better for the
enterprises and companies. Navtech work with.No matter how diverse or complex the needs
are, we’ve got you covered.
Navtech teams, with years of experience in global tech solutions and product engineering, tie in
with you every step of the process. Navtech make sure that each part receives equal care and
attention, from initial concept to final development.
1.3 ORGANIZATION CHART
CEO
Head Operations/
Head Sales Head Finance/HR
Production
2.1 INTRODUCTION
The Searchable Symmetric Encryption (SSE) is broadly considered as a promising way to solve
the dilemma between data utilization and confidentiality. Some inspiring SSE-based designs
include Boolean keyword search schemes in these schemes enable conjunctive keyword search
over encrypted data. However, none of these schemes are adequate to provide a ranked search.
The concept of SSE is first proposed by Song, but this scheme lacks support for
keywords relevance calculation and multi-keyword search. Another SSE based ranked search
over encrypted data is proposed. Leveraging OPSE (order-preserving symmetric encryption). In
order to conduct kNN search over encrypted dataset, Wong first proposed the asymmetric scalar
product- preserving encryption (ASPE) in, which is viewed as the original secure kNN scheme.
Since then, ASPE has been thoroughly studied in many works. However, most ranked keyword
search schemes based on ASPE are vulnerable to level-3 attack, where the adversary is able to
gain a certain amount of plain text ciphertext pairs. In a word, secure kNN computation is anSE
method with high usability but relatively low security.
Towards semantic-aware keyword search over encrypted data, many works provide a
solution. Guan proposed a multi-keyword ranked search scheme with a semantic extension
(CLRSE) that can be applied to a cross-lingual dataset. The data user is allowed to set the
language preference before launching the search. CLRSE adopts a two-cloud system model and
Paillier cryptosystem to achieve a higher security level. To better extract search intents of the
data user and proposed a scheme that enables semantic-aware keyword search over encrypted
data. They adopt the secure kNN method as the encryption algorithm.
The system was not implemented MRSF which leads less security on outsourced data.
The system is less security due to lack of Term Frequency-Inverse Document Frequency
(TF-IDF) and there is no block verification.
2.3 PROPOSED SYSTEM
The proposed system designed several extensive experiments to explore the relationship between
randomness and search accuracy. Inspired by, we give an optimal security notion for MRSF as
indistinguishability under same-closeness-pattern chosen-plaintext attacks (IND-CLS-CPA),
which is a natural relaxation of the standard IND-CPA security definition. In the IND-CPA
definition, the attacker will trivially exploit of the leakage of closeness and equality (e.g. access
pattern), which is inevitable in MRSF. provide a comprehensive and detailed security analysis to
prove that MRSF is IND-CLS-CPA secure. Moreover, the security of MRSF under classic and
novel attacks in the known background model.
Higher search accuracy. In comparison with the previous ranked multi-keyword search
schemes, MRSF achieves higher search accuracy by constructing document indexes with
TF-IDF rule. Experiments using real-world dataset demonstrate that MRSF outperforms
the compared schemes in search accuracy without introducing excessive computational
overheads.
Lightweight Fine-grained access control. Instead of employing the time-consuming
encryption and decryption operations in attributed-based schemes, MRSF provides
lightweight access control by extending the polynomial-based access strategy to
document indexes and search queries. The access control mechanism in MRSF is
integrated into the improved secure kNN algorithm while it retains the merit of the
finegrained access privileges for users.
Higher privacy-preserving level and formal security proof. The optimal security notion of
MRSF is defined and theoretically proved as IND-CLS-CPA, i.e., the confidentiality of
indexes and search queries are both verified as IND-CLS-CPA secure. Security issues in
the Known Background Model are further analyzed to prove that MRSF is resistant to the
proposed attacks. In this way, MRSF is eventually proved to be securer than the previous
secure kNN based schemes.
2.3.1 ADVANTAGES OF PROPOSED SYSTEM
To avoid privacy leakage from indexes and queries submitted to the cloud, the classic
secure kNN technique has been adapted to support MRSF. The changes include the
vector extensions, pseudorandom permutation function, and appended random
varieties.We designed several extensive experiments to explore the relationship between
randomness and search accuracy. Inspired by the system,
The proposed system gives an optimal security notion for MRSF as indistinguishability
under same-closeness-pattern chosen-plaintext attacks (IND-CLS-CPA), which is a
natural relaxation of the standard IND-CPA security definition. In the IND-CPA
definition, the attacker will trivially exploit of the leakage of closeness and equality (e.g.
access pattern), which is inevitable in MRSF.
2.4 MODULES
Data Sender
Login
Upload
Update
Delete
View Files
View Secret key request
Logout
Data User
Login
Search Documents
View Files
Request Secret key
Download
Logout
Cloud Server
Login
View Data Users & Authorize
View Owner & Authorize
View all Owner files
View all Search transactions
View data Transactions
View file rank results
View Time Delay results
View through put results
Logout
Chapter-3: FEASIBILITY STUDY
An important outcome of preliminary investigation is the determination that the system request is
feasible. This is possible only if it is feasible within limited resource and time. The different
feasibilities that have to be analyzed are
Operational Feasibility
Economic Feasibility
Technical Feasibility
Activity diagram are graphical representations of work flows of step wise activities and
actions with support for choice, iteration and concurrency, in the unified modeling language ,
activity diagrams can be used to describe the business and operational step-by-step work flows of
components in a system. An activity diagram shows the over all flow of control.
Login
Invalid
Check
Valid
Upload
Update
Delete
View Files
Log Out
Invalid
Check
Valid
Search Documents
View files
Download
Log Out
Login
Invalid
Check
Valid
A Use case Diagram in the unified modeling language (UML) is a type of behavioral
diagram defined by and created from a use case analysis. Its proposed is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals, (represented as
use case) and any dependencies. Between those use cases.
Upload
Update
Delete
View Files
Data Sender
Log Out
Search Documents
View Files
Data User
Download
Log Out
Log Out
Login
Login
1.Upload
2.Update
3.Delete
4.View Files
6.Search Documents
7.View Files
9.Download
F
ig 4.3 Sequence Diagram
Upload
Update
Delete
View Files
1: View Secret key request
: Data : Server : Data
Sender User
Search Documents
View Files 2:
Request Secret key
Download
: Cloud
: Data : Server Server
Sender View Data Users & Authorize
3:
View owner & Authorize
View all Owner files
View all Search Transactions
View Data Transactions
View File Rank Results
View Time Delay Results
View through put results
Deployment diagram represents the deployment view of a system .It is related to the
Component diagram. Because the components are deployed using the deployment diagrams. A
deployment diagram consists of nodes. Nodes are nothing but physical Hardware’s used to
deploy the Applications.
Server
Cloud Server
INTRODUCTION
Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is the first step
in the development phase for any engineered product or system. The designer’s goal is to
produce a model or representation of an entity that will later be built. Beginning, once system
requirement have been specified and analyzed, system design is the first of the three technical
activities-design, code and test that is required to build and verify software.
The importance can be started with a single word “Quality”. Design is the place where
quality is fostered in software development. Design provides us with representations of software
that can assess for quality. Design is the only way that we can accurately translate a customer’s
view into a finished software product or system. Software design serves as a foundation for all
the software engineering steps that follow. Without a strong design we risk building an unstable
system one that will be difficult to test, one whose quality cannot be assessed until the last stage.
A class is a set of objects that share a common structure and common behavior (the same
attributes, operations, relationships, and semantics). A class is an abstraction of real world items.
The following are the patterns for finding the candidate classes:
a. Concept class
b. Events class
c. Organization class
d. Peoples class
e. Places class
f. Tangible things and devices class
2. Use case driven approach:
We have to draw the sequence diagram or collaboration diagram. If there is need for
some classes to represent some functionality then add new classes which perform those
functionalities.
3. CRC approach:
The question that should be answered to identify the attributes of a class respectively are:
Super –sub structure: How are objects organized into super classes and sub classes?
Super-sub class hierarchy is a relationship between classes where one class is the parent class of
another class(derived class). This is based on inheritance. This hierarchy is represented with
generalization.
1. Top-down: Look for noun phrases composed of various adjectives in a class name. avoid
excessive refinement . specialize only when the sub classes have significant behavior.
2. Bottom-Up: Look for classes with similar attributes or methods. Group them by moving
the common attributes and methods to an abstract class. You may have to alter the
definitions a bit.
3. Reusability: move the attributes and methods as high as possible in the hierarchy.
4. Multiple inheritances: Avoid excessive use of multiple inheritances. One way of getting
benefits of multiple inheritances is to inherit from the most appropriate class and add an
abject of another class as an attribute.
The class diagram is core to object-oriented design. It describes the types of objects.
In the system and the static relationships between them.
Packages
Packages allow you to break up a large number of objects into related groupings. In many
object oriented languages(such as .net), packages are used to provide scope and division to
classesand interfaces. In the UML, packages serve a similar, but broader purpose.
Packages
Classes
The core elements of the class diagram is the class. In an object oriented system, classes are used
to represent entities within the system; entities that often relate to real world objects.
Contact Name
-address: string
-city: string
-postal code: string Attributes
Operations
The contact class above is an example of a simple class that stores location information.
Top: The name, package and stereotype are shown in the upper section of the class.
Bottom: In the lower section are the operations that can be performed on the class.
Attributes
An Attribute is a property of a class. In the example above, We are told a contact has an
address, a city, a province, a country, and a postal code. It is generally understood that when
implementing the class, functionality is provided to set and retrieve the information stored in
attributes. The format for attributes is:
- Private
+ public
# protected
~ package
Static: attributes that are static only exist once for all instance of the class. In the example above,
if we set city to be static, any time we used the contact class the city attribute would always have
the same value.
Final: If an attribute is declared final, its value cannot be changed. The attribute is a constant.
Operations
The operations listed in a class represent the functions or takes the can be performed on the data
in the class.
list
-Objects:object[]
+get size 0:int
+set(index: int, value: object):void
In the list class above, there is one attribute (a private array of objects) and three operations.
The format is very similar to that of the attribute except with the removal of a default value and
the addition of parameters.
In visual case you can show and hide the parameter list for a class or all classes on a diagram. If
the list is hidden and an operation has parameters, three dots are shown(…) to indicate that
parameters exist, but are hidden. Sometimes operations have numerous parameters that need be
shown all the time.
Interfaces
Many object oriented programming languages do not allow for multiple inheritance. The
interface is used to solve the limitations posed by this. For example, in the earlier class diagram
client and company both generalization contact but one or the child classes many have something
in common with a third class that we do not want to duplicate in multiple classes.
Associations
Classes can also contain references to each other. The company class has two attributes that
reference the client class.
Although this is perfectly correct, it is some times more expressive to show the attributes as
associations.
1 1
Company Client
-name: string -f name: string
1 0…*
The above two associations have meaning as the attributes in old version of the contact class.
0 Zero
1 One
1..2, 10..* one, two or ten and above but not three through nine
The arrows at the end of the associations represent their navigability. In the above examples, the
company references clients, but the client class dose not have any knowledge of the company.
You can set the navigation on either, neither or both ends of your associations. if there is no
navigability shown then the navigability is unspecified.
1
Product group
1..*
product
The composition association is represented by the solid diamond. It is said that product group is
composed of products. This means that if a product group is destroyed, the products with in the
group are destroyed as well.
The aggregation association is represented by the hollow diamond. Purchase order is an
aggregate of products. If a purchase order is destroyed, the products still exist.
Dependencies
A dependencies exists between two elements if changes to one will affect the other. If for
example, a class calls an operation in another class, then a dependency exists between the two. If
you change the operation, than the dependent class will have to change as well. When designing
your system, the goal is to minimize dependencies.
That is not to say that numerous dependencies are okay. Even with in a package you want to
limit the dependencies, how ever between packages in particular you should be strict about the
dependencies that exist. In general, the fewer the dependencies the more scalabl e and
maintainable your system will be.
Data User
Data Sender Name
User Name Password
Password Email
Address
Login() Pin
Upload() Phone no.
Update()
Delete() Register & Login()
View Files() Search Documents()
View Scretkey request() View Files()
Log Out() Request Secret key()
Download()
Log Out()
Cloud Server
User name
Password
Login()
View Data Users & Authorize()
View Owner & Authorize()
View all Owner files()
View all Search Transactions()
View Data Transactions()
View File Rank Results()
View Time Delay Results()
View through put results()
Log out()
Data dictionary
Database Tables (Data Dictionary):After careful Analysis the system has identified to be
presented with the following database tables:
Objectives
Input design is the process of converting a user- oriented description of the input into
a computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.
It is achieved by creating user-friendly screens for the data entry to handle large
volumeOf data. The goal of designing input is to make data entry easier and to be free
from errors. The data entry screen is designing in such a way that all the data manipulates
can be performed. it also provides record viewing facilities.
When the data is entered it will check for its validity. Data can be entered with the help
of screens. Appropriate messages are provided as when needed so that user will not be in
amaze of instant. Thus the objective of input design is to create an input layout that is
easy to follow.
Output Design
A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. Designing computer output should proceed in an organized, well
thought out manner; the right output must be developed while ensuring that each output elements
is designed so that people will find the system can use easily and effectively. When analysis
design computer output, they should
Insertion anomaly Inability to add data to the database due to absence of other data.
Update anomaly Data inconsistency resulting from data redundancy and partial update.
Normal form These are the rules for structuring relation that eliminate anomalies.
A relation is said to be in first normal form if the values in the relation are atomic for
every attribute in the relation. By this we mean simply that no attribute value can be a set of
value or, as it is sometimes expressed, a repeating group.
A relation is said to be in second normal form is it is in first normal form and it should
satisfy any one of the following rules.
Transitive Dependency If two non key attribute depend on each other as well as on the primary
key then they are said to be transitive dependent.
The above normalization principles were applied to decompose the data in multiple tables
thereby making the data to be maintained in a consistent state.