Skip to main content

Minimalistic Internet Key Exchange protocol v2 (RFC 5996) library

Project description

The goal of this project is to be a minimalistic IKEv2 (RFC 5996) implementation in Python.

Status

This project is in early stages. Use at own risk.

It will make your IP stack talk ESP to the remote peer.

What it can do:

  • Act as an initiator
  • Authenticate itself and peer using raw RSA keys.
  • Install ESP SAs and SPD entries to use the key material via setkey command from ipsec-tools.

Limitations (hardcoded values):

  • Cipher algorithm is Camellia in CBC mode with 256 bit keys.
  • HMAC / Hash / PRF algorithm is SHA2/256.
  • IKE group is Diffie-Hellman modp 14.
  • Authentication (both own private and peer public) key file paths are hardcoded.
  • ‘setkey’ syntax is of whatever the ipsec-tools on Debian 7.1 accept.
  • Traffic selectors are myip:any:0-65535 <-> peerip:any:0-65535

Design principles

  • Minimal amount of code.
  • Support MUST features of draft-kivinen-ipsecme-ikev2-rfc5996bis-02 (RFC 5996 successor)
  • Use strongest algorithms possible.

Documentation

You can read the Documentation at https://pythonhosted.org/ike

What this project is NOT going to be

  • ISAKMP (IKEv1) RFC 2409 compliant
  • IPSec data plane / ESP protocol

License

  • MIT License

Project details


Download files

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

Files for ike, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size ike-0.1.1-py2.py3-none-any.whl (20.5 kB) File type Wheel Python version 3.6 Upload date Hashes View
Filename, size ike-0.1.1-py3-none-any.whl (22.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size ike-0.1.1.tar.gz (16.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page