Securely Storing and Syncing¶
Project Work Files¶
- IOCipher Secure File System using SQLFS on SQLCipher
- IOCipherServer secure web server for remote access to IOCipher shares
- PSST Syncing
Generic File Store¶
How do you make an encrypted file store without having root access to mount/unmount?
- libsqlfs
- make a filesystem out of a sqlite file
- gives you the C API for accessing files
- NoteCipher file store
- store files directly in SQLite
- 1MB limit
How to do secure, p2p syncing?
- WebDAV implemented on top of file store
- existing java lib
- *Milton: WebDav server library: http://milton.ettrema.com/index.html
- **Simple in memory example: http://northconcepts.com/blog/2011/07/29/how-to-write-a-dead-simple-online-network-drive-using-java-and-w/
- *W3C's Jigsaw server includes a WebDAV component: http://www.w3.org/Jigsaw/
- **must implement auth
- Example imps:
- *OnAir Wifi Disk: https://market.android.com/details?id=com.bw.onair&hl=en
- *DavDrive for Android: http://davdrive-android.fun2code.de/
- *FTP Server for Android: http://code.google.com/p/swiftp/
- **piping scp using embedded dropbear sshd
- provides well known key auth infrastructure
- must parse scp output
Storing Keys¶
- Android's KeyChain API "Android 4 does have a new keychain API, and underlying encrypted storage lets applications store and retrieve private keys and their corresponding certificate chains. Applications can use the keychain API to install and store user certificates and certificate authorities"1
- Java KeyStore API
- RIM KeyStore API
- Google Mobile: Working with secure certificates
- |guardian-dev| Storing application secrets in Android's credential storage
Syncing over Wi-Fi¶
- Wi-Fi Direct adhoc for mobile