ESTONIAN INFORMATION TECHNOLOGY COLLEGE Indrek
Total Page:16
File Type:pdf, Size:1020Kb
ESTONIAN INFORMATION TECHNOLOGY COLLEGE Indrek Ots THE USE OF SMART CARDS ON MOBILE DEVICES IN A PLATFORM INDEPENDENT MANNER Diploma thesis Supervisor: K. Kuhi Consultant: I. Rokk, J.Arwald Tallinn 2011 AUTORIDEKLARATSIOON Deklareerin, et käesolev diplomitöö, mis on minu iseseisva töö tulemus, on esitatud Eesti Infotehnoloogia Kolledžile lõpudiplomi taotlemiseks Infosüsteemide arendamise erialal. Diplomitöö alusel ei ole varem eriala lõpudiplomit taotletud. Autor I. Ots ................................. (allkiri ja kuupäev) Töö vastab kehtivatele nõuetele Juhendaja K. Kuhi ................................ (allkiri ja kuupäev) Table of Contents Glossary....................................................................................................................................5 Introduction...............................................................................................................................6 Description of the problem...................................................................................................6 Problem background............................................................................................................7 Goal of the thesis..................................................................................................................8 Starting conditions................................................................................................................8 Investigation of the problem................................................................................................8 Structure of the thesis...........................................................................................................9 1 Analysis of mobile platforms................................................................................................10 1.1 Android..........................................................................................................................11 1.1.1 Possible solutions using Android...........................................................................11 1.1.2 Current market share.............................................................................................13 1.1.3 Future prospects.....................................................................................................13 1.2 Apple iOS......................................................................................................................14 1.2.1 Apple iOS devices and NFC support.....................................................................14 1.2.2 SQL keystore.........................................................................................................15 1.3 Windows Phone 7..........................................................................................................15 1.3.1 Current market share and future prospects............................................................15 1.3.2 Solutions for creating platform independent software on Windows Phone 7.......16 1.3.3 Windows Phone 7 smart card support...................................................................16 1.4 Java ME.........................................................................................................................17 1.4.1 Possible solution....................................................................................................17 1.4.2 Current presence in the market..............................................................................17 1.4.3 Future prospects.....................................................................................................18 1.5 Symbian.........................................................................................................................18 1.5.1 Possible solutions..................................................................................................18 1.5.2 Market share and future prospects.........................................................................19 3 1.6 MeeGo...........................................................................................................................19 1.6.1 MeeGo and NFC....................................................................................................19 1.6.2 Cross-platform solutions on MeeGo.....................................................................20 1.6.3 Present and future..................................................................................................20 1.7 Maemo...........................................................................................................................20 1.7.1 Cross-platform application development on Maemo............................................21 1.7.2 Future prospects.....................................................................................................21 1.8 Blackberry OS...............................................................................................................21 1.8.1 Cross platform application development...............................................................22 1.8.2 Current market share and future prospects............................................................22 1.9 HP webOS.....................................................................................................................22 1.9.1 Application development.......................................................................................23 1.9.2 Market share and potential future..........................................................................23 1.10 Web technologies........................................................................................................23 1.11 Analysis result.............................................................................................................24 2 Proposal of possible solutions...............................................................................................27 3 The chosen solution..............................................................................................................29 3.1 RhoMobile.....................................................................................................................29 3.2 Titanium........................................................................................................................30 3.3 Justification of choice....................................................................................................30 4 Description of the development environment.......................................................................31 5 The Development process and design documentation..........................................................32 5.1 Application architecture................................................................................................33 5.2 Drawbacks of the solution.............................................................................................36 5.3 Latency tests..................................................................................................................36 5.3.1 Expected outcome.................................................................................................36 5.3.2 Testing process......................................................................................................36 5.3.3 Test results.............................................................................................................37 5.4 Downsides of cross-platform tools................................................................................38 6 Summary...............................................................................................................................39 4 Glossary Abbreviation Definition ADT Android Development Tools APDU Application Protocol Data Unit API Application Programming Interface GPL General Public License GPS Global Positioning System IP Internet Protocol ISO International Organization of Standardization Java ME Java Micro Edition Java SE Java Standard Edition JSON JavaScript Object Notation NFC Near Field Communication OEM Original Equipment Manufacturer OS Operating System SDK Software Development Kit SIM Subscriber Identity Module VM Virtual Machine W3C World Wide Web Consortiu 5 Introduction In some situations web applications require a higher level of authentication. A way to achieve this is using smart cards which can enhance the security of a web application. This concept has been used on desktop computers for many years now. Non-mobile devices have the room for extra peripherals such as smart card readers. In addition they do not suffer from the lack of computing power as mobile devices do. Furthermore the desktop operating system market is somewhat established, meaning that there are only a few big contenders – Microsoft Windows, Apple Macintosh and various Linux distributions. (NetMarketShare, 2011) On the other hand the mobile device operating system market is more scattered. This makes it difficult to develop a unified method of accessing a local smart card and using it as a means of authentication on a mobile device. Description of the problem Currently service providers will have to provide platform specific software to enable smart card use over an IP based network. Developing an application for each mobile platform is not cost effective because it requires managing different sets of software and possibly having a 6 greater number of developers in the team. To reduce the costs the software on mobile platforms should