Skip to main content

Django implementation of the Honeywords Project

Project description

=================
Django Honeywords
=================
Django implementation of the `Honeywords Project`_ by Ari Juels and Ronald L. Rivest.

.. _Honeywords Project: http://people.csail.mit.edu/rivest/honeywords/

Generates a list of honeywords along with the actual user password on user registration. If the wrong compromised honeyword is used to login, the user account will be automatically deactivated.

Written for Django 2.2 on Python 3.6

Honeychecker Quick Link
-----------------------

`Honeychecker`__

__ honeychecker.py_

Quick Start
-----------
#) Install Django Honeywords::

pip install django-honeywords

#) Add ``honeywords`` to ``INSTALLED_APPS`` in ``settings.py``::

INSTALLED_APPS = [
...
'honeywords',
]

#) Add ``honeywords.hashers.HoneywordHasher`` to top of ``PASSWORD_HASHERS`` in ``settings.py`` (or add ``PASSWORD_HASHERS`` if missing)::

PASSWORD_HASHERS = [
'honeywords.hashers.HoneywordHasher',
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
]

#) Add ``honeywords.backends.HoneywordsBackend`` to the top of ``AUTHENTICATION_BACKENDS`` in ``settings.py`` (or add ``AUTHENTICATION_BACKENDS`` if missing)::

AUTHENTICATION_BACKENDS = [
'honeywords.backends.HoneywordsBackend',
'django.contrib.auth.backends.ModelBackend',
]

#) Add ``HONEYCHECKER_URI = http(s)://<url/ip>:<port>`` into ``settings.py``::

HONEYCHECKER_URI = 'http://192.168.56.101:55555'

#) Create Honeywords table::

./manage.py makemigrations honeywords
./manage.py migrate

#) Download `honeychecker.py`_ to the Honeychecker server::

wget -c https://raw.githubusercontent.com/ooknosi/django_honeywords/master/src/honeywords/honeychecker.py

.. _honeychecker.py: https://raw.githubusercontent.com/ooknosi/django_honeywords/master/src/honeywords/honeychecker.py

#) Edit the ``IP``, ``PORT`` and ``DATABASE`` settings in ``honeychecker.py``::

### Settings
IP = '192.168.56.101'
PORT = 55555
DATABASE = 'honeychecker_db.sqlite3'
###

#) Run ``honeychecker.py`` on the Honeychecker server::

python honeychecker.py

Documentation
-------------
TODO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-honeywords-0.1.0b2.tar.gz (15.5 kB view details)

Uploaded Source

File details

Details for the file django-honeywords-0.1.0b2.tar.gz.

File metadata

  • Download URL: django-honeywords-0.1.0b2.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for django-honeywords-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 c2c48f73d89b24d27c1182b30742f776540476e4363c3eaf52c2d2fc20f7aeb8
MD5 5965b854e8cd693c0e5d58c37cadde74
BLAKE2b-256 a3254f357e91636a99760cb94a4dc121d8bffb0ccc5a8ff32e967b509672bc73

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page