UE21CS461A – Capstone Project Phase – 2 SEMESTER - VII END SEMESTER ASSESSMENT Project Title : SECURING CLOUD BASED DATA STORAGE USING BLOCKCHAIN Project ID Project Guide Project Team :
Outline Abstract Team Roles and Responsibilities. Summary of Requirements and Design (Capstone Phase - 1) Summary of Methodology / Approach (Capstone Phase - 1) Design Description Modules and Implementation Details Project Demonstration and Walkthrough Test Plan and Strategy Results and Discussion Lessons Learnt Conclusion and Future Work References Title of the Project name1_name2_name3_name4
Abstract Title of the Project name1_name2_name3_name4 Cloud computing offers significant benefits such as cost reduction and ease of use by providing on -demand access to shared resources. However, as cloud systems scale, security concerns have become critical. Centralized access control mechanisms currently used in cloud computing are vulnerable to tampering and data leaks caused by hackers or internal administrators. To address this, the project introduces AuthPrivacyChain , a blockchain-based access control framework designed to ensure security and privacy. By using the blockchain's node account address as the identity and encrypting data stored on the blockchain, the framework redefines access control permissions. The objective is to provide a secure and privacy-preserving solution for managing sensitive data in cloud environments. The approach involves designing processes for access control, authorization, and revocation to prevent unauthorized access while protecting user privacy. Implemented on the Enterprise Operation System (EOS), AuthPrivacyChain leverages blockchain's decentralized features to eliminate the risks associated with centralized systems, offering a robust solution for secure data management in the cloud.
Summary of Requirements and Design Develop a decentralized and secure method for cloud storage. Implement AES encryption for data privacy. Use blockchain (Ethereum) for immutable metadata and access control. Utilize IPFS for decentralized data storage. Ensure scalability, reliability, and ease of access revocation. Provide user-friendly interfaces for data management. Title of the Project name1_name2_name3_name4
Background Requirements Current State of Cloud Storage : Centralized systems like Google Drive and Dropbox are vulnerable to breaches. Key challenges include: Single points of failure. Privacy and control issues. Proposed Solution : Combine blockchain, IPFS, and AES encryption. Address security, privacy, and access management comprehensively. Title of the Project name1_name2_name3_name4
Design Approach Prototype-Based Approach : Develop a Python-Django-based application. Integrate Ethereum smart contracts for permission management. Use IPFS for decentralized file storage. Constraints : High blockchain transaction costs. Slower file retrieval from decentralized storage. Dependencies : Hardware: Robust servers for decentralized applications. Software: Ethereum, IPFS, Django. Assumptions : Technical expertise in blockchain and IPFS is available. Title of the Project name1_name2_name3_name4
Design Details System Components : IPFS : Decentralized file storage with content-based addressing. Blockchain : Ethereum for immutable access logs and metadata. AES Encryption : Ensures data confidentiality. Data Flow : File encryption → Upload to IPFS → Store metadata on blockchain → Access control via smart contracts. Use Cases : Direct access (e.g., Owner to Doctor). Indirect sharing (e.g., Doctor to Researcher). Access revocation by the owner. Title of the Project name1_name2_name3_name4
Risks and Challenges High transaction costs on Ethereum. Performance issues during blockchain congestion. Complexity in integrating multiple technologies (IPFS, blockchain, encryption). Title of the Project name1_name2_name3_name4
Tools Used Tools Used : Truffle, Ganache for blockchain simulation. Python-Django for web application backend. IPFS for decentralized storage. Testing Methods : Smart contract simulation. Performance benchmarking of file retrieval and encryption/decryption. Title of the Project name1_name2_name3_name4
Results and Discussions Key Findings : Decentralized architecture improves security and privacy. Blockchain ensures transparent access control. IPFS enhances resilience against data loss. Challenges : Trade-offs between performance and decentralization. Addressing scalability in future iterations. Title of the Project name1_name2_name3_name4
Results and Discussions Title of the Project name1_name2_name3_name4
Results and Discussions This is the output of running the truffle develop command, which starts a local blockchain development environment using Truffle. Here's the breakdown: 1. URL : The blockchain is accessible at http://127.0.0.1:9545/ . 2. Accounts : A list of 10 Ethereum accounts is pre-generated for testing purposes. 3. Private Keys : Each account's corresponding private key is shown for use in transactions or integrations. 4. Mnemonic : A 12-word mnemonic phrase is provided to recreate the wallet/accounts. It's marked as insecure for production use and should only be used for testing. Title of the Project name1_name2_name3_name4
Results and Discussions Title of the Project name1_name2_name3_name4
Results and Discussions 1. Testing Smart Contracts: Allows for a local blockchain to deploy and test smart contracts 2. Simulation of Blockchain Operations: Simulation of blockchain operations features such as transactions, mining, and gas fees Tastes various scenarios in a controlled environment 3. Pre-funded Accounts: Pre-configured accounts with Ether for testing purposes 4. Event Tracking: Tracks events and logs from the execution of contracts Helps debug the behavior of smart contracts much more easily 5. Integration Testing It seamlessly integrates with tools such as Truffle for end-to-end testing. Title of the Project name1_name2_name3_name4
Results and Discussions Title of the Project name1_name2_name3_name4
Results and Discussions Title of the Project name1_name2_name3_name4
Functional Requirements : 1. Using Django framework, you are required to generate a web application that will have a data owner as well as users. 2.It is a must for both the data owner and user to register themselves on our system and have their details securely stored on blockchain. 3.When they log in, the owner will be able to upload their data onto cloud. 4.When data is uploaded, it will be encrypted using the AES algorithm and the file owner will determine file access control. 5.If a user logs in the system, he/she may download the file shared in the cloud and decrypt it. 6.The person holding the data can remove right of entry to his personal information. 7.Use blockchain to ensure the application provides maximum security from both in-house and out-of- house threats SUMMARY REQUIRMENT SPECIFICATIONS
Non-Functional Requirements : These requirements are non-functional in nature, in other words, there are limits against which the system has to operate. The application must be self-contained to facilitate movement from one computer to another. It is expected that the computer will have network connectivity. Ability, scalability, and availability. The system will have an availability of 100% at all times. The system is designed to be scalable enough for supporting additional clients and volunteers SUMMARY REQUIRMENT SPECIFICATIONS
Tools and Methodologies of our Model name1_name2_name3_name4 Title of the Project Truffle : It is a popular development framework for Ethereum that simplifies the process of building, testing, and deploying smart contracts. It's part of a suite of tools designed for Ethereum development and includes additional tools like Ganache (for local blockchain simulations) and Drizzle (a frontend library for managing contract data in decentralized applications). Compilation and Deployment Scripted Migrations Truffle Develop: Truffle Develop is an integrated development environment (IDE) for smart contract development within the Truffle framework. It provides a console with a local Ethereum network for testing, similar to using Ganache but directly within Truffle. Ganache : It is a personal blockchain for Ethereum development that developers use to test and deploy their smart contracts in a safe, local environment. Created by the same team that developed the Truffle framework, Ganache provides a local blockchain that runs entirely on your machine, eliminating the need to connect to public test networks and allowing you to have full control over the blockchain environment.
Design Approach Design Approach Followed: Decentralized System using Blockchain, IPFS, and AES Encryption Why we chose this approach: Blockchain ensures that once data is recorded, it cannot be changed, making it secure and transparent. IPFS ( InterPlanetary File System) allows us to store files in a decentralized way, reducing reliance on a single server. AES (Advanced Encryption Standard) provides strong encryption to ensure data remains protected. name1_name2_name3_name4 Title of the Project
Design Approach Benefits of This Approach: No Central Authority : The system doesn't rely on a single point of control, making it more resilient and censorship-resistant. High Security : AES encryption keeps data secure, and blockchain adds a layer of trust and immutability. Cost-Efficient : By using IPFS, we lower the cost of file storage since the data is distributed across the network. Complete Transparency : Blockchain provides a clear and tamper-proof record of file access and metadata. name1_name2_name3_name4 Title of the Project
Design Approach Drawbacks of This Approach: Scalability Issues : As the network grows, blockchain transactions can slow down and become more expensive. Slower File Retrieval : Accessing large files from a decentralized network (IPFS) might take longer than from a centralized server. More Complex Setup : Developing and maintaining this solution requires knowledge of blockchain, IPFS, and encryption technologies, which can make it harder to implement. name1_name2_name3_name4 Title of the Project
Design of Overall Architecture Title of the Project
The system model is shown in above figure, which is consisted of four entities: Cloud. It provides authentication and data storage for users. Cloud determines access rights of DU or DO by Blockchain. Blockchain. It is open, transparent, tamper-proof, and irreversible, and the same as the distributed database, we use it as an authorization policy database for access control. DO. DO uploads the resources to Cloud and publishes the resource’s access rights to Blockchain. DU. DU can access the resources if he has permission from Cloud. Design of Overall Architecture Title of the Project
Sequence Diagram for User Registration Title of the Project This shows the process for the Cloud entity to register itself on the blockchain. The Cloud sends a registration request to the blockchain, which generates a wallet key pair and address for the Cloud. The blockchain encrypts and sends back the address and key pair. The Cloud then publishes a registration transaction with its information to the blockchain using its private key.
Sequence Diagram for File Upload Title of the Project The DO first uploads the resource content to the Cloud. The Cloud generates resource metadata and encrypts it, sending it back to the DO. The DO then publishes a resource registration transaction to the blockchain with the encrypted metadata using its private key.
Sequence Diagram for File Access Control Title of the Project The DU sends an access request with its address and the resource metadata to the Cloud. The Cloud queries the blockchain for the encrypted access control permissions for that resource using a smart contract. It decrypts and verifies if the DU has permissions. The Cloud responds to the DU allowing/denying access, and publishes an access log transaction to the blockchain.
Sequence Diagram for File Access Revocation Title of the Project The steps are as follows: DU1 sends a revocation request to the Cloud, containing flags for authorization revocation, DU1's address, DU2's address, and the resource metadata. The Cloud queries the blockchain using DU1's and DU2's addresses to check if DU1 had indeed granted authorization to DU2 for that resource. This is done by invoking a smart contract ( QFCapChain ).The blockchain responds with the encrypted access control permissions ( resCAP_S ) for that resource.
Sequence Diagram for File Access Revocation Title of the Project 3.The Cloud decrypts resCAP_S to get the access permissions. If non-null, indicating DU1 had authorized DU2, the Cloud sends an authorization revocation notification to DU1. 4.DU1 then publishes a revocation transaction to the blockchain using its private key by invoking the Tx_publish smart contract, setting the access permissions for DU2 to null. 5.Finally, DU1 notifies DU2 about the revocation by sending DU2 its address, DU2's address, and the revoked resource ID.
Documentation Show the evidences, status of the below documents: Project report finalized by Guide? IEEE (similar) Format of Paper ready for submission or current status? Which Conferences are you targeting? Have you submitted to any conference/journal? List out. Video (2-3 minutes) of your project? Please Play. Add the Github repository link. A3 size Poster of your project to be shown. All artifacts of your project uploaded in the CSE Project repository? Title of the Project name1_name2_name3_name4
Lessons Learnt Discuss on the lessons learned and what you could have done differently knowing what you now know Give an overview of issues that has been overcome in this project. Title of the Project name1_name2_name3_name4
Conclusion and Future work Summarize the key points (conclusion). Provide a glimpse of Future work. Next Steps – Mention the points that should be considered to take your prototype to the next level. Title of the Project name1_name2_name3_name4