-
Notifications
You must be signed in to change notification settings - Fork 63
SecureFileManager
This project was developed as part of a bachelor thesis at the DHBW Ravensburg Campus Friedrichshafen in cooperation with Giesecke and Devrient.
The SecureFileManager is a filemanager for the android platform, which is making use of the G&D secure microSD card, in order to cipher files.
To spare the user to keep numerous complicated passwords, which are being used for ciphering, in mind, a secure key is being generated and saved, by the use of the Java Card Applet, which is running on the Mobile Security Card.
The Android Application is for demonstration and test purposes only. Do not use in production environments!
To use this application, you need a Android platform with smart card access.
For this purpose look BuildingTheSystem or the introduction on the Mobile Security Developer's Kit.
Checkout the SecureFileManger source code and install your own generated .apk file on your Android device.
Run the SecureFileManager application on your Android smartphone.
With inserted Mobile Security Card the encryption functions are available.
<img src="https://cloud.githubusercontent.com/assets/11645011/6892549/4271d710-d6c5-11e4-9c48-b12f0523a114.png"width="267" height="400">
The Java Card applet is for demonstration and test purposes only. Do not use in production environments!
Download the filemanager.cap file from the Download page.
Install the filemanager.cap file on the Mobile Security Card. Therfore you can use JLoad or other Java Card compliant Global Platform loader tools.
JLoad is included in the Mobile Security Developer's Kit.
You can even compile and convert the fileManager.java file to a Java Card Cap file. For this reason please check the source code page.
With the help of the Java Card Applet a secure key is being established for a specific file-ID and a given password.
This triple is saved on the secure element of the Mobile Security Card.
Only if you are authenticated you have access to all methods. The default Pin is 0x31 0x32 0x33 0x34.
After 3 times wrong pin entry the applet is blocked. A correct Pin resets the counter.
CLA: 90
INS: 10
P1: 00
P2: 00
P3: 04
data: <4 bytes pin>
APDU: 90 10 00 00 04 31 32 33 34
RESPONSE: 90 00
CLA: 90
INS: 20
P1: 00
P2: 00
P3: <length of data>
data: <length of file-ID><file-ID><length of pwd><pwd>
APDU: 90 20 00 00 10 04 2F 02 38 3B 0A 31 32 33 34 35 36 37 38 39 40
RESPONSE: <key> 90 00
CLA: 90
INS: 30
P1: 00
P2: 00
P3: <length of data>
data: <length of file-ID><file-ID><length of pwd><pwd>
APDU: 90 30 00 00 10 04 2F 02 38 3B 0A 31 32 33 34 35 36 37 38 39 40
RESPONSE: <key> 90 00
CLA: 90
INS: 40
P1: 00
P2: 00
P3: <length of data>
data: <length of file-ID><file-ID><length of pwd><pwd>
APDU: 90 30 00 00 10 04 2F 02 38 3B 0A 31 32 33 34 35 36 37 38 39 40
RESPONSE: 90 00
- Introduction
- How To
- Access Control
- UICC Support
- ASSD Support
- MSC Support
- PC/SC Interface
- Service Layer
- Applications
- FAQS
- Abbreviations
- Contributions