Nexus Documentation
Breadcrumbs

Features of Smart ID Mobile SDK and Smart ID Mobile App

This article describes key features of the ready-to-use mobile app Smart ID Mobile App and the software development kit Smart ID Mobile SDK, which can be used to implement your own mobile app for authentication and signing. Smart ID Mobile App is entirely based on Smart ID Mobile SDK. 

Both the SDK and the app comes with a complete protocol and interface documentation.

 

Features

Smart ID Mobile SDK

Smart ID Mobile App

Use cases



Activation of mobile virtual smart cards for users, including provisioning of user certificates for authentication, signing, and encryption.

check mark

check mark

Authentication to local or web applications.

check mark

check mark

Signing transactions.

check mark

check mark

Certificate import and renewal.

check mark

check mark

Delete mobile virtual smart cards from device, both started from server and local

check mark

check mark

SDK app branding



Public keys, certificates and other identity metadata are available to the app.

check mark

check mark

Implementer decides which identity and other parameters shall accept or reject the pending request.

check mark

check mark

Implementer-specific metadata can accompany any request, for example raw data, text, pdf or images.

check mark

check mark

Attestation key can be provided by implementer so that the server can validate that it is your client responding.

check mark

check mark

Built-in fingerprint and biometric authentication.

check mark

check mark

Registering device and receiving push notifications from Nexus Push Service hosted by Nexus.


check mark

Hosting your own Nexus Push Service backend server for push notifications.

check mark


Displaying the SDK licence dependencies.


check mark

Easy-to-use and intuitive interface.


check mark

Can be integrated to an existing app

check mark


Easy to trigger from external applications via app-to-app transitions using the 'personal://' URL-scheme.


check mark

Built-in mobile device management (MDM) integration. This applies to iOS only.


check mark

Secure sharing of keys with apps signed by same developer via shared key chain. This applies to iOS only.

check mark

check mark

Secure communication



Activation links are only for one-time use, and cannot be reused.

check mark

check mark

PIN codes are validated on the server side, to perform flow control and add extra security.

check mark

check mark

The identities continue to communicate with the same server that provisioned them.

check mark

check mark

Prevention of man-in-the-middle attacks by TLS handshake and server certificate validation in response.

check mark

check mark

Possibility to define that specific server certificates are the only ones allowed.

check mark

check mark

Attestation key included to make sure that the client is genuinely Nexus.

check mark

check mark

Secure key storage



Generates keys on the device and provides proof of possession to the server.

check mark

check mark

Key storage is device-bound and non-extractable.

check mark

check mark

Protected with obfuscation, root detection, real-time checks and debugger detection.

check mark

check mark

Minimum PIN policy is fixed at six digits and disallowing sequences.

check mark

check mark

Blocked after wrong PIN attempts for increasing amount of time, until the tenth try when the identity is entirely blocked.

check mark

check mark

Lifecycle management



Uses either X.509 certificates or raw key pairs, based on JSON Web Keys, see RFC 7517.

When activating a certificate, a signed PKCS#10 certificate signing request (CSR) is provided for each key in the activation response.

check mark

check mark

Renewal of certificates supported, including cryptographic key exchange.

check mark

check mark

Secure import of keys is supported:

  • Import keys from the server side, for example for encryption certificates.

  • Import keys to the keystore of the device's operating system.

check mark

check mark

Identities can be migrated from one server to another, but keys never leave the device.

check mark

check mark

Support for securing OATH tokens for use in offline scenarios, for example with bad internet connection, RADIUS or on airplanes.

check mark

check mark

Usability



Uses either Smart ID Digital Access component, Smart ID Identity Manager or Hermod to communicate.

check mark

check mark

One server implementation can talk to all our clients: iOS, Android, Windows, Mac, and Linux.

check mark

check mark

Possibility to have multiple identities in the SDK simultaneously.

check mark

check mark

Support for multiple simultaneous authentication or signing requests.

check mark

check mark

Possibility via server trust to login to external servers by trusting the certificate authority (CA).

check mark

check mark

Uses standard protocols like HTTPS, JOSE and REST. All keys and crypto are handled within JOSE standard objects.

check mark

check mark

Support for Google OTPAUTH protocol. This enables migration from Google and Microsoft Authenticator. Support for user display name in mobile virtual smart cards with OTP for ease-of-use.

check mark

check mark

Possibility to secure your existing accounts with two-factor authentication, for example in Google, Visma, Hubspot and Microsoft.

check mark

check mark

Cryptographics



Minimum 2048-bit RSA key pairs.

check mark

check mark

Signatures use standard JSON Web Algorithms (JWA), either RS256 or RS512.
For more information, see RFC 7518.

check mark

check mark

Keys are stored with password-based key derivation and encrypted using Advanced Encryption Standard (AES). Keys use device keystore when available.

check mark

check mark

Keys are securely encrypted with multiple layers of AES-256.

check mark

check mark

Keys are stored with server-based parameters to increase security in online scenarios.

check mark

check mark

Additional information

Useful links