SecureChannel applet and host application

A Java Card applet with custom secure channel and an additional host application.

This project was made for course PV204 Security Technologies @ MUNI

Team members:

Implementation notes:

  • User PIN is chosen when installing the applet
  • To establish secure channel we use ECDH with SecP256k1 curve
  • Public ECDH keys are then encrypted using AES and user PIN hashed with SHA-1 as a key
  • Subsequent communication is encryped using shared ECDH secret