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.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Authentication to local or web applications.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Signing transactions.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Certificate import and renewal.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

SDK app branding



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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Built-in fingerprint and biometric authentication.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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


https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png


Displaying the SDK licence dependencies.


https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Easy-to-use and intuitive interface.


https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Can be integrated to an existing app

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png


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


https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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


https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Secure communication



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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Secure key storage



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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Key storage is device-bound and non-extractable.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Renewal of certificates supported, including cryptographic key exchange.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Usability



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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Possibility to have multiple identities in the SDK simultaneously.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Support for multiple simultaneous authentication or signing requests.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Cryptographics



Minimum 2048-bit RSA key pairs.

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

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

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

https://nexusdoc.atlassian.net/wiki/s/1901380387/6452/65bd8084e0842009b3407ad853921b12f0995e48/_/images/icons/emoticons/check.png

Additional information

Useful links