bpn

35
Privacy Preserving Using Back Propagation Neural Network For Cloud Computing CHAPTER 1 1.INTRODUCTION BACK-PROPAGATION is an effective method for learning neural networks and has been widely used in various applications. The accuracy of the learning result, despite other facts, is highly affected by the volume of high-quality data used for learning. As compared to learning with only local data set, collaborative learning improves the learning accuracy by incorporating more data sets into the learning process; the participating parties carry out learning not only on their own data sets, but also on others’ data sets. With the recent remarkable growth of new computing infrastructures such as cloud computing, it has been more convenient than ever for users across the Internet, who may not even know each other, to conduct joint/collaborative learning through the shared infrastructure. Despite the potential benefits, one crucial issue pertaining to the Internet-wide collaborative neural network learning is the protection of data privacy for each participant. In particular, the participants from different trust domains may not want to disclose their private data sets, which may contain privacy or proprietary information, to anybody else. In applications such as healthcare, disclosure of sensitive data, for example, protected health information (PHI), is not only a privacy issue but of legal concerns according to the privacy rules such as Health Insurance Probability and Accountability Act (HIPAA). To embrace ISB&M School of Technology, Pune Page 1

Upload: ishanshikarkhane

Post on 10-Sep-2015

230 views

Category:

Documents


0 download

DESCRIPTION

Backward propagation Neural Networks

TRANSCRIPT

Privacy Preserving Using Back Propagation Neural Network For Cloud Computing

Privacy Preserving Using Back Propagation Neural Network For Cloud Computing

CHAPTER 11. INTRODUCTION

BACK-PROPAGATION is an effective method for learning neural networks and has been widely used in various applications. The accuracy of the learning result, despite other facts, is highly affected by the volume of high-quality data used for learning. As compared to learning with only local data set, collaborative learning improves the learning accuracy by incorporating more data sets into the learning process; the participating parties carry out learning not only on their own data sets, but also on others data sets. With the recent remarkable growth of new computing infrastructures such as cloud computing, it has been more convenient than ever for users across the Internet, who may not even know each other, to conduct joint/collaborative learning through the shared infrastructure.Despite the potential benefits, one crucial issue pertaining to the Internet-wide collaborative neural network learning is the protection of data privacy for each participant. In particular, the participants from different trust domains may not want to disclose their private data sets, which may contain privacy or proprietary information, to anybody else. In applications such as healthcare, disclosure of sensitive data, for example, protected health information (PHI), is not only a privacy issue but of legal concerns according to the privacy rules such as Health Insurance Probability and Accountability Act (HIPAA). To embrace the Internet-wide collaborative learning, it is imperative to provide a solution that allows the participants, who lack mutual trust, to conduct neural network learning jointly without disclosing their respective private data sets. Preferably, the solution shall be efficient and scalable enough to support an arbitrary number of participants, each possessing arbitrarily partitioned data sets.Challenges: Theoretically, secure multiparty computation (SMC) can be used to solve problems of this kind. But the extremely high computation and communication complexity of SMC, due to the circuit size, usually makes it far from practical even in the two-party case. To provide practical solutions for privacy preserving Back-Propagation neural (BPN) network learning, three main challenges need to be met simultaneously: 1) To protect each participants private data set and intermediate results generated during the BPN network learning process, it requires secure computation of various operations, for example, addition, scalar product, and the nonlinear sigmoid function, which are needed by the BPN network algorithm. 2) To ensure the practicality of the proposed solution, the computation/communication cost introduced to each participant shall be affordable. To accommodate a large range of collaborativelearning, the proposed solution shall consider system scalability. In particular, it shall be able to support an arbitrary number of participants without introducing tremendous computation/communication costs to each participant. 3) For collaborative training, the training data sets may be owned by different parties and partitioned in arbitrary ways rather than a single way of partition.

CHAPTER 22. PROBLEM DEFINITION

In this paper, we aim at enabling multiple parties to jointly conduct BPN network learning without revealing their private data. The input data sets owned by the parties can be arbitrarily partitioned. The computational and communicational costs on each party shall be practically efficient and the system shall be scalable.Specifically, we consider a 3-layer (a-b-c configuration) neural network for simplicity but it can be easily extended to multilayer neural networks. For collaborative learning, the main task for all the parties is to jointly execute the operations defined in the Feed Forward stage and the Back-Propagation stage. During each learning stage, except for the final learned network, neither the input data of each party nor the intermediate results (i.e., weights, value of hidden layer node, value of output layer node) generated can be revealed to anybody other than TA.

CHAPTER 33. LITERATURE SURVEY

3.1. RELATED WORKSeveral privacy preserving BPN network learning schemes have been proposed recently. Schlitter introduces a privacy preserving BPN network learning scheme that enables two or more parties to jointly perform BPN network learning without disclosing their respective private data sets. But the solution is proposed only for horizontal partitioned data. Moreover, this scheme cannot protect the intermediate results, which may also contain sensitive data, during the learning process. Chen and Zhong propose a privacy preserving BPN network learning algorithm for two-party scenarios. This scheme provides strong protection for data sets including intermediate results. However, it just supports vertically partitioned data. To overcome this limitation, Bansal et. al. enhanced this scheme and proposed a solution for arbitrarily partitioned data. Nevertheless, this enhanced scheme, just like, was proposed for the two-party scenario. 3.1.1 LimitationsDirectly extending them to the multiparty setting will introduce a computation/communication complexity quadratic in the number of participants. In practical implementation, such a complexity represents a tremendous cost on each party considering the already expensive operations on the underlying groups such as elliptic curves. However, just considers the two-party scenario though it supports arbitrarily partitioned data set. To our best knowledge, none of existing schemes have solved all these challenges at the same time. There still lacks an efficient and scalable solution that supports collaborative BPN network learning with privacy preservation in the multiparty setting and allows arbitrarily partitioned data sets.

CHAPTER 44. SOFTWARE REQUIREMENT SPECIFICATION4.1 INTRODUCTIONThe main objective of this project is to embrace the Internet-wide collaborative learning, it is imperative to provide a solution that allows the participants, who lack mutual trust, to conduct neural network learning jointly without disclosing their respective private data sets. Preferably, the solution willl be efficient and scalable enough to support an arbitrary number of participants, each possessing arbitrarily partitioned data sets.

Project ScopeIn this work, we address this open problem by incorporating the computing power of the cloud. The main idea of our scheme can be summarized as follows: each participant first encrypts her/his private data with the system public key and then uploads the ciphertexts to the cloud; cloud servers then execute most of the operations pertaining to the learning process over the ciphertexts and return the encrypted results to the participants; the participants jointly decrypt the results with which they update their respective weights for the BPN network. During this process, cloud servers learn no privacy data of a participant even if they collude with all the rest participants. Through offloading the computation tasks to the resource-abundant cloud, our scheme makes the computation and communication complexity on each participant independent to the number of participants and is, thus, highly scalable. For privacy preservation, we decompose most of the subalgorithms of BPN network into simple operations such as addition, multiplication, and scalar product. To support these operations over ciphertexts, we adopt the Boneh, Goh, and Nissim (BGN) doubly homomorphic encryption algorithm and tailor it to split the decryption capability among multiple participants for collusion-resistance decryption. As decryption of is limited to small numbers, we introduce a novel design in our scheme such that arbitrarily large numbers can be efficiently decrypted. To protect the intermediate dataduring the learning process, we introduce a novel random sharing algorithm to randomly split the data without decrypting the actual value. Thorough security analysis shows that our proposed scheme is secure.

4.2 SYSTEM FEATURES General usersThis type of user are the clients. They can ask for another party's data. They can retrieve the same without letting the cloud server know about the data stored .Cloud SeverCloud server is a server where the data of various parties will be stored . 4.3 EXTERNAL INTERFACE REQUIREMENTThere are many types of interfaces such as User Interface, Software Interface and Hardware Interface.User InterfacesThe user interface for the software shall be compatible to windows operating system.

Software InterfacesThe system utilizes JDK framework which provides it with the necessary components to build system components and objects, plus providing the system with the required data access components.

Communication InterfacesGraphical user interface is most convenience way to do the interaction with the system. So in our proposed system we have design and developed GUI to interact with the system by using Java Swing classes.

4.4 FUNCTIONAL REQUIREMENT Business Rules Transaction corrections, adjustments and cancellations Administrative functions Authentication Authorization levels Audit Tracking External Interfaces Certification Requirements Reporting Requirements Historical Data Legal or Regulatory Requirements

4.5 NON FUNCTIONAL REQUIREMENTPerformance Requirements High Speed: System should process voice messages in parallel for various users to give quick response then system must wait for process completion. Better component design: To get better performance at peak timeSecurity Requirements Secure access of confidential data (users details). Information security means protecting information and information systems from unauthorized access, use, disclosure, disruption, modification or destruction.Extensibility Extensibility allows adding new component to the system, replaces the existing ones. This is done without affecting the components that are in their original places. Flexible service based architecture will be highly desirable for future extension

Scalability The solution should be able to accommodate high number of customers and brokers. Both may be geographically distributed.Compatibility Compatibility is the measure with which user can extend the one type of application with another. Serviceability In software engineering and hardware engineering, serviceability also known as supportability, is one of the aspects (from IBM's RASU (Reliability, Availability, Serviceability, and Usability). It refers to the ability of technical support personnel to install, configure, and monitor computer products, identify exceptions or faults, debug or isolate faults to root cause analysis, and provide hardware or software maintenance in pursuit of solving a problem and restoring the product into service.

4.6 ANALYSIS MODEL4.6.1 DFD level 0

Figure 1

4.6.2 DFD level 1

Figure 24.6.3 DFD level 2

Figure 34.6.4 Class Diagram

Figure 4

4.6.5 ER Diagram

Figure 5

4.7 SPECIFIC REQUIREMENTSProject System will be Windows based supporting versions, Windows XP onwards. The minimum configuration required for system is:4.7.1 Hardware MySQL 5.1 and above : DATABASE Jdk 3 and above : For JAVA NetBeans 6 and above : project coding environment GlassFish 5.1 and above : server hosting4.7.2 Software 1 gigahertz (GHz) or faster 32-bit (x86) or 64-bit (x64) processor

1 gigabyte (GB) RAM (32-bit) or 2 GB RAM (64-bit)

16 GB available hard disk space (32-bit) or 20 GB (64-bit)

DirectX 9 graphics device with WDDM 1.0 or higher driver

4.8 SYSTEM IMPLEMENTATION PLANSr. No.

Planning

Start Date

Completion Date

1.Topic search and Finalization4th July 201425th July 2014

2.Literature Survey

8th August 2014

21stAugust 2014

3.Objective And Planning

22nd August 2014

28th August 2014

4.Software ,Hardware Requirements & Budget

29th August 2014

5th September 2014

5.DFD , UML diagrams

8th September 2014

10th September 2014

6.Algorithm Design

10th September 2014

13thSeptember 2014

7.Algorithm Analysis

15th September 2014

21st October 2014

8.Preliminary Report 22nd October 2014 29thSeptember 2014

9.Study of Project related Technology1st November 20143rd January 2014

10.Coding and Implementation of Project.5th January 201420th February 2014

11.Working Model and Testing.24th February 201415th March 2014

12.Tested and Executable Project Model.16th March 201429th March 2014

13.Final Report and Deployment of Project.2nd April 201420th April 2014

Table 1

4.9BUDGETSr. No. Product Quantity Cost 1

1. Computer 122000

2. Windows XP/Windows 71 3000

3. NetBeansIDE 1 OSS

4. JDK 1 OSS

Total27000

Table 2

CHATPER -55. SYSTEM DESIGN5.1 SYSTEM ARCHITECTURE: In our Proposed System We Have 2 Main Blocks.1. Cloud Server2. Clients

Cloud Server is used to store the data of Clients. The data is in encrypted form. Only Clients can have knowledge of data stored on Cloud. BPNN is used by Clients to train their data.

Figure 6

5.2 UML DIAGRAMS5.2.1 Use-Case DiagramUse case diagrams are one of the five diagrams in the UML for modelling the dynamic aspects of systems (activity diagrams, state chart diagrams, sequence diagrams, and collaboration diagrams are four other kinds of diagrams in the UML for modelling the dynamic aspects of systems). Use case diagrams are central to modelling the behaviour of a system, a subsystem, or a class. Each one shows a set of use cases and actors and their relationships. You apply use case diagrams to model the use case view of a system. For the most part, this involves modelling the context of a system, subsystem, or class, or modelling the requirements of the behaviour of these elements. Use case diagrams are important for visualizing, specifying, and documenting the behaviour of an element. They make systems, subsystems, and classes approachable and understandable by presenting an outside view of how those elements may be used in context. Use case diagrams are also important for testing executable systems through forward engineering and for comprehending executable systems through reverse engineering.

Figure 7

5.2.2 Activity DiagramA class diagram shows a set of classes, interfaces, and collaborations and their relationships.These diagrams are the most common diagram found in modeling object-oriented systems. Classdiagrams address the static design view of a system. Class diagrams that include active classesaddress the static process view of a system

Figure 8

5.2.3 Sequence DiagramA statechart diagram shows a state machine, consisting of states, transitions, events, and activities. You use statechart diagrams to illustrate the dynamic view of a system. They are especially important in modelling the behaviour of an interface, class, or collaboration. Statechart diagrams emphasize the event-ordered behaviour of an object, which is especially useful in modelling reactive systems.

Figure 9

CHAPTER -66. TECHNICAL SPECIFICATION6.1 TECHNOLOGY USED IN PROJECT6.1.1 JDK JDK (Java Development Kit) is a free software development package from Sun Microsystems that implements the basic set of tools needed to write, test and debug Java applications and applets.

6.1.2 GlassFishGlassFishis anopen-sourceapplication serverproject started bySun Microsystemsfor theJava EEplatform and now sponsored byOracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish isfree software,dual-licensedunder twofree software licences: theCommon Development and Distribution License(CDDL) and theGNU General Public License(GPL) with theclasspath exception.GlassFish is thereference implementationof Java EE and as such supportsEnterprise JavaBeans,JPA,JavaServer Faces,JMS,RMI,JavaServer Pages,servlets, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services.Built on a modular kernel powered byOSGi, GlassFish runs straight on top of theApache Feliximplementation. It also runs withEquinox OSGiorKnopflerfishOSGi runtimes.HK2abstracts the OSGi module system to provide components, which can also be viewed as services. Such services can be discovered and injected at runtime.GlassFish is based onsource codereleased by Sun andOracle Corporation'sTopLinkpersistencesystem. It uses a derivative ofApache Tomcatas theservletcontainer for serving Web content, with an added component calledGrizzlywhich uses JavaNew I/O(NIO) for scalability and speed.

Features of GlassFish A lightweight and extensible core based on OSGi Alliance standards A web container An easy-to-use Administration Console for configuration and management Update Tool connectivity for updates and add-on components Support for high availability clustering and load balancing

6.2 ADVANTAGE Provides privacy preservation for multiparty. Cost independent of number of parties. Scalable, efficient and secure. Collaborative BPN network learning over arbitrarily partitioned data. Allow decryption of arbitrary large messages.

6.3 APPLICATIONS Our system can be used for It can also used to control computer It can be used to control various software applications Our system can be used to control power point presentation Our system can be used to control or play games

CHAPTER-77. CONCLUSION

In this work, we proposed the first secure and practical multiparty BPN network learning scheme over arbitrarily partitioned data. In our proposed approach, the parties encrypt their arbitrarily partitioned data and upload the ciphertexts to the cloud. The cloud can execute most operations pertaining to the BPN network learning algorithm without knowing any private information. The cost of each party in our scheme is independent to the number of parties. This work tailors the BGN homomorphic encryption algorithm to support the multiparty scenario, which can be used as an independent solution for other related applications. Complexity and security analysis shows that our proposed scheme is scalable, efficient, and secure. One interesting future work is to enable multiparty collaborative learning without the help of TA.

CHAPTER -8REFERENCES[1] Privacy Preserving Back-Propagation Neural Network Learning Made Practical with Cloud Computing, Jiawei Yuan, Student Member, IEEE, and Shucheng Yu, Member, IEEE, 2014

[2] Privacy Preserving Back-Propagation Neural Network Learning Over Arbitrarily Partitioned Data Ankur Bansal Tingting Chen Sheng Zhong Computer Science and Engineering Department State University of New york at Buffalo Amherst, NY 14260, U. S. A. [3] PRIVACY PRESERVING BACK-PROPAGATION NEURAL NETWORK IN CLOUD COMPUTING International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 3 Issue 6, June 2014

[4] PRIVACY PRESERVING BACK-PROPAGATION NEURAL NETWORK LEARNING, T. Chen and S. Zhong, Trans. Neur. Netw.,20(10):1554-1564, Oct, 2009

ANNEXUREANNEXURE A:Project Analysis of Algorithm DesignProject Analysis:BPNN

Figure 10

initialize network weights (often small random values)do forEach training example ex prediction = neural-net-output(network, ex) // forward pass actual = teacher-output(ex) compute error (prediction - actual) at the output units compute \Delta w_h for all weights from hidden layer to output layer // backward pass compute \Delta w_i for all weights from input layer to hidden layer // backward pass continued update network weights // input layer not modified by error estimateuntil all examples classified correctly or another stopping criterion satisfiedreturn the network

COMPLEXITYThe complexity of the back propagation neural network depends on number of input layers. Thus for n layers, the complexity is ___________________________________________________________________________O(n).___________________________________________________________________________

P Complete ProblemA problem is in P class if it is solvable in polynomial time by a deterministic algorithm. For our system, algorithms are deterministic and the overall complexity is O(n) which shows that it is in P class.

ANNEXURE B:Project Quality and Reliability Testing of Project Design

Testing is the process of evaluating a system or its component(s) with the intent to find that whether it satisfies the specified requirements or not. This activity results in the actual, expected and difference between their results. In simple words testing is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements.

There are different types of testing which may be used to test a Software during SDLC.

Manual testing: This type includes the testing of the Software manually i.e. without using any automated tool or any script.

Automation testing: Automation testing which is also known as Test Automation, is when the tester writes scripts and uses another software to test the software.

There are different methods which can be use for Software testing.

Black Box Testing: The technique of testing without having any knowledge of the interior workings of the application is Black Box testing.

White Box Testing: White box testing is the detailed investigation of internal logic and structure of the code. White box testing is also called glass testing or open box testing.

Grey Box Testing: Grey Box testing is a technique to test the application with limited knowledge of the internal workings of an application.

ANNEXURE CABBREVIATIONSBBGN : Boneh, Goh, and NissimBPN : Back Propagation NeuralBPNN : Back Propagation Neural NetworkCCDDL : Common Development and Distribution LicenseDDFD : Data Flow DiagramEER Diagram : Entity Relationship DiagramGGB : Giga ByteGH : Giga HertzGNU : General Public LicenseGUI : Graphical user InterfaceHHIPAA : Health Insurance Probability and Accountability ActIIDE: Integrated Development Environment

JJDK : JAVA Development Kit JMS : JAVA Message ServiceJPA : JAVA Persistence API

NNIO : New I/OOOSGI : Open Service Gateway InitiativeOSS : Open Source SoftwarePPHI : Protected Health InformationRRASU: (Reliability, Availability, Serviceability, and Usability)RAM : Random Access MemorySSMC : Secure Multiparty ComputationTTA : Trusted AuthorityUUML:Unified Modelling Language

ISB&M School of Technology, PunePage 2