Skip to content
This repository has been archived by the owner on Jan 4, 2021. It is now read-only.

dimankiev/authenticator

Repository files navigation

2FA Python-based Authenticator v1.0.2.0

Python-Based Crossplatform CLI TOTP 2FA Authenticator with AES-256 encryption for better security.

What is TOTP ?

The Time-based One-time Password algorithm (TOTP) is an extension of the HMAC-based One-time Password algorithm (HOTP) generating a one-time password by instead taking uniqueness from the current time. It has been adopted as Internet Engineering Task Force standard RFC 6238, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems. So it's default Password algorithm, which is used in many variations of 2FA authenticators, such as Google Authenticator, andOTP, Authy, etc.

Wikipedia - TOTP

What is 2FA ?

Two-factor authentication (also known as 2FA) is a type, or subset, of multi-factor authentication. It is a method of confirming users' claimed identities by using a combination of two different factors:

  1. something they know
  2. something they have
  3. something they are.

A good example of two-factor authentication is the withdrawing of money from an ATM; only the correct combination of a bank card (something the user possesses) and a PIN (something the user knows) allows the transaction to be carried out.

Two other examples are to supplement a user-controlled password with a one-time password (OTP) or code generated or received by a device (e.g. a security token or smartphone) that only the user possesses.

Wikipedia - Multi-Factor Authentication

Features

  1. Simple CLI Interface.
  2. Simple Installation.
  3. Simple in use.
  4. Configuration file AES-256 Encryption.
  5. PIN Code
  6. Autoupdating code in a bottom toolbar of a terminal

2FA Authenticator

How to install ?

  git clone https://github.com/dimankiev/authenticator
  cd authenticator
  pip3 install -r requirements.txt
  python3 authenticator.py

How to use ?

  1. Start the script
  2. Set up your new PIN code
  3. When step 1 and 2 done - type help in opened CLI
  4. Use command add service_name, then enter special 2FA key that was provided by your service on which you want to set up 2FA. (service_name example: google, github, etc.)
  5. Use command list to see added apps
  6. Use command get service_name to start receiving 2FA codes.
  7. Use command export service_name to export 2FA Authenticator key.
  8. Use command remove service_name to remove app from the authenticator
  9. Use command exit or keys combination Ctrl+C to close the script

Credits

Code written by - dimankiev

All rights reserved. dimankiev © 2019

aaa114-project