Encryption On Palm OS Devices

Home


You want to keep your PDA data private.

One method to do this is to encrypt/scramble/hash/encode the data.

There are 4 broad ways to do this:

  1. Encrypt all (or most of) the device's data when the device is locked.

  2. Encrypt all (or most of) the device's data except when specific data is needed.

  3. Use a program that encrypts specifically marked text.

  4. Use a specialized secure storage program that maintains its own encrypted database.

 

Each of these ways of doing encryption has drawbacks:



With all of these ways to encrypt data, here are some questions to ask:

How long is my password?

How many "bits" of encryption are used?

Does the encryption logic "leak"?

What about "trojan" programs?

Can lock programs use encryption?

Why doesn't OnlyMe use encryption?

What about using a program designed specifically to secure my data?

What do I watch out for in a secure storage program?

What can I do to test an encryption system?




How long is my password?

Modern computers can generally "break" encryption using a password of less than 8 totally random characters.

Rule of thumb: double the password length (to 16) if you use a password that is relatively easy to remember. By "totally random", we mean a password generated for you by a program especially built to do so.


How many "bits" of encryption are used?

The "128 bits" or "256 bits" numbers that you may often read are not particularly helpful. These "bits" numbers tell you, in essence, the maximum effective password length. Your password may be shorter, but it cannot not be longer than whatever number of "bits" are mentioned. A password of 8 totally random characters is in the neighborhood of about 50 to 60 "bits". A password using two words separated by a symbol character is in the neighborhood of 25 to 35 "bits".

Generally speaking (depending upon encryption method, etc.) "128 bits" or higher will be adaquate until an unexpected computing breakthrough has been made, or until a hole is found in the particular encryption method used.


Does the encryption logic "leak"?

"Leaking" data is what a program does when it leaves copies of the unencrypted data in memory somewhere. Unfortunately, you cannnot check for leakage without sophisticated debugging tools.

While you edit text on Palm devices, the OS normally makes many copies of the text data. A properly implemented secure storage program must stop this from happening. This copying is not easy to stop. For example, normal Palm programs lose direct control of the text "field" when the on-screen keyboard is popped-up.

During normal operation, the Palm OS copies data around in memory to help in memory allocation logic. This can happen, especially, when one program "alarms" over another. Properly implemented secure storage programs must handle this logic.

A popular "leak" is the text clipboard (used for copy/paste operations)!


What about "trojan" programs?

In this case, a "trojan" is a program that secretly watches what you are doing on your PDA. Specifically, a trojan would record what password(s) you enter.

Depending upon your "threat", the possibility of a trojan requires that, even if you use a secure storage program, you must lock your device, too. The lock program keeps others from loading their trojans on to the device.


Can lock programs use encryption?

Yes, many do.


Why doesn't OnlyMe use encryption?

Secure encryption requires a long password. Few people use a long password for their lock. Even fewer people do so for very long.

Too, encryption requires that the data be decrypted to be read or used. There are two times when this can (or must) be done:

  1. When the device is unlocked.

  2. When the data is needed.

Crypto takes time. There can be long delays if your data is decrypted when the device is unlocked (and encrypted when the device is locked). One way to minimize this delay is to selectively choose databases to encrypt. But program alarms and data leakage problems will probably erase the value of this extra selectivity.

Decrypted data may be needed by programs that cause alarms. (Note: a program does not need to make a sound, or even to turn on the screen, when it "alarms".) Either the lock program must stop programs' alarms or the information needed to decrypt the data must be available while the device is locked. The former causes a lot of problems with the device. The latter defeats the purpose of encryption. The latter is the equivalent of leaving your house keys under the front door mat.


What about using a program designed specifically to secure my data?

You may especially want to do this in three cases:

  1. You want the data encrypted on your HotSync PC.

  2. You want the data encrypted on a memory card.

  3. You perceive a very serious threat to your privacy.

There are many secure storage programs available for Palm devices.


What do I watch out for in a secure storage program?


What can I do to test an encryption system?

There are people who love to "break in" to secure data. It's a fun game. You probably do not feel this, yourself. Because of this, you won't discover tricky holes in security programs. But you can try some tests.

For most tests you will need to be able to view the encrypted data. There are several Palm OS programs that can be used for this. Examples include:

So, here are some tests you can try:


Tranzoa, Co.
P.O. Box 911
Maple Valley, WA 98038 U.S.A
+1 (425) 432-3532
Email: encrypt_info@tranzoa.com

encryption.htm :
Last modified October 18, 2002