Offline eKYC
The solution designed here is for offline eKYC in either JSON format or in a QR code based. QR Code approach can be a used with a printed paper. Data may be provided to the verifying agency by the UIN holder in digital or physical format along with share code (password)
Digital format: JSON
This format is preferred when high quality photo is required
Printed format: QR code
When resident is more comfortable with a physically printed format
Low resolution photo for visual inspection only
JSON based authentication
Resident needs to download a password protected ZIP file which contains an JSON file with the below data of the resident from the resident portal (resident needs to provide, UIN or VID, OTP and shared code (password) for ZIP as Input to do so)
Proof of identity (POI)
Name
Date of Birth
Gender
Hashed Mobile Number
Hashed Email ID
Proof of address (POA)
Address line 1
Address line 2
Address line 3
City
Province
Zone
Country
Postal code
Photo
Signature (digital signature)
Resident shares the ZIP file along with the shared code (password) to the verifying agency for e-KYC
Authentication by the verifying agency can be done by the following ways:
Verifying the signature:
Read the JSON after extracting it from the ZIP file using the shared code (password)
Get the signature from the JSON
Get the public certificate from the online portal/offline db
(Note: Key might vary based on the date of JSON creation)Validate the digital signature by using the certificate and the signature to authenticate the resident
Verifying email id or mobile number:
Read the JSON after extracting it from the ZIP file using the shared code (password)
Get the hashed email id or mobile number
Ask the resident for his/her email id or mobile number
Using the algorithm for hashing the email id or mobile number generate the hashed email id and mobile number
Hashing logic for email id
Sha256 (Sha256 (email id + shared code)) * number of times last digit of UIN
(Note: If last digit of UIN end with zero we will hash only one time)
Simple SHA256 hash of the email without any saltHashing logic for mobile number
Sha256 (Sha256 (mobile number + shared code)) * number of times last digit of UIN
(Note: If last digit of UIN end with zero we will hash only one time)
Sha256 (Sha256 (mobile number + shared code)) * number of times of last digit of mobile number
(Note: If last digit of mobile number ends with zero we will hash only one time)
Compare the hash generated with the hash fetched from the XML to authenticate the resident
Verifying the photo:
Read the JSON after extracting it from the ZIP file using the shared code (password)
Get the photo from the JSON
Perform face validation by capturing face and matching against the photo within the e-KYC JSON
QR Code based Authentication
Resident can get the QR code for the UIN using,
Generating it through the mobile application
Getting it through the e-UIN card
Getting it through the physical UIN card
Resident can show this card to the verifying agency
Verifying agency can scan the QR code and get the below data,
Name
Masked UIN
Gender
Date of birth
Address
Compressed photo
Signature
Using the mobile application or the desktop application, the verifying agency gets the signature from the QR code
Get the public certificate from the online portal/offline db
(Note: Key might vary based on the date of QR code creation)Validate the digital signature by using the certificate and the signature to authenticate the resident