Partner Management provides services for various types of partners associated with the MOSIP system. Currently, in MOSIP we have identified some types of partners, but the adopters can choose to add many more partners.
Authentication Partners who provide authentication services to individuals who have registered in the MOSIP system.
MISP (MOSIP Infrastructure Service Provider) who provide infrastructure to send authentication request through as secure channel.
Device providers to provide MOSIP compliant devices for authentication & registration.
Foundational Trust Providers to provide chips in SBI 2.0 devices.
Credential or Print partners to generate ID Cards for the residents.
ABIS (Automated Biometric Integration System) to perform de-duplication. ... and many more,
Registered Partners are only allowed to access MOSIP services based on the roles provided to them by the MOSIP Partner Admin. These partners need to self register through MOSIP's Partner Management portal before the Partner Admin verifies their details and provides them access to MOSIP services. MOSIP services for a partner will work only when the Partner's credentials are registered in MOSIP and are verified by the service.
Partner Management also involves policy management for Partners. Each partner can access various services only based on a defined policy.
Based on partner type, MOSIP provides various services to respective partners.
For detailed functionality of partner management please view our page, Parter Management Functionality
A Policy is a document in MOSIP which dictates various actions between the partner and MOSIP system. Policies for various partners may differ based on various use cases. Generally in MOSIP we have two types of Policies,
Authentication Policy, used by Authentication Partners
Credential Issuance Policy, used by Credential Partners
A Policy Group is a sector or domain like banking, insurance, telecom etc, specific to a country. Any policy manager, partner manager and partner can belong to a specific policy group. MOSIP would require Policy Group master data prepared and defined beforehand by country, before creation of Partner, Partner Manager and Policy Manager.
Policy Manager would be creating and managing policies for the policy group he/she belongs to.
For a partner to opt for an authentication policy, they have to generate PartnerAPIKey request with following sample parameters - PartnerCode, UseCaseDescription, SupportingInfo, Status etc. Once the PartnerAPIKey request is approved by Partner Manager, Partner is provided PartnerAPIKey that contains details like - PartnerAPIKey (combination of PartnerCode, policy group and policy), issuedOn, validTill, isActive etc)
For detailed description of Partner Management Services, high and low level design refer to partner management repo.
Refer to build and deploy instructions in partner management repo.
Upon receiving a request to create a partner with input parameters (Partner ID, Partner Organization Name, Partner Contact Number, Partner Email ID, Partner Address, IsActive), the system stores the data in the database.
Throws an error message if mandatory parameters are missing.
Upon receiving a request to fetch a Partner with input parameters (Partner ID and/or Partner Organization Name), the system fetches the data existing against the input parameter received.
If only Partner ID is received, fetches data against the Partner ID from the database
If Partner Organization Name is received, fetches data against the Partner Organization Name from the DB
If both Partner ID and Partner Organization Name are received, fetches data against the combination of both the input parameters
If the input parameter received is null or empty, fetches all the data
Fetches only active data from the database
If the data does not exist for input parameters received, throw the appropriate message.
In case of exceptions, the system should trigger relevant error messages.
Upon receiving a request to update a Partner with input parameters (Partner ID, Partner Organization Name, Partner Contact Number, Partner Email ID, Partner Address, IsActive) the system updates the data as per the below steps:
Partner ID serves as search criteria to update the record in the database
Updates the data received against the data already existing in the database against the Partner ID received
If the mandatory input parameters are missing, throws the appropriate message.
In case of exceptions, the system triggers relevant error messages.
Upon receiving a request to deactivate a Partner with input parameters (Partner ID), the system deactivates the data as requested
Responds to the source with the required message
If the mandatory input parameters are missing, throw the appropriate message
In case of exceptions, the system triggers relevant error messages
Upon receiving a request to create a Policy with input parameters (Policy ID, Policy Name, Policy Description, Policy Json File, IsActive), the system stores the data in the database and responds to the source with the required message
If the mandatory input parameters are missing, throw the appropriate message
In case of exceptions, the system should trigger relevant error messages
The system receives a request to fetch a Policy with input parameters (Policy ID and/or Policy Name)
Fetches the data existing against the input parameter received
Responds to the source with the required data
If only Policy ID is received, fetches data against the Policy ID from the database
If Policy Name is received, fetches data against the Policy Name from the database
If both Policy ID and Policy Name are received, fetches data against the combination of both the input parameters
If the input parameter received is null or empty, fetches all the data
Fetches only active data from the database
If the data does not exist for input parameters received, throw the appropriate message.
In case of exceptions, the system triggers relevant error messages
Upon receiving a request to update a Policy with input parameters (Policy ID, Policy Name, Policy Description, Policy Json File, IsActive), the system updates the data and responds to the source with the required message
Policy ID serves as search criteria to update the record in the database
Updates the data received against the data already existing in the database against the Policy ID received
If the mandatory input parameters are missing, throws the appropriate message
In case of exceptions, the system triggers relevant error messages
Upon receiving a request to delete a Policy with input parameters (Policy ID) the system deletes the data as requested and responds to the source with the required message
If the mandatory input parameters are missing, throws the appropriate message
In case of exceptions, the system triggers relevant error messages.
Upon receiving a request to create a Partner-Policy Mapping with input parameters (Partner ID, Policy ID, IsActive), the system stores the data in the database and responds to the source with the required message:
Input parameters must be present as mentioned below:
Partner ID - Mandatory
Policy ID - Mandatory
IsActive - Mandatory
There can only be one Policy mapped to a Partner
If the mandatory input parameters are missing, the system throws the appropriate message
In case of exceptions, the system triggers relevant error messages.
Upon receiving a request to fetch a Policy with input parameters (Partner ID), the system fetches the data existing against the input parameter received and responds to the source with the required data as per the below steps:
Fetches the Policy mapped to the Partner ID received in the input
Fetches only active data from the database
If the mandatory input parameters are missing, throws the appropriate message.
If the data does not exist for input parameters received, throw the appropriate message
In case of exceptions, the system triggers relevant error messages.
Upon receiving a request to update a Partner-Policy Mapping with input parameters (Partner ID, Policy ID, IsActive), the system updates the data and responds to the source with the required message as per the below steps:
Input parameters must be present as mentioned below:
Partner ID - Mandatory
Policy ID - Mandatory
IsActive - Mandatory
Partner ID serves as search criteria to update the record in the database
There can only be one Policy mapped to a Partner
Updates the data received against the data already existing in the database against the Partner ID received
If the mandatory input parameters are missing, throw the appropriate message
In case of exceptions, the system triggers relevant error messages.
Upon receiving a request to delete a Partner-Policy Mapping with input parameters (Partner ID, Policy ID), the system deletes the data as requested and Responds to the source with the required message
Input parameters must be present as mentioned below:
Partner ID - Mandatory
Policy ID - Mandatory
If the mandatory input parameters are missing, throw the appropriate message
In case of exceptions, the system triggers relevant error messages.
An Authentication partner can generate an API key for a policy which is mapped with the partner.
Once a MISP partner is active it can generate a license key that can be shared with Relying Parties for authentication.
Upon receiving a request to validate the Digital Certificate provided by a Partner with Input (Digital Certificate), the system does the following:
Validates the Digital Certificate
Signs the Digital Certificate with MOSIP's Certificate and issue a Certificate Chain
Responds with the signed certificate to the source
If the mandatory input parameters are missing, throws the appropriate message.
In case of exceptions, the system triggers relevant error messages
Upon receiving a request to get Public Key with an input parameter (Date Time-stamp) the system performs the following steps:
The system calls the Key Manager Service to get the Public Key with Input Parameter (Application ID, Reference ID, Date Time-Stamp)
Retrieves the Public Key as per the timestamp.
Responds to the source with the Private Key
The Public Key should be a valid and active key for the time-Stamp received
The Public Key corresponds to the Private Key used by the IDA
If the mandatory input parameters are missing, the system throws the appropriate message.
In case of exceptions, the system triggers relevant error messages.
Partners in MOSIP are created in a self-service mode. The partner visit the MOSIP partner management portal and requests for collaborating with MOSIP by providing basic details such as organization name & email id, purpose of registration (how they want to collaborate with MOSIP - as a device provider, authentication partner, print partner, etc), basic credentials and performing an OTP based verification.
Once these details are filled by the partner and a request is sent to MOSIP, the Partner Admin verifies the details of the partners and allows the partner to integrate with MOSIP.
Once the partner is registered in MOSIP and is able to login to the partner management portal, MOSIP provides basic features such as,
Adding more contact information
Viewing user details
Managing credentials
The device providers is one who partners with MOSIP to provide MOSIP complaint devices for authentication and registration.
A device provider needs to upload his/her certificate using which he/she would be generating their device keys. These certificates are verified by MOSIP. Once the verification is done the root for these certificates are changed to MOSIP and can be downloaded back by the partner.
A device provider needs to upload a single certificate for all his/her devices.
This certificate needs to be upto date in MOSIP system before anyone performs any authentication using the device. During authentication, MOSIP would verify the device certificate using which the device info in authentication request is signed.
Using the partner management portal a device provider can add, update or view their device model details. Once the device provider registers the model details a request is sent to the partner admin for approval of the model.
During device registration MOSIP verifies the make and model detials. If a model details for a device is not available or approved by the partner admin, then registration for that device would fail.
Using the partner management portal a device provider can add, update or view their device model details. Once the device provider registers the SBI details a request is sent to the partner admin for approval of the SBI.
The foundational trust providers is one who partners with MOSIP to provide MOSIP complaint foundational trust modules (chips) for authentication devices.
Using the partner management portal a foundational trust provider can add, update or view their chip model details. Once the partner registers the model details a request is sent to the partner admin for approval of the model. As part of registration of the chip model, the partner needs to upload an associated certificate which would be used to generate keys for the particular type of chip.
The chip key will be used to sign the digital id in the authentication request. So, when the auth request reaches MOSIP, MOSIP would verify the certificate using which the digital id is signed.
The authentication partner is one who partners with MOSIP to provide authentication services to individuals.
An authentication partner need to upload an encryption & a signatire certificates using the partner management poratl. The signature certificate will be used in MOSIP to verify the signature when any request is received from the partner; where as, the encryption certificate would be used when any PII data is sent to the partner during e-KYC.
The authentication partner can view associated API keys and request for an API key for against a policy which is available for his/her policy group. Once a requeste is initiated a request is generated but a request is also sent for approval to the partner admin. The partner admin needs to approve the request before it can be used in MOSIP. This API key is one of the manadatory attributes in the authentication request using which MOSIP verifies the partner and policy mapping.
An credential partner need to upload an encryption & a signatire certificates using the partner management poratl. The signature certificate will be used in MOSIP to verify the signature when any request is received from the partner; where as, the encryption certificate would be used when any PII data is sent to the partner based on policy to issue a credential.
The authentication partner can view associated API keys and request for an API key for against a policy which is available for his/her policy group. Once a requeste is initiated a request is generated but a request is also sent for approval to the partner admin. The partner admin needs to approve the request before it can be used in MOSIP. This API key is one of the manadatory attributes in the authentication request using which MOSIP verifies the partner and policy mapping.
A MISP would be providing services to multiple authentication partners. The audit trails on which partner & when used MISP's licence key to perform authentication would be avaialable for the MISP to monitor.
The partner admin receives approval requests for various scenarios. The list of scenarios are mentioned below:
When a partner registers in MOSIP.
When a device model is registered by a device provider.
When a secure biometric interface is registered by a device provider.
When a chip model is registered by a foundational trust provider.
When an authentication partner requests for an API key.
When a credential partner requests for an API key.
The partner can choose to activate or deactivate various entities in the partner management portal.
Activation or deactivation of partner.
Activation or deactivation of device model.
Activation or deactivation of chip model.
Activation or deactivation of SBI.
Activition or deactivation of API Keys.
The partner admin can choose to hotlist a device by marking a device as hotlisted.
The partner admin can create a new partner or update details of a partner in the Partner Management portal.
The partner admin can associate new API keys to an authentication or crential partner and re-issue their API keys.
In order to create a policy we must have a policy group first. The policy admin needs to first create a policy group using the partner management portal.
Once the policy group is created the policy admin can create policies and associate these policies to various policy groups. After these policies are created, they would be in draft state. These policies need to be published by the policy admin. Once published these policies can be used by the partners.
The policy can be activated or de-activated anytime by the policy admin.
A policy can be updated multiple times when it is in draft state. Only the validity date can be updated once the policy is published.
MOSIP and Partners communicate with each other when indviduals avail services of Partners. The communication must to be executed safely and securely.
Confidential: The communication should be confidential and no other parties should be able to eaves drop the communicated details.
Integrity: The integrity of the communication should be maintained.
All communication from Partners to MOSIP is routed via the MISP.
The communication is protected via the secured network protocol suite of IPSec.
Process flow for communication at Presentation Layer:
Partner pings MOSIP.
Partner gets the MOSIP certificate which is signed by the Root CA.
Partner then verifies the MOSIP certificate with the Root CA.
Once validated, the Partner shares its SSL certificate to the MOSIP. This SSL certificate is already signed by MOSIP as Root CA.
MOSIP verifies the SSL certificate.
Once both the SSL certificates are validated, the communication channel is established and communication happens.
The data is encrypted in the Application Layer itself before it gets into the Presentation Layer.
The Encryption certificate is shared across by both the parties (MOSIP & Partners) to decrypt the content.
Both the parties (MOSIP and Partner) have to sign the request and response in the communication.
Partner signs request and response using Partner's signature certificate. MOSIP can verify the signature using Partner's public key.
MOSIP signs request and response using MOSIP signature certificate. Partner can verify signature using MOSIP's public key.
Altogether, 3 certificates are used in the communication:
SSL certificate: Used in the Presentation Layer
Encryption certificate: Used in the Application Layer
Signature certificate: Used in the Application Layer