OpenPGP Card is an ISO/IEC 7816-4 compatible smartcard that is integrated with many OpenPGP functions, including signature, encryption, and authentication. It provides an trustful computing environment isolated from the host computer, to guard one's private keys from attacks and exposures. ZetiControl in Germany is the first manufacturer of OpenPGP Card based on BasicCard platform. Since then, compatible USB tokens have also been manufactured, such as Yubikey and Nitrokey.

Currently for compatible USB tokens, there are two approaches of OpenPGP Card implementation:

  1. Based on secure hardware.
    • The hardware is usually temper-proof to some extents, but the system is usually proprietary with mandatory NDA required, such as Yubikey.
  2. Based on generic microcontroller, with gnuk firmware developed by Niibe Yutaka.
    • It allows 100% free hardware design and software, but the chip is not hardened for security thus vulnerable to physical attacks.

In other words, the user is forced to choose between security and transparency.

But thanks to the IoT hype, many NDA-free and regulation-free "secure elements" for cryptograpic key storage have entered the market. This project is going to perform early experiments with a ATECC508A chip by Atmel, and see if it is possible to integrate it to the gnuk USB token to improve the physical security, allowing users to secure their private data with GnuPG with a high degree of physical security.

Looking for hackers with the skills:

gnupg gpg pgp security cryptography embedded arm microcontroller stm32 atmega

This project is part of:

Hack Week 17

Activity

  • about 6 years ago: biergaizi added keyword "stm32" to this project.
  • about 6 years ago: biergaizi added keyword "atmega" to this project.
  • about 6 years ago: biergaizi added keyword "gnupg" to this project.
  • about 6 years ago: biergaizi added keyword "gpg" to this project.
  • about 6 years ago: biergaizi added keyword "pgp" to this project.
  • about 6 years ago: biergaizi added keyword "security" to this project.
  • about 6 years ago: biergaizi added keyword "cryptography" to this project.
  • about 6 years ago: biergaizi added keyword "embedded" to this project.
  • about 6 years ago: biergaizi added keyword "arm" to this project.
  • about 6 years ago: biergaizi added keyword "microcontroller" to this project.
  • about 6 years ago: biergaizi started this project.
  • about 6 years ago: biergaizi originated this project.

  • Comments

    • TBro
      about 6 years ago by TBro | Reply

      Did you heard of: https://www.nitrokey.com/de Seems to be open hardware =)

    Similar Projects

    Predefined app security policy template for NeuVector by feih

    Project Description

    Idea is to predefin...


    Port NeuVector zero-trust security functions to host/VM by feih

    Project Description

    Today, NeuVector on...


    Model checking the BPF verifier by shunghsiyu

    Project Description

    BPF verifier plays a ...


    Authenticated hashes for BTRFS by dsterba

    Project Description

    Implement a checksum ...


    SUSE Prague claw machine by anstalker

    Project Description

    The idea is to build ...