About This Book |
|
xi | |
Foreword |
|
xiii | |
About the Authors |
|
xv | |
Author's Acknowledgements |
|
xxi | |
Symbian Press Acknowledgements |
|
xxiii | |
|
Part 1 Introduction to Symbian OS Platform Security |
|
|
1 | (42) |
|
|
3 | (14) |
|
User Expectations of Mobile Phone Security |
|
|
3 | (1) |
|
What the Security Architecture Should Provide |
|
|
4 | (2) |
|
Challenges and Threats to Mobile Phone Security |
|
|
6 | (6) |
|
How Symbian OS Platform Security Fits into the Value Chain |
|
|
12 | (4) |
|
How Application Developers Benefit from the Security Architecture |
|
|
16 | (1) |
|
Platform Security Concepts |
|
|
17 | (26) |
|
Background Security Principles |
|
|
17 | (3) |
|
|
20 | (2) |
|
Concept 1: The Process is the Unit of Trust |
|
|
22 | (5) |
|
Concept 2: Capabilities Determine Privilege |
|
|
27 | (10) |
|
Concept 3: Data Caging for File Access |
|
|
37 | (3) |
|
|
40 | (3) |
|
Part 2 Application Development for Platform Security |
|
|
43 | (112) |
|
The Platform Security Environment |
|
|
45 | (16) |
|
Building Your Application |
|
|
45 | (3) |
|
Developing on the Emulator |
|
|
48 | (5) |
|
Packaging Your Application |
|
|
53 | (3) |
|
Testing on Mobile Phone Hardware |
|
|
56 | (3) |
|
|
59 | (2) |
|
How to Write Secure Applications |
|
|
61 | (22) |
|
What Is a Secure Application? |
|
|
61 | (1) |
|
|
61 | (4) |
|
What Countermeasures Can Be Taken? |
|
|
65 | (10) |
|
Implementation Considerations |
|
|
75 | (6) |
|
|
81 | (2) |
|
How to Write Secure Servers |
|
|
83 | (28) |
|
|
83 | (5) |
|
|
88 | (3) |
|
Designing Server Security Measures |
|
|
91 | (9) |
|
Server Implementation Considerations |
|
|
100 | (8) |
|
|
108 | (3) |
|
How to Write Secure Plug-ins |
|
|
111 | (18) |
|
What Is a Secure Plug-In? |
|
|
111 | (3) |
|
|
114 | (4) |
|
Plug-in Implementation Considerations |
|
|
118 | (9) |
|
|
127 | (2) |
|
|
129 | (26) |
|
Introduction to Sharing Data |
|
|
129 | (1) |
|
|
130 | (4) |
|
Deciding the Level of Trust |
|
|
134 | (1) |
|
Attacks on Data and Countermeasures |
|
|
135 | (6) |
|
|
141 | (12) |
|
|
153 | (2) |
|
Part 3 Managing Platform Security Attributes |
|
|
155 | (50) |
|
Native Software Installer |
|
|
157 | (30) |
|
Introduction to the Native Software Installer |
|
|
157 | (2) |
|
|
159 | (11) |
|
Identifiers, Upgrades, Removals and Special Files |
|
|
170 | (7) |
|
SIS File Changes for Platform Security |
|
|
177 | (4) |
|
Installing to and from Removable Media |
|
|
181 | (3) |
|
|
184 | (3) |
|
Enabling Platform Security |
|
|
187 | (18) |
|
Responsibilities in Granting Capabilities |
|
|
187 | (2) |
|
Overview of the Signing Process |
|
|
189 | (3) |
|
Step-by-step Guide to Signing |
|
|
192 | (10) |
|
|
202 | (2) |
|
|
204 | (1) |
|
Part 4 The Future of Mobile Device Security |
|
|
205 | (14) |
|
The Servant in Your Pocket |
|
|
207 | (12) |
|
|
207 | (1) |
|
Convergence, Content and Connectivity |
|
|
207 | (2) |
|
|
209 | (2) |
|
New Security Technologies |
|
|
211 | (6) |
|
|
217 | (2) |
Appendix A Capability Descriptions |
|
219 | (6) |
Appendix B Some Cryptography Basics |
|
225 | (4) |
Appendix C The Software Install API |
|
229 | (4) |
Glossary |
|
233 | (4) |
References |
|
237 | (2) |
Index |
|
239 | |