Resident Mobile Application (Draft)

Overview

The Resident Mobile Application can be used by residents to securely store, share and receive digital credentials. The current version of this application supports only Android OS. This will later be extended to support iOS too.

The digital credentials generated by the mobile application follow the Verifiable Credentials data model. To learn more, read Verifiable Credentials Data Model.

The mobile application's repo is called Inji and the corresponding backend that works as an intermediate between Inji and MOSIP platform is in Mimoto repo.

Installing the application

The process flow for installation and first launch is given below

After installing the application, the user will need to set a app lock code for it. The current version supports a PIN based lock. The first launch will also establish a security check with Google SafetyNet Attestation API (for Android) and the equivalent for iOS. For more details, refer the User Guide.

Generating and storing of credentials

A resident can generate a Verifiable Credential(VC) by either using a UIN or a VID. Also, they can generate credentials for their family or friends on the same phone.

Detailed steps on generating and sharing credentials are given in the user guide here.

The process of generating a credential is shown below

Sharing of credentials

In Phase 1, the credentials are shared in peer-to-peer model with another instance of the application. The data exchange between devices is done using Google Nearby Connections API. This API uses a combination of Bluetooth (BT), Bluetooth Low energy (BLE) and Wifi to achieve seamless, low-latency, high-throughput communications without requiring pairing of devices.

How peer-to-peer connection is established

A QR code is generated and displayed on the requesting party's mobile application. A sample QR code json content is given below

{
  "cid": "1ejpu",
  "pk": "819176777955C098B78BAF949084A4484AEC5A769CED2307D59E46DC85A0F758"
}

where cid is a randomly generated connection ID which is used as a device identifier and pk is a randomly generated public key.

Once a sharing phone scans the QR code of the requesting/relying party, a connection is established between the two devices. When the requesting party has to connect to another device, a new QR code is generated.

The process flow for QR code scan is given below

The process flow for receiving the credentials is given below

Download resident mobile application

Resident Mobile Application can be downloaded from [here].

Last updated