LukaszBaldyga

Internet Nomad Password Manager

Internet Nomad login screen

Internet Nomad login screen

Internet Nomad is a password manager with configurable encryption, separate collections of accounts and several recovery methods. I built it for my final-year university project, which also covered risk assessment, resource allocation and development methodology.

This page describes an academic project, rather than a security assessment.

Features

  • A choice of AES1 or Blowfish2 encryption, with PBKDF23 or Argon24 key derivation functions5.
  • Adjustable key derivation settings:
    • A benchmark sets the number of rounds for a chosen unlock time.
    • Argon24 can be configured for the available RAM.
  • Separate identities for organising accounts.
  • Shared recovery and paper recovery methods.
  • A password generator.
  • Theme support.

Encryption settings

Internet Nomad container creation screen

The project offers AES1 and Blowfish2 encryption options6, with PBKDF23 or Argon24 for key derivation5.

The settings control the target unlock time and, with Argon2, memory use. Multiple passwords can unlock the same container: each slot stores a copy of the master key encrypted with its own password, so users do not need to share a single password.

Shared recovery

Shared recovery splits the master key into a chosen number of pieces, with a threshold specifying how many are needed to reconstruct it. The number of pieces and the threshold can be set separately. This uses the secret-sharing approach described by Adi Shamir (1979)7, allowing recovery to be distributed among trusted people.

The project also offers a paper recovery method. Another backup option is to entrust a copy of the master key to a single trusted person or organisation.

Identities

Internet Nomad identities screen

An identity is a collection of accounts. Keeping accounts in separate collections helps users organise different online identities, but does not prevent those accounts from being linked through other information or activity.

Accounts

Internet Nomad accounts screen

The password manager supports creating, editing and deleting accounts, as well as generating passwords.

Project report and source

This overview is adapted from my Password Manager Report. The source code is available on GitHub for reviewing the academic work.

Footnotes

  1. AES: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard ↩ ↩2

  2. Blowfish: https://en.wikipedia.org/wiki/Blowfish_(cipher) ↩ ↩2

  3. PBKDF2: https://en.wikipedia.org/wiki/PBKDF2 ↩ ↩2

  4. Argon2: https://en.wikipedia.org/wiki/Argon2 ↩ ↩2 ↩3

  5. https://en.wikipedia.org/wiki/Key_derivation_function ↩ ↩2

  6. ENC: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation ↩

  7. Adi Shamir (1979) 'How to Share a Secret', Massachusetts Institute of Technology, 22(11), pp. 612-613. ↩