kwallet needed on smartphones?
Bernhard Reiter
bernhard at intevation.de
Tue Jun 1 10:09:36 CEST 2010
Hello,
here are some more thoughts on the question if we should keep the kwallet or a
related service on the mobile platform. The question came up after we had the
first N900 kmail-mobile packages distributed on a few more machines within
the Komo3 project and connected them with our test Kolab Server.
Yes, we've got pestered by kwallet dialogs. ;)
Currently I believe that
we want to keep kwallet to protect credentials if the device is turned off now
and we might use it for a higher protection layer later.
Bernhard
Read on to find out how I got to this conclusion and more:
Let us assume we have a user called Karl.
The main motivation of Karl is that he can easily use the services he wants to
use, but of course nobody should get a hold of the credentials and see his
personal or business related communication. So Karl will follow a basic
security policy of his company if he can understand it and it is not too much
hassle.
a) Karl will keep his device running most of the time and during this time he
does not want to enter a passphrase for the service that are running
constantly. Like for checking emails.
b) Sometime Karl powers his device off. For instance he leaves it in the
locker when he does sports. In this situation he would want some basic
protection of the credentials saved on the phone.
c) Sometimes Karls want to sell or buy some stocks via the device, taking a
couple of minutes. His company is sometimes giving him a confidential
document with prices that he has to check when he is on the road. He will sit
down in a hotel or a parking spot and work on this for half an hours or more.
Of course Karls wants nobody to be able to do money transfers for him or see
the documents.
Let us go through the situations from a technical angle:
a) During this time the password will be in volatile memory (maybe serveral
times) and it is quite like that it can be accessed by several applications.
b) Without the password will be in the non-volatile memory of the device
somewhere like N900s flash card. If it is encrypted, the encryption key will
have to be entered by the user once the password should be used. As the
encrypting function is known, given access to the saved state, it can be
attacked by brute force, trying all possible passwords.
Currently with most phones, the user only enters the PIN which often is a four
or a few more digits number. With smart phones like the N900 this step can
even be skipped which disallows access to the GSM card, but keeps access to
the memory. The gsm card will lock the user out after three bad PIN attempts,
so it cannot be attacked by trying all combinations easily. But as a key for
a saved password it is not enough. A few digits number is tried pretty
easily.
Practially on N900 the password will be there just in memory. As an attacker
you can just start up the phone, copy the data. If we could access the PIN
from without our applications this would not add much protection.
More protection can only be gained if we allow a better password to be entered
by the user as key or we save the key in the SIM cards memory.
Using the SIM card memory can potentially be hard and this solitution would
render the device less useful in case no simcard is there.
So my conclusion is to keep kwallet and make sure the encryption function is
expensive enought - needed long computational operations - that the entropy
of entered passwords is offering some real protection.
Once fully disc encryption is there, we could do without kwallet, but full
disc encryption would face the same problem how to get a reasonable key.
Given that full disc encryption might be designed by the device manifacturer,
a use of the SIM card or another smart card sound plausible, then the PIN
might be enough.
c) Karl is watching my phone very closely in this situation and it is okay
for him to do some steps to get into the mode. Let us call this high
security mode with high value credentials.
If the credentials are only kept during the operations this provides at least
some protection against the attack within memory of the device. So our
service would need a reasonalbe timeout after which the password is
forgotten. Of course the problems with the saved password from b) above
apply, but kwallet could do more checks for the quality of the used password.
--
Managing Director - Owner: www.intevation.net (Free Software Company)
Deputy Coordinator Germany: fsfe.org. Board member: www.kolabsys.com.
Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998
Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2620 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-mobile/attachments/20100601/13ee8571/attachment.p7s
More information about the Kde-mobile
mailing list