https://github.com/adwise-fiu/secure_indoor_localization
This Repository contained the code for an Android Phone to use Indoor Localization using RSS signals of AP's. This localization scheme is completely secure as it uses homorphic encryption
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Keywords
Repository
This Repository contained the code for an Android Phone to use Indoor Localization using RSS signals of AP's. This localization scheme is completely secure as it uses homorphic encryption
Basic Info
Statistics
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
Security of Smart Things REU 2017
This repository contains all the code used to complete the Security of Smart Things REU project of privacy preserving indoor localization.
- REUServer directory contains all the Java code running on the Fingerprint Server
- REU2017 contains the Android Client Side Code
This program requires the MySQL Driver to communicate with FingerPrint server, found here
The JAR file containing all the homomorphic encryption schemes can be located at the following repository and with its documentation
Installation
Server Installation
You can run the server using Gradle as followsing
bash
./gradlew run -PchooseRole=Localization.server
Android Installation
Please note the Android installation has only been tested on Samsung Galaxy 3. But it should work with all other Android devices.
Upon downloading the repository, open the REU2017 folder using Android Studio. Follow the instructions here on how to load an application onto your phone.
Usage
Server set-up
To run the server, you need to populate the environment variables MYSQL_USER and MYSQL_PASSWORD to access the Fingerprint database.
Note: Upon initialization, it will expect MySQL to be running! If it isn't the server will not turn on.
Upon initializing the server will
- If there is preprocessed data, determine the number of APs used for each column
- Assuming a port number was provided, check if it is a valid port number and open the server socket. Default is port 9254
- Create the database called "FIU" and a Table called "trainingpoints" to store the raw Wi-Fi scans.
It will also create a shell to do the following operations:
- clr Clear the shell
- print Assuming the fingerprint database preprocessed the training data, print the lookup tables to a CSV file.
- frequency Print a frequency map of all detected Access Points. Use this to tune your FSF parameter.
- k
Upon each iteration of the shell, it will update you on: - If the fingerprint server has a lookup table - Number of columns in the lookup table - Number of Access Points detected in training data - Number of fingerprints of each floor map - Current value of K, for MCA/DMA (default set to 2). Currently, this is hard set as I fail to see the benefit in changing this value.
Phone setup
This is the 
- Reset: Delete the Lookup table on the server
- Undo: Delete the last scan of Access Points/Wi-Fi signals
- Train Database: Open new menu, which opens a floor map to train with Wi-Fi APs and scans
- Process DB: Create lookup tables based on the training data
- Scan: TO BE UPDATED. Update server of new maps
- Localize: Open up new menu, and select which floor map you want to find your location in.
- Localization Scheme: On the bottom right, you can select a combination of server/client side, homomorphic encryption scheme, and localization algorithm.
Training Workflow
Localization Workflow
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Authors and acknowledgment
Code Author: Andrew Quijano
A. Quijano and K. Akkaya, "Server-Side Fingerprint-Based Indoor Localization Using Encrypted Sorting," 2019 IEEE 16th International Conference on Mobile Ad Hoc and Sensor Systems Workshops (MASSW), Monterey, CA, USA, 2019, pp. 53-57, doi: 10.1109/MASSW.2019.00017
P. Armengol, R. Tobkes, K. Akkaya, B. S. Ciftler and I. Guvenc, "Efficient Privacy-Preserving Fingerprint-Based Indoor Localization Using Crowdsourcing," 2015 IEEE 12th International Conference on Mobile Ad Hoc and Sensor Systems, Dallas, TX, 2015, pp. 549-554, doi: 10.1109/MASS.2015.76.
The work to create this repository was initially funded by the US NSF REU Site at FIU under the grant number REU CNS-1461119.
License
Project status
The project is functional at its current state. However, some optimizations do need to made for ease of use. This would only work best if I can re-obtain access to Broadway to test on multiple floors/add new floors as needed.
Also, there are a few things I want to upgrade: - Streamline the process of the client uploading/receiving floor maps. - See how to allow the client to set the value k for localizations. - I will provide screenshots on the Localization/Training Phase later this week.
Owner
- Name: Advanced Wireless and Security Lab
- Login: adwise-fiu
- Kind: organization
- Location: United States of America
- Repositories: 3
- Profile: https://github.com/adwise-fiu
ADWISE laboratory at Florida International University - Department of Electrical and Computer Engineering.
GitHub Events
Total
- Release event: 1
- Watch event: 1
- Delete event: 4
- Push event: 26
- Pull request event: 6
- Create event: 4
Last Year
- Release event: 1
- Watch event: 1
- Delete event: 4
- Push event: 26
- Pull request event: 6
- Create event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 7 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 7 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- AndrewQuijano (8)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
repo1.maven.org: io.github.andrewquijano:fingerprint_localization
This package is the JAR file used for secure indoor localization using Wi-Fi fingerprints. This utilizes homomorphic encryption to preserve privacy
- Homepage: https://github.com/adwise-fiu/Secure_Indoor_Localization
- Documentation: https://appdoc.app/artifact/io.github.andrewquijano/fingerprint_localization/
- License: MIT License
-
Latest release: 1.0.1
published 7 months ago