Skip to main content

Digital Security Development

Implementing security has become more challenging mainly because of

  • The complex and diverse infrastructure: on-card, off-card, communication networks and interfaces, app-stores, cryptographic APIs, etc.
  • The multi-factor authentication
  • The biometric authentication
  • The reunion of several Secure Component technologies in one device (SE, UICC, eUICC, TEE, TPM, etc.) like in smartphones, wearables or IoT devices
  • The different interfaces (Bluetooth/LE, ISO7816 contact, ISO14443 contactless/NFC, I2C, I3C, SPI, etc.)
  • The convergence of all the above technologies and the belonging of the device to one single user making those platforms genuinely multi-application environments.

Our Software Development team uses the latest techniques to implement:

  • Secure Element / Smart Card applets in Java Card
  • Native Code cryptographic libraries
  • Secure MCU and TEE Trusted Applications in Java and C
  • Web applications in Vue, Svelte, PHP, uWSGI, etc.
  • Desktop applications in Python, C, C++ and Java using
    • Communication APIs:
      • PC/SC (WinSCard / PCSCLite / CCID, LibNFC)
      • OpenMobileAPI (formerly SEEK)
    • Cryptographic APIs like OpenSSL, PKCS#11, CNG, JCA, Bouncy Castle, etc.

On various platforms:

  • Microsoft Windows
  • Apple MacOS
  • Linux
  • BSD
  • iOS
  • Android
  • SDK boards embedding a secure hardware component like a TPM, a TEE, a Secure Element or a Secure MCUs
  • Single Board Computers like Arduino, Raspberry Pi, ESP32, STM32, RISC-V, etc.