Archived:Platform Security in PySymbian: Part1
Every developer, specially PySymbian developers, are really wonder about this single word i.e. Signing. Thus this series of articles will be totally focussed on the process of signing and issues related with the signing. This article is the first in the series and is mainly dedicated to the new platform security implemented in the S60 3rd Edition devices.
This article will be helpful in answering some basic questions like:
- What is Symbian and S60?
- What are its various editions?
- What is Platform security and the Process of signing?
- What are capabilities?
- And the most important thing, how all this affects our PySymbian development?
This first article of the series answers the first three questions which are the most simple, but needs some attention.
Symbian and S60
Symbian is the most popular operating system for mobile devices. Symbian exclusively runs on the ARM processors. Moreover the most important thing is that Symbian OS APIs are publicly available, so that any third party developer can develop an application in the Symbian OS platform.
Symbian is basically a software platform for the mobile phones that have Symbian OS. S60 is Nokia's user interface framework that runs on S60 devices of Nokia on the top of the Symbian OS. S60 is developed by Nokia and is one of the leading smartphone platforms in the world.
- As we all know, there are several editions of the S60 platform, and all versions have some important differences or some important key features in them that makes them unique. Platform Security is a feature that was introduced in the S60 3rd Edition(Symbian OS v9.1).
- Before the S60 3rd edition, any application or native code written was able to access any phone functionality without needing any permissions or certification. Indirectly, we can say that all applications were considered as "Fully Trusted".
- But that consideration meant that if we are allowing an application to access any phone functionality, then the application could do anything on the background without user acknowledgment. This is not at all good for the end user, as this could result in unexpected behaviors on the phone.
- But with the S60 3rd edition, the scenario is totally different. The difference is that the S60 3rd Edition introduces a security framework known as the Symbian Platform Security. The Platform Security restricts an application to access only authorized functionalities.
Platform Security is a vast topic in itself, and we will concentrate here only on issues related with PySymbian.
Limitations Imposed by Platform security
The above paragraph gives a short description about the Platform Security. After the new S60 3rd Edition platform security was implemented, some limitations were imposed on the application and its developers. They are listed below:
- Now if the application wants to access the sensitive functionalities and some features of a mobile device, it needs to be signed with capabilities.
- With the new Platform security, now some directories and files are considered Protected and cannot be accessed in any way, except some through special ways and methods. This is a very important limitation and often is referred as Data Caging.
- The final and most important of all is that now, no one can install an application directly in the phone. To install a native application is only possible through the operating system own software installer, with a signed sis file.