Repository navigation
The Notebook
STATUS: Submitted & Presentation is complete
Expected Date of Completion: Feb 13th
Intro:
Cloud based systems have been constantly growing in popularity over the years now that people have come to terms that a.) Their data is everywhere already, what's the point in trying to hide it b.) Significant advancements have been made to ensure data is protected and secure even though it is stored in the Cloud. Along with the growing popularity there of course has been some significant breakthroughs and platforms offered to individuals willing to store their data in the cloud.
For the purpose of this paper the primary focus will be on the back-end of any secure application / service - more specifically, where the data is stored, how it is stored, and potential security solutions to the data that has been stored.
The Problem:
Performing Computations on Encrypted Data in the Cloud - Without Decryption.
Potential Solution:
Homomorphic Cryptography
What is Homomorphic Cryptography?
Homomorphic Cryptography is an encryption method that allows operations to be performed on the Encrypted data. More specifically, when storing data in the cloud, you can utilize the resources of the cloud server to perform operations on the Encrypted data WITHOUT providing the encryption key(s). Thus, ensuring that your data is forever encrypted and only decrypted by the client when the data is pulled.
The Benefits of Homomorphic Cryptography?
It's quite simple. Security and Performance:
Security:
1.) You never expose external sources to the raw data (the data pre-encryption).
Performance:
1.) If you wanted to ensure security and still perform operations on your data, you would have to follow the following process: a.) Pull Encrypted data from the server
b.) Decrypt the data
c.) Perform Operations
d.) Re-encrypt the data
e.) Send the data back to the server
Issues with this Process: There are a LOT of steps involved. Heavy usage of bandwidth. ALL operations must be performed locally.
2.) Provide the server with the encryption key(s) necessary to decrypt and perform the operations.
a.) Solves the performance issue but introduces a Security issue: The encryption key is now on the server. If the server is ever attacked, your data is vulnurable AND the key to decrypt the data is conveniently available for the attacker.
Issues: Security...
Benefits of Cloud Server (point-form):
- Fault tolerance
- Low Maintenance (ie updates and patches are managed by provider)
Primary Focus: Data Encryption on the Cloud. More specifically, Homomorphic encryption & the capability of processing Encrypted data on the cloud without the use of decryption.
SOURCE: http://www.iaeng.org/publication/WCE2012/WCE2012_pp536-539.pdf (1)
Other Sources:
1.) https://www.youtube.com/watch?v=rRoy6I4gKWU
2.) http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.473.6825&rep=rep1&type=pdf (2)
3.) https://crypto.stanford.edu/craig/craig-thesis.pdf (3)
4.) https://gcn.com/articles/2013/06/13/encryption-end-to-end-cloud-security.aspx
5.) http://www2.technologyreview.com/article/423683/homomorphic-encryption/
(#) - Denotes academic papers related to the topic. Lowest number (1) indicates topic paper for Critique.
Upcoming Tasks:
STATUS: Paper is Written, working on presentation materials.
Expected Date of Completion: Feb 22nd.
The Antikythera Mechanism is a mechanism approximately 2000 years old. Many articles say that it was a device that was used for making astronomical readings. Built by the ancient Greeks, this mechanism is a collection of gears brought together much like a clock and as such it is considered to be the oldest computer in the world.
Raspberry PI powered Electric Door Strike
Goal of the project:
Be able to lock and unlock a household door VIA an APP. Phone will send code to server in the Cloud where it will then be processed and sent to the PI. PI will then confirm correct code and send power to the Door Strike to unlock the door.
Components required:
1.) Electric Door Strike
2.) Transistor
3.) Breadboard + misc cables to handle connection states
4.) Any cloud platform to process the request
5.) Simple app deployment tool / builder.
Additional features (if time permits):
1.) Bluetooth fallback in the event that htere is no internet connection available
2.) Encryption VIA the app prior to sending to the cloud
3.) Following step 2 we would need a decryption protocol executed once the encrypted code is received by the PI
Sources:
1.) http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/
2.) https://www.youtube.com/watch?v=ryY7Dy3z-7Q
3.) http://mobilesiri.com/json-parsing-in-android-using-android-studio/
4.) http://www.instructables.com/id/Easy-Bluetooth-Enabled-Door-Lock-With-Arduino-An/
5.) http://developer.android.com/tools/device.html
6.) http://developer.android.com/tools/extras/oem-usb.html
7.) https://github.com/Azazel1333/cs401
8.) http://adbdriver.com/downloads/