Updated Google Summer of Code 2015 (markdown)

Dominik Schürmann 2015-02-13 10:28:32 +01:00
parent ad66fc09c3
commit f6fdb7abcd
1 changed files with 16 additions and 8 deletions

@ -67,7 +67,7 @@ Because updating all your keys exposeds your social contacts, privacy problemds
**Contact:** [Mailinglist](http://groups.google.com/d/forum/openpgp-keychain-dev) or over XMPP (Jabber-ID: dominik@dominikschuermann.de)
## Backup functionality
## Backup/Restore
**Brief explanation:** While OpenKeychain contains an "export all keys" functionality, there is no easy way to backup/restore all keys, especially the secret keys. Implementing such backup functionality requires a careful evaluation of existing approaches, such as [Whiteout.io's key sync](https://blog.whiteout.io/2014/07/07/secure-pgp-key-sync-a-proposal/) and scenarios proposed on the [ModernCrypto Messaging mailinglist](https://moderncrypto.org/mail-archive/messaging). Also solutions integrated into TextSecure and Threema should be looked at. We could imagine a backup via IMAP (see [SMS Backup Plus](https://github.com/jberkel/sms-backup-plus)) with periodic reminders. But that is only one option. Google's cloud or proprietary solutions should be avoided. A related issue is the transfer of an initial GnuPG key to OpenKeychain. Could this also be done using IMAP or other exchange protocols protected by a Password Authenticated Key Exchange (PAKE)?
**Expected results:** Backup/Restore functionality.
@ -117,13 +117,21 @@ student will get yubikey.
* really delete? -> revocation?
* revocation certificates
## File decryption screen
* open files from OpenKeychain
* decrypt metadata first and display files as list with open/save button
* show recipient key/undisclosed recipient
* support undisclosed recipients in encryption
* "delete after decryption" rework
* detached signatures
## File Decryption Screen
**Brief explanation:** Currently the file decryption screen in OpenKeychain only allows to decrypt one file at a time and only allows saving of decrypted files into the filesystem. While this is okay for simple scenarios. The decryption process could result in many files being decrypted. Either when multiple files are shared together using Android's [ACTION_SEND_MULTIPLE](http://developer.android.com/training/sharing/receive.html#handling-content) or when the OpenPGP data structure contains many parts. Thus, the screen should be extended for multiple files. A list of files should be displayed like done in the encryption screen that with the options save/open per file item. To get the right content type and decrypt the filename the new internal DECRYPT_METADATA functionality of OpenKeychain should be used. The real payload should be decrypted when save/open is clicked. Furthermore the recipient's key user id should be displayed inside the item.
A related problem are [hidden recipients](https://github.com/open-keychain/open-keychain/issues/626): The OpenPGP standard allows to prevent the disclosure for whom a file/message is encrypted for. This feature should be implemented in the encrypt screens as well as displayed per file item in the new decryption screen.
The "delete after decryption" functionality needs to be re-designed for this task.
Also "detached signatures" should be supported by the new decryption screens. An internal method has already been done during the work on PGP/MIME. This can be used, but needs a carefully designed UI.
**Expected results:** Backup/Restore functionality.
**Knowledge Prerequisite:** Java programming
**Skill level:** medium
**Mentor:** Dominik Schürmann
**Contact:** [Mailinglist](http://groups.google.com/d/forum/openpgp-keychain-dev) or over XMPP (Jabber-ID: dominik@dominikschuermann.de)
## Build process
* gradle-witness, https://github.com/WhisperSystems/gradle-witness