Contemporary location-based applications use GPS as the location source to prove the presence at a particular location or access location-based services. When devices connect to WiFi routers and cellular towers, one may prove that the devices were in a specific locality. However, this approach is not feasible due to privacy reasons as the cellular companies may not be willing to share a location proof for every user.
Relying on a GPS is also not trustworthy because users can use apps such as FakeGPS to fake their location. Other approaches include receiving a beacon from a roadside device and submit it as proof since a device must be within the reception range of the beacon emitter to receive it. While this approach sounds promising, it suffers from issues that include:
- an attacker could collect beacons and relay them to devices in a remote location, which is identified as a threat in COVID-19 contact tracing applications
- when a beacon is created for a particular mobile device, only the authorised user can collect and decrypt it. But this solution is not scalable when there are hundreds of users or cars in a given environment.
This project, therefore, aims to investigate a Sybil-resistant proof-of-location without using GPS as a primary source. The project also assumes that the devices can fake their GPS location.
You are expected to focus on the following issues:
- develop a threat model for Sybil-resistant proof-of-location and survey the literature to identify any existing solutions and their limitations
- work closely with the supervisor and design a novel Sybil-resistant proof-of-location protocol
- implement and evaluate the proposed protocol using our Raspberry Pi testbed (and mobile phones, maybe).
We plan to write a research article describing the findings of this work. This project has immense potential for the industry if the research activities are carried out diligently.
Skills and experience
You should have:
- a willingness to work on new areas and challenging problems
- a desire to read papers, develop software designs, and write software
- the ability to code in Python or similar languages
- experience with Raspberry Pi (desirable).
Contact the supervisor for more information.