Brainstorm

Protecting private content when lending device

Posted on 2009-10-24 13:39 UTC by John Veness. Status: Under consideration, Categories: System.

When I get my Maemo 5 device, I imagine I will want to show it off to other people, and let other people try it out for themselves, as it looks like it will be very 'touchable' and nice and easy to use. I would like to do this because of being proud of the device, and this also might encourage other people to get one.

However, there may be some content on the device (pictures, to-do items, documents, emails, etc.) that I would rather not show to the person to which I'm handing the device. I would like to brainstorm ways of keeping such things private.

Note that I realise that if someone was determined and had long enough, they could bypass security in any number of ways and this Brainstorm idea isn't about that. This idea is about very short term (a few minutes probably) lending of the device to guests, where I will usually be present beside them, and is only designed to cover preventation of casual or accidental snooping of private stuff.

Please feel free to add new solutions and vote for existing ones. All discussion should be at http://talk.maemo.org/showthread.php?t=33414

Solutions for this brainstorm

0
0
0

Solution #1: Add Guest Session mode

Posted on 2009-10-24 13:44 UTC by John Veness.

Like modern versions of Ubuntu, add a Guest Session mode, which creates a new, temporary Linux user folder (e.g. /home/guest). The user can play with all installed apps, but they won't be able to see any of the normal user data. Any data that they create will be wiped when the session ends.

Pros:

  • The main owner of the device can be sure that the guest can't see any of their content in /home/user, assuming Linux permissions are set correctly
  • The main owner won't need to spend any time sorting their content into private and public
  • The device shouldn't get overloaded with content, as the guest profile is deleted on exit

Cons:

  • Content on FAT32 partitions will still be visible
  • The user experience for the guest will be rather barren - empty desktop, no pictures to view, etc.
  • I don't know if apps use hardcoded /home/user paths, but if they do, they'll probably need to be recoded
0
0
0

Solution #2: Add ability to tag individual items of content as private

Posted on 2009-10-24 13:50 UTC by John Veness.

Palm OS had a feature where individual items of content (e.g. notes, to-do items, contacts, appointments) could be marked as private. An app could be run to hide all private content, unhiding it only when the user types in a PIN.

Pros:

  • The guest would have a more interesting experience, being able to see the main owner's desktop and at least some of his or her content, such as pictures.

Cons:

  • The main owner would have to spend time marking items as private.
  • Almost all apps would need to be rewritten to allow private tags (the image viewer already supports tags which could be used for this)
  • The guest would still have read/write access to non-private content, so could accidentally change things

 

0
0
0

Solution #3: Add proper multi-user support

Posted on 2009-10-24 13:59 UTC by John Veness.

This solution is like the Guest Session idea, but without the /home/guest folder being wiped at the end of the session. The main owner could populate this with content that would be persistent.

Pros:

  • The guest could have a better user experience with better content
  • A proper persistent multi-user system could have other use cases, such as multiple family members sharing a device

Cons:

  • Would involve quite a lot of work for the main owner
  • As with Guest Session, apps would probably need to be recoded to not use /home/user
  • Data left lying around in the other profile will continue to take up space, which the main owner may forget is there

Note that I think that discussion of a proper multi-user system probably should lie in a different Brainstorm idea, but I put this in as a solution so that it could be voted for here.

0
0
0

Solution #4: Protecting the folder and files in it from being viewed in apps

Posted on 2009-10-24 16:57 UTC by Kasi Viswanath.

If all the to-be-protected data is in a folder, then my proposed solution might work? The idea is not only to protect the folder but also the files in it from being viewed from the apps installed on the device. This might be possible to achieve in a simple manner. For ex, lets take a simple photo viewer app! Assuming the photo viewer app only views files ending with an extension jpg/jpeg/bmp/png/raw/etc. To avoid protected data from being viewable in the photo viewer app, the extensions of those picture files in the to-be-protected folder can be changed to something other what the photo viewer app would understand (say, xyz). And the protector app will remember all these temporary mappings. The folder and also the app should be protected from being run by a secure password.
0
0
0

Solution #5: Port Truecrypt (or other encrpytion system)

Posted on 2009-10-24 17:18 UTC by Nathanael Anderson.

Port something like www.truecrypt.org to fremantle.  Their was a version for Diablo, so we might be able to port that version or might be able to port a newer version.

This would make any files in its "container" encrypted and unreadable without a password.   This would not be a method to protect calendar or contacts; but any sensitive information would be protected.

 

0
0
0

Solution #6: brainstorm merge

Posted on 2009-12-14 11:59 UTC by Rüdiger Schiller.

Solution #3 from here (multi-user) and Solution #1 from there http://maemo.org/community/brainstorm/view/get_encryption_average_joe_ready/ would merge just fine in my opinion.

A proper multi-user environment and a ~/[$config,$private] like symlinking setup of user-data would make the system fully useable for someone else (if user-access) but would protect all private data to the user.

This would include a startup-screen to switch users, rebuilding the user-file-environment based on symlinking all user-data to a crypted place not mountable via USB (having an exportable fs should be still an option! but not for those things normaly not exportable via USB). A crypt-management tool like EasyCrypt and so on.

0
0
0

Solution #7: Implement Private profile

Posted on 2010-01-18 22:44 UTC by Ndi Ndi.

A phone could have a Private and a Public profile that can be switched on the run.

 

This does nothing more than set a global flag, and allow each application to implement its own security model. For example, Images could have its own system, based on "Private" tag. Video archive could have a .videos/private folder that isn't listed if in Public mode. Calendar could hide private calendars, Email could have private and work accounts, and so on. This is similar to profiles in many implementations, where each app/game is responsible for obeying the set limits.

 

This has several advantages over complex user-based implementations:

  • Virtually no increased usage on root
  • Flexible implementation that is future-proof and developer-safe
  • Gradual implementation (there is no need for everyone to support immediately)
  • Could cover all cases, including 3rd party
  • Easy implementation (minimal UI, a duplication of the profile code minus the actual setting changes)
  • All apps and settings available (desktop, background, general experience - what's what we are showing off, right?)
  • Instant activation, no logoff-logon cycle, stop widgets, etc. A power button plugin could do this with one click and one touch.

 

It also has several disadvantages

  • No enforced security (which is out of the scope for this proposal)
  • Requires developer support to work (but only for sensitive data applications)
  • Already-running apps could be slow to switch
0
0
0

Solution #8: Put a password for desired applications quick and dirty.

Posted on 2010-03-05 07:30 UTC by Timo P.

from http://talk.maemo.org/showpost.php?p=556472:

 

A simple application that shows password dialog and listens which protected item is wanted to be launched.

Shortcuts of desired applications must be edited and Exec -line must be replaced with applications syntax.

Pros:

  • Simple

Cons:

  • Can be circumvented for example if someone knows how to launch stuff from command line

 


Functionality:

  1. 1. user clicks an icon of desired application
  2. 2. instead of the desired application, a password application is launched
  3. 3. password application checks for the password
  4. 4. if password is ok, password app launches the application that icon was tapped at phase 1

Latest activities to brainstorm Protecting private content when lending device