You are on page 1of 42

Abstract

The explosive growth of multimedia contents, especially videos, is pushing forward


the paradigm of cloud-based media hosting today. However, the wide attacking
surface of the public cloud and the growing security awareness from the society are
both calling for data encryption before outsourcing to cloud. Under the circumstance
of encrypted videos, how to still preserve all the service benefits of cloud media centre
remains to be fully explored. In this paper, we present a secure system architecture
design as our initial effort toward this direction, which bridges together the
advancements of video coding techniques and secure deduplication. Our design
enables the cloud with the crucial deduplication functionality to completely eliminate
the extra storage and band width cost, which would have been incurred by hosting
encrypted videos from different entities. The design is also carefully tailored to the
scalable video coding(SVC)techniques to support heterogeneous networks and
devices for high-quality adaptive video dissemination. We show fully functional
system implementations with structure-aware encryption design and structure-aware
deduplication strategies that are both completely compliant with the video format in
SVC. Extensive security analysis and experiments via our prototype deployed on
Azure cloud platform show the practicality of the design. Our work can also be easily
extended to support other media applications that employ media files with scalable
structures.
Introduction

The explosive growth of multimedia contents, especially videos, is pushing forward


the paradigm of cloud-based media hosting today. Toward such a trend, many
emerging media applications, such as media live streaming, media coding, and media
transcoding, are being increasingly deployed at the cloud for the well-understood
service benefits.

While leveraging the cloud media centre is quite promising, the wide attacking
surface of the public cloud and the growing security awareness from the society are
both calling for data encryption before outsourcing data to cloud. Firstly, public cloud
might be vulnerable to security breaches, and unauthorized data disclosure incidents
occur from time to time in recent years. Secondly, semantically rich media data such
as videos may easily reveal content-sensitive information.

While leveraging the cloud media centre is quite promising, the wide attacking surface
of the public cloud and the growing security awareness from the society are both
calling for data encryption before outsourcing data to cloud. Firstly, public cloud
might be vulnerable to security breaches, and unauthorized data disclosure incidents
occur from time to time in recent years. Secondly, semantically rich media data such
as videos may easilyrevealcontent-sensitiveinformation.Forguaranteedconfidentiality,
data encryption is considered by many as the only viable approach that needs to be
adopted for building privacy assured cloud based applications. Despite the
effectiveness in addressing the security concerns, directly applying data encryption to
multimedia data would explicitly invalidate many benefits of deploying the cloud-
based media applications. Accordingly, in the literature there have been recent
endeavours on investigating how to enable the cloud to support various desirable
functionalities over encrypted multimedia data, such as encrypted feature extraction,
encrypted scalable sharing, and encrypted social discovery. Under the circumstance
of encrypted videos, how to still preserve all the service benefits of cloud media centre
remains to be fully explored. In this work, we show a secure system design along this
direction, which aims to bring together the advancements of video coding techniques
and secure deduplication. We target the crucial deduplication functionality at cloud,
which can eliminate the burdensome storage and bandwidth overhead when storing
encrypted videos from different entities. Our design is also fully tailored to the
scalable video coding (SVC) techniques from the very beginning, and supports the
ubiquitous adaptive video dissemination in the context of heterogeneous networks and
devices.

Specifically, for deduplication over encrypted data, message locked encryption (MLE)
is known as the state-of-the-art approach, which generally uses keys deterministically
derived from the data (e.g., the hash value) to generate tags for duplicate checking in
the encrypted domain. But directly applying MLE over videos would not be suitable,
as MLE is known to be

vulnerable to offline brute-force guessing attacks, when the target plaintext is from a
small space or considered as predictable. In video applications, popular videos,
trending searches, and near-duplicate videos, might all fall into this predictable space
category, and could be the easy breach point of such offline guessing attacks,
threatening the video confidentiality guarantee. Besides, for proper video
dissemination, the encrypted deduplication design must also prevent malicious users
from illegitimately accessing unauthorized videos by simply using the checking tags.
We propose an on-trivial secure deduplication frame work that will address the above
problems completely and suit the needs of cloud-based video applications.
Specifically, it supports secure deduplication with resistance to bounded data leakage,
and with defence against offline brute-force attacks over predictable videos,
respectively. Meanwhile, we provide designs for our secure framework in the
centralized and decentralized settings, respectively, where the design in the
decentralized setting provides stronger security. To our best knowledge, no prior work
enables an encrypted cloud media center with such comprehensive protection. Under
this encrypted framework, we then consider how to facilitate the fast-growing demand
of adaptively disseminating videos to heterogeneous networks and devices, such as
PCs, smart mobile devices, and Smart TVs. One direct approach is to store multiple
encrypted versions of the same video content at the cloud. However, it would incura
considerable amount of storage and bandwidth overhead, increasing the capital cost
of using cloud services. To further mitigate such a burden while preserving the
adaptive delivery functionality, we resort to the SVC techniques. With the special
structure of layers, including one base layer and several enhancement layers, SVC
enables multiple versions of the same video content to be contained in a single video
file, which can greatly improve the storage efficiency and dissemination scalability.
In light of these benefits, we carefully tailor our secure deduplication design to be
compatible with the inherent characteristics of SVC videos. The proposed structure-
aware layer-level deduplication strategies effectively enable encrypted SVC video
deduplication, while efficiently supporting adaptive video delivery. Aiming for a fully
functional system implementation, we also present a structure-aware encryption
mechanism for SVC videos, similar to the work in, with further optimization on the
storage part to support efficient video retrieval and dissemination. The structure-aware
encryption mechanism and the structure-aware deduplication strategies are both
completely compliant with the video format of SVC. Thorough security analys is
shows that our system design achieves strong protection of the video confidentiality.
We conduct experiments through an end-to-end prototype implementation deployed
on Azure. Various performance measures justify the effectiveness and efficiency of
our system. To cover a wide range of encrypted cloud media applications, we also
show how to extend our work to support other media files that are inherently with
scalable structures. The rest of this paper is organized as follows. Section II describes
the related work. Section III presents our problem formulation. Section IV presents
the preliminaries. Section V formulates the general system framework for secure
deduplication. Section VI provides the construction of adaptive video delivery with
structure-aware secure deduplication. Section VII presents the security analysis.
Section VIII gives the experiment results. Section IX concludes the whole paper.

In this section, we study secure deduplication in the encrypted cloud media centre. To
support video deduplication with strong confidentiality guarantee, we formulate a
secure system framework supporting secure deduplication with resistance to offline
brute-force attacks over predictable videos by cloud, and ownership cheating attacks
by the user. Note that we do not explicitly consider the underlying video structure
when designing the framework, and defer structure-aware secure video deduplication
to Section VI. Such a treatment makes the system framework able to embrace generic
data, e.g., textual files and images.

A. Design Rationale:
Deduplication is crucial for the encrypted cloud media centre to eliminate the
burden some storage and band width redundancy when storing encrypted videos
from different users. Our systemtargetssecuresource-baseddeduplication1
where the video redundancy is eliminated at the source side. More precisely,
duplicate check is performed before users upload their encrypted videos so that
the transmission of duplicate videos would be saved. Our security design
focused on addressing potential security threats by building on top of the recent
advancements in secure deduplication [13], [14]. First, we consider a strong
security model of secure deduplication, i.e., the bounded leakage setting first
proposed by Xu et al. [14], in which a certain amount of deterministically and
efficiently extractable information of the plaintext data could be leaked. Under
this model, MLE is not suitable for use in our system as its key for encryption
is not leakage resilient. In particular, the key is generated from the data in a
deterministic way and might already be leaked before the encryption process in
practice [14]. For similar reasons, under this model, simply using the plain text
video has has a proxy for the video ownership could also be insecure. To
address the threats from bounded data leakage, we note that the following
treatment inspired from [14] could be used. First, duplicate check is achieve
date cloud via the hash value H(V )of the video V sent by the user. Second, the
key τ for encrypting videos is randomly selected by the user that initially
uploads that video. And seal shades τ byaone-time message-derived mask via a
keyed hash function, i.e., hs(·), where s is a random string. In this way, even the
video hash value H(V ) is possibly leaked, the video is still well protected since
τ is randomly generated. Moreover, the mask enables all the subsequent users
owning the duplicate videos to extract the key τ, and further prove to cloud that
they indeed have the videos via a proofs-of ownership (PoW) protocol.
B. The Proposed Secure System Framework:
Based on the above design rationale, we are now ready to present our secure
system framework for the encrypted cloud media center. It comprises three
phases, i.e., initial upload, subsequent upload, and video retrieval. (KGen,
Enc,Dec) be a deterministic symmetric encryption scheme with λ bits long key
length and hs :{0,1}∗ →{ 0,1}λ be a key-ed hash function.
C. De centralized Secure System Framework:
In the above proposed system framework, we consider a single agency server
for the defence against offline brute-force attacks. Sometimes, from the
perspectives of security and reliability, one agency server might not be enough.
Specifically, a single agency server is not able to provide compromise resilience
and fault tolerance. In terms of security, when the single agency server is
corrupted, the defence will be invalidated. In terms of reliability, when the
single agency server breaks down, the system is not able to run normally since
the user would fail to obtain α and β. Therefore, to address the limitations of the
centralized setting of a single agency server, we also consider extending the
proposed framework to the decentralized setting of multiple agency servers.
Note that introducing decentralized agency servers is affordable in practice. As
mentioned before, the agency service could be provided by other independent
economical cloud service providers and the multi-server model has been widely
used in the literature for secure applications.
In the decentralized setting, we replace the underlying RSA signature scheme
of the OPRF protocol with a threshold version. Let n be the number of signers
and t<na threshold parameter. A (t,n)-threshold signature scheme allows any
subset of t signers to produce a valid signature, but prohibits any t−1 or less
signers from doing so. Recall that the agency server in our system framework
plays the role of a signer. It assists in generating the message-derived tag α and
label β, via signing the blinded input. Therefore, applying the (t,n)-threshold
RSA signature scheme in the decentralized setting of n agency servers enables
a user to derive α and β from any subset of t agency servers. In this way, if an
attacker wants to break the defence line against offline brute-force attacks, it
must corrupt at least t out of n agency servers. Meanwhile, the system now is
running without relying on a single point any more. Hence, both the security
and reliability are boosted.

1.1.4 CLOUD COMPUTING

Cloud computing is a general term for the deliver of hosted services over the
Internet. Cloud computing enables companies to consume compute resources as
a utility just like electricity -

- rather than having to build and maintain computing infrastructures


in-

house. Cloud computing promises several attractive benefits for businesses


and end users. Cloud computing services can be private public or hybrid.

Private: cloud services are delivered from a business' data centre to internal
users. This model offers versatility andzconvenience while preserving
management, control and security. Internal customers may or may not be billed
for services through IT chargeback.
Public: model, a third-party provider the cloudservice over Internet
cloud delivers the .
on-demand typically the the
Public cloud services are sold by minute or hour.
Customers only pay for the cycles, storage bandwidth they
CPU or consume. Leading
providers AmazonWebService MicrosoftAzu
public cloud include s (AWS), re,
IBM/SoftLayer and Google Compute Engine.

Hybrid: cloud is a combination of public cloud services and on-premises


private cloud –

with and automation the two. Companies can run


orchestration between mission-
critical or sensitive applications the private cloud while using the
workloads on public

cloud for busty workloads that must scale on-demand. The goal of
hybridcloud is to create aunified, automated scalable environment which
takes advantage of all that a public cloud infrastructure can provide while
still maintaining control over mission-critical data.

Although cloud computing has changed overtime, it has always been divided
into three broadservice categories: Infrastructure as a service (IaaS),
Platform as a service (PaaS) and Software as service (SaaS).

Cloud User

Cloud services in utility


computing model
Cloud Provider

Fig 1.4:cloud computing


Litrature survey

A literature survey in a project report is area to demonstrate the varied analysis


and analysis
created within the field of your interest & also the outcomes already printed
considering the
varied parameters of the project and also the extent of the project.

Several definitions are available in the literature survey for home Automation.
Before the IOT technology controlling monitoring and alerting of devices is not
possible. IOT technology provides many advantages including cost saving,
security, safety and improve comfort. In this work communication between the
remote user and the home devices is implemented using restful based Web
services.

Secure De-Duplication:-

[1] P.Andersonand L.Zhang,“Fast and secure laptop backups with


encrypted de-duplication,” in Proc. USENIX Large Installation Syst.
Admin., 2010, pp. 1–8.

Propose convergent encryption, which encrypts data with a convergent key


derived via computing the hash value of the data. Convergent encryption has been
deployed in many systems. Later, Bellaire et al.formalize convergent encryption
under the notion of message-locked encryption(MLE). Abdi et al. strengthen the
security definitions of MLE by considering plaintext distributions that may
depend on the public system parameters.

[2] ] K. Ren, C. Wang, and Q. Wang, “Toward secure and effective data
utilization in public cloud,” IEEE Netw., vol. 26, no. 6, pp. 69–74, Nov./Dec.
2012.
Propose to use a key server to obliviously provide message-derived keys for
encryption. They also adopt rate-limiting strategies on the key server to mitigate
online brute-force attacks in practice. Later, resort to threshold signatures and
extend the framework of to the setting of distributed key servers. In Puzio et al
resorts to an extra server to further encrypt user data protected under convergent
encryption. Very recently, Liu propose a scheme that can resist offline brute-
force attacks without introducing additional server. However, their scheme
requires a number of online users to actively assist the cloud to perform duplicate
check and help transfer encryption keys.

SVC Video Security:-

[3] V. Nikolaenko et al., “Privacy-preserving ridge regression on hundreds


of millions of records,” in Proc. IEEE Symp. Security Privacy, May 2013,
pp. 334–348. Our proposed research is also related with the branch of work on
SVC video security. In [19], Wei et al. propose a format compliant SVC
encryption scheme, considering the scenario where SVC videos are delivered
through an open network. The scheme achieves format compliance by
constructing new network abstract layer units to substitute the original ones, so
the resultant video cipher text still has the standard SVC structure. Deng et al.
[31] propose an efficient block-based SVC encryption scheme. Their target
scenario is that a pay TV broadcaster wants to offer all users with the base layer
of the broadcast program, but requires that the enhancement layers should be only
accessible to authorized users. Therefore, the proposed scheme leaves the base
layer in the clear text and adopts secure pseudorandom permutations on
macroblocks and sub blocks to encrypt the enhancement layers

[4]M.Bellare,S.Keelveedhi,andT.Ristenpart,“Message-lockedencryption
and secure deduplication,” in Proc. Adv. Cryptol., 2013, pp. 296–312.
Portions of the work presented in this paper have previously appeared as a next
ended abstract in We have revised the paper a lot and improved many technical
details as compared to. The primary improvements are as follows. Firstly, we
provide Section V-C to extend our system framework to the decentralized setting,
enhancing the security and reliability. The security of this new design is analysed
in detail in Section VII. We also add Section V-D to show how our system
framework can be adapted to meet other security notions in secure deduplication,
and discuss near-duplicate video detection in new Section V-E. Secondly, we add
Section VI-C to generalize the construction of secure SVC video deduplication,
and also discuss structure aware secure deduplication over other scalable media
in new Section VI-D. We also elaborate on the encryption for both the SVC video
header and content in Section VIII-A. Thirdly, we provide security evaluation in
new Section VIII-D to measure the effectiveness of rate limiting in slowing down
online brute force attacks. Finally, we redo all the experiments and extend the
performance evaluation.

Existing System
Despite the effectiveness in addressing the security concerns, directly applying
data encryption to multimedia data would explicitly invalidate many benefits of
deploying the cloud-based media applications. Accordingly, in the literature there
have been recent endeavours on investigating how to enable the cloud to support
various desirable functionalities over encrypted multimedia data, such as
encrypted feature extraction, encrypted scalable sharing , and encrypted social
discovery. Under the circumstance of encrypted videos, how to still preserve all
the service benefits of cloud media centre remains to be fully explored.

Problem Statement
We consider an encrypted cloud video hosting service involving three different
entities, as ills the cloud media centre (abbr. cloud), the user, and the agency
server. Cloud serves as a video hosting platform storing encrypted videos
outsourced by users. It enforces deduplication to eliminate the storage and band
width redundancy, and is required to adaptively deliver the encrypted videos to
heterogeneous devices and networks. After outsourcing the encrypted videos, the
user may delete them at local, and later access her own videos at cloud. The
agency server, hosted by a third party, facilitates our system.

Our security goal is to provide strong protection for the video confidentiality. Our
system considers two types of adversaries, i.e., external adversary and internal
adversary. The external adversary may refer to a user who might obtain some
knowledge of a video (e.g., a hash value) via some public channel and attempt to
cheat the video ownership from cloud. For example, file hashes are widely used
over the Internet for integrity verification of downloaded files, and they are not
really meant to be secret . We assume that the external adversary will not upload
a fake video to compromise the integrity of other users’ videos. Video tampering
detection is not the focus of our work, and it can be handled by various orthogonal
mechanisms such as proof of storage.

Proposed System

We propose a non-trivial secure deduplication framework that will address the


above problems completely and suit the needs of cloud-based video applications.
Specifically, it supports secure deduplication with resistance to bounded data
leakage, and with defense against offline brute-force attacks over predictable
videos, respectively. Meanwhile, we provide designs for our secure framework
in the centralized and decentralized settings, respectively, where the design in the
decentralized setting provides stronger security. To our best knowledge, no prior
work enables an encrypted cloud media center with such comprehensive
protection.
Consider a single agency server for the defence against offline brute-force attacks.
Sometimes, from the perspectives of security and reliability, one agency server
might not be enough. Specifically, a single agency server is not able to provide
compromise resilience and fault tolerance. In terms of security, when the single
agency server is corrupted, the defence will be invalidated. In terms of reliability,
when the single agency server breaks down, the system is not able to run normally
since the user would fail to obtain α and β. Therefore, to address the limitations
of the centralized setting of a single agency server, we also consider extending
the proposed framework to the decentralized setting of multiple agency servers.
Note that introducing decentralized agency servers is affordable in practice. As
mentioned before, the agency service could be provided by other independent
economical cloud service providers and the multi-server model has been widely
used in the literature for secure applications.

FEASIBILITY STUDY

All frameworks7are possible when7given boundless asset7and unending7time.


Be7that as it may, sadly this7condition does7not7win in reasonable7world. So it
is both7fundamental and reasonable7to7assess the attainability7of
the7framework at the7most punctual7conceivable time. 7Months or
years7of7exertion, a great7many rupees7and7untold7expert shame7can be
deflected7if a7silly7framework is7perceived7ahead7of schedule in7the
definition7stage. Attainability and danger examination are connected from
numerous points of view. In the event that venture danger is awesome,
the7achievability of creating7quality programming7is lessened. For
this7situation there are three7essential zones7of interest:-

Performance Analysis
For the complete7functionality of the project7work, the project7is
run7with the help of healthy7networking7environment. Normally, the
OS7is7windows XP. The main7theme of this project7is to7allocate path
channels7based on the hot7spot and clod7spot. Performance7analysis is7done to
find out7whether our algorithm7is more7efficient. It is essential7that the
process7of performance7analysis and definition7must be7conducted7in parallel.
We7measure the7parameter called7Packet delivery7to measure7the
effectiveness7of the7approach.

Technical Analysis

System is7only beneficial7only if it can be7turned into7information


systems7that will meet7the organization’s7technical7requirement.
Simply7stated this7test of feasibility7asks whether7the system7will work7or
not7when developed 7installed, whether there7are any7major barriers7to
implementation. Regarding7all these7issues7in technical7analysis there
are7several points to7focus on:-
Changes7to7bring in the7system : All changes7should be7in
positive7direction, there7will be increased7level of efficiency7and
better7customer7service.
Required skills : Platforms7& tools7used7in this7project are widely7used. So
the7skilled manpower7is readily available7in the industry.
Acceptability : The structure7of the system7is kept feasible7enough7so
that7there7should not be7any problem7from the7user’s point7of view.

2.2.3 Economical7Analysis

Economical7analysis is performed7to evaluate7the development7cost


weighed7against the7ultimate income7or benefits7derived from7the
developed7system. For running7this system, we7need nothave7high
performance7servers. All the7functions of7implemented7through
software7modules. In this7system we are not7using any physical7devices
for7connection. So the7system is7economicall7 feasibl7 enough.

2.3 TOOLS AND TECHNOLOGIES USED

2.3.1 Java9Technology

Javatechnology is both a9programming7language7and a7platform.

The Java9Programming9Language
The Java7programming language9is a high-level7language that can
be7characterized by all7of the following7buzzwords:
 Simplle
 Architecture9neutral
 Object9oriented
 Portable9
 Distributed9
 High9performance
 Interpreted9
 Multithreaded
 Robust9
 Dynamic
 Secure9
With most programming9languages, you either9compile or interpret
aprogram so9that you can9run it on your9computer. The
Javaprogramming9language is unusual9in that9a program9is9both9compiled
and9interpreted. With the9compiler, first9you9translate9a program into9an
intermediate9language called9Java byte codes —the platform-
independent9codes interpreted by9the interpreter9on the Java platform. The
interpreter9parses and runs9each Java byte9code instruction9on the computer.
Compilation9happens just9once; interpretation9occurs each time9the program
is9executed. The following figure9illustrates how this9works.

Fig 2.1: Block3diagarm of3Java

You can9think of Java byte9codes as the machine9code instructions9for


the Java Virtual7Machine (Java VM). Every Java7interpreter, whether it’s
a7development tool or7a Web9browser that can run9applets, is an
implementation9of the JavaVM. Java9byte codes help9make “write once,
run9anywhere” possible. You can9compile your9program into9byte codes on
any9platform that has a9Java compiler. The byte9codes can then9be run on9any
implementation9of the JavaVM. That7means9that as long9as a7computer9has7a
JavaVM, the same9program written in the9Java-programming language can9run
on Windows2000, a Solaris7workstation, or on7a7 iMac.

Fig 2.2: java3compiler


2.3.2 The Java7Platform
A7platform9is the hardware9or software9environment in
which9a9program runs. We’ve9already mentioned9some of the
most9popular platforms9like Windows 2000, Linux, 9Solaris, and MacOS.
Most platforms9can be described9as a9combination9of the
operating9system9and hardware. The9Java9platform differs9from most
other9platforms in9that it’s9a9software-only platform9that9runs9on9top
of other9hardware-based7platforms.

The Java9platform7has two7components:


 The Java7Virtual7Machine (Java VM)
 The Java7Application7Programming Interface7 (Java API)
You’ve7already7been9introduced7to7the JavaVM. It’s7the base7for
the7Java9platform and is ported onto9various hardware-based platforms.

The Java9API is9a large9collection9of ready-made9software


components9that provide many9useful capabilities, such as9graphical user
interface (GUI) widgets. The Java9API is grouped into9libraries of
related9classes and interfaces; these9libraries are known as9packages. The
next section, 9What Can Java9Technology Do? Highlights what
functionality9some of the packages9in the Java9API provide.
The following figure9depicts a program9that’s running on the9Java
platform. As the9figure shows, the Java9API and the9virtual machine
insulate9the program from9the hardware.

Fig 2.3: java3platform


Native9code7is code that9after you7compile9it, the compiled9code
runs on9a specific hardware9platform. As a platform-
independent9environment, the Java9platform can be a bit9slower than native
code. However, 9smart compilers, well-tuned9interpreters, and just-in-
time9byte code compilers9can bring performance close90to that of9native
code without7threatening7portability.
2.3.3 What Can7Java Technology7Do?
The most9common types of programs9written in the9Java
programming7language are applets9and7applications. If you’ve9surfed
the Web, you’re9probably already9familiar with applets. An9applet is a
program9that adheres to9certain conventions9that allow it to run9within a
Java-enabled9browser.

However, the7Java programming7language is not9just for writing9cute,


entertaining applets9for the Web. The general-purpose7high-level7Java
programminglanguage is also a9powerful9software9platform. Using the
generous9API, you7can7write many types9of programs.
An7application is a standalone9program that9runs directly on9the Java
platform. A special9kind of application9known as a9server serves
and9supports clients9on a network. Examples9of servers are9Web servers,
proxy servers9mail servers, and9print servers. Another9specialized
program9is a servlet. A9servlet can almost9be thought9of as an9applet
that9runs on the9server side. Java9Servlets are a9popular choice9for
building9interactive web9applications, replacing9the use of CGI9scripts.
Servlets are similar9to applets in9that they are9runtime extensions9of
applications. 9Instead of working9in browsers, though, 9servlets run
within JavaWebServers, configuring7or tailoring the server.
How does9the API support9all these kinds9of programs? It does9so with
packages9of software components9that provides a9wide range9of
functionality.Every9full implementation9of the Java platform9gives you
the9following features:
The essentials Objects9strings, threads, 9numbers, input and9output,
data7structures, 9system7properties, 9date7and time, and7so on.
 Applets7: The set of7conventions9used7by9applets.
 Networking7: URLs, TCP7 (Transmission Control7Protocol),
9UDP7 (User Data gram Protocol) sockets, 7and IP7 (Internet
Protocol) 7addresses.
 Internationalization7: Help7for writing7programs that9can7be
localized9for users7worldwide.
Programs9can7automatically9adapt7to specific7locales and9be
displayed7in the appropriate7language.
 Security7: Both7low-level and high-level, 7including
electronic7signatures, public and private key management, access
control, and certificates.
 Software7components7: Known9as JavaBeansTM, can9plug
into9existing component9architectures.
 Object7serialization7: Allows9lightweight persistence9and
communication9via Remote Method Invocation (RMI).
 Java7atabase7Connectivity (JDBCTM): Provides9uniform access
to a9wide range of relational9databases.
The Java7platform also7has APIs for72D7and 3D7graphics,
7accessibility, 7servers, collaboration, 7telephony, speech, 7animation,
and7more. The following7figure depicts what is7included in7the Java72
SDK.
Fig 2.4: java3IDE

2.3.4 Tomcat 7.0 web3server


Tomcat is an9open source web9server developed by9Apache Group.
Apache9Tomcat is the servlet9container that is9used in the9official
Reference9Implementation for9the Java Servlet9and
JavaServerPages9technologies. The Java9Servlet and9JavaServer Pages
specifications9are developed by9Sun under the Java9Community Process.
Web9Servers like Apache9Tomcat support only9web components while9an
application9server supports web components9as well as9business components9
(BEAs Weblogic, is one9of the popular application server).To9develop a
web9application with jsp/servlet9install any web9server like JRun, Tomcat9etc
to run your9application.
Fig 2.5: Tomcat3Webserver

HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS:

 System : Pentium IV 2.4 GHz.


 Hard Disk : 40 GB.
 Floppy Drive : 1.44 Mb.
 Monitor : 15 VGA Colour.
 Mouse : Logitech.
 Ram : 512 Mb.
SOFTWARE REQUIREMENTS:

 Operating system : Windows XP/7.


 Coding Language : JAVA/J2EE
 IDE : Netbeans 7.4
 Database : MYSQL
SOFTWARE REQUIREMENTS SPECIFICATION
Software requirement Specification is a fundamental8document, which
forms8the foundation of8the software8development process. An8SRS is
basically8an organization's8understanding (in writing) of a8customer
or8potential client'ssystem requirements8and dependencies8at a particular8point
in8time (usually) prior8to any actual8design or development8work. The8SRS is
often8referred to8as the "parent" document8because all subsequent8project
management documents, 8such8as design8specifications, 8statements of work,
8software8architecture specifications,testing8and validation8plans,
and8documentation plans8are related to it. It is important8to note that8an
SRS8contains functional and8nonfunctional8requirements only; it doesn't8offer
design8suggestions, possible8solutions to8technology or8business issues, or any
other8information other8than what8the development8team understands8the
customer's8system requirements to be.

3.1 USERS:

 The8user must be8able to visualize8Graphical User8Interface Window.


 The user8must be able8to configure8all the parameters8with neat GUI.
 The user8must be8able to send8the secret8image.
 The user8must be able8to split8the shares8where as receiver8must be
able8to receive the8images.

3.2 FUNCTIONAL REQUIREMENTS

Functional8Requirement defines8a function8of a software8system and how8the


system8must behave8when presented8with8specific inputs8or conditions.
These8may include8calculations, data8manipulation and processing8and
other8specific8functionality. In this system8following are8the functiona
8requirements:-

 To control the devices wusing raspbeery. Cdgd


 To8send the data to cloud through internet.
 To8visualize the data using GUI.

3.3 NON-FUNCTIONAL REQUIREMENTS

Nonfunctional8requirements are the8requirements which8are not


directly8concerned with8the specific8function delivered8by the8system.
They8specify the8criteria that8can be used8to judge the8operation of a8system
rather8than8specific behaviors. They8may relate8to emergent system8properties
such as8reliability, response8time and store ocupancy. Non-functional
requirements8arise through the8user needs, because8of budget8constraints,
organizational policies8the need for8interoperability with other software8and
hardware8systems or because8of external factors such as:-

1. Product8Requirements 2.Organizationa8 Requirements


3.BasicOperationalRequirements

3.3.1 Product8Requirements
Portability8: Since the software8is developed in8java it can be8executed on
any8platform for8which the8JVM is available8with minor8or no8modifications.

Correctness8:It followed8a well-defined8set of8procedures and8rules


to8compute and8also rigorous8testing is performed8to confirm8the
correctness8of the8data.

Ease8of8Use8:The frontend is designed8in such a8way that it8provides


an8interface which allows8the user8to interact8in an8easy8manner.
Modularity8:The complete8product is8broken8up8into many8modules
and8well-defined interfaces8are developed to8explore the8benefit of 8flexibility
of8the product.

Robustness8:This software is8being developed8in such a8way that the8over


all8performance is8optimized and the8user can expect8the results within
a8limited time with8utmost relevancy and8correctness. Java itself8possesses the
feature8of robustness, which8implies the failure8of the system is8negligible.

3.3.2 Organizational8Requirements

Process8Standards:IEEE standards8are used8develop the application8which is


the8standard used8by the8most of the8standard software8developers8all
over8the8world.

Design8Methods:Design is8one of the8important stages8in the


software8engineering8process. This8stage is the8first step in8moving
from8problem to the8solution doman. In other8words, starting8with what
is8needed design8takes us to8work how to8satisfy the8needs. The8design of
the8system is perhaps8the most8critical factor8affecting8the quality8of
the8software and8has a major8impact on88the later8phases, particularly8testing
and8maintenance. We8have to8design the8product with the8standards which
has8been understood8by the8developers of8the team.

3.3.3 BasicOperational8Requirements
The8customers are8those that8perform the8eight primary8functions
of8systems8engineering, with8special emphasis8on the operator8as the
key8customer. Operational8requirements will define8the basic8need and8at a
minimum, 8will be8related to8these following8points:-
Mission8profile or8scenario:It describes8about8the procedures8used8to
accomplish8mission objective. It8also finds8out the8effectiveness8or
efficiency8of th8 system.

Perfrmance and8related8paramters:It points8out the8critical


system8parameters to accomplish8the mission

Utilization environments:It8gives a brief8outline of8system8usage. Finds


out8appropriate environments8for effective8system operation.

Operational life cycle:It defines8the system8lifetime.


SYSTEM DESIGN
Configuration is an3inventive procedure3a great3outline is the3way to
successful3framework. The framework3"Outline" is3characterized as "The
procedure3of applying3different3strategies and3standards with3the end3goal
of3characterizing3a procedure3or a3framework in3adequate point3of interest
to3allow its3physical3acknowledgment". Different3outline elements3are taken
after3to build3up the3framework. The3outline particular3portrays the3elements
of3the framework3segments3or3componentsof3the framework3and
their3appearance3to end-clients.

4.1 SYSTEM ARCHITECTURE

Framework5engineering is the 2calculated2outline that characterizes2the


structure2and conduct of2a2framework. It characterizes2the
framework2segments or2building2pieces and2gives an arrangement2from
which2items can2be obtained2and frameworks2built up, that2will2cooperate
to2execute the2general framework.

The2System architecture is shown below:-


Data-Flow Diagram:

User

Upload Video File

Check Department

Apply SVC

Show Video file to User


UseCase:

Upload Video File

Check Department

User

Apply SVC

Show Video file to


User
TESTING

Framework testing7is really7a progression7of various tests7whose


main7role is to7completely practice7the PC7based7framework. Albeit7every test
has7an alternate7reason, all work7to check that7all the framework7components
have7been legitimately7coordinated and7perform allotted7functions.The
testing7procedure is really7done to7ensure that7the item7precisely7does
likewise7what should7do. Testing is7the last confirmation7and approval7action
inside7the association7itself. In the testing7stage taking after7objectives
are7attempted to7accomplish:-

 To affirm7the quality7of the7project.


 To find7and eliminate7any residual7errors from7previous stages.
 To7validate the7software as a7solution to the7original7problem.
 To provide7operational reliability7of the7system.

During7testing the major7activities are concentrated7on the examination7and


modification7of the source7code.

7.1 Unit Testing

Here every module3that involves3the general framework is3tried exclusvely.


Unit3testing centrs check endeavors even in the3littlest unit of programing
outline3in every modul. This is otherwise called "Module3Testing". The modules
of the3framework are tried3independently. This testing3is completed in
the3programming style3itself. Unit3testing practices3particular ways3vin a
module's control3structure to3guarante complete3scope and greatest3blunder
recognition. This test3concentrates on every3module exclusivel guaranteing that
it capacitis approprately as a unit. Thus, the naming is UnitTesting. In this
progression every3module is found to3work attractively3as respect3to the
normal3yield from the3module. This testing is done3to check for the3individual
square3codes for their3working. It is done3as such that3when we
complete3utilitarian testing3then the3units which are3a piece of3these
functionalities3ought to have3been tried for3working.

7.2 Integration

After effective0consummation of0unit testing0or module0testing,


singular0capacities are coordinated0into classes. Again0incorporation
of0various classes0assumes into0position lastly0coordination of0front-end
with0back-end happens.

7.2.1 Integration0of capacities0into0classes

Toward the0begin of coding0stage just the0capacities0required


in0various0parts of0the project are0produced. Each of the0capacities is0coded
and tried0autonomously. After0check of rightness0of the diverse0capacities,
they are0incorporated into0their separate0classes.

7.2.2 Integration of various0classes

Here the diverse0classes are0tried freely for0their usefulness.


After0confirmation of accuracy0of yields in the0wake of testing0every class,
they0are coordinated0together0and tried0once more.

7.2.3 Integration0of front-end0with back-end

The front-end0of the task0is produced0in mat lab0environment. The0client


interface0is intended0to encourage0the client to0enter different0summons
to0the framework0and perspective0the framework's0typical and
broken0conduct and its0yields. The back-end0code is then0incorporated with
the0GUI and0tried.

7.3 Integration Testing

Information can be2lost crosswise over2interface. One module2can


adversy2affect another. Sub2capacities when2joined, ought2not decrease2the
fancied2real capacity. Coordination testing2is an orderly2method
for2building the2project structure. It2addresses the2issues connected2with
the2double issues2of confirmation2and project2development. The
fundamental2goal in this2testing procedure2is to take2unit tried modules2and
fabricate a system2structure that2has been2managed by2outline.

After the2product has been2coordinated, an arrangement2of high request2tests


are2directed. Everyone of the2modules are joined2and tried2all in all.
Here2rectification is2troublesome, in light2of the fact2that the segregation2of
blunders iscomplicated by2the immense2territory of the whole2program.

7.3.1 Top down Integration

This method is an2incremental approach2to the construction2of


program2structure. Modules2are integrated2by moving2downward,
beginning2with the main2program2module. Modules that2subordinates to
the2main program2module are2incorporated into2the2structure in either
a2depth first2or breadth2first manner.

7.3.2. Bottom-up Integration

This method2begins the construction 2and testing 2with the modules2at


the2lowest level2in the program2structure. Since2the modules2are
integrated2from bottom2toup, processing2required for2modules subordinate2to
a given2level is always2available. Therefore in2this case2the need2for
stubs2is2eliminated. The2following integration2testing table2shows
the2functions that2were combined2into different2classes and the2class as
a2whole tested2for its functionality. This is2important to2check for2error-
free2interaction between2various classes, and2maintenance of data2integrity.
Classes2 Functions2integrated Tests2done Remarks
integrated in each class

Class2: Sender() Class2tested2to2check2whether Success


Main all2command2that2were2applied
Receiver()
are2working2correctly2and
appropriately or not.

Class: listenPort() Class2tested to2check2whether Success


receiver all2algorithms2are2calling
appropriate2function2whenever
necessary
Class: recieverIP() Class2tested to2check2whether Success
sender all2algorithms2are2calling
recieverPort()
appropriate2function2whenever
sendSecretImage() necessary

Table 7.3:- Integration testing table

7.4 Validation Testing

At the2culmination of2integration2testing, software2is completed2and


assembled2as a package. Interfacing2errors are2uncovered and2corrected.
Validation2testing can be2defined in many2ways. Here the testing2validates
the2software function2in a manner2that is2reasonably expected2by
the2customer.
Functionality2to 2Input Tests2done Remarks2
be2tested

Working2of User2interaction2with Appropriate2forms Success


Front2End help2of2mouse2andkeyboard open2when
buttons2are
clicked

Working User2has2enter the2receiver Send secret Success


of2Sender port and ip2address and must images.
send the secret images.

Working of User must be able listen and Receive the images Success
Reciever receive the images that the
sender sends.

Table 7.4:- Validation testing table

7.5 Output Testing

In the8wake of8performing the8acceptance8testing, the following8stride is8yield


trying8of8the proposed8framework, since8no framework8could be8helpful in
the8event that it8doesn't deliver the8required yield8in the
predetermined8configuration. Along8these lines8the yield8testing
includes8above all8else getting8some information8about
the8configuration8required by8them and8after that8to test the8yield created8or
showed8by the8framework under8thought. The8yield configuration
is8considered in 2 ways: –

(1) On screen (2) Printed design

7.6 User8Acceptance Testing

User Acceptance8of a system8is the key8factor to8the success8of


any8system. Performance8of an8acceptance test is8actually the8user’s8show.
User8motivation8and knowledge8are critical8for th8 successfu8 performance8of
the8system.

The system8under consideration8is tested for8user acceptance8by


constantly8in touch with8the prospective8system users at8time
of8developing8and making8changes8wherever required8in regard8to
the8following point:

 Input8Screen8design
 Output8Screen8design
 Menu8driven8system

7.6.1 White box testing

White4box testing4 (clear box4testing, glass4boxtesting,


and4straightforward4box testingor4auxiliary testing) utilizes4an interior4point
of4view of4the4framework to4plan4test cases4in light4of inward4structure.
It4requires programming4aptitudes to4distinguish all4ways
through4the4product. The analyzer4picks experiment4inputs to practice4ways
through4the4code and4decides the4proper4yields. While white box4testing
is4pertinent at4the unit, 4coordination and4framework levels4of
the4product4testing4process, it is4commonly connected4to the4unit. While
it4regularly tests4ways inside a4unit, it4can likewise4test ways between4units
amid incorporation, and4between subsystems4amid a framework4level test.

In spite oft2he fact that this2strategy for2test outline can reveal2a


staggering2number2of experiments2it won't2not
distinguish2unimplemented2parts of2the2determination or2missing
prerequisites2yet one2can make2certain that2all ways2through the2test
article2are2executed. Utilizing whitebox2testing we2can2determine2test
cases2that:

 Guarantee2that all independent2paths within2a module2have


been2exercised at2least once.
 Exercise2all logical2decisions on2their true2and false2sides.
 Execute2all loops at2their boundaries2and within2their
operational2bounds.
 Execute2internal data2structure2to assure2their2validity

7.6.2 Black box testing

Discovery6testing concentrates6on the6utilitarian necessities6of


the6product. It is otherwise6called practical6testing. It6is a product6testing
strategy6whereby6the6inside workings6of the thing6being tried6are not6known
by6the6analyzer. For instance6in a6discovery test6on programming6plan
the6analyzer just6knows the6inputs6and6what the6normal6results ought to6be
and not6how the system6lands at those6yields.

 Incorrect0or missing0function.

 Interface0errors.
 Performance0errors.

 Initialization0and termination0errors.

 Errors0in0objects.

Advantages

• The test is1fair as the1originator and the1analyzer are autonomous1of


each1other.

• The analyzer1does not1require information1of a particular1programming


dialects.

• The test1is1done1from the1perspective1of the1client, not the1originator.

• Test1cases can be1outlined when1the particulars1are1finished.


CONCLUSION

We designed and implemented an encrypted cloud media centre hosting


encrypted SVC videos. We first formulated a secure system framework enabling
secure deduplication while strongly protecting the video confidentiality. It is
resistant to the adversaries in the bounded leakage setting, and the adversaries
launching brute-force attacks over predictable videos, respectively. We then
leveraged the layered structure of SVC and proposed a customized design of
layer-level secure SVC video deduplication. We provided thorough security
analysis to show the security strengths. Our implementations adopted a format
compliant SVC encryption strategy, and optimized encrypted SVC video storage
for efficient retrieval. The extensive experiments demonstrated the practicality of
our system.
References
[1]K. Ren, C. Wang, and Q. Wang, “Toward secure and effective data utilization in public
cloud,” IEEE Netw., vol. 26, no. 6, pp. 69–74, Nov./Dec. 2012.

[2] Z. Qin, J. Yan, K. Ren, C. W. Chen, and C. Wang, “Towards efficient privacy-
preservingimagefeatureextractionincloudcomputing,”inProc. ACM Int. Conf. Multimedia,
2014, pp. 497–506.

[3] Y.Wu,Z.Wei,andR.H.Deng,“Attribute-basedaccesstoscalablemedia in cloud-assisted


content sharing networks,” IEEE Trans. Multimedia, vol. 15, no. 4, pp. 778–788, Jun. 2013.
[4] C. Ma and C. W. Chen, “Secure media sharing in the cloud: Twodimensional-scalable
access control and comprehensive key management,” in Proc. IEEE Int. Conf. Multimedia
Expo., 2014, pp. 1–6.

[5] X. Yuan, X. Wang, C. Wang, A. Squicciarini, and K. Ren, “Enabling privacy-preserving


image-centric social discovery,” in Proc. IEEE Int. Conf. Distrib. Comput. Syst., 2014, pp.
198–207.

[6] M.Bellare,S.Keelveedhi,andT.Ristenpart,“Message-lockedencryption and secure


deduplication,” in Proc. Adv. Cryptol., 2013, pp. 296–312.

[7] M. Bellare, S. Keelveedhi, and T. Ristenpart, “DupLESS: Server-aided encryption for


deduplicated storage,” in Proc. USENIX Security, 2013, pp. 179–194.

[8] J. Xu, E. Chang, and J. Zhou, “Weak leakage-resilient client-side deduplication of


encrypted data in cloud storage,” in Proc. ACM Symp. Inf., Comput. Commun. Security, 2013,
pp. 195–206.

[9] Y. Zhou, T. Z. J. Fu, D. M. Chiu, and Y. Huang, “An adaptive cloud downloading service,”
IEEE Trans. Multimedia, vol. 15, no. 4, pp. 802–810, Jun. 2013.

[10] Y. Sanchez et al., “iDASH: Improved dynamic adaptive streaming over


HTTPusingscalablevideocoding,”inProc.ACMMultimediaSyst.,2011, pp. 257–264.

[11] H. Schwarz, D. Marpe, and T. Wiegand, “Overview of the scalable video coding extension
of the H.264/AVC standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 17, no. 9, pp.
1103–1120, Sep. 2007.
[12] S. Xiang, “Scalable streaming,” 2012. [Online]. Available: https://sites.
google.com/site/svc http streaming/storage saving

[13] Z.Wei,Y.Wu,X.Ding,andR.H.Deng,“A scalable and format-compliant encryption scheme


for H.264/SVC bitstreams,” Signal Process., Image Commun., vol. 27, no. 9, pp. 1011–1024,
2012.

[14] T. Stutz and A. Uhl, “A survey of H.264 AVC/SVC encryption,” IEEE Trans. Circuits
Syst. Video Technol., vol. 22, no. 3, pp. 325–339, Mar. 2012.

[15] J. R. Douceur, A. Adya, W. J. Bolosky, D. Simon, and M. Theimer, “Reclaiming space


from duplicate files in a serverless distributed file system,” in Proc. IEEE Int. Conf. Distrib.
Comput. Syst., Jul. 2002, pp. 617–624.

[16] P.AndersonandL.Zhang,“Fast and secure laptop backups with encrypted de-duplication,”


in Proc. USENIX Large Installation Syst. Admin., 2010, pp. 1–8.

You might also like