RSS Feed

27 November 2007

Security: Get your hands on it

Engadget has a rumor that some developers have the Apple iPhone/iTouch SDK already. However, the post also reports that it has very clear limits on what an app can do. However, the question is how are those limits implemented?

In the Android platform, each application is run under a different user environment. This works because only the basic user subsystem is implemented for each application, and applications can have multiple threads. Different users cannot interact with each other unless both consent to create a shared instance, which can be thought of as simply a connection. The two users can talk to each other and when done, close the connection. The problem with this approach is that it still has to allocate the memory and processor resources to run the applications, and a couple of applications running at once, in Java, on a weak processor can make the entire phone very sluggish.

I suspect that the iPhone does something along those lines: it probably has one dedicated, unprivileged account for running applications. However, unlike a desktop operating system, applications most likely will not contain a way to elevate their privileges. This means no access to any folders outside of normal directories (/Applications, the documents folder, etc.).

Apple's intent in providing the iPhone SDK is to appease the naysayers that say, "The iPhone doesn't do <Function>," or the others that say, "The iPhone does everything I want it to do, I just want an SDK". Most likely, they will not allow it to interfere with the normal running of the phone. Therefore, Apple provides a sandbox environment. I would be willing to bet that the custom apps are niced a little higher than the Apple apps, just so everyone is guaranteed an optimum user experience, and the same user experience with the default apps. This also silences the cries of, "I installed lots of background stuff and Safari runs slower now."


Technorati Tags: , , , , , , , , , ,

No comments: